Learn to Code, Learn to Think

I recently had a tweet that’s caused a bit of comment, and I wanted to expand on the point.

I’m a huge fan of the movement to teach people, especially kids, to code.

When you learn to code, you’re learning to think precisely and analytically about a quirky world. It doesn’t really matter which particular technology you learn, as long as you are learning to solve the underlying logical problems. If a student becomes a professional engineer, their programming ability will rise above the details of the language, anyway. And if they don’t, they will have learned to reason logically, a skill that’s invaluable no matter what they end up doing.

That you can apparently complete a three month Ruby bootcamp and get a job today is an artifact of a bizarre employment market, and likely unsustainable. But by dedicating three months to learning to think in a logical framework, you’ll also gain an ability that will open opportunities for you for the rest of your life.

Speaking: Entertain, Don’t Teach

It’s tempting to think of a talk as the opportunity to take a body of knowledge and to educate your audience about that body of knowledge. You have something in your head and you want to get it into theirs.

Making education your top priority leads to terrible talks, with an unhappy audience that won’t retain any of the information you wanted them to remember, anyway. Instead, think about how you can create a compelling narrative through your material, layering in the deep technical content so that the most attentive listeners will take away a deep understanding while the people who are only half paying attention will, at the very least, enjoy the experience.

I can’t think of any talk that demonstrates this better than Gary Bernhardt’s WAT:

Remember: you’re entertaining, not educating.

This article is part of my series of speaking hacks for introverts and nerds. Read about the motivation here.