Hiking near the Meramec River

SIGAVDI #82: Broccoli Rabe Edition

Hello friends,

It’s been another couple weeks of hunkering down with Jess & family in St. Louis. It turns out the way I deal with social distancing is to buckle down and work really hard. When all this is over I may need to impose periodic “productivity quarantines” on myself to match this level of output.

I'll Trade Ya!

Hey there! Archived SIGAVDI letters are for newsletter subscribers only. All it costs to join (and unlock this post) is an email address! I'll write to you weekly-ish with a few interesting links, some updates, and some reflections on the intersection of software and life. And I'll respond to your replies! Whattya say?

A photo of Avdi Grimm

What’s good

A homemade yogurt parfait

What’s new

Where to find me

Support SIGAVDI!

I still don’t have a “real job”, but I’m doing my best to take advantage of quarantine time with blog posts, videos, streams, and emails! If you feel like tossing a buck or two my way, I have a Patreon: https://www.patreon.com/avdigrimm

Now that I’ve been ranting about tech hiring here and on Twitter for a while, people send me their interview horror stories. And honestly it’s a bit heartbreaking.

I wish I could honestly say “that’s OK, you dodged a bullet by not taking a job there”. But I’m not convinced that bad interviewing necessarily indicates a bad culture. For a lot of organizations, interview culture is its own little island. Which is part of the problem.

I talked to someone at a company I once interviewed for, who said (paraphrased):

I tried to change the interview process here and eventually gave up. It was created by one of our founders a long time ago, and the only people who put any work into it are one or two who have strong opinions about it. Everyone else just ignores it.

The problem with bad interview processes is that they don’t produce much signal:

  • Once you make it through the interview process, you generally put it behind you and don’t think about it again until you it’s time to get a new job.
  • The team remains blissfully unaware of great candidates who get knocked out because of bad interview practices, because of interviewers having bad days, or because they don’t fit the mold of “people who think like the hiring process creator”.
  • Inevitably, a few lucky and motivated candidates will filter through the process. Then they’ll be incorporated into the company’s real working culture, do great work, and everyone will say “ah, the process must be working!”.

And that’s really the crux of the problem: interviews attempt to evaluate a candidate in isolation, but that says almost nothing about how they will work in your team. We’ve built an industry obsessed with “hiring great people”, wholly oblivious to the fact that the “greatness” we glorify in successful teams is 80% a property of the team, not the individuals.

As Jess says in her seminal keynote on collective problem solving, you want to believe you can build a great team from great people. But the truth is it’s the other way around.

This morning I threw together a chicken curry in the slow cooker. In addition to potatoes, onion, chicken, and peas I decided to add some carrots. What if, after chopping the carrots, I had tossed half of them into the garbage?

Assuming the whole curry comes out well, the family won’t think “where are the missing carrots?”. They’ll just think “these carrots taste great!”. The process appears to work, even if it’s throwing out a random 50% of the perfectly good candidates.

Last week:

  • ✔ Work on $corporate_video_project. I put a ton of work into this.
  • ❌ Spend a couple hours on one of my WIP courses. Oops
  • ✔ Stream with Jess
  • ✔ Write for The Wide Teams Almanac
  • ✔ RubyTapas

Bonus points:

  • ✔ Learn a ton about building AWS Lambda apps with SAM
  • ✔ Wrap my brain around FutureBuilders in Dart
  • ✔ Co-host an episode of Greater Than Code.
  • ✔ Go hiking

Threat board:

  • GOTO talk prep – I asked for and received some leeway in selecting my topic in order to fit the revised format.
  • Becoming revenue-positive.
  • WIP.
  • Fixing my house.


I am currently in the “20% that takes 80% of the time” for $client_video_project ????

  • Client Video Project: ~90% .
  • Robust Ruby: 25%.
  • MOOM: 91%
  • The Rake Field Manual: 10%.
  • AsyncJS Course: ~50%.
  • Patreon improvements.

That’s it for this week. Remember, replying to SIGAVDI is a WHO-approved mode of socializing during quarantine!