Time’s a precious resource, so the saying goes. Don’t waste it. That’s particularly true for developers, who live in the critical path lane.
And if there’s someone who knows a lot about time management, it’s Russ Sherk, an intermediate developer here at Klocwork, and the father of three young ‘uns. Russ works on our Klocwork Review and Klocwork Inspect products and handles licensing.
For Russ, these are lessons learned over his six-year tenure at Klocwork.
“These are things you need to think about or you won’t progress as a developer,” he says.
Here’s what to do if you want to waste time:
1. Code without a plan
It’s easy to get carried away with ideas about cool features, Russ says. This is how you burn through the days–by doing a lot of things that don’t need to be done.
The fix: Classic agile philosophy. “You have a story. Then break it up into a list of features that must be done. You take those features and you break them down into tasks taking less than a day, Russ explains. A task taking two to four hours is optimal. The team here uses XPlanner for project/story/task management. You can always augment with pieces of paper.”
2. Switch tasks constantly
Mental switching eats up a lot of time because you need to evaluate where you were before you switched gears, and then go through it again when you switch back.
The fix: Get to a completion point before switching (if you can).
3. Take the idealistic approach to bad or “delicate” code
Inheriting problem code makes debugging and feature work more difficult and error prone, Russ says.
“It’s tempting to want to fix it all–but that will always set you back.”
The fix: Fix what you touch to the best of your ability. Schedule larger-scale refactoring and reorganization work separately.
4. Build infrequently
This strategy goes beyond the individual developer. There was a time here when there were only weekly builds (Egad! Say it ain’t so!). Even 15 minutes per build slows you down, Russ says. The push by development managers for frequent builds has paid dividends.
“Now, I can go through a build process in 2-4 minutes,” Russ says. That translates into 10 to 15 builds a day.
The fix: Frequent build cycles allow you to make your changes, verify them, and handle bugs quickly.
5. Optimize early and over-engineer
This is the dark side of planning. Over-planning and perfectionism can be paralyzing.
The better approach is to keep it simple, he says.
The fix: Plan the bare minimum to get your feature working. After the feature is in place, it’s time to optimize and refactor.
And there you have it. Surprisingly, World of Warcraft didn’t even make the list.