I really was born at exactly the right time to ride the golden age of computing. When I was in high school and college, computers were powerful enough to impact every corner of our world, but simple enough that actual humans could still develop a connection to the metal. I surfed those years straight into the cradle of 1990s computing — classic Macintoshes, Windows 3.0 and 95, the early Internet, Linux; so much great stuff and the perfect setup for twenty years trying to solve big problems in healthcare.
And so many incredible people, most of them way smarter than me. I do a fair bit of mentoring these days, and honestly 99% of is just sharing stuff others have taught me. I’m completely serious; my problem-solving toolbox basically boils down to imagining what somebody smart I’ve known would do. And it works great!
So I thought I’d share a few particularly valuable gems here — forty lessons for the (a few more than) forty years I’ve been in the game. I present each with minimal context — not quite bumper stickers but sometimes close. Attributions are real initials; feel free to make your guesses!
- It’s never the operating system. (DO)
- You can understand any system if you start with main. (BA)
- Design the object model first. (UM)
- Good code is fun to read. (JB)
- Don’t spawn that thread. (CC)
- When you’re stuck, just look again — eventually you’ll see it. (DS)
- If you’re fixing the most bugs, you probably wrote the most bugs. (BS)
- The worst case probably isn’t that bad. (BB)
- Comments lie. (DS)
- People don’t think asynchronously. (SN)
- Take your annual review seriously for one hour and then stop. (PK)
- Aircraft carriers turn slowly, but sometimes you need one. (PN)
- Meetings are a waste of time. (EJ)
- Perception is reality. (TL)
- You might actually be the smartest person in the room. (KC)
- Code Talks. (PK)
- Implement a memory manager once before you die. (JL)
- Walkthroughs are better testing than testing. (UM)
- Obvious to you isn’t obvious to everyone (so speak up). (PN)
- Don’t be clever. (JB)
- Never override a no-hire. (AC)
- If you don’t understand the details then you don’t understand. (BG)
- Have a single source of truth. (SN)
- There’s always one more bug. (RH)
- If you want to be a manager, you probably shouldn’t be one. (PK)
- Most problems can be solved with Excel. (GE)
- No secret lists. (LW)
- Honest != a$$hole. (KC)
- Adding more developers won’t help. (FB)
- Don’t lower your bet. (DN)
- How hard can it be? (JL)
- Outsourcing costs more than it saves. (SN)
- SQL is smarter than you think. (BD)
- Write it twice. (UM)
- Data wins debates. (TC)
- After a win, always take something off the table. (RN)
- Make it hard to do the wrong thing. (IA)
- Leaky abstraction is worse than no abstraction. (UM)
- It has to work first. (DK)
- Take the win, Sean. (AM)