Photo by Gianluca Zuccarelli on Unsplash
If IT was easy
If it suddenly became easy to write and deploy scalable, high quality software, the effects on the job market – and maybe even the real estate market – could be apocalyptic. Not that anyone would ever fear such an eventuality – the process of writing software has always kind of sucked. It’s not an easy process.
Software takes large teams and a long time. Deal with it.
I’ll spend the middle of this article rewinding why software is hard. Or, just skip to the bottom if you want the dreadful news, starting at the section 2018: Polymer and Firebase
Defining ‘Sucks’ in Software Development:
Here’s what doesn’t happen. Joe Bob or Mary Sue sits down and writes software. When he finishes, he sends you the link to it, deployed and running, then asks “What’s next?” Nope, that isn’t how things work.
Instead, there are so many things that just suck about the process, that it takes a whole team. Not just testers, but designers, a manager or two, database guys, deployment engineers, on and on. Teams evolved like this over the decades because stuff didn’t work as hoped “… oh, that sucks …” so the remedy is always to pile on more humans.
It might suck before you add the new team members, but eventually it works. Great apps are built. We have Gmail or Facebook or … pick your favorite app. Life is good.
Mary Sue is still working on that same app that she deployed months ago, but heh! There were some things that still sucked when version x was deployed, so we’re adding those features now.
The IT Marketplace
Mary Sue might have made $7 an hour in Austin TX as a hamburger flipper, but now that she’s a [insert IT role here] her benefits package alone probably costs more than that. With 10 years of experience, she drags down north of $50 an hour, plus benefits. Don’t even mention that these can be some pretty cushy hours, on some days.
When the product manager – yes, there’s one of those too – sits down to write the budget for the year – these budgets are in the millions. That’s what it costs, to write software.
A new feature is needed. Mary Sue might add that feature in a day, wasn’t that hard. But on a large team, the network of humans might multiply that cost by many times.
Product manager has to document it, that takes meetings with the designer and customer stand-in. Then the tester has to figure out how we’re going to test it. We have more meetings on schedule, more meetings on testing.
By the time this new feature is added on a typical team, well, you just have to budget some serious cashola, not just the day that it takes Mary Sue to add that feature. Meetings…
What if IT didn’t Suck?
Mary Sue sits down to add her feature, it takes less than a day because she wrote with reusable components that are easily available. Deployment? It just happens, it’s already scalable and super secure. The components are already hardened from years of testing, so hey, that new feature is done. Next?
The components and systems Mary Sue consumed were mature and standardized. Like Linux, there will be upgrades, but also like Linux, pretty much everything still works for years to come, so there’s no rewrite every 3 years to fit the latest fad UI platform. Your new app really is ‘done’ when Mary Sue deploys it, as opposed to the current economics, where the cost of writing the app is only 10% of it’s true cost where maintenance is included.
The problem? That team! You just don’t need it. Take a hot spot like Austin or Seattle, this could have a pretty devastating economic effects. It could even hurt Mary Sue, because now all of a sudden there are so many of her, unlike the current shortages we have become accustomed to.
But IT Does Suck! So Don’t Worry!
For every problem we solve, another three emerge. I could go over the long lists of solved problems from previous decades, but this would be boring.
Solved problems only increase our expectations which adds more cool features to the backlog. Joe Bob will always have plenty of work to do. App Servers used to be a big challenge, now you deploy on anything using microservices, so instead, large teams focus on the deployment challenges. Life goes on.
2018: Polymer and Firebase
Bear with me here, because Polymer deployed to Firebase is just an example of a wider trend. I’ll speak of them concretely, but, I’m guessing you can accomplish the same thing with their competitors.
I sat down in January to write an app, and just wrote it. Couple months. Lots of features, no team. Pretty decent security footprint, pretty impressive back end and front end, scalable beyond anything that I am accustomed to writing, runs great on mobile and any normal browser platform.
With Firebase, deployment, database, scaling, security, all this is pretty much taken care of for me. Thus far, it’s all been free – as in zero cash cost – but eventually I’ll pay on a usage basis when my app goes into production. Even then, I won’t have to worry about $ ever, because I’ll never pay more than the app’s usage merits.
My point isn’t perfection – these are still early days and I’m sure you could poke plenty of holes in my app, and the underlying systems. The point is – this is a huge shift. My skills might still suck a bit, but this process really didn’t suck.
Help me out here by repeating my thought experiment in your own way. What terminology would you use?
If it sucked before, and it doesn’t suck now, then that’s kind of an un-suck. Does that work? So then I suffix an economic catastrophe -where Joe Bob and Mary Sue don’t need the rest of their team any more, so there’s apocalypse. Seems a bit extreme, but makes the point. unsuckalypse.
I’m in my 60s and I’ve had this happen to me before, when I worked in other industries and capacities. Entire workforces disappearing almost overnight. So for me this is a familiar feeling. It happens. Doesn’t mean it’s going to happen here, just a familiar feeling, that’s all. 1973. 1986. 2001. 2008. Been there, done that.
The Un-Suck-Alypse Might Not Suck At All
Bad situations can also be good. Gawd. Sitting down and writing a high grade app in a couple months! Wow, that was a cool experience. I want to do it again! Or even just add more cool stuff to this one.
So many nifty possibilities. What happens when millions of humans all over the world can simply sit down and write cool apps? Can’t even ponder of all the great consequences that might happen as a result. Can you? Mind bending.
What happens when it doesn’t cost millions and millions to under-write such an app? Oh my. Those are completely different economics than we have been working under, for the past 50 years.
Extrapolate that, a couple decades forward! Now there is a thought experiment for you.