I’ve been brewing a post about the eternal need for discipline by developers, and then Jeff Atwood posts Discipline Makes Strong Developers. Mine was going to be really good, too, full of all sorts of insights, phrased in a manner an effete critic might have labeled “delectable” or, not to puff myself up too much, “sapid.” I’ll console myself with the thought that someone with a much larger readership said it really well, because it’s important.
I feel like I should add some value over whatever weak link-fu I can contribute. It’s not just “developers” construed in some narrow sense that need to hear the call, either (see the crazy desktop Atwood uses as an illustration). A companion lesson is that the type of faith many people place in tools is not well-placed: “if we just add the Gzmotronk into the mix, it will solve all of our problems with ____!” That trick never works. In my experience, if there’s a serious problem in getting information from one place to where it needs to be (a vague description that covers a lot of development tasks), the thing that’s most broken is the human part of the process. Tools can automate away some of the more mechanical tasks (as the enabling technologies improve and new techniques are developed, the realm of the “mechanical” expands), but it takes discipline to make proper use of the things that aren’t mechanized.