For a long time, I’ve believed that diagnostic skills are incredibly important for software engineers, and often poorly understood.
The main evidence I see of poor diagnostic skills is on Stack Overflow:
- “I have a program that does 10 things, and the output isn’t right. Please fix.”
- “I can’t post a short but complete program, because my code is long.”
- “I can’t post a short but complete program, because it’s company code.”
I want to tackle this as best I can. If I can move the needle on the average diagnostic skill level, that will probably have more impact on the world than any code I could write. So, this is my new mission, basically.
Expect to see:
- Blog posts
- Podcast interviews
- Conference and user group talks
In particular, I’ve now resolved that when I’m facing a diagnostic situation that at least looks like it’ll be interesting, I’m going to start writing a blog post about it immediately. The blog post will be an honest list of the steps I’ve been through, including those that turned out not to be helpful, to act as case studies. In the process, I hope to improve my own skills (by reflecting on whether the blind alleys were avoidable) and provide examples for other developers to follow as well.
There’s a new “Diagnostics” category on my blog – everything will be there.