I'm a self-improvement geek. I've read some books, articles, listened to podcasts and watched several videos on it. Being a programmer can easily become overwhelming, specially in the early stages of your career. There are so many languages to learn, new frameworks are born every year, a sea of articles to read and hours of online courses to watch. And this is only to keep pace with technology evolving over time! You still need to get your work done to keep your boss or clients happy. If you don't want to get lost, you need a system. In this article, I'll share five habits that I have developed throughout my career that have helped me to stay focused and effective.

1. Wake up Early

I know some of you won't like this one, but "early" can be subjective. Early, for me, is 5.30 am. Maybe for you it's 7.30 am, and that's fine, as long as you make it a habit and stick with it. The reason to wake up early is to get your mind free from non work related stuff that might be a burden throughout the day. Also, I recommend that you do something that is relaxing for you and gets you ready to start your workday full of energy.

The idea to do these activities early in the morning is to avoid being distracted by anyone. Use it as that moment of the day for yourself and yourself only. The easiest example for this is to work out. When you work out early, you can stop worrying about it for the rest of the day. It clears your mind. Also, working out motivates you and fuels your body. But it is different for everyone. For me, I like to meditate and walk my two dogs. If I have time, I read a little bit.

2. 30 min of Screen-Free time

This is about not using or even seeing your phone (or any screen based entertainment) for at least the first 30 minutes of your day. This habit is strongly related with the last one. The idea is to have a quiet and peaceful moment for yourself. The start of your day should be as happy and positive as possible. Imagine waking up, unlocking your phone and reading an email from a client complaining about your job. Or reading some depressing news on Twitter. Your day could be ruined just because of this. Trust me, it happens more often than you think. Treat your morning as the most valuable time of your day.

3. Always plan your day

Have you ever gotten in your car without knowing where you are driving to? This is the same as opening your computer and not knowing the most important tasks that you need to finish for the day.It is highly recommended that you take, at least, 30 minutes to plan your day. You can do it in the note taking software of your preference, or in a piece of paper. The important thing is that you spend some time going through your Calendar, Email and Slack (or wherever you keep track of tasks), and write them down.

When you are done with your tasks list, prioritize it. A mentor of mine showed me the Eisenhower Matrix. It is a simple but very useful table where you can split your tasks into 4 major fields:

  • Important Urgent
  • Important Not Urgent
  • Not Important Urgent
  • Not Important Not Urgent

Based on this, you can take action on your tasks and decide which you are going to tackle first, or even delegate! After I prioritize, I just like to put those tasks on my calendar so I can commit myself to finishing them. This is the process that has worked for me. If this doesn't sound like you, find your method. Some people just write down the three to five critical tasks that they have to finish for they day to be productive and stick to them until they finish them. That's a good method too.

Note from the author: You can skip planning your weekend. This advice is meant for weekdays.

4. Be assertive with your time!

When I plan my day, I aim to limit my meetings to 2 to 3 hours maximum. I know there might be days where this won't be possible. If that's the case, make sure this doesn't become a pattern throughout the whole week. Limit your meetings! Through practice and experiments, I've found that my most productive time of the day is between 8am - 12pm. When I plan my day, I always try to leave that time frame meetings-free. Because that's when I'm "in the zone" to finish tasks that require me to be extra focused. If you can, turn off any notifications in this time frame. After that, I have my schedule open for meetings, syncs, questions or management tasks.

5. Take breaks

It is impossible to be seated in front of your computer for 8 straight hours and still be productive. Leave that to Mr. Robot. Make sure to leave some free time in your calendar to chill. I have found that 15 to 30 minutes work for me. Use that time to recharge your batteries.

BC-19 (Before Covid-19), when we could safely go to the office, we used to have breaks to play Foosball, and it was very fun. You can use this time to do whatever you want, read, finish small pending issues, answer your WhatsApp messages. The only rule is to try to stay away from exhausting activities. (Like work)

EXTRA: Sleep at least 7 hours daily

This is an extra one. The first tip was to wake up early. But that doesn't mean that you have to sleep less, it means that you have to go to bed earlier. Aim to have 7 to 9 hours of sleep every day. I can't write a post about being effective and not mention sleep. I feel that I could write a book about it. Right now, I prefer to recommend you watch this video, if you are interested in the amazing world of dreams.

I have been following these tips for the last 4 - 5 months, and they have worked awesome for me. I hope this post can wake your interest up so you can experiment different things and find your own formula to be a super effective programmer. Cheers!