In the book My Job Went to India (And All I Got was this Lousy Book), Chad Fowler writes about what developers can do to improve their craft. There are 52 tips, and they range from positive gems like Be the Worst (#8) to other positive gems, like: You’ve already Lost Your Job (#43).
All kidding aside; this book is chock full of tips meant to help us improve our craft, and it’s even gotten a facelift as The Passionate Programmer.
One such tip is The Daily Hit (#20):
As with most tasks that are worth doing, becoming a standout performer is more likely with some specific and intentional work. When was the last time you went above and beyond the call of duty? Did your manager know about it? How can you increase the visible instances of this behavior?
James McMurry, a co-worker who’s also a good friend, told me very early in both our careers about a system he had worked up to make sure he was doing a good job. It struck me as being remarkably insightful given his level of experience (maybe it’s a hint he got from his parents), and I use it to this day. Without warning his manager, he started tracking daily hits. His goal was to, each day, have some kind of outstanding accomplishment to report to his manager — some idea he had thought of or implemented that would make his department better.
Simply setting a goal (daily, weekly, or whatever you’re capable of) and tracking this type of accomplishment can radically change your behavior. When you start to search for outstanding accomplishments, you naturally go through the process of evaluating and prioritizing your activities based on the business value of what you might work on.
Tracking hits at a reasonably high frequency will ensure that you don’t get stuck: If you’re supposed to produce a high per day, you can’t spend two weeks crafting the perfect task.
I’m guilty of trying to be perfect. When I sit down to implement code; I (very often) try to get the code working perfectly. I spend a lot of time fully implementing when I should be prototyping. the daily hit is a way of prototyping instead of fully implementing a feature, and sometimes I wish this book came with a rubber mallet to beat me with when I forget its lessons. Do you keep track of your daily hits?
If you don’t know what your daily hits are, neither do your manager.