How do I manage to work hard, stay motivated and not get a mental burnout
I quit my full-time office job more than 1.5 years ago. I felt like I don't
have enough freedom, I wanted to do something different on and off. I'm
certain that software developers are creative natures, and like artists, we
need a LOT of freedom for our creativity to prosper.
So I quit. Now what?
Do something interesting specifically for you, not your employer
If you're used to something and kept doing for 4.5 years – no wonder changes
will be hard. Maybe it's just me, but sometimes to argue/be friends with
yourself is a tougher job than with your boss. Why bother yourself with work
if you can do anything else and no one will say you a single bad word? Well,
you have to pay your bills, save for retirement etc., etc. That's just a fact
we should live with, but it's the worst motivation you can have. I was always
trying to do what's interesting for me, money is just a nice bonus coming with
results of my work. If you're truly interested in what's you're doing – your
productivity, motivation, mental health, everything will be in a better
Prioritize and set your goals listening to yourself
So you found something interesting to do. Maybe it's a wonderful game,
inspiring start-up idea which will change the world or maybe a productivity
tool which will make you as fast as the whole dev team? Awesome! For some
time. Any project, no matter how awesome it is on its surface will have a lot
of routine under the hood. I have tons of projects thrown away after
"interesting part is done". Makes sense and perfectly aligned with the
previous paragraph, right? Nobody likes routine, it needs to be done though.
I'm no expert, but these "techniques" work for me:
Make routine interesting: have tons of minor bugs? Take a step back and look
at a bigger picture. Could these bugs be fixed if you change architecture,
data structures, dependencies? Maybe you're missing some sort of utility
library/project? Could these bugs be eliminated earlier in the process?
Should you write a dev tool specific for your project? (yes)
Switch your activities: is something you don't like to do is a high priority
now? Probably you can have a day for something different – start something
new or come back to something old you left in the same "I don't want to do
this" manner. Don't use this hack very often – you will end up doing
everything and not finishing anything
Estimate your capabilities for a single day. Had a bad sleep? Feel tired or
just have "don't want to do anything" mood? That's ok, I have these too. The
first thing I'm doing when I come to my co-working is thinking about what
I'm capable of exactly today. Do I have plans for this evening and will have
to leave earlier? Maybe I can do something little, but worthy? This way I
will feel satisfied at the end of the day, I had some progress. Often the
hardest part of the work is get started with it. After this part is done –
you just go with the flow
Do things requiring a lot of mental fuel/concentration at the beginning of
the day and something more "mechanic" in the evening. Don't think I should
explain this further, we all had "I spent 4 hrs last evening debugging this
💩and fixed it in 20 minutes this morning".
Take breaks. We're no robots, our brain is overheating sometimes and needs
some cooling. Don't put your head in the freezer, just disconnect from work
for 10 - 15 min, have a short walk or a chat with your friend. Don't forget
to keep track of time and don't allow one of these breaks to become "I'm
done with work for today". Beware of memes!
Have a good rest. Productive work is not possible without it. Preferably
this should be a physical activity, let your brain switch off, process the
information received during the day and put it in order
While these "tips" work for me, they are not necessarily will work for
everyone, listen to yourself and develop your own framework of life.