- Hiring Developers: Slow Down to Speed Up
- Technical Debt: In an Agile World
- Leadership in Software Development
Hi, Zac! What have you been working on lately?
You write frequently about technical debt -- can you talk about how approaches to this problem have evolved?
Technical debt is the biggest misunderstood problem in the development world. In the past most people would have hidden the problem, pointed fingers, or avoided the conversation altogether. All of these choices produced the same result. The problem eventually consumes the product or becomes its identity. The biggest evolution to the technical debt discussion has been properly defining it. Understanding that some choices are tactical while others are accidental changes the conversation. It removes the taboo. This shift encourages practical conversation about managing the issue instead of brushing it under the rug. I am happy to see newer development strategies such as Agile and TDD (test driven development) tackle these issue head on. The future challenge of technical debt lies in the hands of developers as they are the gatekeepers. They must find efficient ways to identify, track, and relay this information.
Are there any particular developer tools or resources you couldn't live without?
Notepad++, Paint.NET, Firebug, Fiddler, 7-Zip, and a good old fashioned LARGE whiteboard (with a smartphone to take pictures)!
Do you have a favorite open source project (or projects) that you've contributed to recently?
jQuery is one of my favorites due to its versatility. I encourage everyone to contribute any knowledge and/or funds to open-source communities. They are an important part of the software eco-system. Many small to medium size businesses utilize these markets and forget to give back. Encourage your company to donate!
Do you follow any blogs or Twitter feeds that you would recommend to developers?
A few of the classics Jeff Atwood (Coding Horror), Scott Hanselman, Scott Guthrie (ScottGu). As for twitter: @applenws (All news related to Apple), @DZone (has a wide variety of software topics).
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?
Mine is simple. The first time I wrote the classic "hello world" message in C++, I was hooked. The fact that I could control a computer's output was a fascinating concept. Although the languages have and will change over the years, seeing the output of my work still brings me joy!
Anything else you'd like to mention?
I started a blog because I wanted to look at the other side of programming. Although I do jump into the technical highlights from time to time, I try to focus on the day-to-day discussions and problems developers run into. Most of these issues are not language or syntax related. They involve people, concepts, and non-programming decisions. There is no handbook for these areas.
On a side note, a few years ago I jumped into the sport of curling. You might have seen it during the Winter Olympics (it's that crazy sport where they sweep stones down a sheet of ice). If you enjoy strategy and athletics, I implore you to find a local club in your area and sign up today!