How to prevent burnout in software engineering

SUNDAY, OCTOBER 11, 2020    

Have you ever felt burnt out before? Have you wondered why your love and passion for your craft starts to dwindle and now even spending another second at it makes you sick? This is common in the software engineering space and in this article today we will dig in to find out more about burnouts in software development, its causes, and how can we prevent it.


Before we start, I just want to share a youtube video regarding burnouts and ways to prevent it.





What is a burnout?


It is a state of physical and/or emotional exhaustion that involves a sense of reduced sense of accomplishment and loss of personal identity. You may experience a lack of passion for coding or even things you are passionate about previously. Burnouts are often due to chronic and seemingly unresolvable job stress. It manifests differently across individuals but it has similar traits.


One of the most common traits of burnout in software development is a serious lack of passion and motivation for coding. If you enjoy coding a ton, but now starts to feel that passion fading away, it could be an accurate symptom of burnout. You will find yourself opening your text editor but don’t get the sense to code consistently over many weeks.


One of the biggest fallacy of burnout is because you worked too hard and thus you are not taking enough rest. While that is true at times, there are many testimonials of people working 100hours/week and feel insanely (rightfully so) excited. While there are times when one works 30hours/week and feel like calling it a quit.


Source from efinancialCareer



Causes of burnout


1. Physical health


You are doing prolong late nights and waking up early so you can push through the features for your demo. But you are human. And humans need rest. Take good care of your sleep, eat healthy. If you are not doing so, you will find yourself a lot more fatigue and making it more inefficient at work.


2. Mental fatigue


Coding requires a ton of mental strength, focus, and energy. Whatever energy spent needs to be charged again. You have to get your mind off work and get your mental recharge. That can imply exercises, meme reading (that’s me), a series of things unrelated to whatever you have yourself stuck for the past many hours. If you are not recharged, you can find yourself to be fatigue and when that piles up, your body will associate pain and negativity with the work you once enjoyed.


3. Being isolated from other people can also be a cause of burnout.


When was the last time you have gotten a drink? Get your a*s out, grab a drink and celebrate your little wins for the week. You will actually find yourself to be more productive with your work after a period of socializing (with people you love of course).


Source from insperity


4. Weak programming culture. When senior developers or the company doesn’t train their junior developers well to manage the tasks.


Weak programming culture is another reason for burnout. When senior developers or company doesn’t train their junior developers well to manage the task or to take care of the future cost of the present work then later it becomes the responsibility of senior developers to avoid those technical debts. Eventually, they need to stay twice as late to fix those issues. So the whole weak programming culture is also one of the causes of burnout.


5. Putting yourself out there with your customers before yourself


Imagine putting in 60 hours/work to be given borderline abusive comments by your customers for beta staged products. It is whipped together with code that can barely be understood weeks/months from now just so you can meet their timeline for a budget that is 50% of what is required. And all was given was a customer giving nasty comments.


In open source, Steve Klabnik famously and publicly called out a critical user in a Github issue, saying “You are [the] reason people burn out on open source. Don’t be such an ass.” As Mike Perham from Sidekiq echoes, the common open source journey is.


Take it as a pinch of salt from me, but you have to protect yourself within the means of your terms of agreement. You should not code an adhoc unpaid feature request just because it can be done ‘fairly’ easily.




How to prevent burnout


It’s very hard to fix once you’ve been deep in burnout for weeks or months. You should try to choose a lifestyle and maintain your work in a way so that you can prevent yourself from it.


1. Start ranking your tasks


Check the amount of impact and efforts for each task
Get rid of tasks that are not impactful and takes a lot of effort. Focus on tasks with huge impact and takes little effort.


When you are working, block social media sites and notifications on your browser. Context switching can be create unnecessary mental stress; leading to a fatigue.


The easiest and effective matrix to determine what tasks should get done. If clients are asking for tasks which are actually not important and not urgent, it will probably just go away after a week; but it is a different conversation if they are willing to pay for it (highly unlikely in a rational world).


Source from Zapier


2. Always keep things fresh and keep that passion


Don’t just stick to the mundane. Keep trying new things. Of course ,work may not allow you to try multiple technologies or change things up but you can do things on your own.


Dedicate 20% of your time learning new technology or building your own project. Try new libraries, freelance, contribute to open source, and venture beyond your comfort zone.


3. Take regular breaks


Its scientifically has proven that productivity decreases sharply after 4 hours of focused work. So stretch every hour, take a walk or eat something.


4. Don’t just code, live. Be a human.


Take a break from coding every few months and go on a vacation. Spend some time reading books, attending meetups or conferences. Write your own technical blog. Do different things.


Catch up with your friends, support group, or love ones. You have to get your mind a rest by rewarding yourself for the work that is accomplished. While i can understand when people feel like they could have done a lot more at work rather than to rest, I want to challenge you to think from another angle. If you are given 8hrs to clear your work, then you make sure that is your most productive 8 hours you will give to that work. No distractions, no thoughts about other tasks. Each tasks has their own time and space to work on them. Leave all you got for that particular task on the table during that time period. Once its over, close the topic’s chapter for that day and move on. Don’t get caught up mentally with work even while you’re away from it.


5. Exercise and get enough rest


Most of software engineering is sitting, it is critical for you to build physical movement into your daily to-dos.


At least 8 hours of sleep at least 4 nights a week. While work can get immensely crazy and thus affect your sleep, it is true that you should guard your rest time. You are only but a human. A world changer with the technology that is coded out with your own bare hands but just a human. You need to rest when you’re spent.


Source from ywcasaskatoon


6. Keep an open communication with your boss


While work is piling every day, keep an open communication about your emotional, psychological state about work with your boss. Most burnouts happened when stress from tasks that seems unsolvable actually makes you feel stuck. That sense of stickiness creates the stress that lets to burnout. Communicate your obstacles or blockers about work to your boss. Don’t get stuck too long. Often times, my rule of thumb to engineers working alongside me is to give it a good focused 30mins attempt at a task. If you are not able to get it done or have not even move an inch in your understanding of the task, ask for help. Ask constructively and collaboratively, you are not asking for a spoon feeding session but for insights that you do not yet see. You are looking for directions which are often before your eyes but you cannot recognise these signals for what they are.


In software engineering’s context, i am referring to server logs. Often times we are stuck with a situation or bug for hours, and you start getting panicky and all the more you are spiralling. Once i just calm myself down with a short break and revisited the issue. And I happened to take notice of one small line of logs amidst the thousands and thousands of lines of logs. And that led me to the root cause and thus the solution.


source from insperity




What if you are already burnt out


There will be instances where you are already burnout. Advice came a tad too late, but hey. At least you know how to prevent yourself from getting into another burnout next time. Get yourself a pat for even getting through this article this far.


1. Start by doing nothing


Take some time off and find a new hobby. The duration of this break may vary but which ever you need. Start doing meditation. It will clear your mind and put things on the right track. It will make your priorities simple and very clear.


Source from getradiantlife


2. Do not overwork


Learn to say no in your job when you are assigned multiple tasks. Its good to focus on 2-3 tasks at a time instead of overloading yourself with multiple tasks without concentration on any one of them. If you have to clear numerous tasks within a tight period of time, you can consider a tool call Pomodoro timer. It helps you to be discipline with your rests, breaks and your state of flow. It does not work for everyone, but who knows until you try it out.


3. When you come back, start off slow


Do not repeat the same mistake and jump into another 8-10 hours a day. Take it slow and be more conscious of your work tendencies and habits that got you burnt out in the first place. Unlearn. Relearn. And get your learning going again. (:


Source from coreyhaley


4. Change your coding environment


Learning new things will help you to get your passion back. If you are stuck working from home or as a remote, you should consider reorganizing your furniture around. For example, My room in which i work, is oragnised in a way where my table is facing the wall. I realized i was starting to get lethargic so after months of contemplation, i decided to move my table around so i will face the window. I feel a lot more alive, and energised. Sometimes, the simple remedy is to change your working space to somewhere with more sunlight.


Source from sechularschooling




TLDR;


You are responsible over your own mental state. You are not your work. You have to be a good steward of your own body and take good care of it. While work in the technology space can be intense and often underbudget, making it even more intense, you have to pace yourself for the long haul. Take a break! (:




Reference