Author Topic: Software developer, regularly burning out, would like insight from others  (Read 6909 times)

moustacheverte

  • Stubble
  • **
  • Posts: 145
  • Age: 37
  • Location: Switzerland
So I've been a software developer for about 5 years now. I studied business but went into software because I loved it as a hobby. I learnt a ton and I am very grateful for the high salaries (even in Canada) and the stellar employment prospects.

However: In the last 5 years, I've worked at about 5 different companies. Every time, it ended with me burning out and taking a couple of months off (sometimes up to 6 months!)

I realize this is bad for me, and even though the companies were messy startups, I can't help but think there is a pattern. And so I'm thinking that maybe this isn't the right job for me?

What I love about programming:
- Dreaming things up and materializing them. Software can do a lot of things, it feels like a super power being able to put together flows or application that do in a few seconds what would take hours or years for a group of people to do
- Writing robust and tested software makes me feel like all is well with the world. I know my function is well written and I'm confident it can take almost any data you can throw at it without crashing; and if it does crash because of invalid input, it will do so garcefully
- Having something that bothers me or wastes my time because it isn't automated, and being able to turn it into a small program to make my life easier. Feels like hacking the system in a way that's very powerful

What I dread about programming:
- It feels futile. Every place I've worked at had some kind of software product. It's treated as if it were the ultimate way to end world hunger/achieve world peace. The reality is that it's just another useless B2B or B2C app that is fairly insignificant. But we're expected to live only for it and meet arbitrary deadlines. We'd pull our hair out to make something work, only to have it canned. Sometimes the new feature is used after all, but we missed the deadline and get a shitstorm for it, despite spending two stressful, frustrating weeks. No one is going to die if people are unable to import their tweets into our app.
- It is extremely binary. It either works, or it doesn't. Even if your code is 98% complete, it is useless until you get to 100%. And there are very few shortcuts you can take, because it either does what the spec says, or it doesn't. It's different from, say, a presentation where you can add filler content and still meet your objectives.
- It is very frustrating and stressful. The nature of the job is basically spending your time in frustration debugging code that won't do what you want it to. And the minute it finally does what it was supposed to do all along, you check it in and move on to the next bit of code that is in a broken state. This is endless.

I am a few months into yet a new job, and again I feel like I'm burning out. I'd hate to give up this career because I invested a lot of sweat and tears to get where I am now (sunk cost fallacy), and because the high salaries in this industry greatly align with my FI targets. But I feel like I have to change something.

I looked at working for the local university. They have devops and developer jobs to fill but it comes with a significant pay cut (25%). I'm hoping the pace is more sustainable there with considerably less pressure, and much longer vacations; but I can't gloss over the pay cut that would undermine my FI objectives (just moved to a high COL city for a new job).

I'm not the quiet, "don't like people" type, and I do enjoy interacting with others. I considered sales engineer, but it feels like there is lots of pressure there to meet your quotas and long hours.

I also have an interest into making things work better/fixing things. I enjoy repairing stuff, and I like to spot inefficiencies in a business to fix them (either with a better process, or a bit of code, or both). But I don't know of any role where that is useful or the sole focus.

Has anyone been in a similar situation before? How did you solve it? Did you end up changing careers?

zeruel

  • 5 O'Clock Shadow
  • *
  • Posts: 26
The best thing about working for a University is that, usually, they let you take a course or two a semester for free. This could be a good opportunity to check out academia, if that is something that might be interesting to you.

Spork

  • Walrus Stache
  • *******
  • Posts: 5742
    • Spork In The Eye
I can't say that my path is for everyone, but... I was in your boat 25ish years ago.

I was writing software that was deep-deep inside a telephone switch.  More often than not, we'd start a 6-12 month project and it would get canceled around 9 months in.  This is very frustrating.  Not only are you writing code that feels like it is not doing much... but then it goes on a shelf and literally does nothing.

Somewhere along the way we started writing code for a graphical front end on new-fangled unix systems.   The lab environment for this software landed in my lap.  I started playing with networking and operating systems and database management/tweaking... and things got more fun.  It felt less useless.  I had "customers" (the other software developers) that actually were using my work and I could see it get better.  It was visible enough that the IT department knocked on my door and said "Hey, would you like to do this on a larger scale?"

TL;DR: Have you considered IT?  I find operating systems fascinating (unix-ish OS's in particular... but there is no reason you have to choose what I chose).  It's sort of in the same line as programming.  And (at least in the unix world) there is a crap ton of script-type programming you can do to automate your work and make your job better/faster/easier.

neo von retorch

  • Magnum Stache
  • ******
  • Posts: 4918
  • Location: SE PA
    • Fi@retorch - personal finance tracking
So, I got into web development almost 20 years ago. Somehow, I'm still chugging along. My first several jobs lasted about 2.5 years, and I had one excellent job that held my interest for over 5 years. Since then, I haven't been anywhere longer than about 15 months, until my current job, which is approaching 19 months.

What I think I can tell you is - the nature of writing software is probably not what's burning you out. I can't tell from your post if you're working long hours all the time, or just when deadlines approach. Personally, I've almost entirely avoided that trap. I just won't do it. I'm valuable, productive and proficient. My services being provided for 40 hours/week is well worth my salary to my employer.

Otherwise, the drivers of satisfaction in your career, according to Daniel Pink, are autonomy, mastery and purpose. You're getting great joy from mastery, and sometimes you have some autonomy over how you accomplish your tasks. But you certainly aren't choosing your tasks, and you clearly seem to be "missing the mark" when it comes to purpose. It is, after all, harder to find a company with really purposeful goals that align with your inner principles, than it is to find an employer that's willing to pay you to do their bidding and help them achieve their financial goals.

You can continue to jump from job to job hoping to find those things, or you can build projects on your own, where you make all the decisions, and you can align the projects with your principles, which will feel purposeful. Since you love dreaming things up, and you have the skills to materialize them, ultimately you could probably succeed doing development on your own, rather than for an employer with different goals from your own. Have you considered that option?

Paul der Krake

  • Walrus Stache
  • *******
  • Posts: 5854
  • Age: 16
  • Location: UTC-10:00
You've identified the problem with software: it's mentally draining because the job entails fixing things all the time. If you let it overwhelm you, you will feel in crisis mode 24/7.

So chill out. Realize that things being broken is the normal state of affairs (otherwise you wouldn't be there). Find some hobbies and leave work at work.

That being said, tread carefully. You've jumped ship quite a bit in 5 years and it's starting to look suspicious.

historienne

  • Bristles
  • ***
  • Posts: 376

- It feels futile. Every place I've worked at had some kind of software product. It's treated as if it were the ultimate way to end world hunger/achieve world peace. The reality is that it's just another useless B2B or B2C app that is fairly insignificant. But we're expected to live only for it and meet arbitrary deadlines. We'd pull our hair out to make something work, only to have it canned. Sometimes the new feature is used after all, but we missed the deadline and get a shitstorm for it, despite spending two stressful, frustrating weeks. No one is going to die if people are unable to import their tweets into our app.


This is a combination of boring product and bad management.  Neither is inevitable, although I think you need to get better at picking jobs.

My husband is a software engineer.  It took awhile, but he is now in a unicorn job, writing code for a social justice nonprofit.  It's a pay cut from his previous positions, but still (barely) six figures, so it's a good tradeoff for him.  He feels like his work matters. And 95% of the time, he works 40 hours a week (he did work about 15 hours this past weekend because they had a major deadline - but that's the first time in a full year that he's had to work on a weekend).

Be picky.  Wait for a job that actually interests you, and where you have solid reason to believe that the management allows for work/life balance.

MNBen

  • 5 O'Clock Shadow
  • *
  • Posts: 87
This is a combination of boring product and bad management.  Neither is inevitable, although I think you need to get better at picking jobs.

I second this.  As your experience grows, and hopefully your 'stache grows too, you will have more leverage on being flexible with your job choices.  Early in my IT career I carried a cell phone, worked over 40 hours every week, had many late nights.  Now I'm 40 hours/week, no cell phone, great benefits, and decent pay.  And I was ready to walk away if I didn't get the pay I asked for.  A job you will enjoy more does exist.  That being said, I still look forward to the day I FIRE, but until then, this is making it more tolerable.

Schaefer Light

  • Handlebar Stache
  • *****
  • Posts: 1328
This guy (https://livingafi.com/) got fed up with his corporate software development jobs and went to work for a university.  Your story reminded me of his blog.

BlueMR2

  • Handlebar Stache
  • *****
  • Posts: 2313
Either become a job hopper or keep grinding.  It seems to be standard amongst myself and those I've observed that one is only good for 1-2 years per job before sliding into burnout.  Job hopping will alleviate that, but then you have the stress of finding/adapting to new places.  Grinding it out for years on end at one place is tough, but avoids that particular issue...

GuitarStv

  • Senior Mustachian
  • ********
  • Posts: 23128
  • Age: 42
  • Location: Toronto, Ontario, Canada
Maybe look for a different type of place to work?

You mentioned that you were working at start-ups.  These can be tough companies to work for . . . many that I've interviewed at expect an awful lot from you for little recompense (other than the dangling carrot of maybe the company will make it and you'll end up super rich because you were one of the few who got in at ground level).  Bigger and more established companies certainly have their own problems, but they tend to be a little easier to go in, do your 40 hours a week, and go home.

protostache

  • Pencil Stache
  • ****
  • Posts: 903
Maybe look for a different type of place to work?

You mentioned that you were working at start-ups.  These can be tough companies to work for . . . many that I've interviewed at expect an awful lot from you for little recompense (other than the dangling carrot of maybe the company will make it and you'll end up super rich because you were one of the few who got in at ground level).  Bigger and more established companies certainly have their own problems, but they tend to be a little easier to go in, do your 40 hours a week, and go home.

I 100% agree with the above. Stop working for startups before they entirely consume you.

My own path was sort of like yours. Right out of college in 2007 (graduated with a B.S. in a combined computer science / business program) I went to work for a company writing new software in Perl. In 2007. It was based on a huuuuuge legacy codebase that was well cared for by a group of very smart senior engineers. I learned a ton, but eventually I burned out from being micromanaged. Went to work for a smaller company but only lasted a year there because I burned out on the tedium of being a small Pacific Northwest satellite office of a company who's culture reflects their roots in the Southeast US. From there, I went to another satellite office, but thankfully this office did almost all of the engineering for the company. That gig could have lasted forever but instead only lasted two years because of how they decided to handle me after I came back to work after chemo (one particular manager was a dick about it and got his way).

After that I went independent. I swore to myself that I would never again let someone else decide from the other side of the continent when I could take a vacation, or what hours I had to be butt-in-seat, or how long I could visit my dying family. I lucked into an absolutely fantastic client that I love working with. His business philosophy is "it's a marathon, not a sprint". We just passed three years and I don't really see it ending anytime soon.

It sounds like you have a decent amount of professional experience. I would highly encourage you to think about going independent, at least for awhile. There are lots of great clients out there, and while the ACA is still the law of the land it's easier than ever to work for yourself while maintaining the benefits you're used to.

AZDude

  • Handlebar Stache
  • *****
  • Posts: 1296
I've done software development for about 12 years. One of those years was at a start-up. That was definitely the most stressful, overworked year of my life. I lost like 20 pounds working there and lost friends because I was always working.

At the same time, it was a great experience and I made some lifelong friends at the company while learning some fantastic skills.

If I were you, I would look for a non-start-up. Big corporate, government, etc... I worked a govt job and had nothing to do for days at a time. Sort of the opposite problem of working at a start-up.

Anyway, for me, I am looking to get out of IT, but I've been saying that for several years. Maybe this will be the year. Anyway, good luck.

SwordGuy

  • Walrus Stache
  • *******
  • Posts: 8955
  • Location: Fayetteville, NC
You are being paid to work 40 hours for pay.

Work 40 hours.

If it's an true emergency, be a team player and chip in.

If it's a planned emergency, i.e., an unrealistic goal in an unrealistic timeline per made-up management deadlines, it's not a true emergency.  Work 40 hours unless:

1) You are learning something, or
2) Your colleagues are learning something, or
3) You are making the process better so it won't be as much of an emergency next time, or
4) Your finances are in the shitter, so your management can ream you up the same location at will.

Obviously, fix your finances to avoid situation #4.

Be friendly, go great work, and work the hours you are paid for.   I'll wager none of the management twits that set up those crazy deadlines are working the hours you are to meet that deadline.  The odds are at least 10 to 1 in my favor on that bet.

ditheca

  • Bristles
  • ***
  • Posts: 309
  • Age: 40
  • Location: ST GEORGE, UT
I second that 'work 40 hours' plan. I need to take that to heart myself!

We grew by 25% this year, and it took a toll on the IT department.  I'm bad at saying 'we can't do X', but I finally had that discussion with management this afternoon.  I also have additional staff hired (but not trained yet), and hope to get back to a less demanding schedule soon.

On one hand, I dislike my mile-long 'to-do' list.  On the other hand, clocking out at the end of the day is priceless.  I don't get paid more for working late, and frankly I'll never run out of ideas for optimizing my work, my department, or my company.

My first gig was at a crazy underfunded startup that mirrors moustacheverte's experience.  I didn't care for it, and luckily found something far better:

My current position is a jack of all trades, and it suits me very well.  I code only when I see a need.  My programs and apps are all solo or very small team projects, and fill specific needs for the company.  I'm also sysadmin, dba, webmaster, and manage a small helpdesk team. Once or twice a year I travel. Having the option to just work on something else when you hit a wall programming is awesome.

Consider finding a small business (50-200ish employees) to adopt, and make yourself invaluable.  The pay may not be as good as at a coding sweatshop, but the work is much more satisfying.  (I make about 80k with 15 years experience).  Small business IT in another field will let you keep flexing those automation muscles without the stress of deadlines and deliverables. 

MayDay

  • Magnum Stache
  • ******
  • Posts: 4953
If you are taking up to 6 months breaks between jobs, then a 25% pay cut at a university with steady income seems like a win-win if you are happier in the work environment.

dreams_and_discoveries

  • Pencil Stache
  • ****
  • Posts: 924
  • Location: London, UK
It sounds like you are picking the wrong companies - startups and high performing cultures and you are chasing the money.

Feels like you would excel in a more normal company, with the corresponding lower pressure and thus compensation. Don't get me wrong, you'll have different frustrations, more red tape and less high performing colleagues, but it could also offer you a chance to shine.

What technologies do you code in, is it particularly niche? I'd seriously consider the university jobs.

moustacheverte

  • Stubble
  • **
  • Posts: 145
  • Age: 37
  • Location: Switzerland
It sounds like you are picking the wrong companies - startups and high performing cultures and you are chasing the money.

Feels like you would excel in a more normal company, with the corresponding lower pressure and thus compensation. Don't get me wrong, you'll have different frustrations, more red tape and less high performing colleagues, but it could also offer you a chance to shine.

What technologies do you code in, is it particularly niche? I'd seriously consider the university jobs.

It's not that niche for most modern companies, I do web apps in JS (and their millions of frameworks), did some Ruby too, and know quite a fait bit on running Linux.

The issue I encountered with larger companies is that they aren't interested in my profile because I don't have a CS degree. I'm also not very excited by Java, the Microsoft stack, or .NET and it seems they only use these. I haven't looked in that direction for a few years though, maybe now that I have more experience it will be different. I love using Taleo, this hasn't changed :D

moustacheverte

  • Stubble
  • **
  • Posts: 145
  • Age: 37
  • Location: Switzerland
I can't say that my path is for everyone, but... I was in your boat 25ish years ago.

I was writing software that was deep-deep inside a telephone switch.  More often than not, we'd start a 6-12 month project and it would get canceled around 9 months in.  This is very frustrating.  Not only are you writing code that feels like it is not doing much... but then it goes on a shelf and literally does nothing.

Somewhere along the way we started writing code for a graphical front end on new-fangled unix systems.   The lab environment for this software landed in my lap.  I started playing with networking and operating systems and database management/tweaking... and things got more fun.  It felt less useless.  I had "customers" (the other software developers) that actually were using my work and I could see it get better.  It was visible enough that the IT department knocked on my door and said "Hey, would you like to do this on a larger scale?"

TL;DR: Have you considered IT?  I find operating systems fascinating (unix-ish OS's in particular... but there is no reason you have to choose what I chose).  It's sort of in the same line as programming.  And (at least in the unix world) there is a crap ton of script-type programming you can do to automate your work and make your job better/faster/easier.

I have considered IT, yes. I'm scared to death about work/life balance though because you tend to be responsible for the infrastructure and carry a pager around.

moustacheverte

  • Stubble
  • **
  • Posts: 145
  • Age: 37
  • Location: Switzerland
You can continue to jump from job to job hoping to find those things, or you can build projects on your own, where you make all the decisions, and you can align the projects with your principles, which will feel purposeful. Since you love dreaming things up, and you have the skills to materialize them, ultimately you could probably succeed doing development on your own, rather than for an employer with different goals from your own. Have you considered that option?

I have indeed, I'm under the impression it's very long hours for a few years though. Then if you're lucky it turns into a more reasonable job, but it's going to be 60h/week for a few years while you build the business. I'm not sure I have that much bandwidth at the moment.

moustacheverte

  • Stubble
  • **
  • Posts: 145
  • Age: 37
  • Location: Switzerland
That being said, tread carefully. You've jumped ship quite a bit in 5 years and it's starting to look suspicious.

I'm concerned about that. I usually explain it by saying all those companies doubled or tripled in size while I was there, some were acquired, some "pivoted"; and the product/work conditions changed drastically, hence my leaving.

luftmensch

  • 5 O'Clock Shadow
  • *
  • Posts: 1
Have you considered freelancing? I was under the impression that it's quite doable in your field. Or do you have bad experiences here?

I am specifically interested because this is a path I am considering for myself. I have some experience in the same field (JS webapps), and also experienced a burn out after roughly a year in a start-up. I am now considering re-entry thinking that freelancing would allow me to take sufficient time off between gigs, be compensated well, and also be less pressured to be "part of" the projects I'd work on (something I have no particular interest in). I imagine this could make a lot of difference. But maybe I am deluding myself here? I'm curious what others have experienced here.


Spork

  • Walrus Stache
  • *******
  • Posts: 5742
    • Spork In The Eye
It sounds like you are picking the wrong companies - startups and high performing cultures and you are chasing the money.

Feels like you would excel in a more normal company, with the corresponding lower pressure and thus compensation. Don't get me wrong, you'll have different frustrations, more red tape and less high performing colleagues, but it could also offer you a chance to shine.

What technologies do you code in, is it particularly niche? I'd seriously consider the university jobs.

It's not that niche for most modern companies, I do web apps in JS (and their millions of frameworks), did some Ruby too, and know quite a fait bit on running Linux.

The issue I encountered with larger companies is that they aren't interested in my profile because I don't have a CS degree. I'm also not very excited by Java, the Microsoft stack, or .NET and it seems they only use these. I haven't looked in that direction for a few years though, maybe now that I have more experience it will be different. I love using Taleo, this hasn't changed :D

FWIW:  I did over 25 years of IT-related work for big companies.  One VERY BIG company (at times > 100k employees).  Every place I worked had "a guy" that was "the guy" that everyone went to when they had questions/problems/etc/.  In all cases, that "guy" had no degree.  IMO, experience counts more than degrees in IT.

In the unix/linux world, I don't even think certifications matter.  It can be hard to get a foot in the door... but with experience, it gets easier.  You might have to start at not-as-fun jobs -- help desk, desktop support, NOC, etc.  Those are generally hiring pools for the more fun IT jobs.  The cream rises to the top fast there... and people DO get noticed.


I have considered IT, yes. I'm scared to death about work/life balance though because you tend to be responsible for the infrastructure and carry a pager around.

This is absolutely true.  And it's not just unscheduled work with on-call.  There is also quite a bit of scheduled work off-hours (nights/weekends).  Most places do give comp time.  Some places give on call pay.  But, like you, I prefer my own time to the extra cash -- though I lived that life for quite a long time. 

laurelei

  • 5 O'Clock Shadow
  • *
  • Posts: 3
I'm a software engineer at a university. You can use my experience as a data point in your decision making process.

Without giving away who I work for, I'll just say that my job is at a science research center for a large state university. I work on software that is funded by federal grants - it either is experimental in nature or is building systems that support the storage and understanding of scientific data. I think the work we do is helping the scientific community and mankind - its not "just another" app.

I work from home, as do most of my colleagues. I work 40 hours a week and rarely more. I tend to work overtime 1-2 weekends a year when deadlines are approaching. My stress level with my job is incredibly low. The biggest stress I experience is when I need to travel 1-2 times a year to a scientific conference or meeting where I have a presentation or need to network (which I hate with a passion, so it causes me anxiety).

I do get paid probably way less than you do. I make $73k a year and I've been in the industry for 4 years.

Feel free to message me if you want more details.

mm1970

  • Senior Mustachian
  • ********
  • Posts: 10880
Quote
- It is extremely binary. It either works, or it doesn't. Even if your code is 98% complete, it is useless until you get to 100%. And there are very few shortcuts you can take, because it either does what the spec says, or it doesn't. It's different from, say, a presentation where you can add filler content and still meet your objectives.
- It is very frustrating and stressful. The nature of the job is basically spending your time in frustration debugging code that won't do what you want it to. And the minute it finally does what it was supposed to do all along, you check it in and move on to the next bit of code that is in a broken state. This is endless.
I'm not in software, but you have touched on one of my own frustrations!  I am an engineer and I do a LOT of data analysis.  Alas, I'm old, and I cannot program.  The hardest part for me is GETTING the data.  Which I do. Slowly, painfully, pulling from the databases.  Each time I try to program something to pull a large amount of data faster, I fail.  Because I get 95% of the way there...but then it doesn't work.

And debugging...not very good at it.  Used to be better, back when I had the time.

Anyway, you have to ask yourself what kind of schedule will work for you?  There are plenty of people who do work very long hours for long stretches, and then take off for a month or two or six.  And that it their regular schedule.  For some, it's how they like it.  For others, it's thrust upon them.  Which one are you?

Startups can be completely consuming.  I feel you there.