Finding Flow: writing vs. coding

When I first started to learn programming, about 15 years ago, I remember being surprised at how easy it was for me to get focused and stay focused.  I loved (and still love) the feeling of getting lost in a project, and could easily spend hours upon hours “in the zone”. No procrastination, no resistance, only focus and enjoyment.  It was easy for me to find Flow.

Part of why this surprised me so much is that I had always struggled to achieve (and still do) a similar state when writing.  Dating back to the first paper I ever wrote (maybe 4th grade? Certainly 6th grade), the feeling I most associated with writing a paper was terror, dread, resistance, and avoidance.  Procrastination station.

Programming and writing are pretty similar activities, so I often think about what makes programming such a joy and writing such a chore (for me at least).

Recently, the answer has been revealing itself to me, as I’ve been seeing a mindfulness therapist. Mindfulness centers around the practice of noticing your thoughts — developing a kind of “meta awareness” — so that you can then develop more control over how you react to your thoughts.  In other words, often times, the thing that troubles us isn’t our direct experience, but rather our reaction to that experience.  Mindfulness (at least at the stage I’m at) helps you distinguish between the two.

So, as I’ve been working on the mindfulness practice, and at the same time working on a few long-form writing projects, I’ve been paying a lot of attention to that moment when I find myself resisting the task.  When that feeling rises up in my belly that pushes me to turn away, break focus, check my email, snap out of whatever Flow I may have achieved.

And each time that happens, I’ve been trying to take a second and examine that feeling, try and figure out why I’m pulling away — trying to notice what, exactly, is going on.  It’s a really odd thing to do, and is pretty illuminating.

As far as I can tell so far, the difference between writing (where I feel the constant pull of avoidance) and coding (where I easily melt into Flow) is a certain form of terror, of not knowing “the answer” — whether that’s a certain wording, and idea, a structure, etc.  Whereas with coding, I don’t expect to know the answer, and bring wrong (try, break, repeat, repeat) is just part of the process.

Also, I often get intimidated by the scope of a writing project, whereas it’s easier for me to tackle programming work in pieces, so no one piece feels looming and huge.  Recently, I’ve been trying to focus my time on smaller pieces (now I’m going to focus on the outline, now I’m going to flesh out the second section, etc), and have had some success.

I am curious if others see this the same way, and/have techniques that work for them?

The thing is: writing is powerful, exciting and fun, if I can just get over the hump, and then stay in the zone.  So this is something I’m going to keep working on.

P.S.: other places I’ve found flow: skiing, cooking, doing carpentry/construction work, singing, playing drums, building powerpoint decks, talking on panels at conferences.  It sure is a good feeling.

4 comments on “Finding Flow: writing vs. coding”

I think flow requires focus. If you lose focus, perhaps when writing by becoming distracted by a new thought or doubt about the direction you’re taking, you lose inertia and become mired in thought, exiting flow.

Outlining is a good way to map out your path before wordsmithing and stay focused. Some don’t need to outline as much when coding as when writing. I’m like rhat too, though flow arises for me when doing both tasks, but writing disrupts my flow more easily too. Perhaps it’s because that language is much richer and more powerful. :-)

I found this while googling about flow and meditation as I’m writing up my own notes on this. As a software engineer, flow is my old friend. Meditation is very new to me but the more I do it the more I draw parallels with the flow state achieved while programming, or drawing.

You mentioned the intimidation of a large writing project. This is almost certainly why you find programming easy to drop into, while writing takes a little more effort. I say this having the same experience. For me, coding is easy to start because I have all of the necessary tricks up my sleeve to quickly break the project into digestible tasks, slowly abstract away the details, then work up to the higher level structures.

Everything I’ve read on writing seems to be similar. Writers seem to follow exercises and build writing habits that let them jump into writing much more easily. When I wrote my PhD thesis I read an excellent book, “How to Write a Thesis”, which really pushed that writing needs to happen from day one. You write frequent and small blocks of text, dumping as much content from your brain as you can each time. This puts on paper your blocks of text, which I would say approximates the small functions of classes you produce when jumping into coding problems. Once this is done you can focus on the higher level things, the arguments, the ordering of paragraphs, chapters, and so on.

I also love to see artists and how they work. My favourite example is Escher, but you can find examples in galleries all over the place. My own imagination tells me they create these master works in one shot by invoking genius. When you investigate you’ll see they usually have months of sketches and experiments, perhaps focusing on only tiny areas of the eventual painting. In Escher’s example, he would draw endless sketches experimenting with various perspective tricks, or much larger ones that experiment with the eventual layout of the whole piece.

When it comes to mediation and entering flow, I don’t know the true answer. But I would hazard a guess that the exercises taught are very similar in nature. Achieve small goals that help you focus and enter that state of flow.

Comments are closed.