30 comments

[ 2.9 ms ] story [ 47.3 ms ] thread
I think in a similar way, though from a slightly different angle. For me, the value of stopping on time isn’t just about avoiding overtime — it’s also about not waiting for a clean break.

When I wrap things up too neatly, the next day feels like a cold start, and that makes it harder to dash into new work. But if I deliberately leave a task half-finished, then the next day I can just pick up where I left off and get moving much faster.

You've got good company. Hemingway famously said he always stopped writing for the day at a point where he knew where his story was going next.
I've been doing this for a long time and find it's also a good way to get yourself out of ruts and tar pits; when a project gets really gnarly, you can end up spending most of your time just re-establishing context every day. Never thought of it as a permission structure for closing my Macbook at the end of the day!
The habit is in the 7th paragraph, after 2 images:

> Rather than trying to complete your task in 20 minutes, take this time to write down your thoughts, and a step-by-step action plan of what you think you need to do to finish your task. Then go home. Rest. A feeling of incompleteness will motivate you to come back and finalize your work the next day. Only you will be full of energy, together with a settled plan. No doubt you’ll accomplish your task before lunch.

Sure, write a step-by-step action plan and leave it for

a next fresh new 1M tokens context window.

Yeah well, what can I say ... totally resonates, except that for me, the "getting in the zone" part is most definitely not two hours, rather tends to stretch to 4am if not worse.

And the "write down everything and go home" is:

a) extremely frustrating

b) cant get anywhere near to dumping the amount of context that's flying in my head while I code/build. Most of it evaporates if I don't get to the end.

So ... agree with the problem, really not sure I agree with the solution.

During my previous jobs, i used to use a sort of "end of day review" to see both what i accomplished that day (which made me feel good when i completed things), plus also get allowed me to get ready for what i need to do the next day. I suppose its similar to the habit denoted in this piece; pretty cool!

At my current job, things are messier and shall we say not sustainable - culture is simply toxic. I actually can not do a review...because the moment someone sees that i am still logged on, i get bothered...Mostly this is from folks in other time zones (who don't care that its my end of day...like i said, its toxic here). So, i started doing the review offline, but saw that i needed to be logged on to review stuff...i started jumping through too many hoops to still access info as inputs for review and next-day prep...but appear to be offline...so, instead, nowadays, at a very strict time, i log off, and have abandoned my formal end of day review...I mean i still review my thoughts...but its not as structured, and i don't write anything down...and, i see the difference (sadly)...but, mostly, i just don't like my current job. ;-)

> As a bonus, there is a chance that new, better ideas will come while you sleep or rest.

IMO this feature should not be underestimated. Happens to me semi-regularly.

If the problem is that you get interrupted all day, how does waiting for tomorrow help?
To add to that, leaving something in a very obviously broken unfinished state really helps to jump back into the flow the next morning, or whenever you come back.

I actually find it very hard to do this, to walk away with some code that isn't compiling or a test that isn't passing. It feels like leaving something unfinished.

When you return it's an easy jumping off point, with a tangible goal and helps bring you back into the context.

Reminds me of Cal Newport's "Shutdown ritual" advice. Marathon sessions can lead to burnout. It's better to use time block planning to prioritize the most important tasks. A feature of time block planning is you have to stop working at the end of the aloted time.
I'd recommend one more step - after closing the laptop, bring a notebook and a pen with you.

People often get new ideas or unblocked somehow after stopping the work. If this happens, don't open the laptop again. Write it down.

“20 minutes more and I will finish it,” you think. Obviously, this is not the case; some edge cases and new issues will inevitably arise. You come to your senses only 2–3 hours later—tired, hungry, demotivated, and still struggling with your problem. You just wasted your evening, with nothing to show for it."

I feel personally attacked

It has long been recomended to leave an easy task for first thing so you can get into the flow again. If you solve all current problems it is hard to know how to start again
A mention of the Pomodoro technique is relevant. It encourages 100% focus on work for 25 minutes followed by a 5 minute break where you are forbidden to work at all in any way. You're supposed to tell a joke, stretch, stare out the window, etc. But no meetings, no email, etc. At first I felt a strong resistance to the "stop work" part, often delaying until "one last thing" was done, but I tried it anyway. What surprised me was that without exception, my thoughts and actions were clearer when I took the break. It never really added a delay, and in fact sped me up considerably. I'm not entirely sure why, or whether its true for others, but that disciplined cadence of 25m 100% focus and 5m 0% focus is like magic.
Nearly sixty years of coding under my belt here.

The OP proposes a valid and reasonable pattern.

Nonetheless, not all of us are so wise.

There are dozens of frustrating all-nighters and near all-nighters in my timeline.

And, dotted in and about, there are those several times when, half-asleep, you press the enter key, look up and gasp "OMG, it's working!"

Yeah, this seems adjacent to the imperative to "go home red," ie leave a failing unit test to guide you back in the morning.
When working on a project in Haskell that was a multi-day affair I’d leave with some type errors up.

When you come in the next morning you have a thread to pull on and pick up the work the next day.

There's actually a name for this. It is called incubation.
Reminds me of the quote (attributed to Abraham Lincoln by the meme culture), “Give me six hours to chop down a tree and I will spend the first four sharpening the axe.”
For me, my real day starts after work is over. That is when the meaningful part happens. And if I am going to accomplish much that night, I need to arrive home knowing exactly what I need to start with, and do it. This is similar to Paul Graham’s saying that the people who get things done wake up knowing the one thing they need to do. Trouble with my evenings, though, is that my commute home and usage of the restroom have a way of draining all of my motivation and energy.
> Writing down the next steps helps to clear your mind after a workday. You write and forget about your work until the next morning.

Another reason, which may be obvious, is that the notes help ramp you back up that next day.

> take this time to write down your thoughts, and a step-by-step action plan of what you think you need to do to finish your task.

I suppose it varies by individual. Jot down helpful notes (maybe in the issue-tracking comments for the task) that are already easily in mind, but maybe don't think through the step-by-step so much that you get your brain further into that space. If your goal is indeed to have your evening free without being a zombie with your head still stuck in your work.

Go for a quick walk. I realized this after fighting something for a few hours, then figuring it out on the walk out the door to go home several times.
> A feeling of incompleteness will motivate you to come bac

Yeah this is exactly it but I cannot relax or sleep or anything when I have a bad case of that "incomplete" feeling. So I try not to get too embedded in code at all these days (I'm old and dont work for crazy startups anymore). But got pretty coded up this week and was all grumpy last night in one of those "just 20 minutes more" situations (which yes kept me coding til about midnight).

I leave my work session at a `git add -p` invocation. Next morning I tab through that to get started. If I start at a clean terminal in the morning, it ends very badly - either I `cd dotfiles` and start tinkering and wasting time, or I start reading something online. As long as I start 15m before my teammates, I can get it past CI and up for review in the morning for them - same effect as if I had made the PR ready the previous evening.