On programmer productivity and hairy quadrupeds
2009-11-05 21:16
This day concluded with a special topic. Neal Ford gave a talk about being a
productive programmer; something close to the heart of every programmer capable
of reflection (pun intended).
Did you know that it is faster to type
than navigate to files in directory trees using file browsers and finders? Yep,
I'm talking about the power of the old UNIX command line. Neal's advice is: use
an content indexer program to be able to navigate to any file, anywhere. Better
still, build one (you're a hacker, right?). Here we have something
essential:
When you 1) acknowledge a problem; 2) begin to treat it
like a 1st-class problem, two thing happen. First, you begin building long-term
assets out of throwaway scripts. Secondly, you end up with 1st-class tools!
(Just take the example of Neal's book, The Productive Programmer.
Originally a collection of all-around scripting recipes, it developed into a
book about productivity when Neal realized this "recipe list" wasn't something
he himself would be interested in reading).
Automate tasks whenever
possible and use version control. (Hint: Git is good). Start the day with 2
glasses of water (OK, this one is from me, not Neal).
Have a "focus
strategy" when you can work uninterrupted for the time it takes to achieve flow
with whatever you're working on. "Flow" is the state of complete immersion in
the task, when the most challenging becomes most enjoyable. Don't interrupt
this by checking email - you'll be wasting hours of productivity. Instead,
allocate time to reading emails and do this in batches, as a 1st-class
activity. So rather than disrupting the flow of work with email, read email
during a certain time and achieve flow with that! What a nugget.
Fail fast, fail spectacularly. Fail with your computer exploding, if that's
what it takes for you to come face to face with your problem. That way you'll
improve sooner and more thoroughly.
And above all, don't shave yaks.
You'll have to attend a talk by Neal Ford to find out what that means.




