My best friend is rapidly approaching burnout; he’s working in an extremely high stress environment, putting in long hours, striving to meet an impossible deadline, and gradually losing his health. Can you guess what industry the company he works for sells their software too? Must be pretty important right? I guess so, if you’re into eCommerce solutions for window and door manufacturers.
The company isn’t really doing well; the software they produced is usually so buggy and slow that a lot of their biggest customers have threatened to sue multiple times. This results in a heroic effort by the already overworked developers to fix the problems and save the company. I know because I used to work there to, and I left along with half of the development team because I kept seeing the same damn cyclical pattern.
FUZZY REQUIREMENTS + SCOPE CREEP + UNFLEXIBLE DEADLINES = CRUNCH TIME = BAD SOFTWARE
BAD SOFTWARE + ANGRY CUSTOMER = EVEN MORE CRUNCH TIME
HEROIC EFFORT = BARELY SATISFIYING THE CUSTOMER TO GET THEM TO AGREE TO A NEW VERSION
REPEAT
I left that company thinking that surely this was the exception, not the rule. How could you be smart enough to start a company, bring in brilliant people, and then just totally mismanage it to the point where your customers sue you, and you lose your brightest staff? Not only that, but keep repeating the same goddamn mistakes year after year?
Fast forward a year and I’m working for one of the largest banks in the world. This employer is one of the top three largest employers in Columbus, my team works with the Auto Finance division and this was our goal as described by our team lead.
Fix a failed offshore project (bad software) so we can limp it into production, so we can immediately start on a total rewrite/upgraded version (since the original only delivered a tenth of what was needed) of the software in house.
The internal team (us) made our goal; we got the project into production and totally exceeded everyone’s expectations. A handful of developers fixed a failed project that took sixty offshore developers to make. Considering our success you’d think the business we’re supporting would be jumping up and down to proceed to a new version.
You’d be wrong.
Over the past four months we’ve been mostly sitting on our hands, our team has tried and tried again stressing the case for getting a new version up and running quickly, only to be faced with collective silence and stone-walling from our business.
Today things changed; there were some new people in the office today, people in suits, meeting with our team lead and his boss. A VP for Auto Finance flew in from NY, something was up. I joked to a team member that they’re going to offshore PDS again for version 2; we had a pretty good laugh about that.
Until another team member came by and told us that’s exactly what the business is considering doing. The meetings are with another offshore company, the business wants them to look over the code for our project and come up with an evaluation of how long it would take them to come out with a rewrite.
See the pattern? Yup, despite the fact the internal team completely turned around the project, despite the fact they tried to offshore and failed, the business is hell bent on making the same mistake again.
Its all about cost, the original offshore company quoted a price $3 million below the competition, and they delivered a product that met a tenth of the requested functionality. The business wants to throw the dice again and hope that this time another low-bid offshore company will do better.
It’s this kind of insane thinking that has made me sick of software development. This isn’t atypical, what’s atypical in the field are companies like 37signals, Fog Creek, Source Gear, Microsoft, and Google. Everyday I read online at how awesome these places are for developers to work in, and how successful their products are, it makes me physically ill to think how rare those companies are in this field. It’s not like there are any secrets to creating a successful software company, Joel Splosky and Eric Sink's blog basically spell it out to everyone for free!
I’ve been feeling this way for a while, everyplace I’ve worked at as a developer so far has been met with huge disappointment. I hate this industry and my hatred of the stupidity the companies I work for grows with every passing day.
I’m desperate to escape; NOTAMAce.com is an attempt, at least with my own website I’m in control. I can craft my own ads on Google AdWords, I can come up with the design and the copy of the home page. I can decide on the hosting provider and I can control what features go into the site, and which features are cut.
Of course, I’ve thought about giving up software development all together, just change career paths completely. A friend of mine recently suggested building airplanes (laying down carbon fiber for composites), I was pretty surprised how tempting that sounded. Another option is to get my commercial and CFI, start taking up students, maybe ferry some airplanes for the flying club.
I apologize if this post deviates a little; I try to keep this blog aviation oriented, but this was something I had to get off my chest. Almost like last weeks “Designing for the Passenger” post/rant, by the way I was playing around with a new writing style, I don’t usually run around screaming at the top of my lungs about corporate jet jockeys.
Til next time, clear skies!