Software Burnout Is for Real
Yesterday, when I was returning from work in public transit, I felt very tired. I decided to do remote the next day.
The evening passed quite joyfully. I played with my kid. We enjoyed Netflix on the couch. I had an extra hour of sleep for the next morning.
But today turned out extremely intense. I had a difficult time coordinating meetings, advising my peers and taking guidelines from seniors.
The remote didn’t work as expected. I should have been at the office to ease up some stress.
Or so I thought.
Because I knew, deep down, that remote wasn’t the problem. Nor it was the solution to the problems I faced even being at the workplace.
Software Is the New Blue Collar:
The term white-collar has historically been used to describe a person doing the work that requires mental efforts rather than physical.
It is a fact with which every union workingman is familiar, that his most bitter despisers are the petty underlings of the business world, the poor office-clerks…who, because they are allowed to wear white collar….regard themselves as members of the capitalist class.
— Upton Sinclair, Pulitzer winner politician who coined the term “white collar” (1919)
While the rise of the machines has boosted computing capacity by a factor of million (thanks to Moore’s law), the capitalist greed knows no numerical limit.
The Golden Law of Automation:
When you automate, you tend to be greedy expanding the limits of automation.
Corollary: You need humans to automate endlessly. The rewards are handsome.
Why replace humans with machines if they could work just like machines, additionally also control them by flipping the switches?
A switch flip sadly does not define a software developer’s day. They are also burdened with designing those switches, testing them, placing and moving them, or fixing the cables when the connections run faulty.
When computers were not mainstream, white-collar workers worked, chatted, and lived in their offices. Work was part of their lives. On their worst days, they worked with stockpiles of documentation and went home tired.
That was when their other life began — and mostly after 6 PM. They truly cherished their time with family, and their thoughts had no recollection of their workday routines as they were really mundane.
Not so with software programmers. They simply can’t dust it off just like that.
Traditional white-collar workers dealt with data. Software programmers deal with machines and the flow of data. When automation kicks in, data goes out of the human hand. And programmers must ensure machines do the right thing.
Just like a supervisor who gets blamed for their worker’s efficiency, a programmer, however junior, gets the blame every time a software library malfunctions.
Unlike blue-collar workers of today, they get midnight calls to fix the build — sometimes even without overtime. They have to work 9–9 every day, 6 days per week, in line with a century-old productivity mindset.
As a bonus, they get to wear denim shorts in offices, a dress code reminiscent of blue-collar working class.
Even when extra hours are not a burden, there is no garbage collector that can reclaim a programmer’s brain from unfinished features and unresolved bugs.
The real burnout happens inside IT Servicing industry.
Big tech firms (FAAMG+) have tried to be an exception, but their entry barrier is too high, and they form a very tiny chunk of the software industry. The real burnout happens inside IT Servicing industry, and it’s rarely reported in mainstream media, barring shakedown movements like 996.
The sad truth:
IT servicing simply doesn’t comprise of companies that label themselves as IT service providers. Even product companies nowadays act like one. As a result, if you are a software developer, there is 90% chance you are servicing your customer, even though he/she is not your client.
Blue-collar workers of the past were mostly illiterate. Yet (or precisely because of it) they were wise enough to utilize the strength of the unions to protect their rights. Foundation of worker's rights was laid a century ago in the midst of political turmoil. It was an achievement of the working class that is benefitting every industry labor today.
Hapless software programmers of today can’t unite without hackathons or a glass of beer.
Software is quickly becoming the blue-collar of the 21st century. Or worse.
But Didn’t They Say Anyone Can Code?
Programming is a lucrative career, with an equally enticing job description. Every other day on programming subreddits, I see a truck driver or factory worker aspiring to be a coder and earning 100K+ a year in paychecks.
I just develop it once, using copy-paste from StackOverflow. And I can forget about it!
— A software-entrant’s fantasy
Coding is a dream job for many. But around 2050, the software industry will be replete with configurators who will create a thousand websites and apps from the single designer tool. Hail no code movement.
However, we are still far from times when every programmer will be obsolete. They still need programmers to run the show.
But in the last decade, programmers worldwide did something nasty to make their collective lives harder. They invented a million tools for productivity, then open-sourced many of them.
Those tools, or products that were built off of them, ensured the code becomes bug-free before it runs even the first time. Code coverage, static analyzers, performance measurement tools, automated test suits — you name it.
Which raised the bar one more level. Since software can do so much, stakeholders became increasingly wary of the resource utilization. If software tools could measure your programs ran bug-free, they could also measure your people could function without making mistakes.
And relentlessly.
All you need to do is provide them things to work on and put people on top of them to supervise. The 19th-century factory in a 21st-century glass-wall building, with cushy nap pods and table tennis.
Enter Agile.
There Are 1000 Ways to do Agile Wrong:
And only one way to do it right, which is yet to be invented.
Agile is sold as a panacea to avoid pitfalls of the waterfall. It gained popularity in past 2008 market crash. But what it has ended up being is a measurement methodology.
On the face of it, Agile allows managers to plan and manage their resources. It allows stakeholders to push down features down the development team’s throat.
Managers follow just enough Agile to keep developers on toe.
But following Heisenberg’s uncertainty principle, it ends up altering what it aims to measure.
At the lowest level where the wheels are turned, Agile keeps measuring programmers work. Endless meetings ensure no programmer is left behind.
While Agile manifesto clearly states Programmers should be the owners of their work, managerial hierarchy ensures they don’t get the last word in Sprint planning.
Agile was intended to invoke passion for the product. But it is designed to do exactly opposite. With its endless measurements, it takes away the most important nutrient that feeds a programmer: Flow.
I described a painful ordeal here:
Trust of the stakeholders, and time for experimentation.
Flow is an uninterrupted block of time and thinking space. Great software, including the Internet, was created not in the glass walls. It was created in tiny cubicles and laboratories of universities by engineers who got the flow.
Even in a ragtag setup with little equipment, those isolated minds created software as their side projects. They did it with the two most important assets at their disposal: trust of the stakeholders, and time for experimentation.
Agile, with its endless reporting needs (read Sprint boards that sells for millions), has taken both things away from the developers.
Managers follow just enough Agile to keep developers on toe.
- They do not document enough to allow developers play dinner dates with product. They marry them off directly (remember one-liner requirements?)
- They push developer productivity with JIRA, Jenkins and Gerrit dashboards. Such measurements often pit developers against each other, and only highly accommodating (often incompetent) developers can work in such teams.
- Inputs to development teams are rarely measured. No one measures the quality of requirements and designs handed out to developers. In fact, there are no known tools in the market that measures this. Managers love numbers, and it is difficult to quantify quality. Waterfall ranked far higher in quality of documentation, and they have thrown it out of the window.
- They do not enable well-documented workflow of requirement reviews (Remember Lotus Notes?). They hold meetings to decide on the fly because they always want to simulate some movement and present ever-ascending graphs. When something goes awry, the story owner-developer gets the blame. What really happens after the blame is immaterial, but the self-esteem of the developer is shaken forever.
Well, All Programmers Do is Copy-Paste-Compile, Is It so Difficult?
With so much support available, a little push towards productivity saves a million.
That’s what Agile coaches want you to believe. (BTW, Agile Coaching is an ever-booming market)
In reality, software development is a task of engineering mindset. The cognitive load associated with design is present in software development just like all other engineering endeavors. Designing a software product from scratch is no less than designing a new car, a new factory or a new spaceship.
Designing a software product from scratch is no less than designing a new car, a new factory or a new spaceship.
This is true, even in the age of the internet and a million StackOverflow code snippets. After all, those cars and factories are out there available for everyone to untangle and study, tweak and publish a patent-independent version. Yet a new model takes years to design.
No one thinks like that for software. Managers keep compressing the timeline so as just to allow copy-paste + some testing. They end up extending them in troubleshooting, thus downsizing their best developers’ self-esteem again and again.
A feature that takes 10 days to develop + test is delivered in 4 days and takes 12 additional days for troubleshooting. Conclusion? Incompetent developers.
(But hey, smart managers. They got 2 stories (1 development + 1 critical troubleshooting) checked off the storyboard.)
Developers comply at first, because they want to showcase their hackathon-champ undying spirit. They refuse to put a break statement in the infinite loop their careers are stuck in. They refuse to grow up.
When they realize the game, it is already too late. They can’t say No, because they are already living the results of saying Yes.
Programmers refuse to put a break statement in the infinite loop their careers are stuck in. They refuse to grow up.
Programmers miss to see that such relentlessness if applied to their favorite side project as part of entrepreneurship, could lift millions out of poverty. If not, at least, themselves.
The Fallout?
Your occupational therapist will tell you about the hazards of your sitting posture. You can follow his advice, and save your body from the damage.
But your psychologist will have a hard time convincing your Sprint Product Owner. If you are tagged as a programmer having psychological health issues, the fallout may range from frozen promotion to a possible layoff. After all, your employer’s only asset has been jeopardized. The culprit doesn’t matter.
Software burnout, like climate change, is real.
The programming profession comes in 9th place when it comes to occupational suicides.
That’s not much to worry, except for the fact that all of the leading 8 professions (except artists) come under the blue-collar category.
Remote work is here, but little has been done to get rid of 8 hours a day, 5 days a week schedules. No one questions everyday meetings, mindless demos and vague documentation.
Software has disrupted several industries and made lives easier for several blue-collar workers. It is time they redefine their own work ethics. Programmers across the world have woken up against many world-pressing issues like diversity, climate change, and gender biases.
It is time programmer wake up for the sake of things they hold so dear to their hearts: software development.
Programmers need many more 996s to get their due wake up calls to shed the strenuous cognitive load. Remote work is here, but little has been done to get rid of 8 hours a day, 5 days a week schedules. No one questions everyday meetings, mindless demos, and vague documentation.
There are no universal measures of software complexity. Without it, the outcome of every successful sprint is garbage.
Productivity processes enforce those who are less driven. Mediocre ones keep being driven by yearly performance awards, meager salary hikes, Sprint demo accolades, and peer review battles.
Or promotions that convert them into predators.
Their careers are doomed for culmination into a career switch, or managerial promotion.
Software burnout, like climate change, is real for them. Only one thing can save them from this mediocrity: Guts to quit, and ambition to rise.
Until then, they keep falling prey to software burnout.
Again, Upton Sinclair, saw it all before software was a career.
“It is difficult to get a man to understand something, when his salary depends on his not understanding it.” ― Upton Sinclair, I, Candidate for Governor: And How I Got Licked






