How do you cope with stress as a software dev?

Realise that your time on earth is limited, everything else, for me, stems from that.

Also realise that every person you interact with is there to earn a salary / make money. Maximum effort should be rewarded to the maximum.

In life you have 3 currencies. Time, effort and cash money. Make sure you trade those 3 fairly and in the correct proportions.

Get out into nature, go take a stroll down a beach with your SO, enjoy some of the reward you worked so hard for. You're not working for anyone else, you're working to provide for yourself and your kin/family.
 
This is a great topic, it used to happen to me all the time
So my 2 cents

It’s actually an easy habit to change, as it’s not a sustainable way to work.

In my case I introduced a ticketing system.
It lets the client understand the frequency of work, the complexity ( things the client thinks are easy can often be complex )and they can prioritize what they need done.

It gives you the opportunity to scope the changes, give an idea of what the cost implications are and the timing etc. all before you begin the work

You need to un-learn they old way of working , then replace with a more organized method.

having an organized system immediately helps you say NO, and cuts down on badly scoped ideas which then need to be redone.
 
I work overtime in two cases - if we have a software deployment that can only be done after hours and if there is urgent work that has to be done by a hard deadline.

Otherwise I refuse. Even if I got paid for overtime, which I don't, time is too precious to me. I need that time to destress and continue my studies. I have been studying one thing or another part time for the past 4 years and that is not likely to stop soon. I need that time after hours to continue my personal development or else my career will suffer.

And honestly, I am just too selfish and lazy to work overtime. When overtime becomes the norm, you have a problem, and you are headed for burnout. It also points to problems elsewhere in the work system - perhaps the company is underresourced or the planning is bad. In either case, both are not problems that I am willing to fix just by working harder.
 
Oh absolutely people have terrible time management ability and as was said before the ability to say no.

Planned overtime to facilitate a sprint would be fine, but then there should be planned time off as well to balance it out which means no change in stress really.

I’m very lucky to be in a company that take work/life/balance genuinely seriously and when your working hours are done they are done.

Not always the time management that is bad. Sometimes the complexity of a task at hand is underestimated, or they didn't build in some contingency. But I think, by far, even if you estimate correctly, the financial and time budget is invariably less than you really need.
 
Not always the time management that is bad. Sometimes the complexity of a task at hand is underestimated, or they didn't build in some contingency. But I think, by far, even if you estimate correctly, the financial and time budget is invariably less than you really need.
Exactly; In my experience this can vary quite a bit on a number of aspects e.g. how egregious and/or domineering the programme and account managers are.
 
People have already made some great replies.

As to your OCD'ness, it would be in your interest to start relaxing about it as much as possible. Your work life isn't a sprint, you're going to be doing this for a very very long time.

Try to focus on yourself and your own code, let other people do their own thing. If its your job to review others then go ahead, but give them the tools to fix it themselves (via tips/support etc). If its not your job then don't just jump in and do it, unless if you have some free time.
 
Some things that have really helped me:
- Get into a financial situation, where you don't actually need the job. This is by far the biggest stress reducer.
- Relating to the above point - if this means "not following your passion", so be it. Rather become passionate about something else. Passion can be cultivated/learnt. Most cases of passion I've actually witnessed have really had borderline idiocy as their fundamental motivation.
- Also, relating to the first point - work on growing your passive income sources.
- Don't chase management for career growth, or if you do, become a manager for a salary boost, and then flip into a more senior developer position at another company. Management often involves trading off exciting engineering work for admin duties and stress.
- Your job is a job, not your girlfriend or wife - don't be afraid of moving on.
- After a few years of doing a job you often get bored, and then subconsciously look for issues to work yourself up over in order to justify leaving. Be aware that you are doing this - if you are just bored, see if there is perhaps something different you could be doing (new mandate, new job within company, new job in another company), to reduce that boredom.
- If you have a degree, try to do work at a level that requires your highest degree. This likely makes your work more interesting, and also reduces competition, giving you more flexibility in choosing your roles.
 
For me personally it has been finding projects I care about.

That's a hard road to walk because in all honesty: you will have to work on stuff you are less excited about.

Generally speaking though: as long as the work itself is rewarding then the rest falls into line.
 
Stop working for a body shop and most of your stress is gone instantly.
 
In my case I introduced a ticketing system.
It lets the client understand the frequency of work, the complexity ( things the client thinks are easy can often be complex )and they can prioritize what they need done.

It gives you the opportunity to scope the changes, give an idea of what the cost implications are and the timing etc. all before you begin the work

Scudboard
 
Some things that have really helped me:
- Get into a financial situation, where you don't actually need the job. This is by far the biggest stress reducer.
- Relating to the above point - if this means "not following your passion", so be it. Rather become passionate about something else. Passion can be cultivated/learnt. Most cases of passion I've actually witnessed have really had borderline idiocy as their fundamental motivation.
- Also, relating to the first point - work on growing your passive income sources.
- Don't chase management for career growth, or if you do, become a manager for a salary boost, and then flip into a more senior developer position at another company. Management often involves trading off exciting engineering work for admin duties and stress.
- Your job is a job, not your girlfriend or wife - don't be afraid of moving on.
- After a few years of doing a job you often get bored, and then subconsciously look for issues to work yourself up over in order to justify leaving. Be aware that you are doing this - if you are just bored, see if there is perhaps something different you could be doing (new mandate, new job within company, new job in another company), to reduce that boredom.
- If you have a degree, try to do work at a level that requires your highest degree. This likely makes your work more interesting, and also reduces competition, giving you more flexibility in choosing your roles.

Some good points - unfortunately the majority of software developers will not reach financial independence before they retire. I think you pretty much have to work in Europe or the USA to have the option.

I also think that something that helps is to have at least one solid hobby or project outside of work. I do not mean building a website for Jannie the bricklayer, I mean either studying something further, developing a skill, or applying yourself creatively.

Why? Projects like that can remind you that there is more to life than just work, and helps you avoid getting sucked into work such that your happiness depends on work. They give you an out, essentially.

Doing things outside of work also gets you noticed, incidentally, and can lead to positive changes in your career - or even result in your career going to a better place that you could not have imagined.
 
How do you guys deal with stress as professional software developers?

How do you manage and balance your work life with your personal life whilst still learning and keeping your skills sharp?

How do you avoid the dreaded impostors syndrome?

In my situation, I sometimes feel overwhelmed. I've lately been finding myself coding late at night, trying to get stuff done before hard deadlines, and then still find time to refactor a colleague's crappy code because I'm OCD when it comes to these kind of things. My stress levels have gone through the roof, and I've never considered myself to be someone who gets stressed or anxious easily.

Its an odd thing, because friends and family have a different picture in their minds when it comes to people who work in software - so tough to talk about stuff like this with them.

Curious to hear how you guys deal with these kinds of issues :)


To address the questions asked 1st..

- I don’t sadly.. personality types handle it differently, I suck up as much stress as I can but when I hit my max it’s like sudden diarrhea.. lmfao, graphic.. the important thing in life is knowing yourself and knowing what this level is. Then preventing it from getting there.

This will vary based on seniority but on a junior level managing this is as easy as managing your self, ie, learn to manage your time effectively and communicate hurdles ASAP. As a senior, team lead or manager you a higher % of random excrement thrown your way by juniors who need to learn to live in their skin which adds to your “challenges” to deal besides organisational issues which now become your problem to solve without solving life in SA McGuiyver IT industry is interesting at least. Whilst most on this forum will run away to another company, others like me look at it as a way to develop more skills..

- I don’t sadly. So you have these start up companies with fresh out of varsity managers and Co-founders who love asking why you can’t find time to learn the latest and greatest frameworks.. well here is the answer.. because I f***inch work my arse off.

Let me explain.. while doing my dev part of job is easy, managing & teaching is tricky(I don’t spoon feed.. u struggle and leave or learn how to think), covering other people’s behinds and saving projects means it easily creeps into work-life balance. Typically this eases up over time BUT life is never kind.. so staff turn over & devs who wanna learn & experiment unrelated tech to projects on company time mean you as a senior person will suffer.

PS. devs that learn unrelated tech skills to project at the expense of their team by delaying their projects are the most selfish people you can find.

For juniors it’s easier as a good manager will not assign more than 8 hrs of work per day and if you can control yourself, you can learn stuff at home. Life was fun as a mature junior.


WRT refactoring.. this is where u need to decide what kind of developer you want to be, a high turn over or perfectionist. You speak of OCD or his code bothering you.. then you the latter and thus need to work on projects with longer milestones eg product teams and then hope you develop the confidence to shorter work.

While product work is cool.. I’d say it’s like being a specialist generalist surgeon vs an infield army doctor. Both have their place but one is more interested in just getting on with things.. if you are the wrong fit for the work required you will never have a comfort level as you will always be complaining about someone else’s code (well will) but be handicapped by their entire code base till you refactor. time waste is an issue for perfectionists and business dev / dev shop type orgs will be where product types suffer

So yah.. summary: know thyself and work accordingly. Try not to infringe on others in your team by doing something you shouldn’t (wasting time) and life will be ok.. or get a rain coat and a bucket..
 
Last edited:
WRT learning.. I actually study & do code camp stuff but it’s a struggle with life and work commitments. Often it’s for side tasks for automation or infrastructure projects (not customer paying ones) and that’s how I get some value for business from it but time is limited to after hrs.
 
PS. devs that learn unrelated tech skills to project at the expense of their team by delaying their projects are the most selfish people you can find.
Examples?
 
This is a great topic, it used to happen to me all the time
So my 2 cents

It’s actually an easy habit to change, as it’s not a sustainable way to work.

In my case I introduced a ticketing system.
It lets the client understand the frequency of work, the complexity ( things the client thinks are easy can often be complex )and they can prioritize what they need done.

It gives you the opportunity to scope the changes, give an idea of what the cost implications are and the timing etc. all before you begin the work

You need to un-learn they old way of working , then replace with a more organized method.

having an organized system immediately helps you say NO, and cuts down on badly scoped ideas which then need to be redone.
Pretty much. As developers and especially the persona that gets us into developing, we tend to easily over complicate or get stuck in analysis paralysis.
 

Took me around 3 years to recover from that. Got given a programming job I was not qualified for, working with financial data. I was employed as a junior dev with a junior salary and I got a senior developers task dropped in my lap. They wanted more "bang for their buck" so to speak. 6 months later just before my trial period was coming to an end the project was not even halfway complete. I left there with my confidence shattered and a boss swearing at me as I walked out of the front door and telling me I should never program again.

Some managers have no idea how much destruction they can cause on themselves and others when they over commit and think they can hustle their way through a big project with no budget/time for it.
 
Took me around 3 years to recover from that. Got given a programming job I was not qualified for, working with financial data. I was employed as a junior dev with a junior salary and I got a senior developers task dropped in my lap. They wanted more "bang for their buck" so to speak. 6 months later just before my trial period was coming to an end the project was not even halfway complete. I left there with my confidence shattered and a boss swearing at me as I walked out of the front door and telling me I should never program again.

Some managers have no idea how much destruction they can cause on themselves and others when they over commit and think they can hustle their way through a big project with no budget/time for it.

Were the managers developers or ex developers?
 
Took me around 3 years to recover from that. Got given a programming job I was not qualified for, working with financial data. I was employed as a junior dev with a junior salary and I got a senior developers task dropped in my lap. They wanted more "bang for their buck" so to speak. 6 months later just before my trial period was coming to an end the project was not even halfway complete. I left there with my confidence shattered and a boss swearing at me as I walked out of the front door and telling me I should never program again.

Some managers have no idea how much destruction they can cause on themselves and others when they over commit and think they can hustle their way through a big project with no budget/time for it.

I worked on a similar project although I was a little more experienced. The boss bet the farm on this project to save a deal that should have been killed off ages ago. It involved huge amounts of stress and overtime for us to try to get it finished. As far as I can remember the deal fell through and lawsuits were filed. Luckily I wasn't involved in the lawsuits at all, but that was not a happy project.

It was a bet that went very badly for everyone involved.
 
Top
Sign up to the MyBroadband newsletter
X