Today at work I had a chance to see yet another vendors demo. This time is monitoring hooks deep down inside the JVM. Last week is was monitoring streaming channels.
Why do large companies jump so quickly to buy vendor products? Why doesn’t anyone want to build anything?
When I grow up, I’m going to work at a real software company where we really build things. At this rate, what I’m actually going to be doing is integrating vendor products and training offshore contractors how to administrate them. What im actually doing is managing instead of engineering.
Thank Christ for GitHub. 2-3 hours a day at home I can be an engineer. I have no vendors. I have no horseshit requirement document to bicker over. No schedule. No short sighted arguments about constraints. Just beer and code, god bless ’em.
Then over the weekend it’s even better. I can get to work. I can keep busy and actually do something. All the while, stewing over all the bullshit at work which just hardens my resolve do get this project going, my project going.
What I wonder is why. Why do companies vendor out things over and over. For years, they pay other people to do the work their own engineers should be doing. And I get the argument that somethings are far to complex to try to build out. Building switches is not something that sustainable. Or encoding algorithms. But even things like JIRA, there are open source alternatives.
And so, OK, if you have the money buy some JIRA licenses, I’m fine with that. But when you have a culture of vendoring out products you’re saying to your employees is:
Your not worth investing in. I’m not interested in what you can do or provide. I’d rather just pay someone else for it and let you deal with the fallout.
Which there will be fallout. There always is. There’s always some major feature that wasn’t described in the initial statement of work (SOW) that maybe seemed implicit at the time or was just plain forgotten altogether. But now that it’s delivered it doesn’t have it or integrates with things poorly. And now what? You’re filling out more SOWs and paying them again for what they should have built in the first place!
Vendor products just don’t tend to be sustainable. You rely too heavily on their support and so you don’t invest in people who can run and manage the system. When something breaks you’re at their mercy to fix it and you pray that the outage isn’t widespread or doesn’t push out testing/integration deadlines too far while it’s triaged. You’re at the mercy of their development cycles and when they’ll deliver.
Today is now Sunday and I’m updating my resume. I will work at a real software company. It’s not some pie in the sky dream, it’s real, it has to be. That’s the only way out. I can’t wait for culture to change here. I can’t keep believing in leaderships’ lies about how good the future will be.
I need to break the cycle. I have to. For my own health if nothing else. There are only three ways this ends. (1) I die at my desk over a heart failure or some other stress related catastrophic organ failure. (2) I give up and just phone it in for the rest of my tenure. Or (3) I move on.
Options one and two are the same to me; drowning is the same as treading water. Three is the only real option I have. So I’m going to take it. Not today, and not even this week. But one day, one fine day, I will work at a real software company.