Friday, March 01, 2013

If I have a superpower, does that mean I get to wear a cape?

Check it out: What most schools don't teach. It's a whole lot of famous people (at least to us programmers, anyway) talking about the importance of learning to program:

Here's how I'd sum the topic:

Computer Science - it's not about computers, and it's not about science. Instead, computer science and programming in general is the study of problem solving. When you code, you are effectively solving a problem with such clarity that you're able to articulate it to a soulless computer. Learn to do that, and you're entire outlook on life will be different.

Debugging, building abstraction, breaking problems down, dealing with complexity. That's what coding is all about. Those skills are essential to every job, it's just that programmers have a language to express these ideas in.

Where should you start? If you want to makes games, tell stories or make other creations, go with scratch (even if you're an adult). Otherwise, you should pick a programming language that will help you solve a real problem you have. That might be autohotkey if you want to streamline your computer experience, Tasker if you want to make your Android phone do amazing things, or sed & awk if you need to tweak millions of lines of text. After you write your first useful program and you'll be hooked forever.

From there, learn the fundamentals. Two powerful ways to do this: HTDP and SICP. Just download Racket and you'll have everything you need to get started.

One final tip: if you want to learn to code, you only need to do two things: read tons of code, and write tons of code. The rest will take care of itself.

My only concern with the video: some poor kid is in for the shock of her life when she joins a startup and doesn't get free lunch or anything else. Nor is she going to have time to ride a scooter around the office because she's programming 17 hours a day. Other than that, great video.