Don't Ask for Advice; Ask for a Code Review
Here’s some advice about programming I’ve found useful: “Don’t ask for advice; ask for a code review.” In this post, I’d like to explore what I think this adage means.
The Trick to Getting Better at Programming Isn’t Advice
When learning programming, we think there’s a trick to it, that can be solved with advice. If I…
- …learn the right language, framework, or text editor
- …attend the best CS program, bootcamp, or workshop
- …master the ideal learning strategy or morning routine
…I’ll have an advantage. In my mentoring of new programmers, many of the questions I answer are about topics like these. I think the answers matter much less than people might think. I stopped giving generalist career advice for a while because I felt like my answers to these questions weren’t helping people. Or that I was communicating my privileges and survivorship bias.
Here’s another way of thinking about this: how does one prepare for a technical interview? Well, beyond the advice you’d get on any programming blog, here’s the trick: get really good at programming. When you’re technically strong, which takes a while, interviews stop being scary. You can’t get there by tomorrow, but you start walking in that direction right now.
Ask for a Code Review
New engineers tend to think their code is pretty good; I did. Respectfully, it isn’t– yet. It’s full of bugs, waste, and anti-patterns you’d have no way of knowing about. There’s a lot to know. When I see a newer engineer requesting a code review, internalizing the feedback, and asking thoughtful questions, I know they’re going to succeed.
At companies like the one I work for, the technical interview is a code review of a real pull request, led by the candidate. We think you can tell quickly how advanced, as well as improvisational, communicative, and kind, a programmer is, by how they unpack a random changeset.
So, No Advice?
Advice isn’t worthless, and you can still seek it out. But when you’re good at programming, a lot of the questions one might ask in an advice-seeking conversation seem to answer themselves.
That’s why I’ll always say yes to a code review request from someone wanting to get better. Just ask!