I rolled into the office this morning at just past 5:30. That's depressing on many, many levels of course: I'm not currently sitting in my seat at AWA watching the Suns-Spurs game, but watching at home; I'm thoroughly exhausted and should be calling it a night any minute now (likely before 10;) and obviously, I was in so early that "lunch" was breakfast at 9am.
Why, one may wonder - knowing how uncritical my current job is and how few and rare are our deadlines - did I make such an early day of it? Outsourced labor.
We had a mid-level engineer who worked on one project for one year before ditching. While he needs a lot of seasoning before he'll be senior, he's responsible enough to have finished his project. Finished it, then hit the door. The only thing that happened faster than him bolting was the company shelving his work, all so we could pay money to another company to develop the same thing for us.
Again, I hear the cries of "why"? Those cries aren't coming from software professionals, however. We know better. And for those of you at software companies...you should try out doing in-house IT for a tech-wary, tech-phobic company sometime. That's a whole other level of pain.
The best way to describe the experience of being a software engineer at any company not run by other engineers is to compare it to working in Hollywood. Writer writes, actor acts, director directs. Then, there's the development execs and produers. They "give notes". They have a cousin who's "just super talented and should get an audition". They focus group and do market analysis. In other words, they're parasites riding on the backs of the talent, who muck with the product, and blame the creators when it all goes awry.1
In our case, it was a cousin (actually, a friend.)
So I get to the office at 5:30 to run one of the final steps required to go live (because they weren't ready on Wednesday when they were scheduled to be.) I had worried that it would take a few hours, since I was estimating 10-15 seconds for each call to their webservice. In fact, the processing was done in less than five minutes! Woo-hoo! Three hours later, after I'd finally finished analyzing the errors (about 10 percent of the data load failed, living up to my usual quality guarantee of Five Eights Reliability2) we started the conversation with the vendor to figure out what problems they were having.
Besides the fact that they didn't understand the requirements, failed to meet their deadlines, and continue to have a ton of problems, it's going great!
So far, nothing has surprised me. We knew they'd blow their deadline, knew they weren't clear on the requirements, and knew they weren't going to be able to support our data. By "we", of course I mean IT, not management. If these people were in LA, they'd just be asking me to "raise the stakes" and "make Jenna more likable". It could be worse. They could be my old boss Tim. I don't have the energy to open that can of worms. I'll just close with this simulated tasklist from that job:
- Go to store; get milk
- Go to moon; get rocks
- Eat lunch
- Solve world hunger
Note: I've thought about what I've written here - stream of consciousness fluff - and I think there's a decent essay comparing software to film/telly craft that could be written. If I have some time and energy this weekend (and I'm not busy with more interesting/fun writing) I might expand and expound. If anyone has any thoughts, comments, suggestions, or criticisms of the comparison, please comment here or email them to me. I know that this posting isn't super-coherent or cohesive, so criticisms like that aren't strictly necessary, thank you Mr. Guitar Man.
1 For those who know where my passion lies (and how much I hate software) you might find it odd that I want a job in an industry where I'd have to deal with such similar problems. I can only conclude that I'm so accustomed to the crap associated with my job that I'd miss it if I didn't have management getting in the way of quality.
2 I should trademark that phrase before Steve Ballmer appropriates it to describe Vista.