Learning Materials/Time Management

Time Management for Engineers


Protect the conditions that allow deep, focused work to happen.

Engineers don't just write code - they manage attention in a world designed to fragment it. Chat notifications, code reviews, meetings, production incidents, "quick questions," and the endless pull of email all compete for the same finite resource: your cognitive capacity.

Time management for engineers isn't about squeezing more tasks into each day. It's about protecting the conditions that allow deep, focused work to happen. It's about understanding that a "quick" interruption costs 15+ minutes of recovery time. It's about making work visible so you can make intelligent choices about what to do next.

This guide explores time management through multiple lenses: the science of attention and interruption, the philosophy of sustainable pace, the mechanics of making work visible, and practical techniques for engineers at every level.


The Problem: We're Drowning

Modern knowledge work has a problem that Dominica DeGrandis describes vividly in "Making Work Visible":

Today's workers are drowning: nonstop requests for time, days filled to the brim with meetings, and endless nights spent heroically fixing the latest problems. This churn and burn is creating a workforce constantly on the edge of burnout.

The irony is that we have more productivity tools than ever - task managers, project boards, calendar apps, time trackers - yet we feel less productive and more overwhelmed. The tools aren't the solution. The problem is how we work.

Engineering work is particularly vulnerable because:

  1. Programming requires deep focus: You can't hold a complex system in your head while answering chat messages
  2. Knowledge work is invisible: Unlike a factory floor, you can't see the backlog of half-finished mental work
  3. Interrupt culture is normalized: "Got a minute?" is rarely just a minute
  4. WIP accumulates silently: Half-finished tasks don't announce themselves until deadlines loom

The Science of Interruption

The 15-Minute Rule

Research consistently shows that it takes 10-15 minutes to return to a "flow state" after an interruption - and that's the optimistic case. When you're holding multiple pieces of complex logic in working memory, recovery can take much longer.

The famous "programmer interrupted" comic illustrates this perfectly: a developer is holding an elaborate mental model of interconnected components, data flows, and edge cases. A "quick question" arrives. The mental model collapses. Rebuilding it takes time, energy, and the willingness to once again dive deep into the problem.

The Parable of Two Watchmakers

This classic story illuminates why some engineers handle interruptions better than others:

There once were two watchmakers, named Hora and Tempus, who made very fine watches. The phones in their workshops rang frequently and new customers were constantly calling them. However, Hora prospered while Tempus became poorer and poorer.

The watches consisted of about 1000 parts each. Tempus's watches were designed such that, when he had to put down a partly assembled watch, it immediately fell into pieces and had to be reassembled from the basic elements.

Hora had designed his watches so that he could put together sub-assemblies of about ten components each, and each sub-assembly could be put down without falling apart.

The lesson: design your work to survive interruptions. Break large problems into smaller, completable units. Commit frequently. Document your thought process before stepping away. Create "save points" in your mental work.

Prospective Memory

Prospective memory is "information with implications for actions to be performed in the future." It's the mental sticky note that reminds you to buy milk on the way home - or to finish implementing that edge case after lunch.

Your last working context is a form of prospective memory. When your IDE remembers which files you had open, where your cursor was positioned, and which tests were failing, it's providing anchors for prospective memory. When you return to work, these visual cues trigger recall.

Practical implication: Before stepping away from complex work, write a brief note to your future self. "Next: implement the retry logic for the API call in OrderService.java, line 234. Edge case: what if the circuit breaker is open?"


The Five Time Thieves

Dominica DeGrandis identifies five "time thieves" - recurring patterns that steal productivity and create the chaos that makes knowledge work feel overwhelming. Understanding these thieves is the first step to catching them.

1. Too Much Work in Progress (WIP)

This is the master thief - the one that enables all others.

When you have too much work in progress, you:

  • Context switch constantly, paying the 15-minute tax repeatedly
  • Make slow progress on everything while completing nothing
  • Accumulate partially-done work that blocks others
  • Lose track of what you've started and what needs finishing
  • Feel busy while accomplishing little

Why it happens: It feels productive to start new things. Starting is easy; finishing is hard. And when someone asks for something, saying "I'll start on that" feels more helpful than "I'm focused on something else right now."

How to catch it:

  • Visualize your work in progress. If you can't see it, you can't manage it.
  • Set explicit WIP limits. "I will work on no more than two things at once."
  • Finish before starting. The first question isn't "What should I start?" but "What can I finish?"

For different levels:

  • Juniors: Track your active tasks. If you have more than 2-3, something is wrong.
  • Seniors: Model healthy WIP limits. Help teammates finish rather than starting new work.
  • Leads/Architects: Create team norms around WIP. Protect engineers from the pressure to start everything immediately.

2. Unknown Dependencies

You're making progress when suddenly - you're blocked. You need something from another team, another service, another approval. The work sits, partially done, while you wait.

Dependencies aren't inherently bad; they're inevitable in complex systems. The problem is unknown dependencies - the ones that surprise you mid-work.

Why it happens: We don't map dependencies before starting. We assume we have everything we need. We underestimate how interconnected systems are.

How to catch it:

  • Before starting significant work, ask: "What could block me?"
  • Map dependencies explicitly during planning
  • Communicate early when you discover new dependencies
  • Design systems with fewer dependencies where possible

For different levels:

  • Juniors: Ask "What else do I need?" before diving into implementation. If blocked, raise it immediately.
  • Seniors: Anticipate cross-team dependencies. Build relationships that make unblocking easier.
  • Leads/Architects: Design systems and processes that reduce coupling and dependency chains.

3. Unplanned Work

Unplanned work is the emergency that interrupts everything. The production incident. The "can you just quickly" request. The feature that was promised without engineering input.

Some unplanned work is inevitable - production issues happen. But chronic unplanned work indicates deeper problems: insufficient reliability investment, poor stakeholder management, or lack of boundaries.

Why it happens:

  • Technical debt creates fragility that generates incidents
  • Stakeholders make promises without understanding capacity
  • Engineers are reluctant to say no or push back
  • Heroic firefighting is rewarded more than prevention

How to catch it:

  • Track unplanned work explicitly. What percentage of your sprint was planned vs. reactive?
  • Invest in reliability and automation to reduce incident frequency
  • Build buffers into plans (you will be interrupted)
  • Create triage processes to protect focus time

For different levels:

  • Juniors: Protect your focus time, but be responsive to genuine emergencies. Learn to distinguish.
  • Seniors: Absorb some unplanned work to protect junior focus. Advocate for reliability investment.
  • Leads/Architects: Fight for reliability resources. Create on-call rotations that share the burden. Push back on promises made without engineering input.

4. Conflicting Priorities

When everything is priority one, nothing is. Conflicting priorities create paralysis - you don't know what to work on, so you work on whatever's loudest, or whatever feels most comfortable.

Why it happens:

  • Multiple stakeholders with different goals
  • Fear of making hard choices (so leadership makes none)
  • Changing priorities without changing commitments
  • Lack of visibility into what others consider priority

How to catch it:

  • Force explicit prioritization: "If I can only do one of these, which matters most?"
  • Create shared visibility into priorities (team boards, roadmaps)
  • Push back on new priorities without corresponding de-prioritization
  • Accept that trade-offs are inherent; pretending otherwise doesn't help

For different levels:

  • Juniors: Ask for clarity when you receive conflicting direction. "I have A from you and B from Sarah - which should I do first?"
  • Seniors: Help translate organizational priorities into team actions. Shield teammates from priority noise.
  • Leads/Architects: Participate in prioritization conversations. Make trade-offs explicit. Create stable contexts where teams can focus.

5. Neglected Work

Some work never gets done because it's not urgent enough to prioritize, but it never goes away. Technical debt. Documentation. That refactoring you've been meaning to do. It accumulates, unseen, until it becomes a crisis.

Why it happens:

  • Visible, urgent work crowds out important-but-not-urgent work
  • Neglected work doesn't have advocates
  • There's no immediate consequence for ignoring it
  • It's not on the board, so it's not "real"

How to catch it:

  • Make neglected work visible. Put it on the board, even if you're not working on it yet.
  • Schedule dedicated time for debt reduction, documentation, and improvement
  • Track the consequences of neglect (incident frequency, onboarding time, velocity decline)
  • Celebrate when neglected work gets done

For different levels:

  • Juniors: Volunteer for documentation and cleanup. It's valuable and often overlooked.
  • Seniors: Advocate for technical debt reduction. Help quantify the cost of neglect.
  • Leads/Architects: Reserve capacity for non-feature work. Make the case for investment in health.

Making Work Visible

The common thread in fighting time thieves is visibility. You can't manage what you can't see. And knowledge work is notoriously invisible.

Why Visibility Matters

When a factory has too much work in progress, you can see it: inventory piles up, the floor gets crowded, workers bump into each other. In knowledge work, excessive WIP lives in heads, browser tabs, and scattered task lists. It's invisible until it manifests as missed deadlines and burnout.

Making work visible means:

  • Kanban boards: Every piece of work exists as a card that moves through stages
  • WIP limits: Visual constraints that show when you're overloaded
  • Dependency mapping: Lines connecting work that blocks other work
  • Burndown charts: Visual representation of progress (or lack thereof)

Personal Visibility

Before you can manage team visibility, manage your own:

  1. Capture everything: Get tasks out of your head and into a system you trust
  2. Single source of truth: One place where all your work lives
  3. Regular review: Daily or weekly review to see the big picture
  4. Explicit status: Each item has a clear state (not started, in progress, blocked, done)

Team Visibility

Effective teams make their collective work visible:

  1. Shared board: Everyone can see what everyone is working on
  2. Stand-ups around the board: Walk the work, not the people
  3. Explicit blockers: Blocked items are visually distinct
  4. WIP limits enforced: The board prevents overload, not just displays it

Agile Principles: The Philosophy Beneath the Practices

The Agile Manifesto, created in 2001, wasn't about Scrum ceremonies or Jira workflows. It was about sustainable, humane software development. Many teams practice "faux agile" - going through motions without embodying principles. Understanding the underlying philosophy helps you apply it wisely.

The Four Values

Individuals and interactions over processes and tools: The best tools in the world don't help if people can't collaborate effectively. Time management isn't about the perfect app - it's about how humans work together.

Working software over comprehensive documentation: Measure progress by what's actually done, not by what's been planned or documented. A finished feature beats a detailed specification for something not yet built.

Customer collaboration over contract negotiation: Requirements will change. Time estimates will be wrong. Embrace this reality rather than fighting it.

Responding to change over following a plan: Plans are useful for direction-setting, not for predicting the future. Good time management includes flexibility to respond to new information.

The Twelve Principles (Selected)

Deliver working software frequently: Small batches, frequent completion. This reduces WIP, provides feedback loops, and creates regular accomplishment.

Sustainable development: "The sponsors, developers, and users should be able to maintain a constant pace indefinitely." Heroic sprints followed by exhaustion isn't agility - it's burning out your people.

Simplicity - the art of maximizing the amount of work not done - is essential: The best time management often means doing less. What can you not do? What features aren't worth building? What meetings don't need to happen?

At regular intervals, the team reflects on how to become more effective: Retrospectives aren't optional. Without deliberate reflection, you'll keep making the same mistakes.

Agile vs. "Agile"

Ron Jeffries, one of the Manifesto signatories, distinguishes between:

  • Manifesto Agile: The core ideas of adaptability, sustainability, and human-centered development
  • Faux Agile: Going through motions (sprints, stand-ups, velocity tracking) without the underlying principles
  • Dark Agile: When "agile" becomes a tool for micromanagement, overwork, and pressure

When your "agile" process leads to burnout, unsustainable pace, and feeling more overwhelmed - something has gone wrong. Return to the principles.


Deep Work: Protecting Focus

Cal Newport's "Deep Work" defines deep work as "professional activities performed in a state of distraction-free concentration that push your cognitive capabilities to their limit."

For engineers, deep work is where the real progress happens: understanding a complex system, designing an elegant solution, debugging a subtle issue, implementing a feature that requires holding multiple concerns in mind simultaneously.

Deep Work vs. Shallow Work

Deep work examples:

  • Writing code that implements complex business logic
  • Debugging a race condition
  • Designing a system architecture
  • Learning a new technology deeply enough to apply it

Shallow work examples:

  • Responding to chat messages
  • Most emails
  • Status meetings
  • Routine code reviews (though some reviews require deep work)

Both are necessary. The problem is that shallow work expands to fill available time if you let it.

Protecting Deep Work

Time blocking: Schedule deep work like meetings. Put 2-4 hour blocks on your calendar and defend them.

Batch shallow work: Handle email, chat, and reviews in designated windows rather than continuously.

Balancing responsiveness: Batching doesn't mean ignoring teammates. Aim for reasonable response windows - same-day for code reviews, within a few hours for urgent questions. Unreviewed PRs that sit for days send the wrong message (see Empathy for more on teammate empathy). The goal is predictable responsiveness, not constant availability.

Create rituals: Same time, same place, same startup routine. Rituals reduce the activation energy needed to enter deep work.

Reduce decision fatigue: Make recurring decisions once (what to work on, in what order) so you don't spend deep work time on logistics.

The Attention Residue Problem

When you switch tasks, attention doesn't switch completely. Part of your mind is still processing the previous task - what researcher Sophie Leroy calls "attention residue." This residue impairs performance on the new task.

Implication: Completing tasks before switching reduces residue. If you must switch, write a closing note ("done with X, next step is Y") to help your mind let go.


Time Management by Level

Time management skills evolve as your scope and responsibilities grow.

Junior Engineers

Your challenge: Learning to manage your own time in an environment that constantly pulls your attention.

Key practices:

  1. Timebox exploration: When learning something new or debugging, set a time limit. After 30-60 minutes of being stuck, ask for help.

  2. Track where time goes: For one week, note how you spend each hour. You'll discover patterns - and leaks.

  3. Protect learning time: Deep learning (not just problem-solving) requires focused blocks. Schedule them.

  4. Limit WIP ruthlessly: You should rarely have more than 2 active tasks. Finish one before starting another.

  5. Communicate proactively: If you're blocked or behind, say so early. Surprises are worse than updates.

Common traps:

  • Spending too long stuck before asking for help (30 minutes is often enough)
  • Saying yes to everything because you want to be helpful
  • Underestimating how long things take (track actuals to improve)
  • Letting chat/email fragment your focus

Senior Engineers

Your challenge: Managing your own time while helping others manage theirs. More meetings, more context switching, more demands.

Key practices:

  1. Protect team focus: Absorb interruptions so juniors can focus. Batch questions to answer at designated times.

  2. Model healthy practices: If you're always online at midnight, you're teaching that behavior. Demonstrate sustainable pace.

  3. Mentor on time management: Help juniors develop estimation skills, focus practices, and boundary-setting.

  4. Advocate for slack: Push back on commitments that leave no room for unplanned work or learning.

  5. Invest in leverage: Documentation, automation, and process improvements multiply your impact.

Common traps:

  • Becoming the bottleneck because everyone depends on you
  • Over-helping to the point of doing others' work
  • Never having uninterrupted time because you're always available
  • Taking on too much because you can (and then burning out)

Staff/Principal Engineers

Your challenge: Managing attention across multiple teams, initiatives, and time horizons. Your calendar wants to fill with meetings.

Key practices:

  1. Ruthless prioritization: You can't do everything. What uniquely requires your involvement? Delegate or decline the rest.

  2. Think in quarters, not days: Your impact is measured in systemic improvements, not completed tickets.

  3. Office hours over ad-hoc interruptions: Create structured times for people to access you rather than always being available.

  4. Calendar hygiene: Review weekly. Cancel meetings that don't need to happen. Batch similar meetings. Protect focus blocks.

  5. Strategic neglect: Some things genuinely don't matter enough to warrant your attention. Let them go.

Common traps:

  • Death by a thousand meetings
  • Losing technical edge because you never have time for deep work
  • Being spread so thin that you're not meaningfully contributing anywhere
  • Confusing being busy with being effective

Tech Leads and Engineering Managers

Your challenge: Managing team time while barely having any of your own. Your effectiveness is measured by team productivity, not personal output.

Key practices:

  1. Protect team flow: Your job is to create conditions for deep work, not just direct tasks.

  2. Manage WIP at team level: Ensure the team isn't overcommitted. Finish things before starting new things.

  3. Create predictability: Stable priorities, consistent rituals, and defended focus time reduce chaos.

  4. Take the interruptions: Shield the team from organizational noise. Absorb status requests.

  5. Invest in systems, not heroics: If team success depends on anyone working unsustainable hours, fix the system.

Common traps:

  • Micromanaging because you're worried about outcomes
  • Not protecting your own time (leading to burnout)
  • Confusing activity with progress (meetings don't equal impact)
  • Letting scope creep destroy sustainable pace

Practical Techniques

Timeboxing

Assign specific time blocks to specific work. When the time is up, stop (or consciously extend). Benefits:

  • Creates urgency (Parkinson's law: work expands to fill available time)
  • Prevents perfectionism spirals
  • Forces completion over continuation
  • Makes it easy to batch similar activities

Implementation: Use your calendar. Block time for deep work, meetings, email, and breaks. Treat deep work blocks like you'd treat a meeting with your CEO.

The Two-List System

Warren Buffett's method:

  1. List your top 25 goals (for the quarter, year, career - pick a timeframe)
  2. Circle the top 5
  3. The remaining 20 become your "avoid at all costs" list

The danger isn't the unimportant things - it's the somewhat-important things that crowd out the truly important.

Eating the Frog

Do the hardest, most important thing first. Your cognitive resources are highest in the morning (for most people). Use them on the work that matters most.

The 2-Minute Rule

If something takes less than 2 minutes, do it immediately. The overhead of tracking it exceeds the cost of just doing it. But be careful - "quick" tasks often aren't, and this rule can become an excuse for constant reactivity.

Weekly Reviews

Once a week, step back and review:

  • What did I accomplish?
  • What's in progress?
  • What's blocked?
  • What should I prioritize next week?
  • What can I stop doing?

This prevents drift and accumulating WIP.

Energy Management, Not Just Time Management

Time is only half the equation. You can have four hours free and accomplish nothing if your energy is depleted.

High-energy periods: Schedule deep work when your energy naturally peaks (often morning).

Low-energy periods: Schedule routine tasks, administrative work, and easy wins.

Recovery: Rest isn't waste - it's an investment in future productivity. Sustainable pace means actual sustainability.


Sustainable Pace: Beyond Individual Time Management

Understanding Procrastination

Procrastination isn't laziness - it's often an emotional regulation problem. Research shows people procrastinate to avoid negative emotions associated with tasks, not because they can't manage time.

Common emotional causes:

  • Fear of failure: "If I don't try hard, I can't fail"
  • Perfectionism: "If I can't do it perfectly, why start?"
  • Overwhelm: The task feels too big to approach
  • Boredom: The task doesn't engage you
  • Resentment: You don't think you should have to do it
  • Uncertainty: You don't know how to start

What helps:

  • Name the emotion: "I'm avoiding this because I'm afraid of..."
  • Make the first step tiny: "Just open the file and write one line"
  • Commit to time, not completion: "I'll work on this for 25 minutes"
  • Address the underlying cause, not just the symptom
  • Practice self-compassion - shame makes procrastination worse

Checking In on Colleague Wellbeing

Time management isn't just personal. Sustainable teams require everyone to notice when colleagues are struggling.

Signs a colleague might be struggling:

  • Working unusual hours consistently
  • Visible stress or frustration
  • Declining quality of work
  • Withdrawal from team activities
  • Cynicism or hopelessness

How to check in:

  • Be direct but kind: "I've noticed you seem stressed lately. How are you doing?"
  • Offer concrete help: "I could take that review off your plate this week"
  • Listen without immediately problem-solving
  • Follow up - one conversation isn't enough
  • Respect boundaries if they don't want to discuss it

This isn't intrusive - it's collegial. Teams that watch out for each other are more sustainable than ones where everyone suffers silently.

The Efficiency Penalty

Engineers who work efficiently sometimes get punished for it: "You finished early? Great, here's more work." This creates a perverse incentive to work slowly or hide capacity.

If this happens to you:

  • Communicate explicitly: "I was able to finish early because I had uninterrupted time. If I take on more work now, future estimates will need to account for that"
  • Document your actual capacity vs. assigned capacity
  • Use "slack" time for technical debt, learning, or improvement work - make it productive
  • Talk to your manager about sustainable load, not just current sprint

If you're a manager:

  • Recognize that rewarding efficiency with more work punishes efficiency
  • Build slack into plans intentionally
  • Value engineers who finish early and help others, don't just assign them more
  • Measure outcomes over time, not utilization in any single sprint

Crunch and Recovery

Sometimes crunch is unavoidable - a critical deadline, a major incident, a business-critical launch. Sustainable teams handle crunch without burning out by following a formula:

Crunch formula: Scope reduction + Planned recovery

Before crunch:

  • Cut scope aggressively - what can genuinely wait?
  • Communicate clearly about what's being sacrificed
  • Set a hard end date - crunch without boundaries expands forever
  • Get explicit agreement that recovery time will follow

During crunch:

  • Take care of basics: food, sleep, breaks
  • Don't add more scope - hold the line
  • Check in on teammates' wellbeing
  • Document what you're learning about the system

After crunch:

  • Take the recovery time. Actually take it.
  • Conduct a retrospective: How did we get here? How do we prevent it?
  • Resist pressure to crunch again immediately
  • Celebrate what was accomplished

The key insight: One crunch isn't the problem. Continuous crunch - without scope reduction or recovery - destroys teams. If crunch is the norm, the problem isn't time management; it's planning.


When Things Go Wrong

Signs of Time Management Problems

Individual:

  • Frequently working late or weekends to meet commitments
  • Feeling busy but not accomplished
  • Many things started, few things finished
  • Constantly fighting fires rather than preventing them
  • Dreading the start of each day

Team:

  • Unpredictable delivery
  • High WIP that never decreases
  • Frequent "emergency" reprioritizations
  • Burnout or turnover
  • Declining velocity despite working harder

Recovery Steps

  1. Stop starting, start finishing: Complete existing work before taking on new work.

  2. Make everything visible: Put all work on a board. Include the hidden work.

  3. Implement WIP limits: Pick a number lower than your current WIP. Stick to it.

  4. Identify time thieves: Which of the five thieves are active? Address the most damaging.

  5. Create boundaries: Define focus time. Reduce meetings. Establish communication norms.

  6. Retrospect and adjust: This won't be fixed overnight. Regular reflection enables continuous improvement.


Recommended Reading

Books

  • "Making Work Visible" by Dominica DeGrandis: The essential guide to exposing time thieves and creating healthy workflow. Practical exercises and clear frameworks.

  • "Deep Work" by Cal Newport: The case for focused work in a distracted world. How to cultivate the ability to concentrate deeply.

  • "Slow Productivity" by Cal Newport: A response to burnout culture. Argues for doing fewer things, working at a natural pace, and obsessing over quality.

  • "The Goal" by Eliyahu Goldratt: A novel about manufacturing that illuminates flow, bottlenecks, and the theory of constraints. Surprisingly applicable to knowledge work.

  • "Your Brain at Work" by David Rock: Neuroscience-based approach to managing attention and mental energy throughout the day.

Articles and Talks

  • "Programmer Interrupted": Research on the cost of interruption and context switching for developers.

  • The Agile Manifesto and 12 Principles: Return to the source when your "agile" feels heavy.

  • "This is Why You Shouldn't Interrupt a Programmer": The famous comic that captures the fragility of mental state.


TL;DR

  • The master time thief is Too Much WIP - context switching costs 15+ minutes per interruption; limit work in progress ruthlessly and finish before starting new work
  • Make work visible or you can't manage it - if all your tasks live in your head and browser tabs, you'll miss deadlines and burn out without seeing it coming
  • Protect deep work like meetings with your CEO - time-block 2-4 hour focus periods, batch email/chat/reviews into designated windows, and create rituals that reduce activation energy
  • Know the five time thieves - too much WIP, unknown dependencies, unplanned work, conflicting priorities, neglected work; most problems trace to one of these
  • Sustainable pace means actual sustainability - crunch requires both scope reduction AND planned recovery; if crunch is the norm, the problem isn't time management but planning

Ready to test your knowledge?

Put what you've learned into practice with our assessment.