Posts The Zone
Post
Cancel

The Zone

A few months ago I read the Clean Coder by Uncle Bob. Overall I found the book very useful and relatable and I decided to improve my professional ethics by incorporating some of the advice mentioned in it.

There is one section titled ‘The Flow Zone’, which many readers have divided opinions on. Uncle Bob strongly advises that developers should avoid getting into the zone. He defines the zone as a ‘mild meditative state in which certain rational faculties are diminished in favor of a sense of speed’. He goes on to say that the dev loses a bit of the bigger picture and often has to revisit the code, that was written while in the zone.

Until I read the book, I enjoyed the euphoric feel of being in the zone without a sense of guilt, as I was able to ship more code than otherwise. I didn’t think there was any limitation to this approach because I included testing as a part of the process.

Recently I realised, when I’m in the zone, my design capabilities go straight out of the window - I had to revisit a piece of code I wrote while in the zone, because it only addressed the happy path. The software failed in some of the edge cases, most of which I would have realised if I was going at a lesser speed and compiling in my head. BUT, I did ship the happy path quickly and accurately, which is what I had set out to implement. The revisit was to tackle some of the design time issues.

Ergo, I still believe being in the zone is not a limitation per se; it is true that it is a mild meditative state and that is the advantage of being in the zone as it helps you focus on a single aspect and doesn’t let your mind wander. So I try to overcome the limitations of not having a sense of the bigger picture by designing all the edges cases using sequence diagrams and flow charts, before starting to write code. Once I feel satisfied with the design, I plug in my earphones, crank up some high tempo Rock/Metal music and aim to achieve the programmer’s euphoria.

The book does come with a disclaimer that a lot of the advice draws from his personal experiences and hence biased. Like I mentioned before, there is a lot of splendid advice available in the book, which I find myself going back to refer every now and then.

This post is licensed under CC BY 4.0 by the author.