6 Habits Software Engineers Track to Improve Their Mastery and Health
Do this, and you will be ahead of 99% of people.
You require a high dosage of mastery and health to make it to the top as a software engineer.
Mastery is essential for feeling that you are making progress on the things you consider valuable for your craft. Health is important to keep you with optimal energy levels and keep you playing the game longer. Improving in both these aspects requires deliberate practice—if you leave it to chance, you will never learn anything new and end up with a useless body.
This is where habit tracking enters the picture to help you.
Stay more consistent on things that matter to you.
Be more mindful of your time and use it more effectively.
Let’s dive in.
The 3 Habits to Achieve Mastery
Any software engineer who is not actively
Coding
Writing
Reading
is leaving a lot on the table.
These skills allow you to stand out in your field because most people don’t care enough to keep working on them.
Why write if I don’t have anything to say?
Why code today if the day is full of meetings?
Why bother reading if I can scroll social media instead?
Start a habit of self-improvement today, and you will be at the top of your game in whatever skill you decide to master.
You have to code to achieve mastery.
If you come from a Computer Science background or work as a software engineer in a tech company, you should strive to stay sharp in the skills relevant to your field.
Even though I wrote “code” as the habit I want you to develop, it includes more than just coding. It refers to the general problem-solving practice in computer science and software engineering. It is as much the coding as it is the thinking, the effective communication, and the collaboration.
It is a reminder of what you should enjoy most in your professional field so that you do more of it.
When does tracking this habit come in handy?
When you are going to teach someone: It is the perfect excuse to revisit the topics you plan to teach to ensure you convey the knowledge effectively.
When the day at the office is packed with meetings: It is a reminder to block some time early in the morning to make progress on an actual task.
When your friends decide to cancel that night out on Friday: It is a cue to stay at home and make progress on a particular topic of your interest.
If you care about your craft, you must keep working on it continuously, or you will lose your skills.
You have to write to achieve mastery.
Since January of 2023, I decided to make it a habit to write online.
I have done it on and off for the past year and a half. Since I picked it up again in August 2024, I have said I want to find the writing pace that suits me so I can keep writing for the rest of my life. I plan to achieve that by tracking this habit.
Ultimately, my goal is to be someone who writes.
For that, I strive to publish on Substack at least twice a week. This means I have to allocate time during the week to finish my writing and hit that publishing goal. Ideally, I would like to write every day.
Now, I have defined blocks of time in which I do my writing for:
Traffic engines.
Weekly newsletter articles.
I differentiate between these two types of blocks because they require a different mindset.
The first is fast, sharp, and succinct, while the second is deeper and more carefully crafted.
Tracking the habit of writing allows me to try to always make time for writing in my day.
It is a requirement if I want to deliver the two articles per week I promise myself I would give my audience. It is also required if I want to create the weekly content I post on social media to drive new readers to my newsletter. The surprising fact is that the more I write regularly, the more things I have to write about.
Writing is the fundamental skill I recommend every software engineer start cultivating immediately.
If you want good advice on how to start writing online, you can follow on Substack.
If you want to learn how to monetize your online writing as a programmer, here’s how I do it.
You have to read to achieve mastery.
Reading is an activity that I certainly enjoyed during my childhood and teenage years, but somehow lost when I got into university.
Don’t get me wrong. I read a lot during university, just not things that I would choose to read on my own. The topics were primarily technical and related to the courses I was taking every semester.
But reading is the ultimate form of learning.
A few months ago, I decided to get back into the habit of reading.
I decided it was time to start reading books on topics that interest me. Allocating time for reading has enabled me to read three books in the past three months. This is still far from my reading goals, but it is definitely progress in the right direction.
In case you are wondering which books I read recently, here they are:
Slow Productivity, by Cal Newport.
Atomic Habits, by James Clear.
The 3 Alarms, by Eric Partaker.
My current interests revolve around productivity and self-help topics such as work-life balance, overall health, and achieving one's purpose without burning out.
Eventually, this interest might shift, but the habit of reading will remain.
You can do the same as I did to get you started.
Start allocating a block of 20 minutes per day to do your reading.
Prioritize reading on paper instead of digitally.
Always have a book at hand.
Twenty minutes per day is 17 to 20 books a year on average.
Reading on paper has a special feeling that digital reading does not.
Having a book at hand guarantees that you will always have something new to start reading when you finish the previous book.
The 3 Habits to Improve Your Health
There is no mastery without health.
In fact, it cannot be anything without health. Software engineers overlook this, even though they spend 8+ hours in front of screens and have their work follow them home for most days. So, how do you become the best version of yourself in the health department?
You track a few habits you want to improve and collect the benefits in a few weeks.
You have to walk to improve your health.
The average software engineer doesn’t walk as much as they should.
This was certainly true for me, and I decided to do something about it. I track the habit of “walking” as a reminder that I should try to move my body more during the day. The benefits are tremendous, both physically and mentally.
Tracking this habit will remind you to
Go outside in nature.
Take a walk after lunch.
Walk to places near home instead of taking the bus.
As a rule of thumb, I try to get 10000 steps every day.
This is an arbitrary number. It is not hard enough that I cannot do it every day, and it is not easy enough for me to just do it by chance. It keeps me actively trying to move my body throughout the day to achieve this goal.
Your number will be different than mine.
Among the benefits associated with taking walks are:
Better sleep.
Enhanced mood.
Stress management.
Finding that bug in your code.
So, get those steps in.
You have to exercise to improve your health.
Engaging in regular physical activity is essential for maintaining a healthy lifestyle.
It boosts your mood, improves cardiovascular health, and helps you manage weight. Whether it’s a gym workout, a jog in the park, or a dance class, find an activity you enjoy and make it a part of your routine. Start small, and work your way up.
This is my current exercise schedule:
Team sports 1 day per week (football, padel, basketball).
Resistance training with weights 2 days per week.
Bouldering 2 days per week.
Rest 2 days per week.
I try always to exercise five days a week and get two days of rest—you can try a different split and find out what works for you, but doing something (anything) goes a long way.
You have to sleep to improve your health.
Adequate sleep is crucial for overall health and well-being.
Aim for 7-9 hours of quality sleep each night to allow your body to repair and regenerate. To enhance your sleep quality, create a calming bedtime routine, limit screen time before sleeping, and maintain a comfortable sleep environment. Incorporating relaxation techniques such as deep breathing or meditation can also help prepare your mind for restful sleep.
It only takes three days, on average, to get back on track with a sleeping routine.
Pro tip: Combine the reading habit with the sleeping habit. It is way more effective to get sleepy reading a book than watching your favorite Netflix show. Plus, you will actually learn something in the process.
When you sleep well, you make better use of your waking hours.
You have more energy.
You are in a better mood.
You think with more clarity.
Sleep better, and you will realize how numb and distracted everyone else seems in your office—sleeping will automatically give you a competitive advantage.
How to Track Your Habits
The easiest way I’ve found to track my habits is by:
Using an analog system instead of a digital one.
Setting the system at the beginning of every month.
Checking all the successful habits at the end of each day.
It looks something like this:
Drawing those little dots at the end of the day is very satisfying. It is rooted in our primitive dopamine-seeking mechanisms. That’s part of what makes this system work so well.
As a bonus, here are my scores for October of 2024:
Coding: 20/31.
Writing: 10/31.
Reading: 4/31.
Walking: 16/31.
Sleeping: 28/31.
Exercising: 23/31.
Is there room for improvement for November? Yes. But the results would have been worse if I had not tracked these.
Analyzing the lowest scores, I still got to:
Read one book (4 days of reading).
Write five weekly newsletters (10 days of writing).
Walk 267k steps or 2550 minutes (16 days of walking sufficiently).
Interpreted this way, these numbers are considerably higher than those of the average person.
That’s it,
—Alberto
Author of The Competitive Programmer's Guide to Graph Theory
PS…If you are a software engineer trying to improve your career by focusing on your work, health, and relationships, then Algorithmically Speaking is where you hop on (so that you don’t get left behind):
Full access to all subscriber-only posts and the entire archive (I send 4 paid articles each month).
Instant access to the private community chat on Substack (AMA sessions and behind-the-scenes).
Priority on publishing guest posts on this newsletter (averaging 16k views a month).
Plus, you will never miss out on any new framework. All for just $5 a month!