80% of developers are unhappy. The problem is not AI, nor is coding(shiftmag.dev)
shiftmag.dev
80% of developers are unhappy. The problem is not AI, nor is coding
https://shiftmag.dev/unhappy-developers-stack-overflow-survey-3896/
88 comments
I think there's a lot to this and it really boils down to autonomy in our jobs.
As the market has tightened, I think autonomy has waned. What was over-hiring during the pandemic is perceived by management as unfocused technical work. Rather than own their mistake, it's being projected onto line engineers and this brings down overall satisfaction.
> > Despite being unhappy at work, most developers code outside of work as a hobby (68%)
> I think that one line from the article is the most telling.
I agree that this line is the most telling. I like coding on side projects as a hobby, but it's hard to find the time in life and it's the side projects where I get the most joy.
As the market has tightened, I think autonomy has waned. What was over-hiring during the pandemic is perceived by management as unfocused technical work. Rather than own their mistake, it's being projected onto line engineers and this brings down overall satisfaction.
> > Despite being unhappy at work, most developers code outside of work as a hobby (68%)
> I think that one line from the article is the most telling.
I agree that this line is the most telling. I like coding on side projects as a hobby, but it's hard to find the time in life and it's the side projects where I get the most joy.
I can take my time and do my hobby code right. I can add only the feature I want to add. I can run lint with all options if I want. I can fix all the compiler warnings. I can use asan and run valgrind to find every last memory corruption and leak. I can profile my code and speed up the hot spots. I can grind, and sand, and polish it to my heart's content until it is a beautiful work of art. And, I don't have to release it! I can take breaks when I want to, even years-long breaks, and nobody cares.
It's the total opposite environment of at-work code, where you grind through tickets you don't care about, write design docs as checkbox items rather than because they are needed, write status updates nobody reads, implement features you don't want to implement because someone's boss's boss's boss's boss wants the feature, and it's all deadlines, deadlines, deadlines. We ship on date X whether the software is high quality, barely working, or missing huge pieces. And then, after all that, it's time for the next sprint!
It's the total opposite environment of at-work code, where you grind through tickets you don't care about, write design docs as checkbox items rather than because they are needed, write status updates nobody reads, implement features you don't want to implement because someone's boss's boss's boss's boss wants the feature, and it's all deadlines, deadlines, deadlines. We ship on date X whether the software is high quality, barely working, or missing huge pieces. And then, after all that, it's time for the next sprint!
> We ship on date X whether the software is high quality, barely working, or missing huge pieces. And then, after all that, it's time for the next sprint!
Or, halfway there, the project is canceled. Bonus points if they later wonder why you got so little done during that part of the year.
Or, halfway there, the project is canceled. Bonus points if they later wonder why you got so little done during that part of the year.
I think in many tech companies, the founders were engineers, and knew how to work with engineers. They could handle "what's the feature set going to be?" in the way that you describe. (Also, that kind of management is easier to do with a smaller organization.)
But when MBAs took over, they only knew how to MBA. They didn't know how to manage in an engineering culture, so they turned it into an MBA culture.
But when MBAs took over, they only knew how to MBA. They didn't know how to manage in an engineering culture, so they turned it into an MBA culture.
[deleted]
It's the intersection of responsibility & agency. One can be happy and fulfilled without responsibility and agency, but not everybody is. We denigrate those who are as a type B personality, but that's unfair.
Some few people have agency without responsibility. Rich heirs, for example. Some of them are happy, but you hear a lot of stories about them acting out for a reason.
Those who have responsibility without agency are almost universally unhappy. This is where many developers are. We dislike those who carve out a piece of code and jealously defend that turf, but that is where this comes from, the desire for agency over something.
Those who have both agency & responsibility are the ones who are fulfilled. The stress from the responsibility may make them temporarily unhappy, but the long term fulfillment is the most important, and it is those who have it.
And it should be relatively straightforward to provide agency to developers. Let them feel ownership for a piece of their code. They'll take pride in their work and you'll get much better code out of them. Give them the information they need for proper decisions rather than just using that context to make the decisions for them.
Some few people have agency without responsibility. Rich heirs, for example. Some of them are happy, but you hear a lot of stories about them acting out for a reason.
Those who have responsibility without agency are almost universally unhappy. This is where many developers are. We dislike those who carve out a piece of code and jealously defend that turf, but that is where this comes from, the desire for agency over something.
Those who have both agency & responsibility are the ones who are fulfilled. The stress from the responsibility may make them temporarily unhappy, but the long term fulfillment is the most important, and it is those who have it.
And it should be relatively straightforward to provide agency to developers. Let them feel ownership for a piece of their code. They'll take pride in their work and you'll get much better code out of them. Give them the information they need for proper decisions rather than just using that context to make the decisions for them.
> Let them feel ownership for a piece of their code.
Let them actually have that ownership. If you just let them "feel" like they have ownership but they actually don't, you're not going to fool them for long.
I'm reminded of a (bootstrapped) founder I worked for briefly who, during chit-chat on a long flight, complained about his employees' work ethic and said he wished his employees worked like they owned the company. "I try so hard to help them feel like they own the company, but they just don't go the extra mile." I really wanted to tell him, dude, they don't act like they own it because they don't!--you own 100% of it!
You have to give actual meaningful agency and control to people. Not just the feeling.
Let them actually have that ownership. If you just let them "feel" like they have ownership but they actually don't, you're not going to fool them for long.
I'm reminded of a (bootstrapped) founder I worked for briefly who, during chit-chat on a long flight, complained about his employees' work ethic and said he wished his employees worked like they owned the company. "I try so hard to help them feel like they own the company, but they just don't go the extra mile." I really wanted to tell him, dude, they don't act like they own it because they don't!--you own 100% of it!
You have to give actual meaningful agency and control to people. Not just the feeling.
I'm not sure I've met anybody happy this year (I live in Poland but it's not because I live in Poland I swear :D).
It's not just job uncertainty. Our whole world (that is "1st" and "2nd" world countries) is currently unstable. A literal war is brewing, currently with Russia, maybe with China, maybe the Middle East stuff will escalate.
Those maybes are a big problem.
And let's not even start about the housing market and the possible future job market shift due to AI.
Almost none of it is due to the current local job stuff. That doesn't matter. It's all about how the future seems to look like.
And let's not even start about the housing market and the possible future job market shift due to AI.
Almost none of it is due to the current local job stuff. That doesn't matter. It's all about how the future seems to look like.
Those factors are consistent for everyone, though, and it seems that developers have more job induced unhappiness than many other careers. There's something fundamentally wrong and broken with this discipline.
A good point — and as even the article points out, plumbers and farmers live in the same world as engineers and aren't grousing about housing costs or wars potentially brewing. Why is that?
Plumbers and farmers are deeply unsatisfied, just try talking to them. That's why a sizable majority of them plan on voting for Trump.
It is almost as if humans are not made for sitting 8-10 hours learning abstract stuff and thinking really hard about imagined logic puzzles in constant stress.
It's as if we get some satisfaction from doing physical things with our hands and seeing progress for our labors at the end of each day.
The fact that a programmer would quit their 50h/w job, which they hate, to then take on a personal 80h/w project (open source, saas, educational, etc), which they enjoy, suggests that the malaise has little to do with the craft.
Is there something like the SO Developer Survey for other industries?
I'm in the US and have similar worries, but to be honest they sort of pale in comparison to climate change; we just had the three hottest days ever this month and it looks like we are committed to accelerating warming. I don't mean to depress anyone further, but this is literally a thing that keeps me up at night.
1. Look at https://www.amazon.com/Unsettled-Climate-Science-Doesnt-Matt...
It may alleviate some of your worries.
2. You say "climate change" "keeps me up at night". Do you believe that is a rational state of mind to have? Shouldn't you open up a bit and talk to a friend or professional about your feelings?
It may alleviate some of your worries.
2. You say "climate change" "keeps me up at night". Do you believe that is a rational state of mind to have? Shouldn't you open up a bit and talk to a friend or professional about your feelings?
Also US. I think WW3 is a more pressing threat for most in the developed world than climate change is.
https://www.astralcodexten.com/p/please-dont-give-up-on-havi...
There's a nervous murmur going around with men younger than me (31) about the draft coming back. Dying in a field from a consumer-grade drone dropping a grenade on you is increasingly frightening.
https://www.astralcodexten.com/p/please-dont-give-up-on-havi...
There's a nervous murmur going around with men younger than me (31) about the draft coming back. Dying in a field from a consumer-grade drone dropping a grenade on you is increasingly frightening.
I can’t tell what a world war would actually be about these days. It’s easy to imagine a lot of regional squabbles as the Pax Americana unwinds itself, but I can’t see any large issue that would unite two global factions against one another. And it’s hard to imagine the US having the stomach for more foreign involvement to include actual “boots on the ground” after the disastrous lessons learned since Vietnam, but especially of the Bush Administration.
I also thought talk of "WWIII" was putting too fine a point on it. Is anyone really worrying about all out nuclear warfare?
To be honest never-ending myriad of "local" conflicts and long-term economy downturn stresses me much more than nuclear war. That would be over pretty quick...
> That would be over pretty quick...
That's not a safe assumption. A nuclear war is far more likely to be a limited local exchange than the all-out-war imagined during the cold war. So you're unlikely to be killed outright by the exchange. Instead you're likely to to have to deal with the nuclear radiation fallout, severe food insecurity and increased global tension.
That's not a safe assumption. A nuclear war is far more likely to be a limited local exchange than the all-out-war imagined during the cold war. So you're unlikely to be killed outright by the exchange. Instead you're likely to to have to deal with the nuclear radiation fallout, severe food insecurity and increased global tension.
I believe that nuclear war is going to kill a lot more people than climate change over the next one hundred years. We've had way too many close calls over the last 70 years, and nuclear weapons are in far too many unstable hands for them not to be used eventually. It might not happen this year or this decade, but it's almost inevitable they'll be used in the next hundred years, likely sooner rather than later.
Perhaps it's unlikely to be "all out" nuclear warfare. Climate change is projected to kill a small number of millions of people. It wouldn't take much for a limited nuclear war to kill more than that.
Perhaps it's unlikely to be "all out" nuclear warfare. Climate change is projected to kill a small number of millions of people. It wouldn't take much for a limited nuclear war to kill more than that.
Nuclear war ain't shit.
Wait until bioweapons are made and inevitably leak from a BSL-max lab. That's like if the nukes were invisible, without number, and diligently tracked every individual down.
Unlike nukes, that's extinction time.
Not if we become multiplanetary by then though.
Wait until bioweapons are made and inevitably leak from a BSL-max lab. That's like if the nukes were invisible, without number, and diligently tracked every individual down.
Unlike nukes, that's extinction time.
Not if we become multiplanetary by then though.
> Wait until bioweapons are made and inevitably leak from a BSL-max lab. That's like if the nukes were invisible, without number, and diligently tracked every individual down.
Plus, as we now know, the attacker might be able to rely on a sizable portion of the target population downplaying, denying, and deliberately spreading, and otherwise politicizing the bio agent. You don't get that with nukes. Once the bombs start dropping, nobody's going to have the time to spread conspiracy theories.
Plus, as we now know, the attacker might be able to rely on a sizable portion of the target population downplaying, denying, and deliberately spreading, and otherwise politicizing the bio agent. You don't get that with nukes. Once the bombs start dropping, nobody's going to have the time to spread conspiracy theories.
> I can’t tell what a world war would actually be about these days. It’s easy to imagine a lot of regional squabbles as the Pax Americana unwinds itself
Our current situation is very close to how WWI expanded from a regional squabble. Look to that one and ignore WWII to see how it might occur.
Our current situation is very close to how WWI expanded from a regional squabble. Look to that one and ignore WWII to see how it might occur.
These are intimately related. Climate causes all sorts of geopolitical stresses that add new concerns about conflict, access to resources, etc.
Ignore the news. Almost none of it concerns you nor can you affect it.
I do now but the damage is done. I already know what's happening even without updates.
Also I have <200km to war-torn Lviv, so... kind of concerns me.
... on the national and international level. but absolutely read your local / state news. it is 1) often very, directly relevant, and 2) is something you may have the ability to impact, and often directly.
case in point: my sister in law and her husband got pissed off about speed bumps and signs (too many, and/or too few, in the right places), and started going to town hall meetings. show up with photos and make some valid points and things get changed...
case in point: my sister in law and her husband got pissed off about speed bumps and signs (too many, and/or too few, in the right places), and started going to town hall meetings. show up with photos and make some valid points and things get changed...
I started programming on the family computer at 11, because I was curious how video games where made and I wanted to try to make my own (it never really happened in the end!).
In the end, I caught the programming bug. The act of programming was in itself magical. And it felt like a super power. From website to making art using some procedural algorithm, to making little games and solving them with genetic algorithm, everything felt fun. Even though the learning part could be complex and tedious, being able to approach it however I desire made sure that I kept my motivation.
So when I had to choose what I was going to study after high school, I already knew. And this is when it started to go downhill. Not that school wasn't fun in its own way, and I did learn a bunch of things. But the more rigid form of learning and the mandatory exam still chip away at my motivation.
And then work. It really makes you understand the concept of Alienation. Your agency is (mostly) taken away. You don't get to work on what you want, how you want it, with the tools you might prefer. You have limited ability to influence the direction of the project, to propose new ideas, etc ... Your self-expression, which for me was a important part of programming, is repressed. It gets better with time and experience. And some company are better than other at letting you experiment and learn new things. But coding various part of a UI for another business related backoffice, will never be as fun as spawning whole world from a few lines of code, reverse engineering a protocol to create your own client, making gfx, creating a small website for you friend's band, ...
Work is work, and when your hobby turn to work, it can feel very frustrating at time. Especially since, after a day of "work" coding, my motivation for "hobby" coding is reduce to ashes. But at the same time, I don´t see myself doing anything else.
In the end, I caught the programming bug. The act of programming was in itself magical. And it felt like a super power. From website to making art using some procedural algorithm, to making little games and solving them with genetic algorithm, everything felt fun. Even though the learning part could be complex and tedious, being able to approach it however I desire made sure that I kept my motivation.
So when I had to choose what I was going to study after high school, I already knew. And this is when it started to go downhill. Not that school wasn't fun in its own way, and I did learn a bunch of things. But the more rigid form of learning and the mandatory exam still chip away at my motivation.
And then work. It really makes you understand the concept of Alienation. Your agency is (mostly) taken away. You don't get to work on what you want, how you want it, with the tools you might prefer. You have limited ability to influence the direction of the project, to propose new ideas, etc ... Your self-expression, which for me was a important part of programming, is repressed. It gets better with time and experience. And some company are better than other at letting you experiment and learn new things. But coding various part of a UI for another business related backoffice, will never be as fun as spawning whole world from a few lines of code, reverse engineering a protocol to create your own client, making gfx, creating a small website for you friend's band, ...
Work is work, and when your hobby turn to work, it can feel very frustrating at time. Especially since, after a day of "work" coding, my motivation for "hobby" coding is reduce to ashes. But at the same time, I don´t see myself doing anything else.
This is pretty much why I stopped being a professional developer. I realised I love coding too much to do it professionally.
Now I work in application security. It's not like this is magically a better job in most ways, but it doesn't kill my love of coding for fun.
Now I work in application security. It's not like this is magically a better job in most ways, but it doesn't kill my love of coding for fun.
For me coding is kind of an anarchist activity. Computers can very powerful machines and we can teach them to do anything and it seems the only rules are theroretical limits.. I think it can be exhilarating and incredibly fun. But at work.. we work on uninspiring JIRA tickets and write boring unit tests and even more boring documentation.. it's just not quite the same. That's why I code at home, too ;)
(And probably the whole Agile methodology is part of the problem, too.)
(And probably the whole Agile methodology is part of the problem, too.)
Eighty percent seems hard to believe. I'm often treated like I have some sort of mood disorder (it's entirely possible to be fair) when I point out the problems of modern life, to include an extremely alienating labor environment. I was under the impression that most people were at least able to adjust to their circumstances.
Most people are in survival mode, and it's a socially vulnerable thing to admit you don't like the work. It requires a level of safety, by being honest about it and supportive of others hopefully we can get to the point where we can collectively acknowledge them and maybe try to address them.
It's also just not fun to think about why life sucks, and it makes life a little harder to begin with I think. So it requires some tact. People bringing it up as a subjective and personal take that they just want to share, as opposed to an objective fact that needs to change, has made it easier for me to take others more seriously in this area.
Sorry you felt like the minority, hope you can get to/create an environment where you feel better understood.
It's also just not fun to think about why life sucks, and it makes life a little harder to begin with I think. So it requires some tact. People bringing it up as a subjective and personal take that they just want to share, as opposed to an objective fact that needs to change, has made it easier for me to take others more seriously in this area.
Sorry you felt like the minority, hope you can get to/create an environment where you feel better understood.
Yes, I've been in a company that was being dismantled by private equity. People would act like everything was normal in meetings and then you'd hear reports about people crying in more one-on-one type situations. Certainly it tore me up to the point that when the layoff came, I was actually relieved.
I'm extremely introverted and have a hard time telling this sort of thing to anyone but my therapist, but I was under the impression that I'm a bit unusual. Obviously in this forum, I can speak my mind because of the relative anonymity.
I often wonder if people do in fact understand what is making them unhappy; it often seems so clear to me. For instance, working from home is so sought after, but for me it was a disaster; the thought of being chained to a desk in my house for the next few decades of worked seemed close to living in hell (or at least the office). As I said, I'm quite introverted, but that level of singular toil is incredibly unnatural to me; I don't understand how anyone can do it, and yet people would accuse me of being some sort of shill on this site for laying that out.
And so, I got an in person job at a company that makes a product that I think is useful. I would be laughed at if I said what I got paid or some of the old technologies we use, but you know what - I might actually be in the twenty percent these days. I've actually told people that my job is a source of pride and satisfaction for me. Now my biggest fear (it'll probably never go away) is that we lose relevance/customers and I'll have to find something else.
I'm extremely introverted and have a hard time telling this sort of thing to anyone but my therapist, but I was under the impression that I'm a bit unusual. Obviously in this forum, I can speak my mind because of the relative anonymity.
I often wonder if people do in fact understand what is making them unhappy; it often seems so clear to me. For instance, working from home is so sought after, but for me it was a disaster; the thought of being chained to a desk in my house for the next few decades of worked seemed close to living in hell (or at least the office). As I said, I'm quite introverted, but that level of singular toil is incredibly unnatural to me; I don't understand how anyone can do it, and yet people would accuse me of being some sort of shill on this site for laying that out.
And so, I got an in person job at a company that makes a product that I think is useful. I would be laughed at if I said what I got paid or some of the old technologies we use, but you know what - I might actually be in the twenty percent these days. I've actually told people that my job is a source of pride and satisfaction for me. Now my biggest fear (it'll probably never go away) is that we lose relevance/customers and I'll have to find something else.
> I'm often treated like I have some sort of mood disorder (it's entirely possible to be fair) when I point out the problems of modern life, to include an extremely alienating labor environment
Karl Marx literally called this term, something he thought was inevitable under capitalism, "Worker Alienation"
Karl Marx literally called this term, something he thought was inevitable under capitalism, "Worker Alienation"
Yes, I was cribbing from Marx on that one. Obviously he is anathema to a capitalist society, but if he didn't have something to say they would have laughed him off instead of vilifying him.
I wonder how much of this is also that the solutions feel less tangible and more abstract, and fundamentally less satisfying.
In carpentry or Plumbing for example, you can point to something being completed.
The valve was either replaced or it wasn’t. The water is either leaking or it isn’t. (Sorry I can only think of residential plumbing issues, I know it’s more complicated than that).
But in software it’s way more amorphous. Every feature has endless discussions, the product is less tangible, and you don’t often see people actually using what you built.
But that’s just me projecting why a career in software (while very comfortable and I genuinely enjoy programming), can feel a lot less satisfying.
In carpentry or Plumbing for example, you can point to something being completed.
The valve was either replaced or it wasn’t. The water is either leaking or it isn’t. (Sorry I can only think of residential plumbing issues, I know it’s more complicated than that).
But in software it’s way more amorphous. Every feature has endless discussions, the product is less tangible, and you don’t often see people actually using what you built.
But that’s just me projecting why a career in software (while very comfortable and I genuinely enjoy programming), can feel a lot less satisfying.
I used to find the solutions satisfying, but it's so hard now. I think it's the combination of endless technical debt, bikeshedding, discussions that go nowhere, needing sign off from a million people to do anything, other developers favoring dogmatic design patterns over pragmatism, etc, etc.
Yeah all the bike shedding is definitely a thing.
When I was starting out, I was solving problems for co-workers constantly with mini programs/tools (often 1-2 page websites), and I could see them use those tools to solve their daily tasks, and it was highly satisfying.
When I was starting out, I was solving problems for co-workers constantly with mini programs/tools (often 1-2 page websites), and I could see them use those tools to solve their daily tasks, and it was highly satisfying.
On one hand, that doesn't explain, as the article points out, that many of us also code in our spare time.
But at the same time, that does explain why many of us (raises hand) do woodworking or other "constructive" hobbies outside of coding.
But at the same time, that does explain why many of us (raises hand) do woodworking or other "constructive" hobbies outside of coding.
Totally agree. 10 years ago the hot thing for programmers was photography. Now (or the last few years) woodworking and other similar DIY pursuits seem to be all the rage.
I'm a systems person and I really miss the days where you actually got to go and rack servers, cable them up, and power them on. Having all your infrastructure in the cloud is unsatisfying on a few levels.
I wonder how the happiness of plumbers has evolved.
I see plumbers who come in, do something, leave and send the bill. Except their something didn't fix the problem.
How can you be happy in that case?
I see plumbers who come in, do something, leave and send the bill. Except their something didn't fix the problem.
How can you be happy in that case?
> I wonder how much of this is also that the solutions feel less tangible and more abstract, and fundamentally less satisfying.
Karl Marx called this "Worker Alienation".
As in alienation from their work in a fundamental sense, and the inability to not only get the full, market value of their labor, but in the basic inability to even get satisfaction of the work, and the eventual alienation of self-image that eventually follows.
https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation
Karl Marx called this "Worker Alienation".
As in alienation from their work in a fundamental sense, and the inability to not only get the full, market value of their labor, but in the basic inability to even get satisfaction of the work, and the eventual alienation of self-image that eventually follows.
https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation
Comparing programming with plumbing seems comparing apples and oranges. In such jobs people probably dream of the worst imaginable IT micro managers. Such companies are typically lead by a bunch of furious old guys that do nothing. It's hard to take such an assessment seriously made by people who never worked in a similar job.
Yes, I am willingly comparing apples to oranges.
I'm comparing the idea is that most IT work (like a lot of white collar work in general) is abstract, and less well-defined.
Whereas with a lot of the trades in the physical realm, a lot of it is repetitive and you complete it.
It's the same with plumbers, mechanics, etc. Yes there's the occasional problem that will escape you and bother you for weeks. But most of the work is repetitive, and has a definite start and an end. And you seldom have a feeling like you wasted a whole day and got nothing done.
I'm comparing the idea is that most IT work (like a lot of white collar work in general) is abstract, and less well-defined.
Whereas with a lot of the trades in the physical realm, a lot of it is repetitive and you complete it.
It's the same with plumbers, mechanics, etc. Yes there's the occasional problem that will escape you and bother you for weeks. But most of the work is repetitive, and has a definite start and an end. And you seldom have a feeling like you wasted a whole day and got nothing done.
I resonate strongly with their points.
> Working with imperfect systems demoralizes programmers, making it difficult to do quality work.
> Developers are under pressure to complete tasks as fast as possible
> Layoffs
> coding is a sedentary job, and a sedentary lifestyle is extremely harmful to physical health.
I recently started a new job where 2 and 3 are no longer a daily concern. But can't escape a high friction dev experience and sedentary (also highly non social) lifestyle at work.
> Working with imperfect systems demoralizes programmers, making it difficult to do quality work.
> Developers are under pressure to complete tasks as fast as possible
> Layoffs
> coding is a sedentary job, and a sedentary lifestyle is extremely harmful to physical health.
I recently started a new job where 2 and 3 are no longer a daily concern. But can't escape a high friction dev experience and sedentary (also highly non social) lifestyle at work.
Software developers need independent project ownership to be happy. They need freedom to maintain and to select items from a prioritized backlog without management or other team members breathing down their neck. Without this freedom, the project often fails in two to three years anyway because it degrades to the point where it's unmaintainable.
All I know is that I consider developing software to be really fun and fulfilling. I do it as a hobby when I'm not at work doing it.
However, doing it as an employee (in most, but not all, workplaces) sucks the joy out of it. The workplace sometimes seems designed to make the task as unpleasant as possible.
However, doing it as an employee (in most, but not all, workplaces) sucks the joy out of it. The workplace sometimes seems designed to make the task as unpleasant as possible.
Another problem, I think, is that there is something inherently unsatisfying about activities like programming where the result of your labor is usually abstract and not a thing you can physically touch and admire in the real world.
Fixing things in my home, painting walls, assembling furniture often gives me more satisfaction and the feeling of a finished job than deploying an update for a web app. This wasn't an issue for me for most of my career, but it's something I feel intensely in the long term (10+ yrs) and as I get older.
I think it's the reason why every now and then you see programmers switching careers to farming or carpentry.
Fixing things in my home, painting walls, assembling furniture often gives me more satisfaction and the feeling of a finished job than deploying an update for a web app. This wasn't an issue for me for most of my career, but it's something I feel intensely in the long term (10+ yrs) and as I get older.
I think it's the reason why every now and then you see programmers switching careers to farming or carpentry.
It's definitely not AI because this has been phenomenon for a long time.
There's no simple answer to this question, I think it's the result of many different issues, and this post outlines a few of them pretty well.
For me, I've begun to think that it's intractable for my own personal well being, and have been thinking about how to make my way out of the industry. Which isn't easy when you live in a HCOL area and don't really have other marketable skills.
There's no simple answer to this question, I think it's the result of many different issues, and this post outlines a few of them pretty well.
For me, I've begun to think that it's intractable for my own personal well being, and have been thinking about how to make my way out of the industry. Which isn't easy when you live in a HCOL area and don't really have other marketable skills.
Am I missing something or did they leave out the question/answer graph showing 80% unhappy? Very curious how the question and answers were worded and wouldn't be surprised to see some survey bias issues.
But not surprised that many developers are "unhappy" - I think you'd see the same thing in finance (or any high pressure industry that's highly paid where employers have very high expectations).
But not surprised that many developers are "unhappy" - I think you'd see the same thing in finance (or any high pressure industry that's highly paid where employers have very high expectations).
Has anybody successfully created a software collective?
I think my ideal world would be building applications in Ruby with other late-career folks who are low drama, interested in making money, love talking to customers, and don’t get distracted by shiny new tech that becomes stupid tech debt a few months later.
Cultured Code comes to mind, though I don’t know if they’re a collective.
I think my ideal world would be building applications in Ruby with other late-career folks who are low drama, interested in making money, love talking to customers, and don’t get distracted by shiny new tech that becomes stupid tech debt a few months later.
Cultured Code comes to mind, though I don’t know if they’re a collective.
People are interested by what they understand. That's why so many non technical people implement processes, meetings and reviews - because that's what they understand - without understanding impacts they have on technical people that actually know what they do.
Would have been interesting for the article to compare with general job satisfaction across other fields. There a single sentence thrown in there about this which seems to have no context or source, just an opinion of the author:
> Anecdotally, both plumbers and farmers are happier than them.
> Anecdotally, both plumbers and farmers are happier than them.
> just an opinion of the author
While I agree there is no source for this neither is there any indication it is the author's opinion.
(And since it allies with what I have also come to believe is true, I am going to assume there is data backing it up ... somewhere.)
While I agree there is no source for this neither is there any indication it is the author's opinion.
(And since it allies with what I have also come to believe is true, I am going to assume there is data backing it up ... somewhere.)
As an unhappy front-end web developer I feel I'm mostly unhappy because my job title has stayed the same, while the responsibilities have changed drastically. I've always been a developer that liked to work on the UI. I got joy from creating good looking and feeling components, going the extra mile in terms of small animations and tidbits to make it feel just right. As the years went on JavaScript played a bigger part in that, so naturally I picked that up as well. But I still only learned JavaScript to enhance the visual components that I was building.
Now, n years later I can barely work on the graphical side anymore because most of my time is spent on writing business logic on the client. Fetching data from the server, parsing and massaging it, data management, … So I've basically become a backend developer for the frontend now.
The visual part of the web has been taken over by tools like Webflow and Framer or the other extreme with ThreeJs. I recently talked to some companies/recruiters just to casually see what was available and my desire to go back to the more graphical/ui/ux side of things, but everyone was just looking for a 'react developer', so just the same boat that I'm in now.
So yeah, I power through, but that doesn't mean I'm happy about it. I'm also not completely unhappy, but things could definitely be better.
Now, n years later I can barely work on the graphical side anymore because most of my time is spent on writing business logic on the client. Fetching data from the server, parsing and massaging it, data management, … So I've basically become a backend developer for the frontend now.
The visual part of the web has been taken over by tools like Webflow and Framer or the other extreme with ThreeJs. I recently talked to some companies/recruiters just to casually see what was available and my desire to go back to the more graphical/ui/ux side of things, but everyone was just looking for a 'react developer', so just the same boat that I'm in now.
So yeah, I power through, but that doesn't mean I'm happy about it. I'm also not completely unhappy, but things could definitely be better.
some food for thought here, one point not mentioned is that in many firms, the coding work has been offshored or near shored to low wage countries - so the MBA types are always balancing the equation of the need to be productive locally vs. outsourcing chunks of code development
I assume it's because most devs work on stuff they don't actually like. Programming seems to promise freedom: you can programm whatever you want.
But then devs get stuck in wageslave job and never pursue what they want.
I'm sure that 90%+ of the devs unhappy would enjoy coding if they would work on a business of their own, something that they actually think should exist, regardless of "whether it's good or not for societity".
People want to work on what they believe should exist. Modern dev jobs are the opposite for the most part.
I mean c'mon, have you ever seen a young teenage/early 20 dev who was like "Yeah bro I really want to programm ads, so exciting".
But then devs get stuck in wageslave job and never pursue what they want.
I'm sure that 90%+ of the devs unhappy would enjoy coding if they would work on a business of their own, something that they actually think should exist, regardless of "whether it's good or not for societity".
People want to work on what they believe should exist. Modern dev jobs are the opposite for the most part.
I mean c'mon, have you ever seen a young teenage/early 20 dev who was like "Yeah bro I really want to programm ads, so exciting".
It's because they work for companies that serve no real purpose and should not exist.
No, it's because they are swimming in technical deficiencies and aren't in a position to do anything about it. On top of that, they are pressured for unrealistic results and attend meetings that serve no real purpose and should not exist (and should have been an email instead). It's all right there in the article.
Perhaps the best way to one-line it would be: They are not allowed to achieve a suitable level of quality.
Perhaps the best way to one-line it would be: They are not allowed to achieve a suitable level of quality.
> aren't in a position to do anything about it
Most salient.
Most salient.
Pros:
- not have to worry about replenishing your bank account every month
- have all your modest needs in life met
- workplace is in a way the only community of like-minded people have outside of family
Cons:
- help realise someone else's dream
- you might forget you have any dreams of your own at all
---
My adult mind has been shaped by the controversial, maybe conspiratorial discussion about self-employment rates over the past century in the Deus Ex game, and as I've grown older, I've found I'd rather struggle on my own path rather than making myself care about someone else's idea.
https://youtu.be/0mAFryoa6Po?si=gGFMKRkLA_GKridQ (take it with an open mind and a grain of salt, it's cyberpunk conspiracy fiction after all)
For a deeper discussion, I can only recommend Ross Scott's review of the game: https://youtu.be/rxOKEsBx4NU?si=fp3LTFAJrGtEDbZH
- not have to worry about replenishing your bank account every month
- have all your modest needs in life met
- workplace is in a way the only community of like-minded people have outside of family
Cons:
- help realise someone else's dream
- you might forget you have any dreams of your own at all
---
My adult mind has been shaped by the controversial, maybe conspiratorial discussion about self-employment rates over the past century in the Deus Ex game, and as I've grown older, I've found I'd rather struggle on my own path rather than making myself care about someone else's idea.
https://youtu.be/0mAFryoa6Po?si=gGFMKRkLA_GKridQ (take it with an open mind and a grain of salt, it's cyberpunk conspiracy fiction after all)
For a deeper discussion, I can only recommend Ross Scott's review of the game: https://youtu.be/rxOKEsBx4NU?si=fp3LTFAJrGtEDbZH
> - workplace is in a way the only community of like-minded people have outside of family
Not having friends is more of a modern American culture thing. When you have no social life independent of your work life you get that and the loneliness epidemic in US
Not having friends is more of a modern American culture thing. When you have no social life independent of your work life you get that and the loneliness epidemic in US
I've worked for companies that serve a positive purpose and should exist, and still felt immensely unhappy with my work. It helped, but didn't solve the problem.
They can’t find purpose outside of work?
If your work takes great amount of your time from your life, it better be meaningful and purposeful.
Religion only takes a day a week (and maybe only an hour or two of that day). If time spent on task is where you find the most meaning, then work has to be first. Certainly that's the way it's been for me, and it is quite depressing, but for reasons that are specific to me, I need my health insurance more than most, and like most I also need to eat and have a place to live and all that mundane stuff.
Yeah singing to Invisible Sky Santa really makes my life better.
I mean it doesn't change jack, but placebo effect + community are better than nothing. Plus it's a 3rd space that doesn't charge anything, usually.
I mean it doesn't change jack, but placebo effect + community are better than nothing. Plus it's a 3rd space that doesn't charge anything, usually.
But then how come they get paid?
Not OP but capital is misallocated all the time by the market
Every bubble, ever, plus every rube that gets hustled by snake oil.
Side-effect of a broken system?
Printed money.
The article points out it's technical debt..
I've worked in quite a few companies which had tangible purpose, yet a lot of my code ended up in the bin and even more of my time spend at work was wasted on bullshit.
amen!
[deleted]
I am really surprised that 68% of developers code as a hobby outside their jobs.
I thought people were dedicating far less time to code in their free time
I thought people were dedicating far less time to code in their free time
It's based on a Stack Overflow user survey which is incredibly biased towards "enthusiastic junior" kind of developers.
I mean "active user of Stack Overflow" (somebody who cares about some kind of survey on the website) is already a pretty strong filter.
Also the further in career we progress the less SO we actively use.
Edit: It kind of also explains the high-percentage of unhappiness. The junior marked is especially screwed right now.
Edit: It kind of also explains the high-percentage of unhappiness. The junior marked is especially screwed right now.
> The junior marked is especially screwed right now.
yeah demand on the mid-to-high end, esp. SME's in specific areas like DB, front-end, ERPs, etc. -- all pretty high. you gotta know your stuff, but truly experienced folks with real creds go fast, and we struggle to hire and keep them. leadership roles seem to be okay; never easy to get into anyway, but the boomers and early Gen-Xrs are getting out of the market and things feel open.
meanwhile we put out ads for junior-to-mid level and get 1000+ applications of dubious quality (all AI written), 30% of whom aren't on the same continent. respect to my homies in Kenya and Delhi who are hustling for Toronto jobs, but we don't sponsor, and that extra noise just makes it harder to find legit junior-hires.
yeah demand on the mid-to-high end, esp. SME's in specific areas like DB, front-end, ERPs, etc. -- all pretty high. you gotta know your stuff, but truly experienced folks with real creds go fast, and we struggle to hire and keep them. leadership roles seem to be okay; never easy to get into anyway, but the boomers and early Gen-Xrs are getting out of the market and things feel open.
meanwhile we put out ads for junior-to-mid level and get 1000+ applications of dubious quality (all AI written), 30% of whom aren't on the same continent. respect to my homies in Kenya and Delhi who are hustling for Toronto jobs, but we don't sponsor, and that extra noise just makes it harder to find legit junior-hires.
My theory is that software engineering is fundamentally a lonely activity.
Loading up the context required to solve a problem and hold that state for the several hours to write the code means to be alone with the computer and no one else. To think about abstract ideas and concepts instead of people and feelings. As a social animal, that's not what humans evolved to do.
Software engineers need to prioritise connecting with people during their free time since they are unlikely to experience much of this during their job.
Loading up the context required to solve a problem and hold that state for the several hours to write the code means to be alone with the computer and no one else. To think about abstract ideas and concepts instead of people and feelings. As a social animal, that's not what humans evolved to do.
Software engineers need to prioritise connecting with people during their free time since they are unlikely to experience much of this during their job.
It is lonely, but that's a completely wrong explanation because software development is even more lonely when working on personal projects. Yet, personal projects bring happiness.
If you're a social animal, you should have never gotten into coding to begin with. It's for introvert nerds with no social life! How else can you even learn it, anyway? Oh, that's right, by using the easy languages made by corporations (Java, C#, Go) to hire more devs with the promise of an easy paycheck.
I have my own reasons as to why professional development went to shit and I began to be unhappy in the industry — naturally I looked in the article for validation.
For me the reason I started out loving developing software and came to loathe it has everything to do with the environment within which we code. By this I guess I mean specifically management and expectations?
I was never unhappy with my Apple salary (although you were often very aware that other engineers at Apple were being rewarded an order of magnitude more than you were) and the issue of "Technical Debt" I would cast differently than the article did.
Did I hate technical debt? Not at all — if I was allowed to go in and "own" the code I was expected to fix/maintain. And this hints at one of the bigger changes that I saw over my career: when I started out at Apple in the 90's, engineers got their own "sandbox", got their own code they owned. If you wanted to, you could rewrite it from scratch — and we essentially did just that every two years or so with ColorSync (just as an example).
Now I won't deny that "things were simpler back then" and rewriting an entire framework was something a pair of engineers could do in a release. I would not have been rewriting all of PDFKit a decade or so later (but I may have gone in and rewritten entire sections of it, like rewritten the PDF annotations for example).
I still paint "technical debt" as a problem of "ownership" though. If I am free to rewrite as I see fit (perhaps in sections at a time) an entire framework, then I say bring on the technical debt.
Hustle culture, bureaucracy — again, in the early days of my development career at Apple the engineers owned the schedule as well, owned the scheduling of the meetings....
"What do you think your team can deliver this OS release?" a marketing type might ask our tech lead.
"We talked about that in a recent meeting," they might respond, "we have engineers already working on feature A and B and another engineer that wants to explore rewriting C on top of our new framework for some performance gains."
The tech lead had made suggestions to the team, team had countered with their own requests or agreed, engineers had volunteered to take on the tasks...
It goes without saying there was no scrum, etc. in those days. (And we liked it that way!)
I know this is already long, but I think I want to jump off here with a comment on things like "agile" development, unit tests and code reviews — things that I personally think made the job miserable.
All of these things that were brought on, that we suffered, didn't seem to have anything to do with improving development. Instead they seemed all about giving management cold comfort that "progress was being made" (or not).
Management live in a world of dates and numbers, engineers live in a world of tasks, code robustness, error handling. Various efforts over the years seem to have been devised to burden the engineer with crap that give management the illusion of numbers and dates that they can take back to their own management.
I guess to end this I'll just say it boils down to engineer autonomy, agency. There was a golden time when the engineers were steering the ship, and I liked it.
> Despite being unhappy at work, most developers code outside of work as a hobby (68%)
I think that one line from the article is the most telling.