How I Manage My Energy as a Developer, Not Just My Time

by Eric Hanson, Backend Developer at Clean Systems Consulting

Time management systems assume all hours are equal. They aren't — and once you start treating your energy as the scarce resource instead of your calendar, the way you work changes considerably.

Eight Hours That Aren't Eight Hours

I used to keep a clean calendar and wonder why I wasn't getting more done. My schedule looked like productivity: no back-to-back meetings, dedicated blocks for deep work, tasks assigned to time slots. On paper, I had plenty of hours. In practice, something wasn't adding up.

The problem wasn't the calendar. It was that I was treating all time as equivalent. An hour at 9 AM after a good night's sleep, with coffee and quiet and a problem I'd been thinking about — that's a different resource than an hour at 4 PM after three meetings and a frustrating debugging session. They're both on the calendar as "1 hour." They produce very different results.

The Tasks That Need Your Sharpest Mind

Backend development has a few categories of work that are cognitively expensive in very different ways:

Architectural thinking — designing systems, deciding how services relate, making tradeoffs explicit — requires sustained, high-quality attention. You need to hold multiple constraints in mind simultaneously and think several steps ahead. This is the work where bad decisions are most expensive and hardest to undo.

Deep debugging — the kind where you're chasing a production issue through multiple layers of abstraction — requires something similar but more focused. It's less generative than design thinking and more like intense tracking.

Routine implementation — writing code for a problem you've already solved conceptually, implementing a well-defined feature — takes discipline and attention, but it doesn't drain you the same way.

Meetings, code reviews, async communication — these have their own cognitive texture. Some meetings are draining, some are actually energizing. Code reviews require sharp judgment but shorter sustained focus.

I stopped trying to schedule "work" and started matching task types to energy states.

What I Actually Do

My sharpest hours — usually the first two to three hours of the morning — go to the work that needs them most. Architectural decisions, design documents, hard debugging problems. Nothing else.

This sounds obvious, but the default for most developers is to start the day with email, Slack, and the low-friction tasks. It feels productive and it clears the decks. But you've used your best cognitive state on work that could have waited.

I treat the morning block as protected. Meetings don't go there unless the situation is genuinely urgent. I don't check messages until I've put in at least ninety minutes on the hard thing.

In the afternoon, when my focus naturally dips, I switch to the work that accommodates it: implementation tasks I've already thought through, code reviews, documentation, responding to async messages, planning tomorrow's priorities.

A few other things I've found useful:

  • Ending each day with a note about where I left off. Starting cold the next morning is expensive — a two-sentence "here's the state of this problem" saves fifteen minutes of re-orientation.
  • Protecting transition time between tasks. Going from a meeting straight into a complex debugging session doesn't work. Five minutes of walking or doing nothing is more efficient than the confused half-hour that follows a hard context switch.
  • Recognizing when I'm pretending to work. There's a state where you're at the keyboard, technically "working," but not producing anything real. It's better to stop, take a break, and come back than to spend three hours in that fog.

Context Switching Is the Hidden Tax

Software development suffers particularly from interruption cost because of how much state you have to hold in memory to make progress. A complex debugging session might require holding a mental model of three services, a database schema, a request lifecycle, and the specific anomalous behavior you're chasing. Building that model takes time. Losing it to an interruption means rebuilding it.

The cost isn't the interruption itself. It's the rebuild. A five-minute Slack message costs you far more than five minutes if it hits during the wrong hour.

I now handle this by:

  • Batch-checking messages twice a day rather than reactively
  • Setting clear expectations with teammates about my response windows
  • Using "do not disturb" modes aggressively during focused blocks

Some teams push back on slow response times. I've found that explaining the reason — "I batch messages so I can do the kind of work that takes sustained attention" — is usually enough. Most people understand once they think about it.

Recovery Is Part of the Work

The other thing I stopped treating as optional: rest. Not just sleep, though sleep is foundational. The smaller recoveries throughout the day.

Walking without a podcast. A meal without a screen. A few minutes of deliberate nothing between blocks of focused work. These feel like slack in the system, but they're actually part of the system.

Developers who run on caffeine and willpower through long days produce code that shows it. The errors are subtler. The decisions are worse. The pattern recognition — which is most of what senior work actually is — deteriorates.

I produce better work in six focused hours than in ten scattered ones. That's not a limitation I'm apologizing for. It's just how attention works, and the sooner you build your schedule around it instead of against it, the better your output gets.


Your calendar is a fiction. Your energy is the truth — and the work worth doing demands you treat it that way.

Scale Your Backend - Need an Experienced Backend Developer?

We provide backend engineers who join your team as contractors to help build, improve, and scale your backend systems.

We focus on clean backend design, clear documentation, and systems that remain reliable as products grow. Our goal is to strengthen your team and deliver backend systems that are easy to operate and maintain.

We work from our own development environments and support teams across US, EU, and APAC timezones. Our workflow emphasizes documentation and asynchronous collaboration to keep development efficient and focused.

  • Production Backend Experience. Experience building and maintaining backend systems, APIs, and databases used in production.
  • Scalable Architecture. Design backend systems that stay reliable as your product and traffic grow.
  • Contractor Friendly. Flexible engagement for short projects, long-term support, or extra help during releases.
  • Focus on Backend Reliability. Improve API performance, database stability, and overall backend reliability.
  • Documentation-Driven Development. Development guided by clear documentation so teams stay aligned and work efficiently.
  • Domain-Driven Design. Design backend systems around real business processes and product needs.

Tell us about your project

Our offices

  • Copenhagen
    1 Carlsberg Gate
    1260, København, Denmark
  • Magelang
    12 Jalan Bligo
    56485, Magelang, Indonesia

More articles

Designing Thread-Safe Classes in Java — Confinement, Immutability, and Synchronization

Thread safety is not a property you add after the fact — it is a design decision made at the class level. Three strategies cover nearly every case: confinement, immutability, and synchronization. Here is how to reason about which applies and how to apply it correctly.

Read more

When Your Feature Works Locally but Fails in Production

You run your code, it works perfectly on your machine. Deploy it… and everything breaks. This is the nightmare every developer dreads.

Read more

Git Reset vs Git Revert: Picking the Wrong One Can Ruin Your Day

Reset and revert both undo changes, but they operate on fundamentally different models — one rewrites history, the other appends to it. Using the wrong one on a shared branch causes problems that compound quickly.

Read more

Surviving Your First Year as a Contractor Without Crying

Your first year as a contractor is equal parts excitement and existential dread. Here’s how to make it through without losing your sanity—or your sleep.

Read more