At work over the past couple of weeks, the team of software developers I'm on more than doubled in size. We maintain and build on a set of internal applications-- things like the employee schedule, customer service coaching utility, a way for employees (we're all students) to submit availability every semester since everyone's class schedule changes every few months. Stuff you'd expect to find at an IT help desk, but it's custom applications with some specific things that we need here to make everything work.
I'm working on a chunk of middleware that takes employee schedules from our employee scheduling software and makes them into RFC 5545 compliant schedule data that can be imported by any calendar software. The schedule software we have was written by a student who has since graduated; so part of what I've been doing has been figuring out what he was thinking when he put it together. Another part has been getting the data for the schedule out, and converting it to the right format. The last part has been the tricky part (what's that saying about the last 20% of a software project taking 80% of the time and effort?).
Our schedule software allows employees to post shifts, meaning they want to have off during those particular times. Once a shift is posted, any other employee can pick it up, which adds it to the picker's schedule and removes it from the poster's schedule. If no one picks the shift up, the poster is still responsible for it. It's all web based, and it's a good system-- except that it was never meant to export schedule data. As it is now, every semester each of us has to manually enter our work hours into whatever calendar we use. My project will replace having to do that, with just adding a subscription by URL to whatever calendar software that mirrors the main schedule. Exporting the data is fairly easy. Accounting for dropped and picked up shifts has turned out not to be that easy, but it is challenging and engaging and I'm enjoying working on it.
There's enough work to do, and enough of the initial team getting ready to graduate or move on, that we added four additional student employees. We put together a standard set of interview questions, came up with a booklet of onboarding information about things like how we use git, what tools we use, and how to quickly get started. And we conducted all of the interviews and decided who would actually be hired. Next we get to train them, mentor them, and get them into our workflow and codebase. It's been interesting-- I've certainly been an interviewee enough times in my life, but I've never been an interviewer. This past week I interviewed four applicants and I was in on the discussion that decided who was hired, and who was not.
We're slowly (because we're still learning) adopting agile software development practices, both with the help of one of the full time staff developers from another team and from our own research. My team is a little bit different, since we all have wonky schedules and since we're all students at the same time-- so we're taking things we can apply, trying them out, modifying them, sometimes discarding them. That our managers let us handle interviewing new developers, and let us manage our own workflow and priorities, means a lot. They keep an eye on us, certainly, but as interns we do a lot of our own thinking.
The team didn't exist this time last year. That we've more than doubled in size and the amount of things we're responsible for, at the same time as the budget ax has fallen everywhere around us, says a lot. I know a bunch of other students who either are now, or have recently been interns-- it's not true in every case, but compared to a lot of other places to work, we're doing some really amazing things for being part time student employees. I'm proud of what I (and we) do.
PTSD affects me at work, just as it does in class. I need accommodations, mainly a quiet place to work that's not the call center floor. Some days I can concentrate better than I can on other days. I work nights because it's quieter around here at night. Sometimes I wear earplugs if there's still too much noise. Sometimes I need to get up and go for a walk, or stand outside and watch cars go by for a little while. I get far more done if I don't have a set time to go home-- my shift technically ends at 2300, but I'm usually here later than that especially if I'm dialed in and getting things done. If I'm on a day when I'm not concentrating as well as I'd like, I do tasks that don't require being completely dialed in. I adjust.
Last year, before we had a software development team where I work, I was looking for an internship where I'd be able to test the waters and see how I'd manage PTSD while getting paid to code. I worried that I it might not work at all, and then what? I'm still learning to deal with it. My current employer is really very flexible and accommodating, which helps a great deal. A year ago, I knew that accommodations could be made, but I had no idea what to ask for-- now I at least have some idea. This is important because I'm open about the fact that I suffer from/have PTSD and that it's a disability. I don't tap people on the shoulder and say "Hey! I have PTSD!", but I'm at least a little bit more comfortable now saying that I have a disability that I need accommodations for. I know I can at least ask. If a potential employer can't or won't deal with that, then it's
probably not the right place for me to work.
There's a lot that I still have to work out-- I'm definitely moving to California but I haven't figured out exactly how I'm going to get me and my stuff from here to there. I'm going to have to take a break from school, because I'll be an out of state student if I start again as soon as I get to Cali, and there are restrictions on majors. Everyone wants to be a CS major again, so the GPA requirements are fairly high, maybe even too high. If it means I have to wait a year to be a California resident, and I have to be a math or philosophy major to finish a degree, I'm all right with that. As it's always been with me and college, whatever it takes.
I don't give up.