Hacker News new | past | comments | ask | show | jobs | submit login

I actively like being distracted when I'm programming. I tend to approach a problem from lots of different directions, each time fizzling out, hitting a block or having some sort of mental reset, until something unconsciously clicks and an overall structure, understanding or solution emerges. Continually leaving and returning to the problem is a part of that process, so I tend to find someone walking up with a question rather welcome. The biggest and most effective leave-and-return is of course to sleep on it, and it's rare that I go to bed with a problem at the back of my mind and don't wake up with at least a new approach or insight.

I have to be careful, though, as I'm aware most of my colleagues don't feel the same way about interruptions.




Indeed, this seems unusual in programmer land. As evidence we have a thread like the current one reaching the front page several times a day.

But your way is also my way. I am active in a very wide array of topics, and happy to flit between them. Sometimes I dive deep, but it's usually in a critical moment of synthesis when ideas developed over months or years come to clarity and I put them to action. This is working extremely well for me. I lack nothing and am at the absolute cutting edge in every topic I'm pursuing. Of course this is my opinion but it's sufficient to say that I'm happy.

It is sad to see how many people are made uncomfortable by interruption. It's the stuff of life, social life at least, and exactly what makes being human in a dense society so wonderful. I feel it represents a fundamental discomfort with being in situations out of one's control. But, that's the core of life. And for me it's where all the creative energy comes from.

edit: Reflecting on John Carmack and his big monitor. I habitually work in single window terminals with relatively low row counts and big fonts. I seem to be unable to get a benefit from seeing more stuff all at once.

edit2: And in terms of getting into flow state, for me it is always basically instantaneous. The flow is just sitting there under a few seconds of pause. Of course sitting at a computer or phone will cause wandering distraction at times, but if work is in play I can start driving at full speed in what would typically be seen as a horrifically uncomfortable position. Imagine a long distance train with two children jumping on you... If I can see my laptop and the kids at the same time, I'm flowing. I think this might be neurological somehow, due to training or genetics. It's unclear.


> It is sad to see how many people are made uncomfortable by interruption. It's the stuff of life, social life at least

A key concept from the book "A Mind for Numbers" is the difference between "focus mode" and "diffuse mode" thinking.

Focus mode is essentially a concentrated flow state and diffuse mode is a relaxed state, open to distraction and creativity.

Both modes are necessary for effective problem solving but my issue is an abundance of distractions which keep most of us stuck in the diffuse state and no time in the focused state.

> And in terms of getting into flow state, for me it is always basically instantaneous. The flow is just sitting there under a few seconds of pause.

Rare, for most people it takes 20 minutes. If I get equally spaced out distracting emails I will spend no time in the flow state at all.


> Reflecting on John Carmack and his big monitor. I habitually work in single window terminals with relatively low row counts and big fonts. I seem to be unable to get a benefit from seeing more stuff all at once.

I think this may be a variation on the "same" thing. For me, I only look at code or the UI output, or the requirements, or a database query at any one time.

But... I really like if the code is always in the same place, and the output is always in the same place, and I can just look between them if I'm thinking about how and why the code is resulting in the thing it is. But I know where each of those things is at any time, and it might only be a glance away, or an alt-tab away.

(For me, it's 2 27" QHD monitors rather than one big or small monitor.)


That’s quite the claim regarding flow. Invaluable to you if so, but my question would be, how are you defining it? You mention having an eye on your kids, but flow should completely tune out everything other than the precise problem at hand.


It's the 5 minutes in Pomodoro.

Stand up, walk away. Don't engage in a seperate source of context.

Brain dumps short term memory long term memory.


I wanted to reply to this because I'm similar. I don't mind distractions, they don't really cause me issues, and it's always part of the job!

I haven't been in a programming 'flow state' for many years, maybe last in college. It just doesn't happen to me anymore. Programming for me has changed a lot in that time. Most of the typing work is done by an LLM or a contractor/jr. I suppose the opportunity for 'flow' is gone or much less. Additionally, well designed code is easier to reason about and requires less context in most cases.

I think many people are too rigid in their meta-thinking. No, not all programmers fall into flow, not all programmers hate distraction, not all programmers have the "standard" deep/shallow thinking dichotomy. Each of these is probably a spectrum, and are effected by changes based on too many factors to enumerate.

Do what works for you, and read these kind of articles with a skeptical eye. Especially since this article is from "contextkeeper.io" and "Rebuilding the Context" heading is just an ad lmao


> Most of the typing work is done by an LLM or a contractor/jr.

Basically you're not a developer but pretend to speak for developers.


Have you considered a leadership role? It occurs to me that if flow is the natural state of programming, and interruption the natural state of business, then someone has to be able to bridge those states. Preferably someone who understands the subject matter and can prevent the software team from becoming an isolated silo.

I also do OK with interruptions, and have found a role where I'm not programming 100% of the time, and the subject matter itself -- doing experiments and hardware testing -- doesn't really lend itself to flow anyway. But being able to program means that I don't have to interrupt the programmers every time my requirements change, which can happen on an hourly basis.


Same. If I stare at the same issue for more than 15 minutes I'm probably going in loops and not recognizing it. Get up, walk around, go outside even. Answer will frequently present itself the minute I get back into it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: