Been a while since I've posted here, well that's because I majorly burnt myself out. And it's one of the worst things I've experienced as a developer and after some looking into it it's very common within development.
Quickly want to explain what burnout is in general. So let's say you're an artist and you've been commissioned to paint a picture, but you only have a week to do it so you spent 12 hours a day painting it until you finally get it done, send it off to the buyer, then you do this for a few more weeks until finally you start to resent painting, you start losing passion for it, your motivation is very little and majority of the time the only thing that's keeping you going is the paycheck.
This is burnout, it doesn't always last forever but for some people it does. For others for a little while.
At the time I was in university studying computer science, and working as a freelancer in C and C++. With a very bad sleep schedule, my normal day to day life would be something on the lines of:
- Wake up with little sleep (normally 3-4 hours)
- Go to university for 8 hours, while there I was in programming lectures or practical sessions
- Go home
- If I remembered then eat something
- Work for 10 hours
Now that's not the best schedule is it? This happened for about a year and very quickly found myself resenting programming and falling into very bad habits which were not good for me mentally or physically.
After a while I knew the burnout was taking a toll on my university and freelance work, so something had to change. And this is the real beauty of freelancing, once you finish up one project for someone you don't have to take another. So that's what I did, as well as speaking to the lecturers for their help both professionally and academically I managed to get myself into a position where I could take a break and not fall behind. So my new schedule for about a month was
- Wake up
- Go to university
- Go home and eat
- Go to work at McDonalds
I know some people think that working at McDonalds is a bit of a meme, but what I really needed was a position that didn't require technical knowledge and was fast paced. In all honesty the only "technical" part of it was setting up the tills before opening, but that's because this places ones were outdated and took forever to start up.
While there a lot of benefits that came to me, gave me a chance to clear my head for 8 hours a day and not have to worry about breaking my code or meeting deadlines, the environment is fast placed (especially at lunch time holy shit), the pay was decent, the people are always friendly, everyone i worked with was more than willing to help when needed and the best bit...FREE FOOD!
Leaving after a month due to medical reasons it really helped me get to a better place and find a new love for development, after leaving it dawned on me that for the past 3 years I'd been writing C/C++ non-stop, the same technology and the same fields and I needed to branch out further otherwise I'd be back to burning myself out again.
When I left and was cleared of the medical issues I started looking into what else could I learn and what else would be useful for me to know, something along the same lines as my current stack but newer, more powerful. And that's when I found and fell in love with Go.
I've been having a war with a friend of mine on Rust vs Go but it's one of those languages which has everything for me, simplistic design and syntax, easy and fast compiler, very good and easy to use package manager and whatever code you write it is executable on all platforms.
But the biggest lesson I learnt was mental health, the thought of not meeting a deadline was the thing that I had constant anxiety about, if I didn't meet this deadline would my pay get cut because at the time my family was very desperate for the money.
Your mental health is just as important as your physical health, both of them are very closely connected to each other and when your mental health takes a toll you will notice it will begin to take a toll on you physically. You get into bad habits and you start doing insane things such as a 13 hour non-stop programming session (oops).
As programmers we're constantly using our brains for our jobs (well pretty much all jobs do tbh), a lot of it for us comes naturally but there's always those times where you need to really get in gear and use our brains full potential to continue on with your project and that's one of the things that I found.
With the burnout happening it was causing my depression to get worse, and whenever I had an issue that I didn't know how to solve the first thing that would come to my mind would be "you can't do this" or "you really should chose another path". As I progressed these thoughts got worse and almost ruined the entire career for me.
A couple of posts I've found and read on here dive deeper into the issues it can cause and would highly recommend reading