Tools
Tools: Why Senior Devs Do One Thing at a Time (And You Should Too)
2026-03-05
0 views
admin
Context Switching Has a Real Cost ## What Deep Focus Actually Looks Like in Code ## Code Reviews Are Not a Background Task ## Silence Is Where Architecture Happens ## Four Hours of Deep Work Is Enough ## Direction Over Busyness ## Build the Muscle of Sitting With Hard Problems ## The Practical Version You have a PR open. Slack is pinging. Your manager wants a status update. You're halfway through debugging a gnarly race condition. And somehow you're supposed to do all of it at once. Most developers work this way every single day. And most developers wonder why they feel exhausted but under-accomplished. The answer isn't better tooling or a smarter task manager. It's simpler: do one thing at a time. There's a reason your IDE warns you about unsaved state. Your brain works the same way. Every time you switch from debugging to Slack to a PR review and back, you're not multitasking. You're reloading. You're paying the cost of context restoration every single time. Studies put this cost at 20+ minutes of recovery per interruption. In a day with five context switches, you may have lost over an hour of deep work before you wrote a single line. The damage compounds. Context switching doesn't just slow you down in the moment. It trains your brain to expect interruptions, making it harder to reach deep focus even when you have uninterrupted time. You know that state where the code just flows? Where you're holding the entire system in your head, tracing data through layers, and the solution becomes obvious? That's not talent. That's depth. And depth only comes from sustained, uninterrupted focus on one problem. When you commit to one thing at a time: One focused hour of real problem-solving beats three fragmented hours of half-attention every time. One of the most common ways developers lose quality is by treating code reviews as something to do between other things. A review done in two minutes between meetings isn't a review. It's a rubber stamp. When you give a PR your full attention, you're not just checking syntax. You're thinking about: That kind of thinking requires being fully present. Treat every review as its own focused session, not a notification to clear. The best technical decisions rarely come from a rushed Slack thread. They come from thinking. Real thinking requires silence. It requires sitting with a problem long enough to understand it from multiple angles, to see the tradeoffs, to imagine the failure modes. If you're always reacting, always in a meeting, always half-engaged, you're making decisions with a fraction of your mental capacity. The result is code and systems that work today but create pain next quarter. Block time for silence. Not for meetings. Not for "async communication." For thinking. You don't need to be in the zone for eight hours. That's not realistic, and chasing it leads to burnout. Four hours of genuinely focused engineering work, where you're fully present on one problem, is enough to move almost any project forward meaningfully. The rest of your time can go to meetings, reviews, collaboration, and recovery. The goal isn't to maximize hours. It's to protect the hours that actually matter. Being busy is easy. Git log full, Jira tickets moving, PRs flying. But are you actually building toward something? The developers who grow fast aren't the ones doing the most. They're the ones who know where they're going and make deliberate choices about what to work on deeply. Define your technical goals. What do you want to understand better in the next 90 days? What system do you want to have a genuine mental model of? What skill gap is holding you back? Then protect time for those things. Don't let the reactive work crowd out the work that builds you. The instinct to reach for Stack Overflow, to ask a colleague, to move on to an easier ticket when things get hard, that instinct is worth fighting. The developers who become invaluable are the ones who can sit with ambiguity. Who can stare at a problem that doesn't make sense, stay with it, and eventually find the thread that unravels it. That's a muscle. You build it by not running from discomfort. By spending one more hour with the problem before asking for help. By reading the source code instead of just the docs. One focused hour a day on something genuinely hard, a new concept, a difficult refactor, understanding a system you don't know yet, compounds faster than you'd expect. Here's what this looks like day to day: Before you start: Pick the one thing that actually matters today. Not the most urgent. The most important. During deep work: Close Slack. Close your email tab. Put on headphones. Give the problem your full brain. For code reviews: Schedule them as their own block. Don't review between other things. For career growth: Protect one hour a day for depth. Reading, building, learning something that makes you a better engineer long-term. When things get chaotic: Slow down. Seriously. The instinct under pressure is to speed up and scatter. The move that actually works is to pick one thing, do it well, and then pick the next. The irony of software engineering is that we build systems to handle complexity, but then we try to run ourselves like multithreaded processes without any of the synchronization. You're not a thread pool. Pick one thing. Go deep. Ship it. Repeat. That's how the best engineers work. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse - You stop writing shallow fixes and start understanding root causes
- You read the entire stack trace instead of Googling the first error
- You catch the edge case before it becomes an incident
- You write code that the next developer can actually follow - Does this change fit the architecture?
- What breaks if this assumption is wrong?
- Is there a simpler way to solve this?
- What will this look like to maintain in six months?
how-totutorialguidedev.toaiswitchgit