5:00 PM. Laptop closed. Slack closed. Workday over. Except my brain didn't get the memo.
I'm making dinner, and I'm still half-thinking about a function I left half-refactored. I'm lying in bed, and a bug I never solved wanders back into my head uninvited. Saturday morning arrives with zero meetings, zero tickets, completely open, and somehow by 11 AM I'm three hours deep into my side project again, treating my only unscheduled day like it also needed a sprint plan.
Technically, I'm not working.
I'm still at work. It just moved from my laptop into my head, and it didn't ask permission first.
I think a lot of developers know exactly what that feels like. This happens to me often enough that I stopped assuming it was just a busy week and started actually asking why.
The Bug Comes Home With You
Here's the shape it usually takes.
You spend the afternoon debugging something. You don't solve it. 5 PM arrives. You shut everything down and tell yourself, honestly, "I'll figure it out tomorrow."
Then, doing something completely unrelated: wait, what if the cache is being invalidated before the request finishes?
And you're debugging again. Nothing opened. No editor, no terminal. Just your own head, quietly still running the problem in the background.
The laptop is closed. The problem isn't.
Why Developers Specifically Get Stuck Like This
This isn't really a discipline problem, and I don't think blaming it on "bad work-life balance" gets at what's actually happening.
Most tasks have a natural stopping point. Development often doesn't. A weird bug, a failing test nobody's explained yet, an architecture decision you're not fully sold on, a PR you approved but still feel uneasy about: these don't come with a built-in "done" signal. Your brain keeps trying to complete something it perceives as still open, and it doesn't check the clock first.
Your brain doesn't care that it's 5 PM. It cares that the problem still feels unfinished.
There's real biology behind why this specific kind of unfinished-ness is so sticky. Your body's stress-response system (the hypothalamus, pituitary, and adrenal glands working together, generally shortened to the HPA axis) evolved to handle acute, resolvable threats: something happens, cortisol spikes, you respond, the threat ends, the system resets. Chronic, low-grade, never-quite-resolved problems, the kind a normal sprint produces constantly, don't give that system a clean resolution to reset against. So it stays partially activated longer than it would after a threat that actually concluded.
None of this means something is wrong with you. It means the kind of problem-solving this job constantly generates isn't the kind your stress response was originally built to close out cleanly.
"I'll Just Check One Thing"
This is where it usually sneaks past you.
"I'll just check Slack." One message. "I'll just glance at that PR." Twenty minutes gone. "Let me just try to reproduce that bug real quick." Suddenly it's 7:30 PM and you never actually decided to keep working. You just never fully left.
That's a different thing from choosing to put in extra hours. Choosing to work late is a decision. This is closer to never actually closing the door in the first place.
The Overtime Nobody Counts
Some overtime doesn't happen at a desk. It happens over dinner, thinking through an API design that isn't settled yet. It happens at the gym, replaying an incident from earlier in the week. It happens in bed, remembering the one thing you forgot to mention in standup.
Some overtime doesn't happen at your desk. It happens in your head. None of it shows up in any timesheet, which is exactly why it's so easy to not notice it's happening at all.
"But I Genuinely Like Coding"
Fair pushback, and I don't think the answer is "never think about code after hours."
Thinking about a problem after work isn't automatically unhealthy. Sometimes you genuinely love the problem. Sometimes the actual solution shows up on a walk, or in the shower, completely unforced. That's not the issue.
The issue is when you can no longer choose to stop. When the thinking isn't something you're doing, it's something that's happening to you, on a loop, without an off switch you can reach for.
The Real Problem: No Shutdown Ritual
Most developers have a clear start ritual. Open the laptop, check Slack, check tickets, open the editor, begin.
The evening version is usually just: close the laptop. That's it. No handoff. No capture. No clear boundary marking where today's unfinished business gets parked until tomorrow.
Your Brain Is Not a Todo List
If you leave work carrying "I need to figure out that timeout tomorrow" only inside your head, your brain keeps quietly re-surfacing it, because as far as it knows, nothing captured that thought anywhere safer.
The fix is almost embarrassingly simple: write it down properly before you close the laptop. Not "fix bug." Something closer to: what the problem actually is, what you already know about it, the specific next action for tomorrow, and its current status.
Your brain doesn't need to keep holding onto a problem once you've given it somewhere safe to sit until you're ready to pick it back up.
A Short Shutdown, Before You Close the Laptop
- Write down what's genuinely unfinished. Not in your head, actually written somewhere.
- Write the specific next action, not a vague restatement of the problem. "Check why the retry handler runs twice" beats "fix bug."
- Capture any stray thought that surfaces while you're doing this. Just write it, don't chase it yet.
- Decide honestly what's actually tomorrow's problem versus what can wait longer than that.
- Close the environment properly. Laptop, Slack, editor, all the way.
The goal isn't to forget the work exists. It's to stop carrying it around unnecessarily.
Weekends Aren't Automatically Safe Either
Saturday morning. No meetings. No tickets. Genuinely free time for once.
And then: "maybe I'll just work on my side project for a bit." Suddenly your only unscheduled day of the week has quietly become another sprint, just one nobody assigned to you.
Side projects, learning, open source, experimenting with something new, none of that is bad. But not every free hour needs to turn into another form of output.
The Guilt That Sneaks In
You rest for a couple of hours, and some part of you starts narrating: I should probably be learning something right now. You watch something for fun: I could be making progress on the side project. You just sit outside doing nothing in particular: this feels like wasted time.
When every hour starts feeling like a missed opportunity to improve something, rest stops feeling like rest and starts feeling like falling behind.
The Nuance Worth Keeping
This isn't an argument for building a hard wall between your brain and your work. Some days a bug will follow you home anyway. Some ideas really do arrive while you're making coffee, uninvited and genuinely useful. That's normal, and it isn't the problem this article is about.
The goal isn't a wall. It's a door you're actually able to close when you choose to, instead of one that's been left permanently ajar without you noticing.
Where I Landed
I used to think "switching off" meant everything was finished. Software doesn't really work that way. There's always another ticket, another PR, another bug, another framework worth learning, another way the side project could be better.
If "done" means everything is finished, that day never actually arrives.
Maybe the actual skill was never finishing everything. Maybe it's getting better at deciding which unfinished thing is genuinely allowed to wait.
Your job ends at 5. The bug can wait until tomorrow. The PR can wait. The thing you haven't learned yet can wait. The side project can wait.
You don't have to solve every problem just because your brain happened to remember it at 9 PM.
Sometimes closing the laptop isn't the end of the workday. It's the moment you actually let yourself leave it there.
What's the last work problem that followed you home, even after you'd already closed the laptop? Genuinely curious what that looks like for other developers. 👇
If what you're carrying feels heavier than what's described here, please don't sit with it alone; talking to a mental health professional or someone you trust is worth doing, and it's a sign of strength, not weakness.
Top comments (2)
My shutdown process is simple, say goodbye to my online collegue, then close my woking laptop down, say how are you? to my wife and thats all.
I like that. Maybe the best shutdown ritual isn't another productivity system at all it's simply having a clear moment where you stop being a developer and start being yourself again. 😄