29 June 2016

Not vaporware

At work I've mostly finished a software project that I've been working on since last fall-- I have a lot of time and effort and learning and figuring shit out invested in it. I'm maybe even a little bit proud of it, since it's something that adds a lot of new capability to something that everyone here uses every day.

No one cares.

I demoed the thing last week, at a team meeting that probably wouldn't have happened had I not said that I had something to demo. The members of my team looked at it, grunted a little, and haven't said anything about it since. No feedback, no opinions. I doubt that anyone has looked at my work, or even thought about it, since last week's meeting. This week we didn't have a team meeting because there's nothing going on to meet about.

Like I said, no one cares.

I've been a programmer in a place where people care if things get done-- normal is that people care a great deal about when software projects are going to be done. Entire methodologies have been written for how to get from a user asking "Can the system do X?" to "The system now does X correctly." Exactly what the correct way to build software is has been debated ever since the idea of software was invented, but one constant has always been that someone, somewhere is tracking what is getting done and what isn't. Even for software that's given away for free, this is true.

It is perhaps not that unusual that on Monday night at a comedy club when it's open mic night and random people try to tell jokes and suck at it that the audience sits silently and stares. In software development it is really, really weird to say "I've completed my project" and get no response. I am not trying to say that I want a cookie just for doing my job (actually I do want a cookie because I love cookies, but not the point). I'm saying that this isn't normal. This is really fucking strange.

This isn't my first programming gig. I've worked for companies that have stock symbols, and I always knew that someone cared about what I was working on because very often there was someone in my face asking when it would be done. If I was assigned to work on a project, it was because someone needed it. Sometimes the needs changed, and so a project was halted or substantially changed in the middle-- that's how business, and therefore software development, work.

I'm cool with changes, even drastic ones that make work that I've done meaningless. This is because I've seen (from a help desk point of view) how the way users react to a system drives how the system gets modified. We track every single customer contact. Even the tickets that don't get escalated to a particular team get reviewed so the people that manage a particular service know what that service's users are thinking and saying about it. Some services get a lot of calls and feedback, some get less, but it's all reviewed. Requests for changes get made. There are people whose sole job is making sure that changes that get requested are actually made. In a normal situation those are the people who are bugging me asking when I'm going to have my project finished.

So it is quite out of character for no one here to have an opinion about a software project that's finally ready after months of work. It's also really, really depressing.

I'm a hacker. I do what I do-- programming-- because it's what I love. Making a system do something new that it couldn't do before (or couldn't do correctly) is important. There's not that much about the world or my environment that I really can control, but inside the machine I have control. It's up to me to learn how to speak to the machine, how to understand it, how to listen to and recognize when it speaks back to me.

It is not enough to just be able to write code and make something happen. I try to do it well. I want to be able to hold up my work, be it the code or interface or whatever component, and have people look at it and say "this is good". Software that I write, when it's put out into the world for people to use, changes the world. My code, even if you can't see the inner workings and all you see is the output, is both a reflection and an extension of me.


Last April, when I applied for this job, it was a choice to do so. I was looking for a new job, possibly an internship, that would help take me out of what I was doing (help desk support) and back into software development. The extra factor is that I have a disability, and looking back into the past I knew that PTSD would be a factor that I'd have to overcome. That's a major reason I took this job-- it would give me the room to learn how to manage PTSD and be a software developer at the same time. I'd been making a lot of progress learning on my own, but there's a difference between writing software for yourself and writing software in exchange for money/for other people.

I'm still happy I did take this job. It's been interesting work, I've had a chance to learn a lot about programming by actually writing code. I've also encountered problems dealing with PTSD, which means I've had to find ways to cope. If I'd had the coping tools I've picked up working here years ago, my story might be a lot different.  Asking for ADA accommodations has been a roller coaster, but it's been an important learning experience too. It's not an unknown now. I know I can do meaningful work, provided I have accommodations in place, and I know how to ask for them and explain them.

When I'd been on my software development team for a year I got a raise and a really good performance review. This made me very happy, because it's proof that all of the effort and time and coping I've put into overcoming PTSD has worked. This is a really major thing-- people who are really good software developers but who have PTSD sometimes leave the jobs they love because PTSD gets in the way. I was one of those people, more than once. It matters a great deal that I'm still here.

It matters to me, anyway.

The same people that haven't seemed to notice that the project they've been paying me to work on for months is done are the same people that initially fought my request to not have to task switch several times in one day. They are the same people that fought me having a reserved workstation. They are also the same people that haven't followed up-- not an email, not a "hey how are things with the new accommodations", nothing since the accommodations were approved.

It is true that I'm leaving at the end of the summer. People know that. I haven't set an official last date yet, but they know it's coming. I know that people tend to write off someone who they know is leaving soon, I experienced the same thing every time I moved to a new Air Force assignment. People start to look at where you sit and see an empty chair. Might be that that's what's happening here now.

I want to leave now, today. It's time. It's been time. My apartment lease is up on August 15, which is the main reason I'm still here. An important second reason is that I'm trying to put some money aside to cover actually getting to California. I still have some other work to do while I'm still here. Beyond that there's no reason for me to still be here.

It's depressing that in over a year of busting my ass, neither of the projects I've worked on are going to see the light of day. Maybe the most recent project still will, but it's not looking like it right now. I'm trying to work through that-- writing about it is a part of the process-- but it's hard to shake.

No comments:

Post a Comment

If you'd like your comment to stay private, please let me know in your comment. Anonymous comments are also allowed.