Rands Says Managers Should Develop

Twenty-three hours later the nasty bug is squashed.

Turns out I descended into completing project tasks last week. Generally I get massive pangs of guilt. I know some other management tasks fall by the wayside from that PO I was supposed to fill out for Acrobat to following up with a business manager on a potential new project. On top of that I get emotionally attached to squashing a bug and I typically can’t let it go. The 23 hour bug spanned out over a couple of days of work and some really late nights.

Rands of Rands in Repose explains that despite all the enlightened ideas of moving away from the technical work that you just have to stay in the code:

I’m not wishing confusion and chaos on your team. I’m actually wishing better communication on it. My belief is that if you are building the product and touching the features that you’ll be closer to your team. But, more importantly you’ll be closer to how software development is constantly changing in your organization.

So I’m in good company, as based on his blog alone Rands appears to be a hell of a development manager. He makes four points about what you need to do:

  • Use the development environment to build the product.
  • Be able to draw a detailed architectural diagram describing your product on any white board at any time.
  • Own a feature.
  • Write a test script.

I managed to do all of these suggested items in some form already, I’m a genius!

I run two IDEs currently on my work laptop. One by choice and for productivity (IntelliJ IDEA) and one because all of my developers use it (RAD).

I can whiteboard any of my three big projects right now to some level of detail if asked. The one that I get the architecture least is a 3rd party vendor product and I just need to sit down and actually do some code reading to understand it better. And not knowing it’s architecture in more detail bothers me.

Owning features, that’s just crazy. There’s danger of going overboard here on Rands account, but since my developers are on at least three projects at a time I think owning a feature on each would be pretty much management suicide. The PMs/Scrum Masters on the projects would love it because I’m a ‘free resource’ who isn’t going to bill time against their project. I do my part though with helping out on the occasional bug, keeping the build box running, participating in a code review and on rare moments owning a bug or feature.

Finally, writing a test script on the build is a specialty. I tend to write the actual ant scripts that run our builds, and I maintain the build box running a copy of Hudson. I also manage our code review tool, and hook in Clover and Checkstyle into our builds. I know the code that’s getting checked into source control.

I’m rethinking my little voice that keeps saying, ‘don’t even think about firing up your IDE today, you have 6 meetings to go to.’ Maybe I should finally get around to pairing up with individual developers to go through a TDD exercise for a few hours each, couldn’t hurt.