We often think that the best doctors have the most experience. But one study suggests otherwise: the longer doctors have been in practice the lesser-quality care they may provide.
However, separate research suggests that a particular type of doctor — a surgeon — does get better with experience. But why?
Feedback is likely the reason, according to Anders Ericsson and Robert Pool in their excellent book, Peak.
“Surgery is different from most other areas of medicine in that many problems are immediately apparent,” the authors explain, “such as a rupture of a blood vessel or damage to tissue.” They conclude that “surgeons get immediate feedback about at least some of their mistakes.”
Feedback is an essential ingredient to getting better. We learn what we did well so we keep doing it. We also learn what to get better at.
This much is obvious.
What’s less talked about is the learning that takes place. That is, the industry knowledge you gain and the mental models you can build when you seek feedback about your code.
Feedback gets you into the mindset of another programmer. You get a glimpse of their thought process: how they see and understand code.
This can be as simple as a variable-naming convention that the programmer uses or has seen in practice. Or it can be a suggestion for how to think about a concept, which clues you into their mental models. This has happened to me more times than I can count, and it’s hugely beneficial.
I had a hard time wrapping my head around the request-response cycle when I was learning about APIs. The confusion must have been evident in my code. Because when I asked a fellow programmer for feedback, he filled me in on his thought process.
“Let me show you how I think about this,” he said to me.
He grabbed a piece of paper and a blue pen and sketched a little diagram. He drew a line to represent the request coming in and traveling to the various responses it could return. It looked like this.
This little nugget of information was like gold to me. I was getting lost in the details, but this diagram put things into perspective. He made the abstract concrete. Ever since I’ve used the same mental model.
Nuggets like this compound over time and make us better faster. Besides, when you think about feedback as the information you’ll gain, it seems less intimidating and scary, which are reasons why people seem to avoid it.
Feedback is not just a critique of your code. It’s also an excellent way to learn: you’ll gain another perspective and build and solidify mental models, which ultimately help you make programming progress.
- Choudhry NK, Fletcher RH, Soumerai, SB. Systematic Review: The Relationship between Clinical Experience and Quality of Health Care. Annals of Internal Medicine. 2005. 142: 260–273.
- Vickers AJ, Bianco FJ, Serio AM, Eastham JA, Schrag D, Klein EA, Reuther AM, Kattan MW, Pontes JE, Scardino PT. The Surgical Learning Curve for Prostate Cancer Control After Radical Prostatectomy. JNCI: Journal of the National Cancer Institute. 2007. 99: 1171–1177.
- Anders EK. Deliberate Practice and the Acquisition and Maintenance of Expert Performance in Medicine and Related Domains. Journal of the Association of American Medical Colleges. 2004. 79: S70-S81.