Wednesday, 17 December 2008

Flow

There’s all kinds of advice around for career development in IT (career calculus, coding horror, red queen) but if I really think back to projects that have gone well when I’ve received a pat on the from the boss du jour – it seems effortless. I haven’t waded through treacle and hacked away the woody vines of confusion to get the outcome – it’s just happened. I’ve felt energised, focussed, in the zone – I’ve been in flow

Flow is a psychological state when concentration is easy. It’s the time when you lose yourself because the task is so absorbing. It’s the time when you look up and everyone has gone home except the office cleaner and you didn’t notice. It’s the time when you LOVE your job. I contend that to truly be a great developer you should aim to spend as much time as possible in the groove i.e. in flow.

There are certain things from a task perspective that can encourage this. The task should be challenging without been overwhelming. It should have immediate feedback (software development provides this in spades), have a clear goal and you should have a measure of control over it.

Unfortunately many of us for much of the time don’t have control over our individual tasks at work. So are there ways an individual can broaden there capability to go into flow? Michael Buffington gives some tips but interestingly practicing martial arts, yoga or meditation have been linked to increased flow states. So if you want to do well in your job you could work late, read a new text book and offer your wash your boss’s car. Alternatively you could take up karate, buy a yoga mat or meditate before work.

No comments: