A mistake many newly minted (and some experienced) engineering managers (EMs) make is listening to their team (good!), discussing potential solutions and tradeoffs (good!), and then telling them how to solve the problem. Whoops!
Hire based on outcomes instead of role descriptions
The first time I hired someone, I wish I’d known it’s much better to think about the outcomes you’re hiring for. With that in mind, work backwards to the experience and skills required for a person to succeed in this role.
The unreasonable effectiveness of checklists
Checklists are a fantastic tool for thinking. This despite the existence of GTD, Kanban, PARA, and any number of ways to organize projects and figure out how to finish them. When I’m starting a project or when the going gets weird, checklists are usually how I end up thinking my way through.
Onboard new teammates with a 90-day plan
My new boss had written up a 90-day plan for me the week before I started. This was perfect timing. I was already starting to put a bow on my current work and my focus was wandering. Now my brain could start working on ideas for the next gig. Plus, I had a much better… Continue reading Onboard new teammates with a 90-day plan
Use a tag line that means something
I like that Ember’s tagline is about ambition.
Use factories to create jumbo object graphs
The entire time I’ve been using FactoryBot, several years at this point, I’ve used it one factory at a time: company = create(:company, name: "Acme, Inc.") alice = create(:user, name: "Alice Smith") posts = create_list(:post, 3, user: alice) Do you see the mistake I make all the dang time? Spoiler alert, I forgot the company… Continue reading Use factories to create jumbo object graphs
Failure = entropy due to adding humans
Here’s a real dinger of a sentence from Michael Lopp’s latest, The Art of Leadership: Small Things, Done Well: Failure is created by the increasing entropy of a growing number of humans running around the building, good intentions in hand, breaking things. Growing an organization requires rethinking trust, coordination, and collaboration. The breakpoints where things… Continue reading Failure = entropy due to adding humans
Writing is thinking, so write about code
Writing clarifies thinking. Therefore, writing design docs clarifies one’s thinking about code. Design Docs at Google and an example/meta design doc from the same author are great places to start! I found that writing prose until I run out of clarity and then switching to proof-of-concept code is even better. The constraint of making an… Continue reading Writing is thinking, so write about code
Bradford Fults on feedback and human bias
A Better Approach to 360° Feedback: Bradford Fults shares ways to route around fallible human memory and gather useful information when it comes to review season. Humans also have a recency bias and suffer from long-term memory distortions that change to fit their current opinions of other people. This means that “observations” from months ago… Continue reading Bradford Fults on feedback and human bias
The project management corollary to Hofstadter’s Law
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. Corollary: It always takes more repetitions to tell people what you’re doing, how you’re going to do it, why you’re doing it, how much progress you’ve made, that you finished doing it, etc. even when you take into… Continue reading The project management corollary to Hofstadter’s Law