Why are Developers Still Unhappy ?
The following is an aggregation of a reddit post that you can find here
Let me start off by saying that I’m not a developer. I’m a person who probably knows a bit or two about HTML/CSS, and only can correlate it with the designer developer handoff since I’ve been a designer.
The counterintuitive idea of why I should give opinions about someone’s hardships that I myself have not experienced is a valid question. This should not be a simple GPT summarisation article, right? It should stand for something more.
I’m writing this because one of my closest friends(who also happens to be my co-founder) is also a developer. And I find developers fascinating. For me, they’ve always been the real builders of modern day technological convenience that an average person experiences without even realizing it.
I actually read this Stackoverflow report, which stated that over 80% of developers actively hate their job. Although if you ask people from any industry and get a survey done you would find mostly that people usually hate or do not actively like the job that they’re doing.
But I had assumed that software development would be different. I had heard of people making not only good money, but also creating something truly valuable which solves real life problems. Boy, was I wrong.
After researching and digging more, especially motivated by Fireship’s video on the same, I was motivated to dig further, for which I posted this reddit thread.
The human element
“People are the biggest impact to your happiness in any industry. Shitty coworkers, product owners, bosses, and customers will consistently ruin your workday.” ~ Literature-South, Reddit User
Software development and the early Internet in its nascent stages used to be fun. It used to be run by weird geniuses like Steve Woz, Sergrey Brin, Sean Parker…building, breaking and disrupting the status quo of how things should be.
There’s a great article by Joan Westenberg on how the early internet was a vast frontier, a place of self-discovery and websites were less about utility and more about passion, early web developers crafting their domains as personal expressions, and how the pioneering spirit of early internet users has been lost in transition to a space dominated by a handful of tech behemoths. Adding on to that, the dead Internet theory is also gaining ground which asserts that the Internet now consists mainly of bot activity and automatically generated content.
Nonetheless, this capitalistic expansion made fun and cool software companies into corporate dinosaurs. The piled up pressure in a mammoth IT firm from Vice Chairman's, Sr. executives, Managers who have zero idea about software development, and set unrealistic expectations all comes crashing down to the boots-on-ground engineers who need to make it work anyhow.
And unfortunately, this is what the norm has become of a typical dev persona. Constantly in a rush and tension, getting something done and pushing up a feature by crunching up nights but nobody celebrating and assuming that this was the bare minimum that was expected.
Even if our automation tool could automate 30% of the UI development work, I’m sure the Sr. manager would give 30% more work to the end frontend engineer. That is what the sad state of affairs has come down to. Developers want to build safe, stable and high-performing applications while managers are focused on maximizing profit, sometimes at the expense of these technical goals.
That is where technical debt also comes into play, basically the old codebase on top of which new code and logics are built never gets re-written again since managers never allow time for starting over and revamping the core base. This conglomeration of unaddressed technical debt, outdated legacy frameworks on which devs are forced by managers to build, microaggressions and excessive meetings by managers with no real value add, becomes a nightmare for a smart and sincere developer and makes them into a burnt out and extremely anxious person.
Glamourising software development
A part of the problem also lies in how software developers are seen. The faces of Mark Zuckerberg, Elon Musk, are shown one too many times, developers turning into entrepreneurs and creating world-changing software like PayPal, and Facebook while coding naively on their laptops and sitting on their couch.
This notion of assuming software engineering is purely about coding, and getting worked up when developers also have to perform other important skills like planning, monitoring and gathering data, managing a tech team. Adding on top of that, the money.
Today the so-called popular languages like PHP(which made Zuck a billionaire at the time) is the lowest paid language with a median salary of $49k while less popular languages like Erlang or low level languages like Rust earn better salaries. Management is such an important skill to have for higher salary expectations but many developers solely become a developer to make ‘good money' but don’t want to get their hands dirty in client relations.
Moreover, job security is a serious issue. A famous example is how the entire tech team of GTA 5 was laid off, one of the most successful video games ever in history. Moreover, outsourcing has allowed more instability where experienced devs working for years are easily replaced because the company decided to outsource the work to another country at a cheaper rate.
Global tech layoffs have further fueled this anxiety especially due to post-COVID corrections, with more than 428,000+ technical experienced employees losing their jobs since 2022.
Building the right team
At the end of the day, developers are also human. If the manager or PM has a technical alignment, understands how software development works with a great team culture, and overall respects the time and efforts, developers tend to stick through happily.
There has been some positive change towards developer culture, especially around the onboarding or interview process. Traditionally, a brutal 3 to 5 stage interview with a test project and a pair programming exercise has been replaced with open-source challenges or projects and referrals, fostering an overall strong culture from the start and making the developer feel welcome.
Another reason has been agile. Developers are spending most of their time filling “Jira” tickets, and painfully trying to get stuff into production as soon as possible. Lou-Saydus from Reddit said it best “Modern software development is like being in an abusive relationship where every single little thing you do is scrutinized and requires justification on why it took you x amount of time.”
Finally, most developers are working on a product they don’t care about. If you as a leader can help generate the right intrinsic motivation with a vision that each developer can align to, that automatically sets a starting point for a great culture. If you’re building a DevTool, that motivation automatically comes handy since you’re building for developers.
Conclusion
There should be more awareness around developer work experience. Globally the demand for good programmers is only going to increase, and we can’t have good devs leaving their jobs because of being burnt out and mentally abused.
Bill Gates said it best, “Measuring programming progress by lines of code is like measuring aircraft building progress by its weight.” And if we want our softwares to fly high, we’ve got to respect the builders that make it go in the air.
Author
Rohan Singhvi
CEO of Dualite
FAQ's
How has the culture of software development changed over the years?
Early software development was more experimental and passion-driven, with developers creating innovative and unique solutions. Today, it has become more corporate, with strict processes, excessive meetings, and profit-driven goals often taking precedence over quality and creativity.
How does poor management contribute to developer dissatisfaction?
Managers who lack technical understanding often set unrealistic goals, don't appreciate the complexities of development, or prioritize profit over quality, which leads to overworked and undervalued developers.
Yes, job security is a growing concern. Factors like global tech layoffs, outsourcing to cheaper markets, and sudden decisions by companies to replace or downsize teams contribute to instability and anxiety among developers.
A positive team culture where managers understand development processes, respect developers' time, and foster collaboration can significantly enhance job satisfaction and retention rates among developers.
The constant scrutiny over every task, the need to justify time spent on every single feature, and an overemphasis on productivity metrics make many developers feel micromanaged and undervalued, similar to an abusive relationship.