🏡 Home👩🏽‍ About🧵 Threads

immerse yourself in code

May 20, 20203 min read

I’ve compared programming to writing, but there’s a stronger analogy to be made: learning to program is like learning a new language.

There’s new vocabulary like regex and ternary and viewset. And there’s new syntax too: In English, a parent might tell their child, “If you see someone, say hello!” In Javascript that’s expressed as If (person) { return 'hello!' } The meaning is the same, but the sentence structure differs.

How do we learn a language? Well, we learned our native tongue by listening to our families and community speak, and trying to imitate them. Similarly, the proper way to learn a second language is through immersion. That’s why people finally learn a language in 6 months of living in a foreign country, after having taken 5 years of the language in school without making meaningful progress.

You can create second language immersion even if you aren’t in a foreign country. I have a Serbian friend who taught herself Spanish by binge-watching Mexican soap operas. She watched them so much that they had a similar effect of total immersion, even though no one around her spoke Spanish.

Similarly, you can create a programming immersion no matter where you are. When Andrew dropped out of college to be the first software engineer at Culdesac, he was inexperienced. To try to catch up to his role, he replaced idle Youtube browsing with watching programming videos. He only read programming books, and he only listened to programming podcasts. For months.

I attended a programming bootcamp, which creates a similar immersive effect. We had class six days a week. On my Sundays off, I studied or caught up on assignments. In fact, before Hack Reactor starts you’re advised to tell your friends that you won’t see them for 3 months. You won’t have time to socialize.

(Incidentally, I recommend coding bootcamps over a traditional CS degree, because traditional CS programs are more like a traditional foreign language class than an immersion).

Another consequence of analogizing learning to code to learning a foreign language is: kids should probably learn to code.

Before I got into coding, I assumed that parents who made their kids code were tiger parents—people who desperately wanted to create a prodigy and were willing to sacrifice their child’s happiness to do so. But now I believe kids should be taught programming. They’ll pick it up faster than adults, the same way immigrant kids become fluent in a second language before their parents do. And they’ll probably enjoy coding, just like kids enjoy making art. Kids love to make stuff, and as a child, coding is another tool to make cool stuff.