I deeply appreciate the existence of this website–it is one of the few forums of its kind, I think. So thank you to the creators and all the people who post and visit. I’ve found it so helpful.
Some background: I’m a programmer in my late 30s with a very scattered resume. I’d say I’ve got close to 10 years of software development experience but not all of it has been continuous, as I was pursuing another major career track in academia (unrelated to tech) that didn’t pan out. I’m currently dealing with another bout of burnout and existential crisis. It’s happened so many times that it feels routine at this point.
I’m posting this to offer a simple point I’ve been thinking about a lot: it’s important to acknowledge that software development is a line of work that inherently exacerbates (or even causes?) mental health issues for a lot of people.
Now, I know this sounds like playing the victim instead of assuming responsibility. But when I look around at how much stress, anger, anxiety, burnout, and depression there is among programmers in general, it’s really hard not to see a general pattern. It’s not purely individual. Here’s a list of common complaints that I’m sure will sound familiar to many:
People don’t understand technology and make unreasonable demands upon programmers, who are under tremendous pressure to produce quickly and produce “magical” results.
Technologies change so quickly that it is difficult to keep up-to-date, and employers often don’t recognize that keeping up-to-date takes time and resources. It falls on workers to do this on their own time.
Employers prefer to hire young people. But it’s not just older folks who lose out. I’ve seen kids out of college who, in a short time, become emotional wrecks because of overwork, ridiculously high expectations, and putting in their own time to stay on track.
There is a supposed shortage of tech labor, but this is only because companies are looking for insane skill sets that very few people possess. This creates a competitive environment with very few winners and many losers.
Metrics, metrics, metrics. It’s extremely unpleasant when all aspects of your performance are perpetually being measured. You might be doing fine right now, but one day, you will inevitably fall outside the acceptable range.
Increasingly, all the above means that programmers are being homogenized to meet a certain psychological profile. So many of them are just unfeeling machines who churn out work. They don’t burn out because they simply don’t care: they’re stopped being human. High productivity environments with these sorts of people are awful places.
These are generalizations, obviously, but it’s astounding how often you hear these things.
I’ve come to strongly believe that a big part of dealing with depression involves figuring out how to change the culture of technology so that this line of work isn’t so toxic. Don’t get me wrong: it’s important to work on our own issues, which are very real, and to figure out strategies to get what we need, in the form of advice, therapy, meds, etc. But if we don’t recognize the larger cultural dimensions of this problem, it risks maintaining the status quo, and we misidentify contributing factors (if not the causes) of depression, and conditions overall won’t improve.
Interesting analysis. What you’re describing doesn’t seem unique to software development. It’s a culture that pervades most industries. It all comes down to the bottom line. Of course our humanity is lost in that pursuit. I see this sort of thing all around us.
Totally agreed! But few people have illusions about what being a lawyer or working in a restaurant is like. With those jobs, it’s pretty clear how the bottom line shapes the work. Only in software are we so often brainwashed into thinking the work is something other than it is. This is purposeful: there’s a lot of profit at stake, so employers have an interest in feeding certain illusions.
Some things I can think of to combat the culture that can foster depression/anxiety:
Limit your time spent reading sites like Hacker News, which foster the notion that everyone needs to be a 10x programmer and be working on 17 amazing weekend projects simultaneously in order to be a worthwhile human being. Call out the b.s. when you see it. I went from reading HN every few hours to once a week, and it’s cut down on my anxiety immensely.
Manage expectations. Supervisors won’t always do this for us. Reinforce to non-tech co-workers that software development is work, not magic. Doing it well takes time, thoughtful, and effort. For non-tech people, making technology is a completely mystified process, and this is a source of unreasonable expectations, which can fuel anxiety.
Voice dissent, and get co-workers to voice dissent, against the invasion of metrics into all aspects of work life. Or try to get a say in establishing reasonable measures. A former boss (who was a software engineer) estimated that a typical programmer has anywhere from 3-5 hours of substantial coding time each day. The rest is spent on email, researching how to do stuff, other overhead tasks. This is actually pretty reasonable when it comes to scheduling.
Try to make work more meaningful. This means different things to different people. Maybe you can get permission to release some code as open source. Or step out of your role from time to time to see what the real-world impact of your work is.
I’d be curious to hear if anyone’s been able to get changes to happen at their workplace that have reduced their depression/anxiety. This might provide further clues to what we can do.
I agree that it’s not unique, and for certain there are even unhealthier jobs.
But the points OP make are spot on on software dev, so that you realise this industry is unhealthy enough to be addressed as unhealthy.
I feel this is a system that rewards the unethical and punishes the honest.
Lucky for me I found a job where the environment is the most dignifying I could find, my bosses are great people, so that helped me a lot cutting down my depression down, but it’s not the perfect job either.
guidi, thanks for your post–I’d be curious to hear how you ended up in your present situation. Was it just luck? Or did you look for certain things you knew would make for a better environment?
Definitely agree about Hacker News, but it’s more than just the impression of 10x developers. HN is a very negative place and spending time there, for me, reinforces negative thought patterns and habits. I began moving away from it by never reading the comments, and it helped a tonne. Now I only go maybe once a day or so for headlines. Really helped me.
Great post. While I am grateful to be at a good position now, I am constantly worried that I will outdate myself by staying at one position too long. I have been passively looking for part time work / other positions, and the results have been quite frustrating.
Even though technology changes so quickly as you mentioned, and developers are constantly having to pick up new things, employers expect job candidates to always have ‘5+ years in x language’.
There is also this expectation of personality. I want to puke every time I see terms like ‘energetic, passionate, thrives in a fast paced environment, etc’ , or ‘guru’ and ‘ninja’, on a job description. Even though we are expected to churn out code like machines, they paint this picture of a fun loving, extroverted workaholic who just loves it. Oh and you should be contributing to open source in your spare time and have 50 repositories on github. I am using hyperbole, but that’s how it feels sometimes. For this person to be real they would have no spare time.
Sorry for the rant.