"Everybody in this country should learn how
to program a computer... because it teaches you how to think." - Steve Jobs What do you want to be when you grow up? Um... an astronaut. I want to be a fashion designer. A basketball
player. I want to be an actor. A doctor. A teacher. A chef. An artist. What do you wanna
be when you grow up? A mermaid! (interviewer) Do you know what a computer programmer is? (student) Yeah--umm... no. No. Uhh, no. I think it's something that has code and it's
able to decode a mystery. I think that they... umm, wait what? (interviewer) Computer programmer?
(student) No. Nowadays, just about everything requires some form of programming. So what
is it? Programming is basically explaining to a computer what you want it to do for you.
When you're programming, you're teaching possibly the stupidest thing in the universe, a computer,
how to do something. Programming is one of the only things in the world that you can
do where you can sit down and just make something completely new from scratch-whatever you want.
It's really not unlike playing an instrument or playing a sport. It starts out being very
intimidating, but you kind of get the hang of it over time. Coding is something that
can be learned and I know it can be intimidating, and a lot of things are intimidating, but
what isn't? A lot of the coding people do is actually fairly simple. It's more about
the process of breaking down problems than coming up with complicated algorithms as people
traditionally think about it. Well if it's fairly simple, why aren't there more of us
doing it? Over the next 10 years there will be 1.4 million jobs in computer science and
only about 400,000 grads qualify for those jobs. That's a shortage of a million people!
So how do you start? I was obsessed with maps when I was a kid, and cities specifically, so I taught myself how to program. I had a very clear goal of what I wanted to do which
was to see a map of the city on my screen and play with it. Put things on the map, move
things around the map, see what was happening in the city. How it worked, how it lived,
how it breathed. The best early thing was actually using software to decide when the
classes in my school would meet. And that put me in a position to decide which girls
were in my class. The first program I wrote asked things like, "What's your favorite color?" or "How old are you?" I first learned how to make a green circle and a red square appear
on the screen. The first time I actually had something come up and say "Hello world!" I
made a computer do that? It was astonishing. When I finally learned a little bit of programming,
that blank wall resolved into a bunch of doors. And you open them and finally you start to
open enough doors that the light comes in. And to me, a finished program is like a structure
filled with light. All the corners are illuminated and you understand the structure of it. It's
a really serene feeling to have completed that. It took me some time to realize that
creating things with your hands or creating code, creating programs is just a different
way to express creativity. I think right now there's a big emergence of the culture of
making. People who make their own scarves and hats, people who write their own apps.
Now it's just limited by your imagination. And sort of what kinds of ideas, what kind
of understanding can you build into a computer to do these things that were previously impossible. All great things are built in teams when you collaborate with other smart people. You're
testing your ideas, you're stimulating each other, that's what makes us successful. It's
not some flash of brilliance from somebody who codes 24 hours a day for 3 weeks. The
magic happens when we're all on the same page collaborating and building something together.
There's a much greater need in the world for engineers and people who can write code than
there will ever be supply. And so we all live these very charmed lives. To get the very
best people we try to make the office as awesome as possible. We have a fantastic chef. Free
food. Breakfast, lunch, and dinner. Free laundry. Snacks. Even places to play and video games
and scooters. There's all these kind of interesting things around the office. Places where people can play or relax, or go to think, or play music, or be creative. I went on the Bureau
of Labor Statistics for the United States and there's about a third of the pie that's
all the things that you would expect. They're working for the government, they're working
in typical technology jobs, but then the rest of the pie--the majority of the pie--just
split down into these little tiny slices of every industry imaginable. And what it is,
is computers are everywhere! Do you want to work in agriculture? Do you want to work in
entertainment? Do you want to work in manufacturing? It's just all over. Here we are, 2013, and
we all depend on technology to communicate, to bank. Information. And none of us know
how to read and write code. So you guys, what else? Who else has an idea of what we can change with our program? What else can we do? What I saw my students take away from
using Scratch and programming in our classroom is that they're willing to push through problems.
It really builds critical thinking. It builds problem solving. And it's something that they
can then apply to math in the classroom. Or their reading skills. We integrated science
with this programming and I saw my scores go up 30%. When I was in school I was in this
after school club called the Whiz Kids and when people found out they laughed at me.
You know all these things. And I'm like, man I don't care. I think it's cool. You know
I'm learning a lot and some of my friends have jobs. It's important for these kids.
It should be mandatory. To be a citizen on this planet, to read and write code. I just think you have to start small. That's one of the biggest misconceptions about computer science and programming overall is that you have to learn this big body of information
before you can do anything. You don't have to be a genius to know how to code. You need
to be determined. Addition, subtraction, that's about it. You should probably know your multiplication
tables. You don't have to be a genius to code. Do you have to be a genius to read? Do you
have to be a genius to do math? No. I think if someone had told me that software is really
about humanity. That it's really about helping people by using computer technology, it would
have changed my outlook a lot earlier. Whether you're trying to make a lot of money or whether
you just want to change the world, computer programming is an incredibly empowering skill
to learn. To be able to actually come up with an idea and then see it in your hands and
then press a button and have it be in millions of people's hands, I think we're the first
generation in the world that's really had that kind of experience. The programmers of
tomorrow are the wizards of the future. You're going to look like you have magic powers compared
to everybody else. I think it's amazing. I think it's the closest thing we have to a
superpower. Great coders are today's rockstars. That's it. To start learning a superpower
go to Code.org.
It's so frustrating to see how some schools embrace it and other schools treat it like the devil. High school was not that long ago for myself. They were more concerned about students sexting than developing applications. I remember our school was touting how amazing their single-core celeron ThinkPads were when our phones could look up information faster, but they were banished as a distraction to the learning environment.
My school taught programming. Only problem is, none of them are motivated to learn. They teach, students memorize, put it in their head. But do they actually learn to solve problems? Nope. They just internalize it, and think nothing of it. They don't think of the possibilities that are opened up when you learn to code. It's hard to come by students who haven't rotted their brain out with traditional schooling, because it's only memorization. They're just not inspired to learn, or know why they are learning.
I think this video is a bunch of crap. All of these people speaking are of higher intelligence than your average cubicle slave. While a lot more people could learn programming they don't address the issue that most people are lazy pieces of shit and won't commit to anything. There are many other jobs that can pay more and require much less effort. For instance real estate brokerage, sales, marketing, just to name a few and these people are usually more respected.
There is something to be said for making an introductory computer programming class a required credit for a HS or lower curriculum. It is important, I think, to expose children to the options available to them. Without trying them, we cannot discern from where our next innovators or experts will come from. I believe that we have to expose our children to the widest variety of experiences to give them the greatest chance of success.
Yeah, I mean...at what age do you really decide that you know the nuances of what a job means?
My high school offered CCNA as a 2 yr course, which I took because I knew I liked computers. I kind-of-sort-of knew how networks worked ("so the modem goes into WAN of the Linksys and then the computers go into that"). You know what though? I was in high school and didn't really give a fuck what I ended up doing with my life.
There was also the issue that I had never been in a datacenter, never connected to remote sites, never spoke to an ISP and received static IPs or dealt with NAT or understood how VPN worked or why I would need it.
In other words, the classroom was NOT the place to learn a career very much entrenched in real-world experience, especially not at 15/16.
All of this translated to me not trying at all. Plus, all I had were routers laid out on the table and a teacher doing a bad job explaining that one was NYC and one was LA.
What did help me was learning things that stressed attention to detail, using logic, troubleshooting...so things like figuring out patterns in words and numbers, concepts in math, analogies in English class.
I stand by that logic and common sense cannot be taught. I think that certain people have the right combination of passion and background to hit the ground running in the IT world (or any profession for that matter).
I don't think the answer is to demystify programming over demystifying any career. It won't give us more programmers, and if it does, it certainly won't give us better ones. The "better" ones will already have the background in logic and troubleshooting, they'll just need to wait to figure out the syntax to let that out.
Well ... make programming easier to be picked up by the masses, and they'll teach it. In my highschool they taught VB6. I never bothered to go into programming because it's just not my thing, but VB has always been pretty easy to pick up. The thing is if you want to do anything advanced, anything cool, you have to have a high comprehension of what's going on behind the scenes, what the computer is actually doing with your data, and typically a strong background in math. It's getting better with higher level languages that are really just shells for other languages but I think a lot of people just can't be bothered, or aren't dedicated enough, to work through something like this.