Programming is fun, genuinely.
You get to build things and get instant gratification if it works as desired. There is so much joy in creating something.
But the process of creating something can be exhausting too.
There will be phases when you're stuck at a problem for way too long. Times, where you just want to leave everything and go away.
You'll experience burnout.
It leads to a loss of time. It leads to a loss in productivity. And more importantly, it leads to an overall decline in mental health.
I've been programming for the past 4 years and I have had a fair share of these burnouts.
Most of them last less than a few hours, but a few of them demotivate me from doing anything for weeks at times.
Thankfully, over time I have also learned how to get over them easily and to even avoid them.
There are thousands of reasons which lead to burnout.
All of us are different and our problems are different. Some more obvious than the other. What works for me, may not work for you.
It happens rarely, but once it goes over the tipping point, it's hard to get back to work.
Everything seems exceptionally frustrating. Programming begins to look like a chore.
The list of causes is endless. But there are always a few sure-shot ways to tackle it.
Solution 1: Schedule and Planning β
I don't think I need to restate the obvious. Keeping a schedule is the best way to boost productivity. But there are good ways to do it and some not so good ways.
Rigid schedules sound great in theory, but they hardly ever work.
As a rule of thumb, I make sure to put 3 breaks of 1-2 hours in my day planner. This has led to a better inflow of thoughts and has saved me a lot of time.
I've also realized that flexible schedules have resulted in less amounts of stress. If you're working alone, try not to set unrealistic deadlines for yourself.
Pushing your limits is okay, but overdoing it is not.
Solution 2: Learn to focus. Other things can wait. π―
Often at times, the real cause of burnout is our lack of concentration. This will resonate especially well to those who have ADHD.
You're scrolling through Github. You come across a repository and all of a sudden, you have an amazing idea for a side-project π€. I get it. We've all been there.
Side-projects get allow you to put your creative hat on, but all this comes at the expense of foregoing your deadlines at work and personally, was one of my worst habits.
I still try to fight the urge every now and then, but with better schedule management, I can now give extra time to these ideas.
Solution 3: Keep a check on your health πββοΈπ
Again a no brainer, but it was the most difficult thing on this list for me to keep up with. Being a programmer, you're constantly putting pressure on your mind.
You have a lot of pending tasks at hand, but so little time to complete. At this point, the brain too needs some extra energy to cope up with your needs.
Exercising is a great way to get some more oxygen to the brain.
There are tonnes of things you could do. Given the recent COVID situation, most of us are at home.
But you don't need a lot of time and space in your house to do it.
Pick a time, preferably in the morning π, and then exercise for 5 mins a day. Initially, you'll find it very tiring. But slowly, as your body adjusts to it, you'll start feeling more energetic. You can increase the time. It is an amazing booster as it helps a lot in staying fresh throughout the day.
Solution 4: Knowing when to back off
Managing your schedule and meeting your deadlines is important, but also knowing when to walk away from your desk for some time.
Spending long hours in front of a computer reading Github issues and StackOverflow threads is not the solution. It's important to know when to back off and take a break.
Take a walk, scroll through Reddit or listen to some music. Just do anything to take your mind off of work.
Personally, taking a small walk helps a lot. It gets my mind juices flowing and I come to the desk with better approaches to solve my problems.
Developing a hobby is also a great way to take your mind off of work.
Solution 5: Get some guidance π€
The programming world is filled with tutorials to learn almost any technology. That only helps when you're just starting out. When you want to work on more serious products, the problems can easily escalate.
Learning to ask for help at the right time will save you hours or potentially even days of frustration.
If you're working under someone, your co-workers and manager are your best bet.
This is why it is equally important to have a healthy relationship with the ones you work. If the work you do is isolating and you rarely collaborate with others, you are extremely likely to suffer burnout.
If you're working alone, like most folks, a small community of people you know helps a lot! I am a part of multiple channels on Discord/Slack, where I can ask for help. I don't know them personally, but they help me and I help them when either of us are really stuck.
I hope these tips will help you detect burnout and get out of it before it takes a toll on you. πββοΈ
This article is the beginning of a series Notes for a Junior Developer
that I'm writing. I'll be posting future updates to this series on my Twitter. Also, if you feel like you want to talk about anything, just drop me a message. My DM's are always open for anyone looking for any help :)
Top comments (2)
I've found that vigorous exercise is also an excellent time to let my mind wander and solve problems. I'm a cyclist and my days generally start with a 30+km ride (weekdays, 65+km Sat/Sun), and using that time to plan out what I want to achieve in a day is really useful. I do have todo lists and jira tickets etc to help structure my day, but being able to mentally step back and see what needs most attention today is really important to me.
That's an extremely nifty use of Jira tickets! Will have to start using that.