Psychology Today: How Programmers Can Avoid Burnout (psychologytoday.com) 61
An anonymous reader quotes Psychology Today:
While software development jobs sound great right out of the gate, technology roles don't always offer a great career path. The entry-level salary is fantastic, and the job is fun. But five years on, the average developer reaches a senior role, and there aren't many more rungs on the technology career ladder. An article from 1998 in the New York Times reported that six years after finishing college, only 57 percent of computer science graduates were working as programmers. After 20 years, the figure dropped to 19 percent. In contrast, the figures for civil engineering were 61 percent and 52 percent...
It's not just about the money — it's at least as much about the control you have over what you do. And software developers these days have little say in what apps they build. "More than anything, what bothered me is the feeling that my work doesn't matter one way or another," said one of my friends before he quit his programming job. He continued, "You get into software thinking you'll build cool things, but instead, it's about jumping through hoops for business school people with bad ideas."
Rapid changes in technology make programming one of the fastest-moving careers. Avoiding burnout is the only way to have a long and sustainable career in tech. Veteran software developers often recommend to:
- Work at a place where you can grow. Constantly learning new things is a requirement in tech, but it's only sustainable if you can do it as part of the job.
- Build transferable skills. Many developers find it interesting to invest in learning leadership skills and explore technical management roles — those don't change as often as programming languages do.
- Have creative outlets and create a space to focus on yourself, to switch off and relax. Make sure you move enough, eat well, and spend quality time with friends and family.
Of course, there's always the nuclear option: make your money and get out.
It's not just about the money — it's at least as much about the control you have over what you do. And software developers these days have little say in what apps they build. "More than anything, what bothered me is the feeling that my work doesn't matter one way or another," said one of my friends before he quit his programming job. He continued, "You get into software thinking you'll build cool things, but instead, it's about jumping through hoops for business school people with bad ideas."
Rapid changes in technology make programming one of the fastest-moving careers. Avoiding burnout is the only way to have a long and sustainable career in tech. Veteran software developers often recommend to:
- Work at a place where you can grow. Constantly learning new things is a requirement in tech, but it's only sustainable if you can do it as part of the job.
- Build transferable skills. Many developers find it interesting to invest in learning leadership skills and explore technical management roles — those don't change as often as programming languages do.
- Have creative outlets and create a space to focus on yourself, to switch off and relax. Make sure you move enough, eat well, and spend quality time with friends and family.
Of course, there's always the nuclear option: make your money and get out.
Close to 30 years and still enjoying it (Score:2)
Re: (Score:2)
I wonder sometimes if this is what is behind the endless conveyor belt of "new" languages/frameworks/design patterns, etc. - the desire to make sure that your competition can't get a grip on what you're working on and drive the pricing down. Well, that and a book deal.
If the only jobs are going to people who have max experience (nevermind the people who lie on their resumes and say they have more experience in a given thing than the person who is credited with originating it), and the only people who have
Re:Close to 30 years and still enjoying it (Score:4, Interesting)
I wonder sometimes if this is what is behind the endless conveyor belt of "new" languages/frameworks/design patterns, etc
It's because no geek can ever leave well enough alone. Even worse than petrolheads, everything always has to be fiddled with and messed around with, whether it needs it or not. There's no ulterior motive, it's just endless fiddling for the sake of fiddling.
Re: (Score:2)
It's actually not all that new. For example functional programming has been around almost since forever. Once you come up with a well-rounded enough education in all the things that have been around, the new stuff starts looking a lot like the old stuff.
Re: (Score:2)
Re: (Score:2)
yup. The biggest problem is people saying the new fad is better than the old one, while usually you need a little bit of this and a little bit of that. nothing fits 100% in functional, nothing fits 100% in operative, 100% in objective ...
That WILL leave you stuck (Score:3)
Yep, that attitude you have will leave you angry, afraid, and bitter. You WILL be burned out if you so your time blaming others rather than working in your skills.
You don't have to keep doing that and feeling so crappy, ya know. You can really enjoy your work, like aome of us do. BUT that involves a pretty uncomfortable couple of months while you get used to the idea of taking responsibility for yourself. Ya know, growing up.
Be irreplaceable. (Score:2)
If you don't provide anything of value beyond what could be outsourced to some people with far less skills or experience (I leave the agressive monikers to you) you deserve what happens to you.
On the other hand, I you bring something on the table:
- extensive set of advanced skills that are a sought-after rarity (you're not just some random web-design guy who just quickly throws webpages, you have extented experience in machine-learning based data science)
- a lot of on-terrain experience (yo
Re:Be irreplaceable. (Score:5, Insightful)
Re:Be irreplaceable. (Score:4, Interesting)
but do you get the time needed? Most places I have been you don't get the time to do the best job.
Re: (Score:2)
It really comes down to judgement calls. It is rare, but there are cases where I absolutely refuse something
First world problems (Score:2)
Re: (Score:2)
It really doesn't. You can survive. Maybe even for quite awhile but everyone has a breaking point.
my theory about the brontosaurus (Score:2)
Field interest (Score:3)
Avoid managers (Score:3)
Those bastards for whom everything is a priority because they couldn't say no to clients nor accept no as an answer because all they live for is having a much meetings about stuff they will never fully understand.
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
Go nuclear (Score:3)
I wholeheartedly recommend it
Screw that. (Score:4, Insightful)
Find a real problem that needs solving and solve it.
Or: (Score:2)
Become a bureocrat, a cog. Document nothing so no one dares replace you and no one else can test your code. Always write everything from scratch in your own personal idiom. Claim to have checklists and runbooks, but never show them to anyone else and document nothing. Insist that documentation is pointless, only the code itself is documentaiton. Refuse to educate your colleagues or attend their presentations on their tools.
These traits are _extremely_ common in poorly trained personnel, taught to never look
Re: (Score:1)
What you are describing are the symptoms of extremely bad management. Management is not just telling people what to do, and threatening to fire someone who does not obey. At the risk of being a bit hand-wavy, management has a duty to nurture talent, not just control it. One problem here is that those people who strive for management roles tend to be the type of personalities that like to be in control.
Software development is a gateway, not an end! (Score:5, Interesting)
My current job came to me by blind, pure luck.
Two years ago I was interviewing for Yet Another Senior C/C++ Developer position, and learned in the interview that they were using C++ in ways with which I had zero experience (and I had served on language committees!). The fourth person I interviewed with that day, the head of software development, literally told me: "I don't need you." Ok, I suppose that's one way to wind up an interview.
Then he said: "Don't go away. I'll be right back."
At the time I had spent 35 years as a developer of embedded real-time systems and had loved pretty much every minute of it. I got paid to help create some of the most amazing things: Radiation detection instruments for commercial nuclear power plants. Automated X-Ray inspection systems. Man-in-the-loop neutron radiography systems. Video cameras capturing 100,000 frames per second. Security systems for airports. Aircraft instruments. Space avionics (that unfortunately didn't get to orbit). The list goes on.
I truly felt I had lived a charmed life as a software developer. Only at that particular moment it seemed it was all coming to an end, with me sitting alone in a small conference room, wondering why I was still there.
Then someone not on my interview list arrived, and everything went in a totally different direction. I had no idea what pitches I was swinging at, but from the reaction I was seeing, I was hitting them out of the ballpark. A truly weird feeling. Like an audition for a play for which I hadn't read the script. Surreal.
I was offered a job as a Senior Systems Engineer, which I accepted. Two months later I was kicking myself for not considering such an option a decade or more before.
Doing embedded real-time systems means you gradually become an expert in all the pieces that go into such systems. Because, after all, when something goes wrong during initial power-up, they always blame the software. And it would be up to me to find the actual problem source. And beyond that, I often had to come up with a solution! I understood the mechanical engineering for actuators and structural members. I understood electrical engineering for the circuits, power distribution and noise management. I understood the electro-mechanical aspects of motors and relays. I understood FPGAs and their development and testing.
The thing is, I never thought I could get PAID for knowing all that stuff outside my core field. Until I was told I wasn't needed as a software developer, and was offered something else.
That was a double-whammy that spun me around and woke me up. As of three days ago, I'm two years in this job, and I love it just as much as any job I've had before. I'm doing such fun stuff! Tomorrow, I'm taking a bleeding-edge system in for FCC radiated and conducted emissions certification testing. Woot!
Looking back, software is the outermost layer that makes any system work, the bridge between the hardware and the outside world. I was fortunate enough to have always worked "close to the bare metal", where the hardware was always right in my face, with the outside world pushing from the other side.
I still write lots of software, but it's mainly glue code to get brand new hardware convinced not to burst into flames long enough for the "real" developers to get some code written for it. Lots of scripting to I2C ports to get devices into sane states, and more scripting to get lab instruments to provide the right signals to the hardware. Basically, I'm a glorified lab rat! And I love it.
Every software developer should always be looking outside their cubicle, checking how the larger world is evolving, and seeing if their place in it has changed. I failed to do this, and it was only by blind luck that a save was tossed my way.
The one thing I avoided was going into management: I was forced into it three times during my early-mid career, and while I was successful at it, I hated the job, found no joy in it, and wanted my IDE back. Work
Re: Software development is a gateway, not an end! (Score:2)
Re: (Score:2)
Yup, I have more hobbies than I can count. My mechanical engineering awareness has blossomed in designing and making 3D prints. My soldering iron (shiny new and digital!) is always ready to use, most recently to make a custom circuit for my home automation system, which I spend way too much time getting Alexa to communicate with. I do lots of volunteer support for Kickstarter projects heading into troubled waters, in some cases helping the project pivot in new directions, in other cases being a shoulder
Re: (Score:2)
Don't use Windows. (Score:2)
Really easy, but not really something that can be explained in terms you'd believe.
Re: (Score:2)
How bizarrely out-of-touch.
I understand that it's popular to diss Windows, but I've been developing for pretty much everything, for quite a few decades. Embedded devices, including medical. FPGAs, firmware, PIC, Windows, Linux, assembly, SQL, it never mattered much to me what the platform was. But... for fastest time to market, which really is where the profit comes from, even on embedded systems Windows (at the time, Windows CE) often was the best choice.
Oh, sure, not if your BOM (parts cost) has to hit
Re: (Score:1)
You're part of the problem. How do you handle the burnout? Just rape your children?
Ok, but then what? (Score:2)
Freeloaders caused my burnout (Score:3)
Programming professionally for about 30 years. Getting technology to making money by performing well is a nice challenge. Yada yada yada...
Being 30 years in the business I developed a sufficient amount of skills to understand business opportunities and to lead projects. All at a fraction of the cost/time it takes less experienced/driven people to do that.
I'd happily jump in to save the day and to coach novice project managers. As in having fun at doing stuff well.
Needles to say that I don't get informed about bad decisions other people take that affect business and organization. Apparently it's tough to go to the more experienced guy and ask for advice. And so bad decisions pile up and the one that can mitigate them is me. As in some ways I'm a good guy I lend a hand. Onwards and upwards.
Until the proverbial straw comes that breaks the camel's back. Yet another bad decision taken without consulting me and then expecting me to save the day again.
It was not the amount of work that did me in but the prospect of endless episodes of bad decisions by guys named Mike.
So, if you're in a position to do something about anything and you want to avoid burnout at your place then start firing the guys named Mike. Chances are that you'll never pass the mental state of this exercise.
(I'm fine BTW and I will not let that happen to me again. Burnout is not a frivolous matter. It's like your body and soul are wasted and nothing functions or feels properly. Took me several months to recover. Had a few episodes where burnout was nearly back again and tough myself to rest harder.)
Re: (Score:2)
yea we have a guy on the team that sounds like you, he is the reason we are working nights and weekends as he bumblefucks his way around minor engineering problems. Thinks that should take day's end up being weeks, but he's real handy the 3 times a year we need code written and I cant be assed to bother with it
Re: (Score:2)
That's an astonishing array of presumptions you display.
Burn out after 6 years (Score:2)
Re: (Score:1)
Programmers today: How psychology is BUNK (Score:1, Troll)
Re: (Score:3)
Some psychology is bunk. Not all of it. We do actually know a bit how the mind works
Re: (Score:2)
Programming is BUNK. Programmers have NO IDEA how the computer works. They throw in some extra white space, do a compile and hope it works.
Nice bulk (Score:1)
Leadership skills? (Score:3)
"Many developers find it interesting to invest in learning leadership skills"
Not that I've noticed. Sure, you get one or 2, but most I've seen get pushed into project or line management roles without really having much choice because in a lot of companies if you refuse a promotion thats career death. Personally I'm not interested in "leading" people and I've managed to swerve getting pushed into PM twice. One thing I like about programming is that I don't have to deal with other peoples foilbles and personality issues at a professional level. If I don't like someone in the team I just avoid them as much as possible - not something you can do if your their manager.
Don't even get me started ... (Score:2)
"You get into software thinking you'll build cool things, but instead, it's about jumping through hoops for business school people with bad ideas."
Ooooh, don't even get me started ...
Correct me if I'm wrong but... (Score:1)
it's at least as much about the control you have over what you do. And software developers these days have little say in what apps they build. "More than anything, what bothered me is the feeling that my work doesn't matter one way or another," said one of my friends before he quit his programming job. He continued, "You get into software thinking you'll build cool things, but instead, it's about jumping through hoops for business school people with bad ideas."
Isn't this the whole point of agile programming? Isn't this what the field wanted as a majority for a while now? Like, I remember learning about agile programming for the first time and thinking "So, this puts all the burden of making things and making things work on the programmers while all the power of having oversight and decision making goes to the non-programmers while the programmers help the non-programmers figure out what they want or do." Like, I know waterfall is almost considered a bad word at t
That's bizarre! (Score:2)
Why, six years after finishing college, are 61% of civil engineering students working as programmers? That's the real story here!
Feeding my family (Score:2)
25 years and still fine (Score:2)
Control (Score:2)
In my first management position, I had a really smart guy working for me. More impressive than his well-above average programming ability was how he'd find a way to turn the most boring programming assignment into something interesting. I learned from him to focus on my perspective on the task at hand and make things interesting/fun.
In contrast, the figures for civil engineering wer (Score:1)
"In contrast, the figures for civil engineering were 61 percent and 52 percent..."
That's because after you get a degree it takes like 6 years to get your professional licensing. Engineer-in-training exam, then indentured servitude, then another mondo exam to get your professional engineer license. And then only the senior engineers/partners actually use their PE stamps.
And if you deal with any sort of municipal-type project, those run for years, possibly decades. I worked for a couple civil engineering firm
Easy-peasy (Score:2)
Duct tape upper management to their chairs, and the team tells *them* what's do-able, and how long each part will take.
Take it... or we go on strike.
Worked for Ameritech in the mid-nineties. Did far too many 10, 12, and occasionally 16 hour days. And weekends. And answered farkin' pagers every damn day.
40+ yrs in (Score:2)
Re: (Score:1)
Much of this may be related to supply and demand in the software development labour market. Software development is an attractive job, especially in fields such as games software. This means that employers can exploit developers, knowing that when they are worn out, they can be replaced. This is a rather short term view. Excessive employee churn means that a company does not build a base of expertise. But there are a great number of business decisions that sacrifice long term aims for short term gains. The
41+ years and counting... (Score:1)
Spend quality time with friends. (Score:1)
What are those? Most software devs are introverts. At least the good ones are.
Be an expert and don't take shit (Score:2)
Become good in your field. Start working freelance. Push back when amateurs suggest solutions that will not work. Resign if management pushes it through anyway ignoring your and other expert opinions in your field. Accept next job which will be only a phone call away. Repeat until you find a sane company.