“Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren’t enough people who are trained and have these skills today.” — Mark Zuckerberg

That’s just one of many quotes by prominent people on former Microsoft executive Hadi Partovi’s Code.org, a nonprofit dedicated to improving computer programming education in schools, which, according to stats on the site, nine out of 10 high schools don’t offer to teach to students. (Probably because there aren’t enough instructors who can teach programming in high school in the first place because there aren’t enough people who are trained with the skills—it’s a circle.) Although Partovi doesn’t know exactly how to fix this problem, he’s taking the first step of starting the conversation, and pointing educators to resources on his site (like Code Academy, which I’ve tried out before and liked). It should come to no surprise that the job outlook for computer programmers is very good. Back in my day (my day being the early/mid-’90s), we learned word processing and played Oregon Trail in the school computer lab. We might as well get some basic computer programming in there too.

I think one of the biggest reasons that you’re not going to find teachers for high school level classes comes down to money. Quite simply, why would a developer teach high school for $40k, when fresh grads can get entry-level jobs at $65k?

@minijen This is exactly why I don’t. I taught junior high school for four years. I have an interdisciplinary masters in CS and Education. My masters thesis was an intro to Java programming for 8th graders, which I refined while I taught it.

I make four times as much with half the stress. Most “computer” classes in the U.S. are electives taught by an instructor trained in something else. The vast majority of computer classes are all about how to use Word and Excel.

I miss teaching and will go back as my final career when I can afford to do it part time after I’ve retired from tech.

I don’t think it would be that hard to find someone capable of teaching basic programming (I hate the term “coding,” why does it exist?). I am not a talented enough programmer to work at Facebook in any technical capacity, but I could easily teach high school students basic programming techniques and maybe HTML, which would be a lot more valuable than much of the stuff they are learning.

@Mike Dang Really with the right materials I think almost any competent educator could teach it, the basic concepts (if… then, loops, variables) are not that hard and overlap a fair bit with math. And no need to teach specific “useful” languages either — Python would be perfect for this purpose.

@stuffisthings Yep. See my comment upthread for the backstory, but I taught programming in a junior high school for several years. I set up a progressive program where the 6th graders learned to type (60 wpm by touch on average), how computers work – the basics of binary numbers. They liked sending “secret messages” to each other. Also basic vocabulary around computers and how we use them. 7th graders we started with javascript and I worked with their english teacher to do a madlibs style project – they wrote the paragraph in english, replaced the appropriate words with the part of speech/clue, and then we programmed it to run as a website with popups taking data with the prompts and then plugging it in to display the final paragraphs. They were learning variables in math at the same time, it worked really well. 8th grade was intro to real programming with Java/Swing. They built a GUI interface for a guess my number game – random numbers, button clicks, text fields, the works. The 8th grade piece was my masters thesis.

I programmed the hell out of some ms-dos back in high school in the one and only “computer skills” class we had. Also I folded a lot of little springs out of printer paper edges. I promise I’m not even as old as this makes me sound, but my point being we lacked not only the skilled teachers, but also the technology. I hope things are better for the kids these days on that front.

@Harald Koch@facebook What are their skills? I work in sili valley and we literally have hundreds of open positions right now with competitive salaries. There are places with high unemployment right now, but (contrary to yahoo) a lot of big companies are willing to recruit cross country (or continent) for the right candidates.

@Harald Koch@facebook THANK YOU. Zuckerberg’s quote is pure, unadulterated, horse apples. My husband is an extremely talented coder and has worked (with much success) at several successful startups in NYC. His entire job for a while was working with social media API’s specifically, so he knows his social media coding cold. Facebook made him go through four interviews, a coding test, ANOTHER coding test, and a last in-person interview. After all that and wasting a ton of his time, they passed. There is absolutely no way he wouldn’t be able to code for Facebook or didn’t meet their “standard” – I suspect he just asked for too much $, or they wanted people willing to relocate from NYC to CA (their NYC office is smaller, as I understand it). Lack of available talent is clearly a wild oversimplification. I think they’ve fallen into the big-business myopia where, when they say they “can’t find coders” they mean “can’t find coders who are experts in x, y and z languages, use exactly the same jargon we do, went to the “right” schools, live an appropriate distance from Facebook, and are willing to take Y salary.”

@julebsorry That’s true of Facebook, Yahoo, Google, and a few others. That’s NOT true of some of the other big ones. I work for the one whose CEO is fond of buying hawaiian islands and airlines. I work from home. My assistant works from home in Chicago. My lead engineer works from home in New Jersey, and my Project Manager works from home in Florida. Haven’t seen my PM in three years, but everybody else gets together once a year. I’m hiring two new folks in the next six months (non-technical positions) and will be totally agnostic to where they live. The last guy was in Toronto.

Both of the schools I have taught at – including a VERY large, wealthy suburban public school and a small private international school in the city – only offer AP Computer Science. It’s offered as a math elective which is prioritized after Stats and Calculus, so almost the only people who take it are students who already have been exposed to and are interested in programming. That is a pretty small group.

I think “coding” is catching on as a term over “programming” because it sounds less formal, and there is a (misplaced) bad rep for “hacking”. There’s also this really misplaced fear that all these programming jobs are being outsourced. Some are. Most aren’t. I think that will change if we don’t get our act together with education in the next 20 years, but there are a lot of people retiring and nobody to fill the ranks right now. It is wide open for a geek with some social skills.

There’s also a big split between “coding” and “computer science”. Anybody can code. Literally, if you have the capability to communicate clearly in a language you can make a line of code work. The leap to science is learning the most efficient way to solve a problem, and even more importantly learning which problems can only be solved by brute force (which takes too long), and how to get the best approximation of a perfect solution with the time you have. I see a lot of people with good coding skills, but no clue about the science. Those people make decent money but never leave the bottom tier. A deep understanding of data structures, algorithms, logic, and set theory will take you to the next level.

They are both geared toward kids, but completely appropriate for adults who want to try. I’ve watched 12 year olds build games and animations in two days with these, more than once. Greenfoot is more geared to nuts and bolts coding – Alice is more about building animations and has an extra level of abstraction there, but it’s still great, especially for kids who are more visual or have problems with dyslexia that make typing harder.

I really think it would help to have programmer who are retired/retiring/looking for new career paths to start teaching in high schools and middle schools. 3 of my teachers in high school (biology and math) were retired from prior professions. They all taught cause they wanted to keep busy during retirement. So something like this will really.

Also starting program that is like Teach for America but with STEM majors. Major corporations such as Facebook, Apple, Microsoft, etc will pay for students graduate school and they teach MS/HS either during graduate school or after for 2 years. Once those 2 years are up they go to work for the company who sponsored them.

Part of why coding isn’t taught in schools is that schools are underfunded. How can we expect to have classes in coding when we don’t have librarians or counselors. Here is an article about the current contract proposal in Philadelphia public schools:

“Schools with more than 1,000 students would no longer be required to have librarians or librarian assistants.

Schools would no longer be required to have counselors, and counselors’ caseloads would no longer be capped.

Teachers could be assigned to unlimited classes outside their subject area, and high school teachers could be assigned an extra class without pay. There would be no limit on amount of consecutive time taught in a school day.

I wish SO BADLY that I had been exposed to computer programming in high school. Instead, I read books and watched John Cusack movies and played lacrosse, and then racked up huge student loan debt to major in nothing (English) at a fancy school. Now I work at a web development, design, and marketing agency, and I do marketing, and I want so badly to be on the other side of the room with the boys, but learning those skills feels so impossible. I didn’t know I should be playing with computers when I was kid! And now I make no money. So uhhh, cool video, and completely, completely agree.

I was privileged to learn coding concepts at an extremely early age (read: my dad used to try to teach me mumps when he was in the lab in grad school. I was three). I don’t remember MUMPS at all. I DO remember learning Apple Basic in middle school because I’d just seen River Phoenix in Explorers ( still love that movie ), and I decided I wanted to do “computer graphics” as I called it at the time. Naturally, my interests continued to shift from those of my 11 yr. old self, but the computer bits never left.

What I’ve found is that it is far more important to teach parents, teachers, and students how to assess interest and ability as early as possible because it’s so much easier to teach high level concepts in the context of something you’re actually interested in. I tied my love of being obscure, with my love of computers, and languages, but I floundered for almost 8 years after high school trying to figure that out.

The older you are, the harder it becomes to take advantage of career options. Knowing the truth about what your options are at the earliest will do more to open doors of opportunity than this vaguely hidden marketing scheme. This is just setting up Information Systems (an already precarious industry) to be the next law degree, or mba when pretty much all of them are worthless in the current model. And that’s not even touching the whole Will.I.Am or Chris Bosch aspect of e campaign.

Teach kids how to learn, and how to evaluate accurately what they can produce comfortably to make a living. Don’t teach them how to pick the shiniest, highest paying major. This project is simply more of the same bandaids that won’t fix the gaping wound that is education in general, but post-secondary education in particular in this country.