How to manage your time effectively as a software engineer

As software engineers, we work hard to enrich our technical skillset. We learn new programming languages and frameworks, design-patterns, OOP, architectures, cloud computing, and more.Is that enough to be a good software engineer? Maybe, but there is n…


This content originally appeared on Level Up Coding - Medium and was authored by Eilon Mor

As software engineers, we work hard to enrich our technical skillset. We learn new programming languages and frameworks, design-patterns, OOP, architectures, cloud computing, and more.
Is that enough to be a good software engineer? Maybe, but there is no doubt that the best software engineers, those who can perform 10x better than the average developer, have acknowledged that technical tools are not enough.

There are a few skills and attributes that characterize the 10x engineer. You can find some of them in this book. The skill that I will focus on in this article is time management. I describe practical practices that I use to manage my average day, so that I can be the most productive version of myself.

Prerequisite — embrace your calendar

The average software engineer is not an avid calendar user, which might be because of the simple fact that we don’t spend much time in meetings.

But here lies the misconception — if you use your calendar solely to manage your meetings, you are missing something. The calendar is the gateway to the scarcest resource on earth — your time. It’s the interface where people can interact with your time and take pieces from it. If you throw it away, you let other people steal your most precious resource as far as they like.

This is why I’m happy to introduce you to the most crucial tool you have for time management — your calendar.

1. Focus Blocks

According to a University of California Irvine study, it takes an average of 23 minutes and 15 seconds to get back to the task.

In my company [Magical], we all know that there’s one rule of thumb that everyone must respect. If a developer sets a focus session for himself in his calendar, no one can disturb it. This time block is “holy.” This piece of his time belongs only to him, except for emergencies.

Here’s how you can spark a culture of time management in your team:

  1. Educate them [send them this article]
  2. Integrate your calendar into Slack to let your colleagues know that you are in a focus session. Another option is setting a custom status.
  3. Pause notifications on Slack while in a focus session
  4. As a rule of thumb, calls are allowed during focus blocks only for emergencies.
  5. If you are part of a co-located team, choose a physical indicator to let people know that you are currently wired in. It can be headphones, some unique toy, or any literal sign.

2. Figure out which hours are most productive for you

Each individual contributor has hours when they are usually most productive. In the current situation in which a lot of us are working from home, the line between work and home commitments has become blurred. We often find ourselves undergoing many context switches at certain hours of the day. Besides that, some of us just have specific hours when we are more focused and productive — some of us are night owls and others are morning larks. Be aware of which hours those are for you and protect them at all costs using focus blocks. What about the hours when you are usually less productive? Do nothing. That way, you are still approachable for your peers, but you are engaging with them during time windows when the context switch is much cheaper.

3. Daily Alignment Routines

Software engineers love to write code. If we had the option of just doing that all day long, we would probably go for it. However, great software engineers know that it’s all about balance. It’s essential to step out of our comfort zones and figure out what is going around us:

  • What are other people in my team working on? Do they need my help?
  • What is the progress on our current sprint/cycle? Are we making it on time?
  • Are there any pending pull requests that have been standing idle too long?
  • What are the current goals/KPIs of the company?
  • Is there any news making the rounds that I need to be aware of?
  • Do I need to fill out that vacation form?

Don’t live inside your IDE bubble! Set yourself time to align with what’s going around you. Usually, the best time to do this is in the morning when your brain has been cleared of open loops and the cognitive load is low. I encourage you to create a 30-minute time block with a predefined checklist of things you need to catch up on:

4. PR reviews take time

One of the worst things for your productivity is an ad hoc PR review. PR reviews take time, even for a well-scoped unit of work. An effective PR review that drills into the small (but important) details takes even more time. As with daily alignment sessions, PR review is much more effective when your mind is clear and there are no open loops about a random bloody edge-case you can’t solve around the feature you are working on. You should not let yourself be pulled spontaneously into PR review sessions if it’s not necessary. Instead, try to push those sessions into the morning after your daily routine or after lunch when you’ve let your brain have some time to rest.

As a rule of thumb, for a healthy-sized pull request (30–40 files with medium-size changes), I allot a time block of one hour in the calendar, even more if I’m unfamiliar with the feature or that part of the codebase.

5. Time-blocking — fight unproductive time windows

The average person can’t sustain more than four deep-work hours per day. For me, I need at least two hours of uninterrupted time to make meaningful progress with my current feature/project. Take those observations and the 23 -minute rule I mentioned earlier, and you understand how easy it is to end the day with nothing — just another day without meaningful progress. We all have those days; sometimes it’s inevitable, but most time, it can be avoided. Other people often don’t care about your time and schedule meetings that fragment your deep-work windows.

Here is an example of a day when you can’t get any meaningful work done:

How to fix that? Ask your manager to be more respectful of your time. For the sake of the team’s productivity, meetings, like engineering planning, should be scheduled for early or late in the day. Make sure your manager schedules one-on-one meetings close to other meetings and does not impact your deep-work time windows. Here is a more optimized version of the example above:

Key takeaways

Mastering time management is an essential step toward becoming a great software engineer. The key elements are focus and consistency. Know yourself better, identify your constraints, and establish healthy time management habits around those constraints. Educate the people around you and help them respect your team’s time. Never forget that time is our most valuable non-renewable resource, and we need to treat it with respect.


How to manage your time effectively as a software engineer was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.


This content originally appeared on Level Up Coding - Medium and was authored by Eilon Mor


Print Share Comment Cite Upload Translate Updates
APA

Eilon Mor | Sciencx (2022-01-31T03:51:52+00:00) How to manage your time effectively as a software engineer. Retrieved from https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/

MLA
" » How to manage your time effectively as a software engineer." Eilon Mor | Sciencx - Monday January 31, 2022, https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/
HARVARD
Eilon Mor | Sciencx Monday January 31, 2022 » How to manage your time effectively as a software engineer., viewed ,<https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/>
VANCOUVER
Eilon Mor | Sciencx - » How to manage your time effectively as a software engineer. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/
CHICAGO
" » How to manage your time effectively as a software engineer." Eilon Mor | Sciencx - Accessed . https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/
IEEE
" » How to manage your time effectively as a software engineer." Eilon Mor | Sciencx [Online]. Available: https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/. [Accessed: ]
rf:citation
» How to manage your time effectively as a software engineer | Eilon Mor | Sciencx | https://www.scien.cx/2022/01/31/how-to-manage-your-time-effectively-as-a-software-engineer/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.