Protecting Your Focus
Research consistently shows that a single interruption costs 15-23 minutes of recovery time before you return to the same depth of focus. For software engineers, whose work requires holding complex mental models in working memory, this cost is even higher. An engineer interrupted 4 times in a morning has effectively lost the entire morning. Protecting focus is not a nice-to-have productivity hack. It is the single largest lever you have for getting meaningful work done.
The Cost of Interruptions
The 15-23 minute figure comes from Gloria Mark's research at UC Irvine. But the raw time is only part of the cost. When an engineer is deep in a debugging session or designing a system, they are holding a mental model — variable states, call chains, edge cases, design constraints — in their working memory. An interruption does not just pause the work. It collapses the mental model. Rebuilding it takes the majority of those recovery minutes.
Timeline of an interrupted engineer:
9:00 Start working on feature
9:15 Loading mental model, starting to make progress
9:25 Deep in the problem, making real progress
9:28 Slack notification: "Quick question about yesterday's deploy"
9:28 Context switch to Slack, answer the question
9:35 Return to code, stare at screen
9:38 "Where was I?"
9:42 Start re-reading the code to rebuild mental model
9:50 Back to the same depth as 9:25
9:52 Slack notification: "Can you review this PR?"
Net deep work in 52 minutes: approximately 15 minutes
This is not an exaggeration. This is a normal day for most engineers.
Notification Management
Notifications are the primary source of interruptions. The solution is not willpower. It is engineering your notification environment so that interruptions cannot reach you during focus time.
Tier Your Notifications
Tier 1 — Immediate (always allowed):
- Pages from on-call systems (production is down)
- Phone calls from your manager (truly urgent)
- Nothing else
Tier 2 — Batched (check 2-3 times per day):
- Slack messages and mentions
- Email
- PR review requests
- Calendar notifications
Tier 3 — Scheduled (check once per day):
- Social media
- News
- Non-work chat
- App update notifications
Platform-Specific Setup
macOS/iOS:
- Focus modes: create a "Deep Work" focus that silences
everything except Tier 1
- Schedule it automatically for your focus blocks
- Allow calls only from specific contacts
Slack:
- Set a DND schedule (not just status)
- Mute channels that are not relevant to current work
- Use "All Unreads" view instead of watching every channel
- Turn off desktop notifications entirely
- Check Slack on YOUR schedule, not Slack's schedule
Email:
- Close the email client during focus blocks
- Turn off all email notifications (check 2x/day)
- Use filters to auto-sort low-priority email
IDE:
- Disable all non-critical notifications
- Turn off auto-update prompts during focus
- Hide everything except the code and terminal
Creating Focus Blocks
A focus block is a scheduled period of uninterrupted work. It is not "I hope nobody bothers me." It is a deliberate, defended commitment.
Effective focus block structure:
Duration: 90-120 minutes (less is too short for depth,
more leads to diminishing returns)
Frequency: 1-2 blocks per day minimum
Timing: schedule during your peak energy hours
(most engineers: morning before lunch)
Protection: calendar block, DND mode, headphones,
closed door (if available)
Content: ONE task per block, decided before the block starts
Before the Block
Preparation checklist:
1. Decide what you will work on (one thing)
2. Open all necessary files and documentation
3. Close all unnecessary tabs and applications
4. Enable DND mode
5. Put on headphones (even if you are not listening to anything)
6. Set a timer if that helps you stay focused
7. Tell your team you are in focus mode (Slack status)
The preparation step is crucial. If you start a focus block without knowing what you are working on, you will spend the first 20 minutes deciding, checking Slack, and reading email. That is not a focus block. That is a regular work session.
Batching Communication
The opposite of constant checking is batching: handling all communication in dedicated windows.
Example communication schedule:
9:00 - 9:15 Morning triage: Slack, email, PR requests
9:15 - 11:00 Focus block 1
11:00 - 11:30 Communication batch: respond to everything
11:30 - 12:30 Focus block 2
12:30 - 1:30 Lunch + casual communication
1:30 - 1:45 Afternoon triage
1:45 - 3:30 Focus block 3
3:30 - 4:00 Communication batch
4:00 - 5:00 Lower-focus work: reviews, planning, docs
This schedule has 4.5 hours of focus time and 1.5 hours of communication time. Most engineers currently get 1-2 hours of focus time in a day because communication is constant.
"Office Hours" for Questions
Instead of being available all day for questions, set office hours:
Slack status: "Focus mode until 11am. Office hours 11-11:30 and 3:30-4.
For production emergencies, call me."
This works because:
- Most questions are not urgent (they can wait 2 hours)
- The questioner often finds the answer themselves while waiting
- You can handle 5 questions in 15 minutes, but 5 interruptions
cost 2 hours of recovery time
- You train your team to batch their questions too
The Physical Environment
Your physical environment either supports or undermines focus.
Open offices:
- Noise-canceling headphones are mandatory, not optional
- Face away from high-traffic areas
- Book a meeting room for solo focus if available
- Establish team norms: headphones on = do not interrupt
Remote work:
- Dedicated workspace (not the couch, not the kitchen table)
- Door you can close
- Same location every day (environmental cues trigger focus)
- Treat your home office with the same seriousness as a lab
Hybrid:
- Use office days for collaboration and meetings
- Use remote days for focus blocks
- If possible, batch all meetings on 2-3 days per week
Dealing With the Guilt
Many engineers feel guilty about being unavailable. This guilt is misplaced. Responding to every Slack message within 5 minutes makes you responsive but unproductive. The team does not need you to respond instantly. The team needs you to deliver quality work.
Reframe the guilt:
"I'm being unresponsive" -> "I'm being productive"
"They might need me" -> "They can wait 2 hours"
"I should check Slack" -> "I should finish this task"
"What if it's urgent?" -> "Truly urgent means a phone call"
The senior engineers and tech leads you admire are not answering every Slack message instantly. They are protecting their focus and delivering results.
Real-World Example: The Team That Tried Focus Mornings
A team of 8 engineers agreed to try "focus mornings" — no meetings, no Slack, no interruptions before noon. For the first two weeks, it felt awkward. People hoarded questions until noon. Some felt disconnected.
After a month, the team measured their output: story points completed per sprint increased by 35%. Not because they worked harder, but because each engineer went from 1-2 hours of daily focus time to 3-4 hours. The same engineers, the same hours, 35% more output.
The key insight: they did not add hours. They protected the hours they already had.
Common Pitfalls
- Scheduling focus time but not defending it — a calendar block means nothing if you still check Slack during it. DND mode and closed applications are the enforcement mechanism.
- Focus blocks that are too short — 30-minute blocks are almost useless for engineering work. It takes 15 minutes just to load context. Aim for 90 minutes minimum.
- Not deciding what to work on beforehand — an undirected focus block becomes a browsing session. Choose your task before the block starts.
- Feeling guilty about unavailability — the team needs your output more than your instant availability. Respond within hours, not minutes.
- Making exceptions that become the rule — "just this once" checking Slack during focus time becomes a habit in days. Protect the block completely or do not bother.
Key Takeaways
- Every interruption costs 15-23 minutes of recovery time. Four interruptions in a morning means zero deep work.
- Engineer your notification environment with tiers: immediate (pages only), batched (Slack and email 2-3 times per day), and scheduled (once per day).
- Focus blocks are 90-120 minutes of defended, uninterrupted work. Schedule them, enable DND, close communication apps, and decide what you will work on before the block starts.
- Batch communication into dedicated windows rather than checking constantly. Most messages can wait 2 hours.
- The physical environment matters. Noise-canceling headphones, a dedicated workspace, and team norms about interruptions are not luxuries — they are tools.