Irrational Exuberance!

Notes on A Philosophy of Software Design.

September 3, 2018 Jumping on the recent trend, I picked up a copy of A Philosophy of Software Design based on Cindy's recommendation. It's a fairly concise read at 160 pages, and I skimmed through it over the last few days, writing up some notes along the way.

Designing interview loops.

September 2, 2018 Anyone who has flipped through Cracking the Coding Interview knows that evaluating folks for a new role is a coarse science. Most interviewers are skeptical of the accuracy of their interviews, and it's hardly the rare interview retrospective where folks aren't sure they got enough signal on a candidate to hire with confidence.

Communities of learning.

September 1, 2018 I've always preferred learning in private. Got something difficult? Sure, leave me alone for a few hours and I can probably figure it out. If you want be to figure it out with you watching, in that case I'm not even sure how to start. This is partly introversion, but altogether I'm pretty uncomfortable making mistakes in public. Like a lot of folks, my brain still helpfully reminds me of public errors I made decades ago, and they still bother me.

Time management: the leadership meta-problem.

August 27, 2018 When you sit down for coffee with a manager, you can probably guess the biggest challenge on their mind: time management. Sure, time management isn't _always_ everyone's biggest challenge, but once the crises of the day recede, it comes to the fore.

Problem exploration, selection and validation.

August 20, 2018 Most engineering organizations separate engineering and product leadership into distinct roles. This is usually ideal, not only because these roles benefit on distinct skills, but also because they thrive from different perspectives and priorities. It's quite hard to do both well at the same time. This post takes a look at my high-level approach to product management for when you do happen to find yourself wearing both hats.