See Popular Essays

2021   #11 - A Better Resume for Developers: Stuck in lock down with time on my hands and an itch to work on something new, I picked back up a side project I started about a decade ago, to build a better resume for developers. (9 comments)

2020   #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. (13 comments)

2018   #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 (11 comments)

2016   #8 - Reflections of an 'Old Programmer': Framing our programming careers in terms of knowledge accumulation and decay can yield some interesting insights. (115 comments)

2014   #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. (14 comments)

2013   #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. (26 comments)

   #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. (83 comments)

2012   #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. (23 comments)

2011   #3 - A Room Full of Techies: Understanding the phenomenon of group polarization in software development. (17 comments)

2009   #2 - Anchors Away!: How can a developer communicate an honest, but high, estimate to management? Try the concept of an anchor, from behavioral economics. (21 comments)

2007   #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". (8 comments)

I believe that software development is fundamentally about making decisions, and so this is what I write about (mostly). Creator of TechRez, a better resume for tech. Owner and Principle Technical Consultant at Highline Solutions, a consulting practice that helps companies with architecture, devops, and full-stack development. Two degrees from Carnegie Mellon University, one in Information and Decision Systems and one in Philosophy (thesis). I live in Pittsburgh, PA with my wife and 3 energetic boys.