It seems that a lot of my Meditations
are focussed on how to become a "faster
", "more productive
" programmer. So I just finished having a conversation with my supervisor to try to answer this question (I brought it up :):
How do you know if you're a productive hacker?
If you get something out quickly, but it's riddled with bugs, what good is that? Not much better to whip something out that works 100% to spec but is nigh impossible to maintain. And then there's the case of writing something that works 100% to spec, that's very well to maintain, but took 4 times as long to ship and your competitors are already $2 million in sales ahead of you. Or what if you can normally pull of writing pretty good code in pretty good time, but you happen to be particularly disinterested in what you're working on, and are finding it difficult to get motivated? And I'm sure that even merlyn spends occasional hours on ridiculously simple bugs, that were so annoying to find just BECAUSE they were so simple!
So can we even measure productivity with any kind of accuracy? Or is being a hacker more like being an author (or an artist), where "productivity" isn't really the name of the game?
The more I think about it, the more I think productivity isn't something that can really be measured, except for in extremely obvious cases (like 2 weeks to change the text of a window's title might be grounds for dismissal :P). Obviously, the more you keep your mind on task, the sooner you'll get things done, and likely with higher quality but other than that, I think "productivity" shouldn't really be the issue so much as staying on task, being creative, always learning new things and having fun.