New post: The biggest lie software ever told
The biggest lie software ever told
Did you optimize yourself into irrelevance?
Few years back tech jobs were all the rage, you saw #learntocode plastered everywhere, but even before that, software engineering and development sold all of us a big fat lie. When you think of a programmer, what comes to mind? Is it one person hunched over a desk with three monitors, some rando with a macbook and company swag? Perhaps a youtuber that did tutorials
We got these day in the life videos and for some that was reality, that was not the big lie, that was the initial one. See, a lot of people saw programming as a more accessible trade, even with apprenticeships becoming a plumber or HVAC tech can be very hard and it is demanding work, it is in person, high cognitive load, even with well documented SOPs, auto repair and heavy machinery repair is no different, brutal hours plus the cost of tools and equipment if you wish to go independent, same with welders. But coding, coding was accessible, that was and to a point still is true, all you needed was internet, time, and a computer, with enough determination anyone can learn to code. Sure the industry has shifted, the economy seems all but royally fucked and roles seem non-existent, but coding is still a valuable skill, perhaps not a primary one. No. The biggest lie the industry ever told was disgusting and insidious
"You can be an individual contributor and still grow"
Coding was attractive for a lot of us for one reason, we grew up with parents who hated their jobs, everyone seemed to, we watched the office and saw the meaninglessness of it all, we laughed with it to avoid the existential dread. We grew up knowing the professional world was this cutthroat stage full of posturing and vapid platitudes. We grew up on LinkedIn. And then came along coding, something as ontologically concrete as construction, it's simple, you solve problems with structured logic that has objective measures for quality and functionality, objective value. You don't have to play the game, just be good at the skill and communicate that you are, sure you still need some degree of flair for the theatrics of employment but coding was different, it came with fewer meetings and more being left alone to actually work
And then came the tech boom, everyone who could code got in, sure we knew it would not last forever, and it wasn't all sunshine and rainbows, but we kept going, we leveled up the technical aspect, we treated it like a status symbol. No shade to the experts really, this level of skill and talent is admirable, we just fetishized it instead of celebrating it. And therein was the lie dragging us down again, we were told to just upskill, specialize. Some of us went into management, some tried their best, others became jaded, some were wonderful leaders. But almost none of us wanted to, we just wanted to keep playing text legos and keep the meetings to a minimum.
Every programming paradigm after waterfall has posited that we shouldnt work in isolation, no silos, but what happens when we are the silo, when our entire identity was constructed on the dissonant yet often paired ideas of lone mastery and good team contributor. We saw leadership as the enemy, and I don't blame us, a lot of the time they acted like one.
This slowly spilled over our personal lives, we grew up, a lot of us with this idea that a job gave you stability, then so many of us watched our parents lose it all back in '08, even earlier generations saw it happen and all they could do was watch it crash.
Coding was meant to be merit based, it seemed like it for a time, do good work, show up on time, get opportunities. This delusion was shattered with the advent of AI, not because all software engineering is automatable, enterprise work is exceedingly difficult and the speed advantage of AI is not demonstrable, but because the powers that be saw something, another chance to cut costs, or at least blame the market for layoffs. Over the last quarter century the prevailing narrative in corporate management has been to invest in growth over stability, in short term gains over long term goals. This leads to a culture of heavy turnover as rehires quietly happen just after each quarter. We all know this, we know how this works. And AI was the perfect excuse to ramp up this cycle. You may be thinking to yourself, oh, we automated ourselves into irrelevance, we trusted in opensource, we were embraced extended and extinguished. To a point yes, but that's not the greatest consequence of the individual contributor lie
We built this identity, this mastery over the skill, and it permeated into our out of work selves. The recognition is deserved and while I am amazed at how useless my python knowledge feels now, the real work was always language agnostic. The individual contributor lie did something far worse than leave us jobless, it taught us that initiative and agency were akin to misbehaving. Corporations can yap all they want about wanting creative risk takers who are self starters and learn fast but the moment someone actually tries to make a difference whether its process improvement, team leadership, or simply questioning the scope requested, they get labeled a troublemaker. Good software, and good engineering in general requires relentless questioning and curiosity. We need to ask why, we need to know the motivation behind the goal. It's the difference between 'I want a KPI dashboard' and 'My goal is to see metrics X, Y, Z to derive conclusions about this and that, so I need a dashboard'
But we were told to eschew the why unless it was criticizing our own work. We became masters to keeping our heads down and only unleashing the critical lens on each other
In this age of AI, we have the corporate beast frothing at the mouth, ready to rid itself of those pesky things called workers, salivating over one engineer doing the work of 20. It's not possible with the current state of the tech, you can do a lot but corporate development is fundamentally incompatible with agentic coding in an AI-native way. And so what happens to the individual contributor, the coder, the engineer, the now expert who sees millions of lines of code scroll by in cursor diffs, who did the leetcode grind to interview well, who optimized their social skills around the job, learning the productivity theater and growing more and more jaded.
Are you pist at me? Are you raging and cursing whatever name you know me as? Are you digging your nails into your chair and trying not to fall into despair? Good.
Then that initiative and agency, whatever you wanna call it, it's still alive, the joy you felt when you first made the computer do something cool. Was it Karel the Robot? Was it Logo and turtle? Maybe it was Flash games, or Python and Pygame, or Scratch. Remember that rush when it felt like you had infinite legos with no risk of stepping on them.
You still have that in you, the joy, the aha moment, the reason you started in the first place. No amount of malformed Jira tickets, sprint retrospectives where nothing changed, or gargantuan backlogs could squash it. Sure you tried your best to quell it, you rationalized it over and over. But nothing changes the fact that we do this for the pure enjoyment of it. Otherwise we would have no wacky ideas or side projects. So, what now?
I'm not gonna sit here and preach that software is dead, it's not, but it no longer feels as accessible, corporations are falling into the no juniors trap, and it will bite them in the ass in a few years, but for now they are content with pretending a skeleton crew can keep the show going. But that's in the future, we are talking about the now. Everyone is scrambling to find a new path, some are staying at their job and trying to become irreplaceable. Some are starting their own ventures. You see tech Twitter and founders posting about 'clarity' and 'signal' or whatever fucking buzzword of the week.
Some even say it's the best time to pivot to hardware, the doomers and accelerationists alike kinda have given up on jobs altogether. The actual answer is as usual nuanced, context dependent, and best carved with Occam's razor.
If you genuinely like robotics and hardware, go into that, learn CAD, learn some type of physical system automation, anything from smart homes to industrial assembly lines. This is costlier than just learning software, you will need hardware and you will end up being able to repair so many things.
If what got you tired of the industry was building the software, then a support role might be a good fit, whether you start an agency, or do it as a job, there is value in being able to problem solve while helping end users, and the roles can be quite specialized and not dissimilar in compensation. A lot of people ignore these roles but the truth is they are essential and with the higher volume of software and code velocity and how non-deterministic systems are becoming more common in production, I believe this sector will have more demand, especially since the anti-AI public sentiment will start extending to support chatbots and sufficiently escalated users will be furious if they are speaking to AI.
If you have the runway to do it, or can have your main income stable enough, by all means, pursue a business venture. You will need a whole new skill set but we learn fast anyway.
And if you just graduated or just arrived at the job market... it gets complicated. The traditional pathways are closed or reduced in availability. It's been like this for a couple years, no company seems interested in nurturing people.
But above all else you must nurture yourself. And in time, others as well. The paths are non-obvious right now, you got gurus left and right selling courses on how to upskill with AI, let me tell you a little secret. Outside of making agentic systems and the technical skill to build apps with AI functionality in them, the term 'AI skills' is a lie. If you have communication skills which after years of explaining things in business terms or being the family IT person, you already have, there are no 'AI skills' that are exclusive to AI, it's all curiosity, communication, language, and comprehension. On the ML/AI technical side, you can definitely upskill if you pursue that path.
Nothing is clear at the moment, but you are someone who can take complex problems and systematically analyze them, determine root causes, propose, enact, and review action items, plans, etc. If this article gives you anything let it be the permission you didn't know you needed. Permission to be your own person, apply your skills outside the realm of code and challenge the assumptions you were raised on, the ones the industry taught you.
You are and can be so much more than what they made you. And you can do so much more than you think. Reject the lies of the industry, embrace nurturing yourself. Now go and solve that puzzle.