Finding a Balance: Code 'Complexity'

On any project, there's a tension between writing code everyone finds easily accessible, and using more modern techniques which make code more terse and expressive. Here's some thoughts on addressing that tension.

Naming Things is Hard: Finding the Right Level of Abstraction

It is said and experience has confirmed - in programming, naming things is hard. So hard it's common for programmers with years and years (and years) of experience to regularly name things poorly. Here's some of the processes I use to name variables and types, focusing on finding the right level of abstraction.