(Originally written for Medium in Feb 2020)
Learning to write code has taught me a life-changing lesson about why fast feedback accelerates how and what we can learn.
Let me start by saying that until 12 months ago I hadn’t written a line of computer code since dabbling with HTML in the late 1990s.
The amazing thing about feedback loops
Have you ever wondered why we can learn foreign languages so much faster when living in a country than when trying to learn them at home or in class?
Learning anything new takes motivation. But when we mangle our Mandarin so badly that we can’t even order a bowl of noodles, then we run a real risk of starving on our backpacking tour of Sichuan. So we improvise — we point to food, with a hopeful look in our eye, and we listen attentively to the words we hear back. We nod cautiously as the vendor says something in response, and wait nervously to see what emerges from the kitchen.
At last, when our steaming bowl of noodles arrives, we feel that warm glow of success and the quick hit of dopamine. We commit ‘Miàntiáo tāng’ to memory for the next time hunger strikes, and we search eagerly for other dishes to learn. The feedback loop of language acquisition through hunger has worked its magic.
Computers can serve you noodles. Instantly.
With coding, a computer server plays the role of our Sichuanese street vendor. Instead of cooking, our server is running code. And instead of a warm bowl of noodles, we get a beautifully rendered web page or application that looks exactly like we had hoped. But while our Sichuanese street vendor is quick to improvise and motivated to help, computers are stubborn and want things to be exactly how they should be, otherwise no soup for you.
Where computers beat street vendors is in the speed that they can, ahem, cook. The extreme of this is where every key stroke that you make is immediately compiled and rendered. Watching this unfold feels like magical voodoo, and is just the most perfect example of the power of immediate feedback.
When computers make you wait for noodles…
For my new company, mote, we’re working on a Chrome extension that users install in their browser so that they can make voice comments on collaborative documents. It’s really been fun to design and build, but the challenge is that the feedback loop is MUCH slower.
Unlike the website example shown in the video above, we can’t immediately run the Chrome extension in a browser environment to see how it functions. Instead, we write the code, check for errors and then have to compile the code locally to create a ‘build’ folder that we install and run inside Chrome.
End to end, this take about 1 minute, which is about 50X slower than the feedback cycle that we get with the website. The impact is enormous: our ability to iterate and improve the Chrome extension is dramatically slower than with the website, and my ability to learn coding skills is similarly impacted.
As with computers, as with life
Zooming back out, this experience has taught me the power of feedback in every part of my life as I seek to be a lifetime learner.
The best way for me — or you! — to learn fast is to build faster feedback loops into everything that we do, so that every day we learn as if we’re web-coding, not Chrome Extension coding.
Here’s three ways that you can accelerate your feedback loops
- Use collaborative apps that make it quick and easy for others to provide feedback. Our team uses Google Docs a lot, and we developed mote to make providing feedback through comments even easier by using voice notes.
- Express gratitude for every piece of feedback received. Even the ‘bad’ feedback. All feedback, good and bad, is a form of human “training data”, and all of it is valuable in some way. Learning to critically evaluate others’ feedback is an essential step on the way to expertise.
- Consciously think about finding ways to build feedback into your life. But always remember to be clear about what you’re trying to learn, and what kinds of feedback are going to be most useful. Not everyone is qualified to give you feedback on your Chinese language skills, for example.
Thanks for reading, and please check out mote if you’re interested in accelerating your feedback loops.