I can say with full honesty that I never dread going to the office because I absolutely love what I do and I'm surrounded by amazing, kind and talented engineers. The majority of my friends and acquaintances, however, are not in tech/engineering roles and I often hear them complain about how boring their 9 to 5 jobs are. One of them even said: "But everybody hates their job, don't they?". At some point I even started wondering whether I should feel guilty for genuinely loving my job, while everybody else seems to be miserable at the office.
Is this something you recognise within your social circles? As a developer, do you get the impression that your job satisfaction is higher than that of your non-developer friends? What do you think?
I find this tweet by Kitze to be spot on and couldn't have said it any better:
Disclaimer: I'm not trying to say our jobs are better than non-developer roles. I suppose the only thing this watercooler discussion can really measure is whether my friends are more pessimistic than yours. ๐
Top comments (22)
I think on average, definitely. Compared to every other job I've ever had, the amount of agency, creativity, intellectual stimulation and pay are just non-comparable.
I think we deal with more stress in a lot of ways because of the complicated structures we build, the deadlines we are sometimes held to, etc.
But importantly, there's an element of gatekeeping and harassment which is not evenly distributed and leaves some folks feeling unwanted. Some of this is not unique to our industry, but some is brutally unique. If we aren't addressing this, it doesn't matter how great the "average" satisfaction is.
Someday I hope to have fewer responsibilities over code and technical teams and just open up a local vegetarian burger shop and spend more time hiking. But in the meantime, I'm loving the work. ๐
Pauline, I think it really matters on the company/culture.
I've worked with devs who seem very happy and accomplished in their work. At other times, I've worked with devs who were swamped with moving targets and strict, non-technical, upper management who added gas to the fire.
The biggest factor to me is probably flexibility to WFH. I have had work in the past where remote work was not an option. I now have 1 day per week where we can work remote and it does make a difference (Enough so that I would negotiate any future offers based not on salary, but on working from home weekly)
What do you think?
Yes.. I remember early in my career I went as an intern to Big Company A. I was lucky to go to a team full with almost 100% senior developers. When talking to each one of them I asked them if they still liked programming, and all of them told me they were fed up with it and couldn't wait to move on.
That was shocking to me.. and made me have some existential doubts.
Later I interned at Medium Company B. And at this company I asked the senior developers if they liked to program. And they couldn't even understand why I would ask such a thing. They obviously liked it.
There were huge cultural differences between A and B. A was manager driven, lots of middle management making you feel small all the time and subject to the whims of people that just didn't get it. Company B was a totally flat structure, even though they had hundreds of people in the company. Its environment was totally enviable. A great company to work for.
So yeah.. I'd say company culture is very important.
If you're stuck in the wrong culture you just want to die.
I agree with this, company and culture definitely play a critical role. Lack of communication, unreasonable deadlines, and unclear expectations will turn into burnout real quick. However, the power to create something from nothing can be really rewarding.
If you are interested and engaged with what you are working on, then you'll probably be happy. This isn't always the case though, since maintaining old legacy code is usually something all devs deal with at some point in their career. For me, I enjoy starting fresh and using the latest and greatest stack, but dealing with old and outdated technical debt always rears its ugly head.
No. I don't get this satisfaction as a developer. I get this satisfaction as someone who loves what I do and picked a company with good people. When you love what you're doing, nothing else matters. My friends aren't technical, and they too love their jobs. To believe satisfaction is exclusive to developers is self centered and unproductive.
I've read your articles. You work for a company with decent culture, so you haven't had social growing pains compared to people who actually work with rude people. It's tough when you're in that position as a junior, because a senior who is fundamentally a flawed person can make or break your career ascent if they're supposed to be a resource.
My current company hired a senior who I regularly clash with. Had I seen his true colors during my interview, I would've never agreed to work at my company. And you know what? I still love my job. I practice diplomacy, patience, and deescalation while it's a known fact that we both hate each other to no end. I'm sure I've been the only person to complain about my job because spoiler alert, life has problems. It's healthy to acknowledge that. Let your pain push you to do something about it.
I don't have a problem with you having a perfect job that's problem free. You've earned that. I have a problem with you saying that software engineering is the only fulfilling field out there. I hope this viewpoint sheds some light here.
Jade,
Thanks a lot for your insight. I'm glad that you disagree with me on this front and want to clear up some things โ I'm not here to pick fights with dissidents, praise the tech industry in its fullest glory or to make my opinion based on my experiences a universal truth.
First of all, with the writing of this article I never intended to create a solid divide between non-developers and developers, this is not a us vs. them situation. It was also not written to show off. It was an entirely open question that had the purpose of checking whether my situation was a unique one or not and as I shared with you on Twitter, it was also asked to broaden my own perspective and understanding. I'm glad that you and your friends love what they do, and as the disclaimer in my post states, this only measures that my peers tend to be a tad more pessimistic in their own lives. And it doesn't mean they feel about their jobs this way just because they aren't developers. As a matter of fact, I'm extremely happy that others cannot relate to the situation I found myself in!
I wholeheartedly agree with you I haven't had many growing pains. You may even call my stories and stance naive at times. However, I can only write about my own journey. After all, I'm only a junior and I indeed have been very lucky to find myself in a healthy environment. That being said, I hope that people like yourself can share more about your own experiences to spread awareness of sub-optimal experiences so that everybody, including myself, can learn from them.
I wasn't able to find the part where I made the bold claim that software engineering is the only fulfilling field out there. Because I certainly don't think so! It's definitely not the message I want to share, and I am sorry if it came across that way or if it rubbed you the wrong way.
Again, thanks for taking the time to share your thoughts.
I have some "issues" with the framing of this question. non-developers means literally everyone else in the world that doesn't write code for a living.
Do nurses, truck drivers, welders, scuba diving instructors reflect higher/lower levels of job satisfaction that devs?
I guess a good question would be, what things correlate with high levels of job satisfaction across multiple disciplines and to what extent does a career in software development afford these?
I think that developer jobs allow for a greater degree of fulfillment. The combination of creativity, stimulation and agency (as Ben mentions) along with the almost continuous bursts of little successes, that is, seeing your thoughts become reality near-instantly, make for a great experience.
But it's only potential for fulfillment (a.k.a. happiness). A developer's environment has a much greater impact on that potential than anything else. Even when working on the most exciting product in the world, if you add in a harassing coworker, a bad boss or even just a few bad decisions from leadership that potential is utterly lost.
Put it another way: With all the stress we deal with as developers, it doesn't take much to reach the tipping point of burn out where developers start to look a lot more like the "everyone hates their job" crowd (or worse, go toxic). I mean, this is all personal opinion. But for me it's about who I'm working with and working for.
Then again, it sounds like you've got a great environment. :)
in this context it may be interesting to think about teachers and doctors. People do both because of their high passion for these professions. Do they end up excited every day? Well, it depends on so many things.
Can it be the same with programming?
Like take the happiest programmer ever and ask him/her to refactor some old spaghetti code for 6 months. Or maybe work on a new project (yay!) with infrastructure/devops not ready, underlying API changes or some other out of control things...
I did some pretty awesome hacking on old spaghetti code.. got it reshaped into something sensible. Got accolades for it too.
So as long as you can rip things out and do some massive changes it can be cool to work on old stuff too.
Coding is my third career, after being in film and industrial design. On the one hand, it's not a fair comparison, because I genuinely enjoy coding more than the other two. There are strong process similarities in product design, but coding is more immediate, more versatile, and more social.
In the US at least, coders are valued very highly, which leads to companies paying more but also making a strong effort to keep us happy. This is pretty huge for me. Creating video content and consumer products are both races to the bottom - they're mature industries where cost-cutting is central to survival. Coding is more of a race to the top, since demand for experienced programmers far outstrips supply.
I think the jobs vary a lot, too. One friend works for a place with not enough structure or guidance, and his satisfaction is lower. A coworker's previous job sounds like a disorganized, inefficient nightmare.
I love my job, and feel so lucky to do so. Certainly, a lot of it is cultural fit, and pride in what we do. But this is the most challenged, aided, encouraged, and valued I've ever been. I wouldn't give it up for anything. (In fact, I dreamt that I won the lottery, and decided to keep my job!)
Developers are highly regarded in my country, and they are one of the leading forces to generate GDP. The government and also the population view them as a special class, and most other professions also. In the every day situation, I tend to be less stressful as developer vs my management accountant job before.
I think we can get more immediate satisfaction out of our work than people in other professions. Seeing how your work instantly affects the product is not something many experience.
I also think the same.
Fixing a bug, implementing a new feature or just seeing something that you built is working is (for most developers, I guess) a big and immediate reward. A lot of challenges awaits us every day and achieving them is enough for our own satisfaction.
So I guess that's why we might be more exited about work than others.
I remember some standup comic making a similar joke about jazz musicians. They can sit in the studio all day, and then pack up and go to a club and do the same thing all night. I think that musicians have similar love for their work. Other creative workers may as well. As I write this now I am starting to think that is really the difference. It's having some creative outlet. Engineers and scientists are even creative as they design. That I think is the real difference.