TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A trick to reaching flow: Leave your work broken

572 pointsby nateabout 2 years ago

60 comments

JohnFenabout 2 years ago
I've been using this "trick" for many years. An old mentor taught it to me, but he called it "park facing downhill". The idea is to leave the workday with the work in a state where there's an obvious and easy task to start the next day with, like parking your car facing downhill so that gravity will get you rolling before the engine is up to speed.
评论 #35458391 未加载
评论 #35460025 未加载
评论 #35466248 未加载
评论 #35457401 未加载
评论 #35465434 未加载
评论 #35458293 未加载
tylerc230about 2 years ago
If I need to stop in the middle of something, I’ll often write directly in the source code, at the point where I stopped, exactly what I was working on and what to do next. I don’t comment out these instructions to my future self so when I sit down next, the project won’t even compile.
评论 #35463802 未加载
评论 #35465999 未加载
评论 #35464207 未加载
评论 #35464658 未加载
评论 #35466940 未加载
评论 #35465126 未加载
评论 #35468046 未加载
gavmorabout 2 years ago
&quot;Go Home Red&quot; is a slogan I&#x27;ve heard tossed around the length of my career, meaning &quot;leave a unit test failing overnight.&quot; It&#x27;s trivial if you&#x27;re practicing TDD, since most of your time is spent coding against a failing test. A failing test really expands your short-term memory, ameliorating interruptions like meetings, Slack messages, and having a life.<p>Regarding open loops &quot;living rent-free in my head,&quot; preoccupation with work outside work can certainly be a health hazard, but I have never found `git push` to reduce those ruminations. If engaging hobbies and loving community don&#x27;t do it for you, maybe some mindfulness meditation might help &quot;let it pass.&quot;<p>That being said, I am not super disturbed if even my dreams are infiltrated by the dayjob on occasion; I don&#x27;t bill hourly.
评论 #35461107 未加载
RockyMcNutsabout 2 years ago
Never stop until you know what you are going to pick up with next.<p><a href="https:&#x2F;&#x2F;www.fastcompany.com&#x2F;3021905&#x2F;hemingways-secret-to-maintaining-productive-momentum" rel="nofollow">https:&#x2F;&#x2F;www.fastcompany.com&#x2F;3021905&#x2F;hemingways-secret-to-mai...</a>
评论 #35457895 未加载
评论 #35458740 未加载
评论 #35456992 未加载
评论 #35456848 未加载
nicbouabout 2 years ago
It&#x27;s too effective.<p>I end up sitting at my computer to watch a movie, and end up finishing work in the evening. I&#x27;m nerd sniping myself, and it&#x27;s not healthy. Then in the morning the madness continues.<p>I want to make room for other things in my life. I have to Cm+Q everything in the evening.
评论 #35461847 未加载
评论 #35462076 未加载
评论 #35466616 未加载
stephc_int13about 2 years ago
This trick is also known as the Hemmingway rule.<p>It is a way to fight anxiety by starting with something your brain is convinced it can get done easily. And then get the ball rolling thanks to the increased self-confidence.<p>The opposite is finishing your day on something painfully difficult and not solved.
评论 #35462084 未加载
manmalabout 2 years ago
Instead of “&#x2F;&#x2F; TODO” I just add “TODO” or “asdf”, suffixed with a short description of the next thing I’d like to tackle. That gives a compiler error so I can find the relevant line very quickly next time I work on that project.
riemannzetaabout 2 years ago
“Stop in the middle of a sentence, leaving a rough edge for you to start from the nest day – that way, you can write three or five words without being “creative” and before you know it, you’re writing.” — Cory Doctorow
评论 #35466851 未加载
karaterobotabout 2 years ago
&gt; Exiting after hitting a “neat” stopping point - unless the task is done, leaving the system &#x2F; code too clean makes it hard to know what to work on next. While it’s really tempting to try to stick the landing on an internal milestone, it can often be more productive on net to stop just short of a neat milestone as an onramp to your next coding session.<p>I have heard novelists talk about similar strategies: end your writing day knowing what the next thing you need to write is, but not actually writing it. So, the next day, you can sit down and get going immediately, and use that momentum to launch you into that day&#x27;s work.<p>I think I do the opposite. I most often reach a flow state when there&#x27;s something wrong, and I&#x27;m trying resolve it. It&#x27;s repairing the broken state that absorbs me. When I get to that resolution, the challenge is having enough self-awareness to stop: I look up, and afternoon turned into night, my shoulders are cramped, my neck hurts, but hey why not keep this going?<p>Even after resolving the problem, the <i>overall</i> state of the application is still &quot;broken&quot;, i.e. incomplete, so I always have something to bring me back.<p>The thing for me, as a former-professional programmer, current hobbyist, is that it&#x27;s easier to reach a flow state if you care about what you&#x27;re working on, and get wrapped up in it. If you&#x27;re working on some corner of an application you don&#x27;t care about except for the paycheck, you probably have a harder time getting motivated. So, what works for me may not work for everybody.
whatever1about 2 years ago
Another hack I had read about and found out it works for me is to write down any distracting thoughts while trying to focus.<p>Many times, when I try to focus on a particular task, I get ideas and questions about tangible or completely irrelevant (we need to buy bananas) topics. My primitive brain would drive me to first complete these irrelevant tasks first to get some dopamine reward.<p>Now I always have in front of me a small piece of paper, and when some distracting thought like that hits me, I just write it down, and I reassure my brain I will get back to it once done with the main task I am trying to focus on. It is nice to have these written down because I can completely empty my brain of them.<p>I know it is stupid, but it works for me :)
DevKoalaabout 2 years ago
You’ll never be able to exist outside of work if you follow this advice. There is a mental burden to leaving things broken; if you really care, you’ll spend your cycles thinking about what is next and how to solve it. From experience, I don’t recommend it.
评论 #35459455 未加载
curoabout 2 years ago
Similar to this &quot;leave things broken&quot;, I like to start the day with some lightweight refactoring. This allows me to pay down technical debt while I warm up my brain to the code.
评论 #35458146 未加载
andorovabout 2 years ago
Hemmingway would leave off writing for the day in the middle of a sentence for the same reason.
评论 #35457563 未加载
chatmastaabout 2 years ago
This is one of the only weird tricks that actually works. I don&#x27;t remember where I originally got the idea, but as soon as I saw someone point out that it works, it seemed so obvious. I&#x27;ve been doing this for years.<p>When I get into a slump, it&#x27;s usually because I finally finished something, and then woke up the next morning not knowing what to do.
franky47about 2 years ago
A side effect of this technique is that the &quot;obvious next step&quot; to fix the broken code left over lives rent-free in my mind until I can come back to it.<p>For some people, leaving things in a broken state when the solution is known is an itch begging to be scratched.
JoeAltmaierabout 2 years ago
My old colleague Mike Rowe said it this way: &quot;Always leave it compiling&quot; meaning, make a change and don&#x27;t test it, just start the build and walk away. So when you returned you had something to dig into (didn&#x27;t build, or did and needs trying).<p>Also, you had a good feeling that maybe what you just tried will fix the problem or whatever. So you don&#x27;t go home frustrated and depressed.
评论 #35459353 未加载
janciabout 2 years ago
Ohhh, this makes sense. I must try that. Up until now I was doing the exact opposite - trying to finish the task or at least drive it toward some clean state. Mainly to not block others if I am close to completion.
评论 #35462464 未加载
sacrosanctabout 2 years ago
My trick is to get outside my comfort zone when coding, but only just enough that&#x27;s it&#x27;s tolerable and not overwhelming. Most of the time, even as a seasoned coder, I should feel inadequate, yet still up to the task at hand. That&#x27;s what flow is for me: pushing myself, but not too far that I end up falling off the proverbial cliff.
fastballabout 2 years ago
This is what I do with writing most of the time. There is a tool[1] I&#x27;ve used on occasion that (in a certain mode) forces you to write non-stop without being able to look at what you&#x27;ve already written, for a certain amount of time. Whenever I need to knock out a rough draft for something and am feeling a bit stuck, I reach for this.<p>[1] <a href="https:&#x2F;&#x2F;www.squibler.io&#x2F;dangerous-writing-prompt-app" rel="nofollow">https:&#x2F;&#x2F;www.squibler.io&#x2F;dangerous-writing-prompt-app</a>
m3kw9about 2 years ago
“ Before stepping away, leave the code in a state where it is Obviously Broken, but Easy to Fix. ”. So purposely introduce a break that you can fix would work just as well?
评论 #35458467 未加载
gwamboldabout 2 years ago
Leaving a failing test clearly pointing at what to do next has been very effective for me.
评论 #35459865 未加载
DelightOneabout 2 years ago
I usually add a line with a plain &quot;todo&quot; to break the build and afterwards a three-line comment describing what is supposed to change. At the end of the change I remove the todo-line and move the three-line comment to the now-better location as documentation for why that code there is the way it is.<p>When I don&#x27;t have such comments, its usually back to the collection of design documents thinking through the next feature.
JonChesterfieldabout 2 years ago
Leaving a test broken that is going to be straightforward to fix does help me pick up the pieces again the next day. A next steps text file helps too.
评论 #35458403 未加载
rendallabout 2 years ago
I thought the consensus was that &quot;flow&quot; isn&#x27;t actually all that great. If you&#x27;re writing code while juggling multiple difficult concepts in your mind at once, your code will be difficult to follow. While in flow, you tend not to take the holistic, bird&#x27;s eye view and so work harder, not smarter.
评论 #35463594 未加载
vishnuguptaabout 2 years ago
This resonates with me.<p>For about 18 months I commuted to work through public transport and I had to adhere to bus&#x2F;metro timings or risk reaching home couple of hours late and earn the wrath of family. This meant two things 1) I drastically cut down on non-productive tasks while at office and 2) I often had to get up from desk with solved but half-finished work. So when I reached work the next day I didn&#x27;t have to think what to do, I had an extremely well scoped work to start the day. It&#x27;s as if a chef walking into kitchen finds all the cutting&#x2F;dicing done and recipe laid out in front, he just needs to start cooking.<p>The net result being it was perhaps the most productive period of my career and it coincided with the hyper growth phase of the startup I was working for.
butzabout 2 years ago
I like leaving some easy finishing touches at the end of the day, so next morning starts with a quick win and morale boost. Or even leaving in the evening with no idea how to solve the issue, usually solution comes itself until next morning.
bhu1stabout 2 years ago
Nice trick.<p>For me it&#x27;s little different. I usually divide the work into small chunks and tackle one by one. I may work on task 1 and 2 and leave task 3 untouched for next session. This has worked for me pretty well to get started the next session.
fsckboyabout 2 years ago
I can follow OP&#x27;s argument, but it doesn&#x27;t work precisely that way for me. I like to start in the morning with a clean build. Then I can set off to make major changes, knowing that everything that goes wrong, what I just did had something to do with it. The work will inspire new ideas (which I jot down to not forget, but stay on track) and I work till I get back to a clean build again. I want the complex flow-state in my head to be related to what I&#x27;m working on in as short a time-span as possible. New ideas can wait for a new day.
stefandesuabout 2 years ago
&gt; leaving the system &#x2F; code too clean makes it hard to know what to work on next<p>I&#x27;ve heard about the idea in this post often in other contexts (e.g. writers stopping in the middle of a sentence), but I&#x27;ve always been the type of guy who likes everything to be clean when I stop for the day. But that does indeed make it very hard to know where to start the next day (or even worse, two weeks later when coming back from vacation). Sometimes it takes me days to get back into the work and it doesn&#x27;t feel good.<p>I will definitely try this out.
trc001about 2 years ago
In academic or research work this can be tricky because sometimes you put something down and can’t come back to it for a week&#x2F;month. At that point, this trick is more of a hindrance than anything…
dopidopHNabout 2 years ago
No idea if it’s true but I’ve read that Michelangelo was using the same technic while sculpting.<p>At the end of the day, make a big ugly dent somewhere in the stone, that makes him want to fix first thing the next morning
imjonseabout 2 years ago
Maybe off topic, but it&#x27;s weird to see a post about flow and distraction start with a completely unrelated splash image as many posts do these days.<p>Are there studies linking this with better recall&#x2F;comprehension or is it SEO related&#x2F;purely aesthetic&#x2F;trendy? It makes the posts signal &#x27;I care about this&#x27; a bit more than your old school livejournal text only content, but I suspect in the vast majority of the cases it correlates with superficial and weak content.
评论 #35464434 未加载
23B1about 2 years ago
Yep, I use this in writing. Leave that juicy scene until tomorrow, so I jump out of bed instead of slithering to the coffee machine while building a list of excuses in my head.
totalhackabout 2 years ago
I don&#x27;t necessarily do the &quot;broken&quot; part but always leave a note or marker for myself about where I left off (with special syntax highlighting). I write out thoughts and options as I go in my org file notes so it&#x27;s useful for rehydrating when I come back.<p>Tangential trick: walk away more often, especially when in the more intense problem solving or architectural phases.
furyofantaresabout 2 years ago
I usually just type a couple english words in the source file so that it won&#x27;t compile when I pick back up and immediately draw my attention to where I was last typing.<p>It&#x27;s basically the simplest possible system, and I find not only does it mean I can get started right off when I come back to it, I also have no hesitation to start something I won&#x27;t be able to finish before getting up.
domhabout 2 years ago
This is exactly what I do! I just came back to a repo I haven&#x27;t worked in for a couple of days, checked out my working branch, ran a `git stash pop`, ran the tests and there&#x27;s a failing test case waiting for me to fix. Feels good to know exactly where I left off before.<p>I also often leave a &#x2F;&#x2F; TODO comment with some rough bullets for next steps. Works for me!
prashpabout 2 years ago
This is good general advice, but there are situations where it doesn&#x27;t always work. Sometimes I&#x27;ve come back the next day, finished the thing I was working on within 1 hour and then I get stuck for the rest of the day trying but failing to be productive. Maybe it would have been better to finish the day before and taken the next day off?
aleksiy123about 2 years ago
This makes sense. But does anyone else have problems with disconnecting when I know what needs to be done.
评论 #35459508 未加载
tchock23about 2 years ago
This is a variation of the Zeigarnik Effect for anyone interested in the why behind it.<p><a href="https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Zeigarnik_effect" rel="nofollow">https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Zeigarnik_effect</a>
humanpotatoabout 2 years ago
I realized this trick a while ago. As an engineer I will sometimes leave stuff disassembled on my desk to end the day if I was working on it, so the next obvious step in the morning is to re-assemble it and keep testing.
z3t4about 2 years ago
When I&#x27;m in a flow and get interrupted I write &quot;I AM HERE&quot;, so the next time I try to run the software (which can be hours to weeks later) I get an error on that row and hopefully remember what I was working on.
Mystery-Machineabout 2 years ago
The way I do it is I try to stand up as soon as my pomodoro timer is done. I do finish the sentence &#x2F; line of code or write a comment how to continue, and then I get up and take a break.
thatxlinerabout 2 years ago
There is actually a similar technique for writing: leave your writing halfway, where it’s obvious how to continue. That way when you come back, you’ll continue writing.
drewcooabout 2 years ago
Rediscovering the state of things and being in flow are very different things.<p>The author is entirely right about a trick to recover context.<p>But I&#x27;m not sure he&#x27;s ever experienced flow.
jeremyjhabout 2 years ago
If nothing else I leave a test with a description and an `assert false` statement to fail it. Preferable is a test that actually fails for the right reason.
atentatenabout 2 years ago
I typically use personal &quot;Did do&quot; and &quot;To do&quot; notes to leave myself breadcrumbs as to where I left off and where I should start again.
评论 #35458534 未加载
TrevorFSmithabout 2 years ago
I just leave myself a note &quot;This is where you stopped&quot; and a quick description of the next step. No thinking needed on return.
jasfiabout 2 years ago
You can have ideas for productivity that only make sense in the moment when you&#x27;re in a state of flow.
swayvilabout 2 years ago
That&#x27;s big.<p>If you can leave your work broken then you level up. Translate to a higher plane. You are, in a way, free.
paxysabout 2 years ago
If I did this I&#x27;d spend most of the next day trying to figure out what was broken and how to fix it.
AnotherGoodNameabout 2 years ago
It&#x27;s exactly why certain games are really addictive.<p>There&#x27;s always something more that needs to fixed.<p>Looking at you Factorio.
rickrollinabout 2 years ago
I actually started doing this thanks to a book called Rest. In general it is a really good book.
bufordtwainabout 2 years ago
I use a physical notebook and at the end of each day I write down what needs to be done next.
geodelabout 2 years ago
Yeah, I leave my code with compiler error, so I can come right back to it later.
cachvicoabout 2 years ago
I just remove a semicolon.
KingOfCodersabout 2 years ago
Additionally add a failing test, start with the test next day.
eur0paabout 2 years ago
Kind reminder that you&#x27;re on borrowed time here.
justizinabout 2 years ago
i love this, i often try to wrap things up 100% while in flow and sometimes end up screwing things up. this makes perfect sense.
lukasbabout 2 years ago
So yeah, good news about that ...
stanislavbabout 2 years ago
That actually works.