⏰ This engineer tracked his time for more than a year and this is what he learned
Struggling with wasted time? Track, tag, and reflect on your tasks to boost productivity and accelerate your software engineering career. 🎁 Bonus template at the end
Hi 👋
We just hit 18,000+ subscribers. Thank you for the support!
Today’s article is, in my opinion, the most important one I’ve written. It won’t make you 10x better overnight, but if you apply it consistently, like I have for the past two years, it will.
Hope you enjoy it!
Tracking your time makes you a more productive software engineer. I use a system that records every minute I work with a 15-minute granularity, tags tasks as meetings, deep work, or leisure, and includes time for reflection.
This method gives me a clear view of my day and helps me set precise goals. I learned that knowing where my time goes is the first step to better work habits and faster career growth.
⭐ In this post you'll learn
How I record work time as I work
How I tag tasks for meetings, deep work, and more
How regular reflection sharpens my daily routine
⚡ #1 Detailed planning & scheduling
Rob Dyrdek is an entrepreneur who tracks many things in his life. I used his system as inspiration and applied it to my own system. Rob schedules every minute in 15-minute blocks and uses color coding. His fixed calendar leaves no gap for uncertainty. I respect his method, but I track my work time in real time to see exactly how I spend every minute. I record the time I spend on each task as I work. This leaves room for the unexpected without having to re-schedule my entire day.
As I capture what I work on, I tag each task with a predefined label. This lets me see whether I have spent too much time in meetings or if my deep work sessions are short. I set goals based on this data to better plan future tasks.
I also review my day and adjust the next day’s plan. This iterative reflection is key to my system. It provides a clear record of my productivity and helps me understand where I need to change. I use these insights to plan detailed scheduling that fits my actual work habits.
🚀 Learn even faster
Want a higher salary, more free time, and faster learning?
This newsletter is your shortcut.
⚙️ #2 Batching tasks & communication
I batch similar tasks to reduce context switching, and beacause I can't track my time at 1-minute block granularity. For instance, I group code reviews together rather than reviewing them sporadically. Batching code reviews has proven more effective than interrupting my flow during other tasks. I allocate a specific time block for these reviews so that my mind remains in a single mode.
When I wasn't tracking my time and I just did things without an intention, I ended the day unfulfiled. I tried to reflect in what I got done and I did very few things. These are things I would expect to do in a few hours of focused and batched work, not the entire day.
I batch my communications as well. I set aside specific periods to answer emails and messages. This prevents interruptions during focus time. I have found that responding to messages in one session is much better than doing so while my brain is already out of the game. Since different areas of the brain are used for different purposes, it makes no sense to be switching from one area to another. Once an area of my brain is warmed up, I try to use it until I don't have more actions there.
I also limit meetings to a set schedule. I prefer fewer, longer meetings that conclude open loops rather than many short interruptions. This is related to some lessons I got from Cal Newport: He'd rather do some research and propose something than answer an email with another question. That's not moving things forward, it's just getting something off your plate without making progress.
🔋 #3 Energy management
I plan tasks according to my energy levels. I schedule demanding tasks during my peak energy and routine tasks when I feel less focused. My energy-based scheduling means I do not force productivity when I am not at my best. Instead, I take a break and return stronger. This strategy helps me maintain consistent productivity throughout the day.
As I shared in a post recently, I am well aware of my morning chronotype. This means focused work in the mornings, and routine work in the afternoon. I also understood that exercise gives me a second-wind to do some focused stuff during my evenings.
I also make sure to reflect on how different schedules affect my work. I review my performance at the end of the week and adjust my workflow accordingly. This reflection, combined with the proper scheduling of tasks, keeps my work efficient. When I find at the end of my week that I work fewer hours and deliver higher quality results, it means I have done something right.
⌛ #4 My personalized approach: tracking, tagging, and reflecting
Real-time recording as I work gives me an accurate picture of my day. I use a simple tagging system to label each activity by area of life and activity type. For example:
[#w💻] [#t🏆]
Area: Work
Type: Task (something focused)
[#w💻] [#m💬]
Area: Work
Type: Meeting
[#l🙆♂️] [#e📺]
Area: Life
Type: Entertainment
[#l🙆♂️] [#st📚]
Area: Life
Type: Study (learning time)
I reflect on my data every day. I look at the time I have tracked and compare it with my goals. I ask myself where I could reduce wasted time and how I can better batch my tasks. This reflection helps me adjust my approach continuously. Self-awareness is crucial for progress, and this systme boost self awareness every single day.
I also notice improvements through these iterations. I now understand which tasks take longer than expected and when my energy dips. This knowledge drives my planning and communication adjustments. My system is simple and data-driven, and it shows tangible benefits in how I manage my workday.
About tracking time outside of work: Some people say tracking your life removes the fun out of it. The truth is, if I don’t put in the calendar my life, I will reduce it so much in favor of the things I capture in the calendar. This led me to track everything, and to have personal goals that are as important as the professional goals.
🎁 Bonus: Insights from tracking my time
I work better in the mornings.
I work better doing fewer, longer blocks of work.
After lunch I find it harder to focus.
I need to schedule my time for code reviews or I won't do them in the entire day, impacting my team.
Same with my learning time, if I don't schedule it I'll never do it.
I write this newsletter on the weekends because during the week my mind wants to write code and not words.
I can skip some meetings if I read their agenda / doc ahead of time and I can't add value to it. I'll be multi-tasking if I join.
I enjoy the first 5-10 minutes reading some people I follow in social media. I feel guilty spending more time than that.
🎁 Bonus gift: Time tracking spreadsheet
Paid subscribers can access now the time tracking spreasheet in the paid subscriber resources
I’m also leaving here my github repo to parse my google calendar. It’s not out of the box as I don’t have this deployed as an application anywhere, I run it in my terminal and I have my own google applicaiton in the google console. But it’s a cool weekend project if you want to do it yourself!
🎯 Conclusion
Tracking time provides a clear view of work habits. A mix of fixed planning and adaptive tracking gives good insights.
I record my work, tag tasks, and reflect daily. Then at the end of the week, I reflect again. This process makes me more aware of my time usage and helps me adjust my workflow. Small, consistent changes in how I work lead to faster career growth.
What are the learnings you get when you look at your calendar?
🗞️ Other articles people like
👏 Weekly applause
These are some great articles I’ve read last week:
Industry Secrets We Wish We Knew Before Graduating | Staff Eng Talk @ UCLA by
. Maximizing your "luck surface area" and balancing technical with soft skills are crucial for career advancement in software engineering.- . Understanding how DNS operates is crucial for software engineers, as it plays a significant role in the accessibility and performance of applications on the internet.
Every Outbox Needs an Inbox by
. Every Outbox needs an Inbox to ensure reliable message delivery and processing in distributed systems.Career Playbook to Navigate Your First 8 Years in Tech by
. Adopting a T-shaped career model can enhance your technical depth while broadening your understanding of cross-functional domains, making you a more effective engineer and leader.The 3 hero traps experienced EMs fall into by
. Recognizing and overcoming the 'hero EM' syndromes can lead to more effective management and a healthier team dynamic.Key API Design Considerations by
. Designing a well-structured API is crucial for maintainability, usability, and performance.Scaling Billions of Rows of Ad Data from 2,000+ Sources at Salesforce by
. Salesforce's approach to unifying fragmented ad data shows the importance of automation and real-time insights.Spotting the Spark: 7 Indicators of High Potential by
. High-potential engineers demonstrate traits like extreme ownership, quick learning, curiosity, constructive disagreement, simplification of complexity, resilience, and self-awareness, which are crucial for career growth and leadership.
🙏 One last thing before you go:
I am always working to make this newsletter even better.
Could you take one minute to answer a quick, anonymous survey?
See you in the next email,
Fran.
Great post. That calendar view looks like mine. I leverage on it a lot, and I plan according to my energy levels and other factors.
Congratulations for those 18,000+ subscribers, Fran!