#12 - The Fallacy of Splitting Time: If a developer is split across two projects, we often assume that each project will get one half of a developer worth of productivity, but in reality it's less.
#11 - Always do Extra: A simple rule that every good, veteran programmer seems to follow with respect to managing their time.
#10 - The Myth of Architect as Chess Master: The expectation for the architect should be to setup the framework or process by which good "moves" are made.
#9 - The Reality of Reuse: Overly optimistic expectation for the benefits and ease of reuse is one of the most pervasive and pernicious traps in software development
#8 - Reflections of an "Old" Programmer: Framing our programming careers in terms of knowledge accumulation and decay can yield some interesting insights.
#7 - The Siren Song of Automated UI Testing: Automated UI testing is not necessarily ineffective or a waste of time, but the promise land of easy, cheap, human quality testing via automation is a chimera.
#6 - The 3 Motivational Forces of Developers: After 15 years in industry, I've come to realize that the most defining quality of a developer is his source of motivation.
#5 - Pair Programming - My Personal Nightmare: Pair Programming may work for some, but not for everyone (including me). Quality work can and is often done by people working quietly on their own.
#4 - The User Interface and the Halo Effect: Understanding why minor user interface glitches carry such a high weight in terms of our customer's perception of quality.
#3 - A Room Full of Techies: Understanding the phenomenon of group polarization in software development.
#2 - Anchors Away!: How can a developer communicate an honest, but high, estimate to management? Try the concept of an anchor, from behavioral economics.
#1 - Is it Irrational to Comment your Code?: We know we should comment code, but will we? Game Theory's Prisoner's Dilemma says, "probably not".