In which we debug a production bug (loosely based on a real bug at Lyft) and check its fix in the TLA+ model checker!
What Math ✨ can bring to your daily toolbox of programming tools to write robust, concurrent programs: a light introduction to TLA+.
What career move will give you maximal exposure to technologies, industries, and orgs? Why you should consider a stint in consulting as part of your career path.
At 23 years old I decided to quit my first full time tech job and take a year off to figure out my life. Was it worth it?
If you've ever cruised Hacker News or Blind, you'll know there's an intense obsession with passing the interview loop at big tech companies like FAANG. This is a post for early-career engineers and those looking to break into the field. As someone who's failed SO MANY of these loops, I'm here to tell you to relax.
Struggling with the responsibilities of being a new manager, I received encouragement from an unlikely person. This next post is a short one. It's about the power of encouragement at the right time and place.
I'm committing myself to an article a week on this blog while on paternity leave in early 2022. Today's topic is on how I'm recovering and reorienting myself after a disorienting 2021.
So you've set your sights on a staff-plus title, or you're looking to grow in your role. How do you proceed?
What can semiotics reveal about the hidden cultural frictions in distributed software development?
Sometimes, our most dearly-held beliefs and practices are the very things that keep us from succeeding in new leadership roles.
Cool, we've got swarms of empowered ICs working on their newly ideated projects. How do you keep the team holistically moving toward the right goals, without having the superpowers of a PM on hand? You improvise and hand out some hats.
When individual empowerment is your radical idea, then you commit fully to it with the Engineer as Project Driver. All engineers, no matter their experience, are given the responsibility to take a project from start to finish and own the outcomes.
How do you teach engineers to think like PMs? You give them the awesome and scary responsibility of choosing their work. Our team learned how to think and prioritize strategically by collectively building an Idea Backlog where we dream up and prioritize impactful projects to tackle. Here's how it works.
Can a team with a recently-departed product manager learn to survive on its own? How we built a bottom-up product development culture on my team at Lyft.
If you've worked in tech long enough, you'll hear praise for Andy Grove's High Output Management, oft-praised as a touchstone of technology management (Grove is often referred to as the "Father of the OKR"). A year or so ago, I got to read his book through Harrison Metal's General Management course. What can you apply from the book when you're a tech lead, and not actually a manager?
For all the toil that went into developing the pipeline and deep learning model for my ML baby monitor project, I discovered that my model didn't actually solve the problem at hand. This kind of gap exists in the real world of ML development as well, and there's a critical insight from the field of User-Centered Design that could be the key to bridging it.
Over a year ago, I wrote a couple of blog posts about how I trained a TensorFlow model on audio clips of my crying baby so I could get some insights into his sleep patterns and behavior. I distilled this experience into a PyGotham talk titled "Can Neural Networks Make Me a Better Parent?" and it reflects some extra maturity in my machine learning knowledge, as well as some hard-won parenting wisdom and experience.
It's been several years since I've come off of my former role as an engineering manager, and with enough humble introspection I've had several insights into the mistakes I've made, and how I'm integrating those learnings into my teams nowadays.
A discussion about why I enjoy working in the XP-school of Agile. (tl;dr: I enjoy working in a pull-based work stream. I like that pair programming, TDD and other best-practice batteries are all included.)
In which we train an TensorFlow model with the tears of my little one, then deploy it on a Raspberry Pi.