Live data from Hacker News

What it feels like to be in the zone as a programmer

dopeboy.github.io

41–50 of 116 posts

Re: What it feels like to be in the zone as a programmer

#41

I don't think I've ever experienced anything like this. As I practice TDD, my usual workflow is think -> test -> code, code usually being the easiest part. Things like "problems break down instantly", "everything becomes effortless" sound strange and exciting. I wonder how that relates to the concepts of maintainability, cowboy programming and 10x engineer. I've met a few programmers in my career who were able to wri…

I'm one of the coders who will sit down for hours without compiling and end up with working code (doing it right now, I've got a new algorithm which I couldn't wait until Monday to dig into). But there's a process of preparation leading up to that point.

First step usually involves a whiteboard and/or pen-and-paper notes for developing the overall design, data structures and algorithms. Then I'll use hierarchical note taking to sketch out the data structures and algorithms in what amounts to pseudo-code. During that step, I'm constantly looking through any existing source code and repeatedly iterating to make sure all cases are handled.

Then the fun part of walking through those notes and coding out each individual step one by one. That will typically take anywhere from 2-8 hours without touching the compiler (though sometimes, if the changes are incremental, I'll compile occasionally to check for typos). I'll queue up a few albums and/or mixes to help focus and just sort of disappear from the rest of the world.

Re: What it feels like to be in the zone as a programmer

#42

I don't think I've ever experienced anything like this. As I practice TDD, my usual workflow is think -> test -> code, code usually being the easiest part. Things like "problems break down instantly", "everything becomes effortless" sound strange and exciting. I wonder how that relates to the concepts of maintainability, cowboy programming and 10x engineer. I've met a few programmers in my career who were able to wri…

I tend to agree. The times where I've felt "in the zone" have exclusively been in hackathons and school projects. Even when I worked at an early stage startup, I spent most of my time discussing architecture and design patterns. Plus, code reviews need to be less than 500 lines, which lends itself to getting small thought out pieces working and shipped, not long coding sessions.

Re: What it feels like to be in the zone as a programmer

#43
Oh yeah, here comes the zone, here comes the zone, it's taken an hour of intense study of all this code but now I can see all the pieces at once inside my head and I can feel exactly how to thread this code right through the middle of all of it and -

COLLEAGUE LEANS OVER FROM NEARBY DESK IN OPEN OFFICE: "Hey buddy, what's the password for the - oh no, wait I remember."

Wait, what was I doing? What's all this code on my monitors? Why was I looking at any of this?

Re: What it feels like to be in the zone as a programmer

#44

Earlier quoted context omitted.

> It comes and goes, with very little control on your behalf. As anecdata makes the data, here's mine - you have a lot of control of it. If you can control your environment (audio, light, temperature, food, exercise, communication, interaction, ...), you can get in the zone too just by virtue of almost exclusively focusing on some type of work you get in the zone for in the first place. Live by code, die by code.

No amount of control of my environment will put me in the zone when I'm working on boring code. Crud framework? I'll be reading HN while going through the motions. Code review? Time for some stimulating music (though not too stimulating, I do need to pay attention to the code review). But give me something interesting - a real challenge - and I'm able to get into the zone, the hours flying by like they were minutes.…

Psychological flow (the zone) does require a slight challenge. A task that requires you to focus but which is within your capability.

Re: What it feels like to be in the zone as a programmer

#46

I don't think I've ever experienced anything like this. As I practice TDD, my usual workflow is think -> test -> code, code usually being the easiest part. Things like "problems break down instantly", "everything becomes effortless" sound strange and exciting. I wonder how that relates to the concepts of maintainability, cowboy programming and 10x engineer. I've met a few programmers in my career who were able to wri…

I used to work like this, and the reason I was productive is I didn't write tests nor did I have to wait around for the compiler to run every few steps. Being able to visualise the result for your code is something that comes with experience, and usually on the web this is a lot easier when you're applying the same ~10 concepts over and over.

But in a team, I would much rather have someone practice TDD than be perceived as more productive. Your code will stand the test of time and be easier for others to work with, which will cost less down the line (maintainability cost + fixing bugs cost, inevitable and a huge time sink without tests). I am now trying to think in a TDD manner and it's frustratingly slower, but ultimately a lot less stressful when I have something I can point to and objectively say it fits the requirements / business rules.

Re: What it feels like to be in the zone as a programmer

#47

Earlier quoted context omitted.

> It comes and goes, with very little control on your behalf. As anecdata makes the data, here's mine - you have a lot of control of it. If you can control your environment (audio, light, temperature, food, exercise, communication, interaction, ...), you can get in the zone too just by virtue of almost exclusively focusing on some type of work you get in the zone for in the first place. Live by code, die by code.

No amount of control of my environment will put me in the zone when I'm working on boring code. Crud framework? I'll be reading HN while going through the motions. Code review? Time for some stimulating music (though not too stimulating, I do need to pay attention to the code review). But give me something interesting - a real challenge - and I'm able to get into the zone, the hours flying by like they were minutes.…

I'm used to start working at 5am or early... Just to be on the zone without distractions (email, phone... )

Re: What it feels like to be in the zone as a programmer

#48
I started using guarana tablets to help stay 'super' focused, but only when required. I find it helps me a lot with productivity, often 3+ hours of optimum output. No side effects, only other supplements I take regularly are fish oil and I dont drink coffee or energy drinks.

Re: What it feels like to be in the zone as a programmer

#49
I get there as well, but it takes a bit. Generally, the zone hits me when I'm in crunch time and I know that I won't have any meetings for a while. My ideas all work together and if I get stuck on something, it's not long before I can figure it out. I can generally get a ton of work accomplished.

But then, someone knocks on my cube to say, "do you know where the elevators are at?"

Re: What it feels like to be in the zone as a programmer

#50
post #4

I get this too, but it's very draining - similar to doing an intensive workout, or given a talk at a conference. The negatives are obvious; less sociable, more easily irritated, wanting to be by yourself. After you've spent a day in the zone, you're not really "party material". The positive (apart from being very productive) is that I use it to get my negative feelings out of the way - anything that is bothering in m…

> It comes and goes, with very little control on your behalf. As anecdata makes the data, here's mine - you have a lot of control of it. If you can control your environment (audio, light, temperature, food, exercise, communication, interaction, ...), you can get in the zone too just by virtue of almost exclusively focusing on some type of work you get in the zone for in the first place. Live by code, die by code.

As another anecdata, the only way I've landed there more intentionally is with the two beer buzz. Working late on a project that is behind and you grab two slices and a six pack. Two beers in (and one every hour) and all of a sudden you just start tearing through code. I've had this happen to me countless times. I think it is because a lot of engineers have a brain that is spinning 1000% all the time and a couple of beers slows it down just enough for it to focus on what you are working on. All the other distractions fall away.

I feel exactly the same way when I'm white water kayaking. As you are reading the water and choosing your line and focusing on executing it, everything else in life falls away. You almost can't be distracted. The interesting thing is that at the end of a run, I never feel mentally exhausted despite all the intense focus, only physically drained. Of course, ymmv.

Post reply on HN