Better Programming

Advice for programmers.

Your Coding Advice is Better Than an Expert’s

David Mora
Better Programming
Published in
4 min readApr 5, 2020

--

This is how Anjana Vakil began her JSUnconf talk about functional programming in Javascript:

“About six months ago, I knew nothing about functional programming and very little about JavaScript. I am not an expert in any of this, so this is going to be me taking you along on my learning journey and nothing more.”

Her talk has over a million views.

How did Anjana Vakil create such a wildly popular resource on a topic she clearly didn’t have the expertise to teach?

Well, have you ever had this thought: There are so many experts out there. I don’t have anything valuable to share until I learn more (I might look stupid if I try now)!

It’s partially true. An expert might know more than you on a topic.

But while you’re in the period between learning something and becoming an expert, you have something few experts do: practical understanding of what it takes to learn that skill.

In some ways, you’re more qualified to teach your new skills than an expert — the expert has had to commit all the tricky details to their intuition in order to gain their expertise.

Note: I’m not downplaying the importance of expertise. It brings deep insight and helps prevents misinformation. But believing only experts can explain ideas properly stifles the diversity of tech.

To show you why, we’ll explore how people gain expertise in the first place — and how that impacts their ability to share knowledge.

How Do You Become an Expert?

You might guess innate ability largely determines expertise.

Not so. Perhaps surprisingly, science resoundingly tells us that the value of innate ability pales when compared to the impact of sustained, deliberate practice (see these studies).

Concretely, this means that Martina might start out better at coding than Estefania, but if Estefania spends hours each week carefully identifying and improving her weakest skills, the science says she’ll come out miles ahead of Martina in the long run. This holds across music, sports, and engineering.

This lays the groundwork for the value of nonexpert advice via two profound ideas.

1. What Separates You From Experts (at Least Cognitively) Is Largely Just Lots of Practice

Experts aren’t inherently more intelligent or talented than you — you can meet (and surpass) their expertise!

Note: For the sake of scope, I’m ignoring systemic barriers to gaining expertise, like socioeconomics and identity threat.

2. Becoming an Expert Often Makes You a Lousy Teacher

Deliberate practice helps you mash the nitty-gritty details of learning into intuitive chunks so you can learn more advanced things. By working on your growth points until they’re intuitive, you create building blocks with which to build more advanced ideas. Hence, expertise.

But this expert thought puts you out of touch with how a novice learns…

A practical example: Estefania learns ‘for’ loops

Imagine Estefania again, engaging in deliberate practice while learning for loops.

for (let i = 0; i < array.length; i++) {...}

At first, the details baffle her. What is ++ doing? How is one block of code happening multiple times?

She carefully researches her questions, then tests her knowledge by using for loops in a variety of cases. She invests hard work and time. As a result, learning science tells us she starts chunking all the details into an intuitive understanding of loops. She uses their syntax without thinking, focusing on her task rather than the details.

Even more, she starts to associate for loops with the contexts and problems they’re useful in. She understands for loops as syntactical sugar around while loops. She links them to her knowledge of arrays. She even starts to build on top of her understanding, using for loops to grasp more functional approaches like map and reduce.

Scientists call this knowledge reorganization — she’s literally shifting how the concept relates to everything in her brain.

… But this can suck for her future students

Estefania’s brain has seriously changed via her chunking and knowledge reorganization. This makes her deeply knowledgeable. But it also puts her “brains away” from people who are just starting out with for loops.

In short, the challenges a novice faces aren’t even pathways in her brain anymore.

And that’s where you, in your nonexpert areas, come in.

The Goal: Welcome Nonexperts ➡ Produce Better Resources for Newcomers ➡ Foster Diversity

Your voice matters. How you see and learn matters. Not just to you but to those who can learn from you. And you may be best poised to share your knowledge right now, while your brain is still fresh with its new changes.

Tech has a serious diversity problem. One of the biggest ways to address it is to improve our pipelines and remove our gatekeepers. By sharing your knowledge, you:

  • Create accessible resources for newcomers
  • Foster a sense of belonging for beginners by sharing your own journey and normalizing struggle
  • Help diversify the face of tech

In the end, maybe you are an expert in your unfamiliar areas — an expert in learning what you’ve just learned and in sharing the journey you’ve just been on.

So let your voice be heard, expert.

--

--

Responses (1)