52 ms·
I suspect that you get this kind of high doing a lot of things other than programming; programmers are not unique in this regard. I'm insanely jealous of peopl
by aaron-lebo 12y ago
I suspect that you get this kind of high doing a lot of things other than programming; programmers are not unique in this regard.
I'm insanely jealous of people who can do stuff like this. I hear stories of people like John Carmack locking themselves away in a room and finishing an entire project or implementing an entire feature in a night or over a weekend. In contrast it takes me days to finish anything, I just don't have the ability to concentrate or care about something that intensely.
Now I understand some stories are embellishments and someone like Carmack just thinks on a different level than most people, but is there a way to teach yourself to be able to engage in these marathon creative sessions or is it something you must be born with?
- wslh 12y agoYou can feel the "programmers high" without being John Carmack. John Carmack has a surplus in other aspects of the craftwork but the feeling of immersion is more related to your concentration capabilities.
- jliechti1 12y ago>> but is there a way to teach yourself to be able to engage in these marathon creative sessions or is it something you must be born with? Anecdotally, I think the answer is yes. Concentration is a skill you can develop like anything else. The kind of high with programming for me is similar to that experienced when rehearsing/performing music. I used to perform on a competitive drumline and we would have 8-10 hour rehearsals on the weekends (usually in 3 hour blocks). One of the main ideas expressed was that if you want to perform at a very high level, and do it consistently, you must always rehearse at performance levels and be hyper attentive to details. These rehearsals were mentally exhausting. But over a few months, my ability to concentrate and to quickly jump into a flow state improved dramatically. One thing that surprised me - after rehearsing with a metronome for that many hours a day and usually at the same speed, say 120 BPM (beats per minute). When we would change speeds, faster or slower, even a 2 BPM different (118 BPM or 122 BPM) felt noticeably different than 120 BPM. After I stopped performing that group, my ability to distinguish these small difference in tempo regressed. I can't do it anymore. A wide gap like 110 and 120 is noticeable (probably even to non-musicians), but not only a 2 beats difference. If you want to try this yourself, get someone around you to go to http://www.webmetronome.com/ http://www.webmetronome.com/ and set it to 120 BPM and 122 BPM and see if you can correctly guess which one they set it to.
- thegeomaster 12y agoI can confirm this. I'm (self-)learning to play drums, and since I'm still a noob, my synchronization of foot and hand is a little off. When I'm just fooling around on the kit, I don't notice these imprecisions. But once I get "in the zone" with a metronome and all, I can tell exactly every time I hit the bass drum a fraction of a second earlier/later than the hi-hat, and the feeling that follows immediately is a slightly unpleasant one, like when you commit a social faux pas. It's a curious shift of perspective, and such hypersensitivity happens to me when I get immersed in code too, so I guess it relates to concentration itself.
- deleted 12y ago[deleted]
- bluedino 12y agoCarmack would actually pack a powerful laptop and go stay in a hotel (in a town where he didn't know anyone) for a week at times, it was the only way he could get away from it all.
- Cthulhu_ 12y agoActually this may be an important factor as to why a lot of people don't experience flow as much as described in the article or by people like Carmack; they have day jobs, family life, 9-5 jobs, that kinda thing. Those things will pull you out of the zone; lunch breaks, stopping for dinner, other people distracting you, etc. I think Carmack (and people like him) grew up in the proverbial basement, where they could spend hours and hours on end with their hobbies without any social obligations; this is where they developed that concentration, and that state of mind and environment is where they return to if they need to work on a big or complicated task.
- pearkes 12y agoIn my personal experience, and from watching others, the lock-in and absorption in your work comes with a succession of tasks and exertion, towards a meditation of sorts. You don't simply "fall in" to this state, but rather makes a concerted effort in reaching it. > is it something you must be born with? A motivation to reach this state, to keep trying and pursuing it, may be a fact of your nature. Or, it is an understanding of what your work will create. Fame, money, fulfillment – extrinsic motivators that drive you towards a definitive conclusion. To meditate in your work might just require you to find your motivator.
- jmatthews 12y agoTo paraphrase the Bhagavad_Gita "you are not guaranteed the fruits of your labor, but you are guaranteed your labor." For me flow is achieved most effortlessly when the problem is interesting and I have the tools necessary to attack it. Extrinsic motivation is simply a non - factor in this case. To the degree that it may or may not exist and is immaterial to the labor at hand. On the purpose of a tight feedback loop. The magic of the repl is a perfect implementation of a flow like feedback loop. Unfortunately my language of choice doesn't utilize it.
- ChuckMcM 12y agoMy challenge is that in my lab there are so many things that are 'calling' that staying focused is a serious challenge and I end up 'puttering' as my wife calls it. For pure software projects taking just enough to get your programming done to an otherwise pristine environment does wonders (I take a notebook with me camping where I am not distracted). Hiding things also helps, things in the visual field that you have to work on or are interesting are literal distractions.
- lilsunnybee 12y agoI've never been able to get into such a state either, with coding or any other such activity. For me the main impediment is almost definitely health-related (narcolepsy), but i wouldn't be surprised if there are quite a few other genetic configurations and circumstances without noticeable health consequences that make such intense levels of concentration next to impossible.
- Double_Cast 12y agoMiyamoto Musashi: > The primary thing when you take a sword in your hands is your intention to cut the enemy, whatever the means. Whenever you parry, hit, spring, strike or touch the enemy's cutting sword, you must cut the enemy in the same movement. It is essential to attain this. If you think only of hitting, springing, striking or touching the enemy, you will not be able actually to cut him. More than anything, you must be thinking of carrying your movement through to cutting him. You must thoroughly research this. [1] I've been able to experience the flow for as far as I can remember. It was years before anyone even told me it even had a name. I've read the wikipedia article [2], but not the actual book. So I'm not an expert. But as far as I can tell, reaching the flow involves knowing your goal, closing the feedback loop, and pouring all your attention toward the goal. For example, consider reading a novel (written in English). Someone who can't read English obviously won't be able to read it. But for someone who speaks English as a 2nd language, sure, they'll be able to read it. But more slowly since they have to think about things which are non-central to reading. Things like syntax, spelling, idiomatic expressions, irregular verbs, conjugations, etc. I.e. the implementation details; the cruft. The non-central things get in the way of the important things, which include semantics, plot, character development, irony, point of view, theme, tone, mood, etc. Personally, I see novels (and sometimes non-fiction) as a gateway. As in a gateway into another universe. Because for one reason or another, I don't struggle at all with piercing through the syntax or get the slightest bit fatigued (though technical documents are different, those take effort for me). But I think that for some people (even for whom English is their primary language), text represents a barrier. "Why not just watch the movie?" Rather than using the semantics to simulate this alternate universe, they get bottle-necked into trying to translate the glyphs. So where I see as an epic space battle, others see an intimidating bulwark of text. Because some people have this mental image, guys like Chris Granger have been trying to figure out how to translate a wall of text like a C source file into a novel's equivalent of a movie. We've gotten a lot of cruft out of the way with higher level languages, but it's not enough because programming still text based. I don't know if it'll work out, but that's the ideal. The second thing is the feedback loop. Feedback has to be immediate. The feedback also has to be exact. I.e. you've got to know your craft better than the back of your hand. A musician will know in real time how well they are performing. They don't just notice the obvious mistakes, but even the minutia like jliechti1 was discussing. And they have to be confident about knowing that they indeed made a mistake so they can immediately act to correct it. The reason feedback comes second is because if you're still bushwhacking through a jungle of cruft, the feedback loop won't ever feel instantaneous. Another analogy is being able to unwind the recursion without having to plug and chug each step. There's simply no effort expended. You can model the function well enough that you can visualize the path it takes, like the chess master could in the article. You simply cut through to the base case. I like the Musashi quote because it perfectly embodies the first two items. The goal is to win the fight. But some people get caught up in thinking too much about the techniques. E.g. parrying is useful. But if you don't understand how to take advantage of it, it's mental cruft [3]. Additionally, if you're not confident, you'll hesitate and probably die. The stakes aren't as high in programming, but the same idea applies: perfect mastery is only a prerequisite to achieving the flow. Third is the focusing of attention. It involves a state of mind where you're naturally able to block out all distractions, and focus everything on the task at hand. This part is a little like falling in love: you can't force it, you have to set the right conditions and pray things simply work out. This part is really frustrating compared to the first two items. You can always review your specs to better understand the goal and constraints, and maybe philosophize a bit. You can always practice and acquire skill in order to better fine-tune the feedback loop. But when it comes to focusing attention, all you can do is remove distractions. Which sounds ironic since "why would I want to block out distractions if I've removed them already?" I don't know how to explain it better, but that's how it works for me. Interruptions are the worst. If you go out to lunch for an hour but you're still pondering the problem, then flow won't necessarily break. But if someone asks you to help them move furniture for 3 minutes, that forces a context switch and everything collapses like a house of cards. Cthulu below mentions something about growing up in the proverbial basement. I think there's a lot of truth to that. Basements = zero distractions. Maybe childhood better conditions some people for the flow than others. But I did notice that once I heard the name "flow" and realized I already experience the emotion on a common basis, I was able to (try to) actively graft it into other activities. I think being able to actively seek it out helps. So I think it's at least somewhat trainable. So here's a recap. In order to achieve the flow: master your craft; tighten the loop; avoid distractions. [1] http://www.uvm.edu/~asnider/IDAS_2011_CD/Teachers/Steve%20Llano's%20Materials/Strategy%20Books/Book%20of%20Five%20Rings%20-%20Musashi.pdf http://www.uvm.edu/~asnider/IDAS_2011_CD/Teachers/Steve%20Ll... [2] http://en.wikipedia.org/wiki/Flow_(psychology) http://en.wikipedia.org/wiki/Flow_(psychology) [3] http://starwars.wikia.com/wiki/Form_III:_Soresu http://starwars.wikia.com/wiki/Form_III:_Soresu