Fight psychological fatigue in software development

Marios Fakiolas
10 min readJan 19, 2019

--

We live in an era where everything moves super-fast and everyone wants to become successful in a day. People tend to switch daily jobs really often while companies tend to offload their weak employees steadily to increase rest of teams productivity. It is totally safe to say that no-one can predict accurately his / her future in 12 months time from now.

That said things are even worse in tech area. Companies appear like mushrooms every now and then, striving for profit not in 2 or 3 years but today. Engineers in many of these cases come and go, playing the role of a pawn. Pawns always need to deliver now.

Because of this technology blooming we could say that engineers are blessed since they can find easily a daily job to pay the rent and their bills right? So why even more and more engineers seem to be miserable and frustrated with their careers?

I ‘ve participated recently in a couple of conferences where i noticed a repeated pattern. The more experienced speakers, with more than 15–20 years in the industry, were talking mostly about “How to say no”, “Why agile fails”, “Staying fresh and avoiding Burnout” and so on. On the contrary speakers in mid twenties or thirties were talking about really cool tech stuff like Arduino and NodeJS, Kubernetes, Web Assembly etc

This made me a little sceptical. Why the younger ones have still this flame burning inside of them and the more experienced ones feel so tired?

Technology industry exhausts the engineers

That’s a fact. The more you dive into this endless marathon the more you get exhausted from it. You need to deliver, you need to achieve goals, you need to solve issues, you need to catch deadlines, you need to learn new technologies really fast, you need to get shit done.

Hmm ok. But does it end? Nope. It doesn’t. No matter if you are a junior engineer, a team’s leader, a project manager or even a CTO the pattern remains the same. You need to deliver and people who deliver get awarded.

How can we improve the whole situation from the developers perspective?

Money should not come first

Overworking yourself for something boring that pays well, will make you a miserable person with full wallet. Try to think all these the other way around. Choose something that is appealing to you and work hard to become really good at it. If you really love it then the whole process will be a journey full of joy. Sooner or later this will make you hell more productive and efficient so eventually the money will come but trust me, working for something you love is priceless.

Employees should better be super-picky

Choose your daily job carefully. Before applying for a job you have to learn as much as possible about the product, the tech-stack, the people, the company, the management, the ethics, the mentality, the roadmap etc Pretty much about everything you can.

While getting interviewed don’t be afraid to make tons of questions. Ask, check if they match your goals. Imagine yourself working for them after 5 years. Is this the case? This is really hard to do but if you find flaws really early, then probably this is not for you. If you can spot issues from day 1 then this will probably make you miserable and disillusioned really fast.

Stick with companies that believe in you and treat you well

Ok if no-one gives a damn about you then probably you are in the wrong environment but this is so obvious right? So? I am talking about the opposite situation. When was the last time you attended a seminar, a conference or a workshop and you added something new to your skillset? Do they give you the opportunity to evolve and become a stronger engineer or a better manager? Do they give you enough room to try new things and make your own decisions? Do they trust you? How did they react when you made a mistake? Do they see that you are a person with needs or they treat you like a machine? Can you really take some days off when you need it?

Ask for non-chaotic management

All this hype about Agile planning has improved things with short sprints. Because of these, teams need to deliver specific tasks in a specific time-slot. This approach helps engineers a lot in getting things done.

Throughout my career i have understood that most of people work and feel much better if they work under “controlled freedom” conditions. This means that they are given the freedom to do some tasks, make some decisions, work in their own daily rhythm but in certain timeframe while following some well-established guidelines and best practices (libraries, linters, prettifiers, unit tests etc).

That way they can really focus on the things they should deliver by using the right tools and technologies. If this scope becomes bigger, people tend to fail and feel totally unproductive. Same happens if the scope keeps on changing every now and then. Also if they are not given some guidelines and some specific tools and technologies to use, they tend to have a really hard time into making decisions.

Extremely important also is applications architecture. Senior engineers should design a lot first before splitting the workload into many small steps and tasks. That way the developers who are going to deal with these, become aware of the bigger picture and feel much more comfortable while working hard to meet the requirements in time.

Don’t be afraid to share your thoughts and ask for help

Software development is a team’s sport. Teams fail or succeed together. So when we are stuck we should feel comfortable to share this with the rest of the team and ask for some guidance or even help. Daily stand-ups help to avoid these but i ‘ve seen engineers hiding problems for days before we realise as a team that we are really far away from achieving our goals.

Senior engineers and team leaders should enforce that kind of mentality so that the team can move forward successfully. Everyone does mistakes and everyone can get stuck, even the more experienced ones. So it is important to enforce transparency and cultivate the right mindset in order to establish a highly collaborative environment.

Stop questioning your skillset

Engineers tend to make a huge mistake. They compare constantly themselves with others and every single time they reach to the same conclusion: they feel weaker compared with dozens engineers out there. Stop doing so, it is killing you.

Every engineer has tons of things to learn throughout his / her career. The more experienced we become the more we realise that we really know a small portion of all the technologies out there. You know what? It is totally fine. The real question is this: “Where i am right now comparing with myself 1 year ago?” The only valid comparison is against ourselves.

If you cannot find any significant improvement during the last 12 months then probably you are doing something wrong. If you think that the environment you are working is responsible for this, then it is about time to make a change i suppose.

Start a side-project today

Believe it or not, having a small side-project is really beneficial and will probably play a vital role in your career. You can use it to learn or try new things that you cannot use in your daily work. This will definitely give you some pleasure and will make you even better engineer.

These kind of projects mostly do not have roadmaps, deadlines, sprints etc so you can focus on the things that you really love and experiment as much as possible. That’s their purpose. There are people out there who even started their own business from a small side-project.

I personally moved from backend development to frontend and later made a career switch because of some side-projects so better don’ t underestimate them.

Exercise more

Sitting in a chair for hours is certainly a problematic situation. Take some action and start with small steps to introduce exercise in your daily routine. This can be a program with a personal trainer, going to the gym, start jogging, learn a martial art, go cycling etc Just do something that will put your whole body in motion.

This will be extremely beneficial for your mental health too since you ‘ll stop thinking about all this work you have to do and all the responsibilities you have. Exercise is the ultimate way to offload your daily stress and relax yourself.

Stop being a Night Owl, turn yourself to an Early Bird

In engineers world, it is totally common to work really late in the night. I have heard tons of reasons and the one i personally used back then is that “it is so quiet so i can really concentrate without getting disturbed at all”. This is valid but i didn’t mention how tired and how late i was getting up, having a bad sleep and losing half of my day, taking more pills than never before for my headaches, eating in really strange hours, drinking coffees while others were having their lunch, torturing my stomach, gaining weight fast, following a totally different schedule compared with my family and so on. Don’t be this guy. This routine sucks.

Treat yourself well and give him the opportunity to sleep well. I don’t want to share tons of scientific researches here since this is out of scope but a proper sleep will give you a huge boost to start your day strong and full of energy. Remember that you want to make a living out of solving problems, designing complex applications, writing algorithms and so on. In order to ask all these from your brain, you have to learn how to rest properly.

Less (work) is more

If you tend to write code till really late in the night before going to sleep, then you are probably doing a big mistake. You might think that you deliver more by doing so, but sooner or later you will have a burnout and trust me you cannot avoid it with such schedule. During this burnout period you ‘ll totally lose any interest in coding or even working and this will be a huge setback that will ruin your mood.

I remember myself going to sleep and getting my laptop together while my wife was already sleeping next to me. Most of the times i ended up having a really anxious sleep. In fact i was thinking while asleep about features i didn’t manage to add or bugs i didn’t tackle. Coding was my nightmare and i couldn’t blame anyone apart from myself for this kind of mess.

Thankfully i have stopped this bad habit and now i don’t even take my smartphone in the bedroom so that i can have a qualitative sleep. Because of this, i am much more focused during working hours and i always start my day really happy and energetic.

Work-life balance for the win

Engineers tend to forget about life away from their keyboard and this is a huge disadvantage. A balanced routine will teach you a lot, will make you more confident about your future goals and will strengthen your self-esteem.

Off-work hours, help me to relax and clear my thoughts far away from stress, roadmaps and deadlines. That way i can recharge my inner batteries and come back stronger to my daily routine because this reminds me why i work hard, what are the benefits of doing so, how important is my family and how valuable i am to them. It is nice to be loved. Remember that keyboard itself will never give you any love 😃

Last but not least, i would like to highlight the need for regular vacations. We are adults, we are aware of our limits so we should grasp the opportunity to rest our mind and our body regularly. If you have a very tiring year and you keep on postponing taking some days off, then you should blame yourself the day you are going to start feeling that all this is pointless etc Burnout will knock the door sooner or later. Do not forget that there should be a balance and you are the one responsible to make this work.

Conclusion

Hard deadlines, roadmaps, calls, interviews, clients demands, continuous delivery etc scare engineers. That’s certain. In the long run we can safely assume that all these exhaust them mentally since they never end.

We can improve our situation by choosing wisely the right job that suits us. A collaborative environment will help an engineer to become stronger and overcome his / her daily obstacles.

In order to relax and offload all this daily stress an engineer should definitely have some non-working hours. Exercise, good sleep, vacations etc are vital in order to achieve this.

Do not forget that there is life away from your keyboard and your monitor so you are responsible to keep a proper balance between these 2 worlds. Cheers!!

This story is published in Noteworthy, where 10,000+ readers come every day to learn about the people & ideas shaping the products we love.

Follow our publication to see more product & design stories featured by the Journal team.

--

--

Marios Fakiolas

I help people solve real-life problems through web technologies 🚀 — Founder, Leader, and Entrepreneur at helloworld.gr