Solving our CS shortage 1 teacher, 1 student at a time Solving our CS shortage 1 teacher, 1 student at a time

Summary: We can't even import enough programmers to meet the demand, and the shortage is only going to get worse, no thanks to our out-of-touch educational priorities in this country.

TOPICS: Education
29, founded by brothers and serial entrepreneurs Ali and Hadi Partovi, is dedicated to improving the state of computer science education in the United States. The bottom line is that we're nowhere close to being able to meet the demand for programmers in the coming years. Check out this graphic from


These statistics are actually pretty ridiculous. We focus on STEM (science, technology, engineering, and mathematics) in many of our conversations, but actual programming rarely enters the picture. We give students iPads and various devices, and promote 1:1 to meet the "technology" component, but programming itself is a novelty for most schools in K12. We know that college grads with computer science degrees are going to get good jobs, but we don't let students explore CS meaningfully in high school so that they have an interest in pursuing a related degree in college. And those of us who live, eat, and breathe business and technology know that applied science, engineering, and mathematics all rely on programming and the algorithmic thought it teaches, but the College Board even dropped its second-level "AB" computer science AP test five years ago due to lack of interest. has attracted interest from some of the biggest names in technology and politics. Mark Zuckerberg, as quoted on, perhaps sums it up best from an employment perspective:

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.

From an educational perspective, Bill Gates hits the nail on the head (also speaking in support of and its efforts):

Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.

In fact, the high-profile supporters of range from Marc Andreessen to Max Levchin (co-founder of PayPal). Their message comes together in a video released today, produced by Lesley Chilcott of An Inconvenient Truth and Waiting for Superman fame. You can watch the full video on, but here's a teaser:

The take-home message is that we need to act now on a problem that, perhaps more than any other, impacts our ability to be competitive in the 21st century. For all of our standardized tests and talk about STEM, teaching programming (which can be an ideal catalyst for addressing every part of STEM and can be taught across all of our other curricula as well) is a novelty and an afterthought.

Is there a good reason why we couldn't make our standardized tests in mathematics programming projects with rubrics and requirements that require students to apply algebra, geometry, number sense, and every other standard in the Common Core? The answer is "of course not", and a test like this would be infinitely more useful in evaluating master than the current nonsense that only manages to evaluate how well our students take tests.

Is there a good reason that we shouldn't accept programming courses for language credit? Or math credits? Or with a bit of creativity, health, English, or history credits? Here's a course description for a United States history course that would work quite nicely (and be an incredibly fun class to take and teach):

In this course, US101, you will learn the events that led to the US Civil War, beginning with colonization, moving through the development of industry and agriculture on the East Coast, and examining the effects of westward expansion and the idea of manifest destiny. In addition to readings, in-class lectures, and original research, you will complete the following three projects in the co-required computer science lab course, US101CS:

  • Model population growth and decline using Maple in the first 50 years of colonization, choosing to examine New England, the Mid-Atlantic, or the Southern Colonies

  • Create a choose-your-own-adventure game using HTML and JavaScript in which users see the results of choosing an industrial career in a major East Coast city or an agricultural path in Tennessee in the early 19th century

  • Create an interactive iPad app that teaches elementary school students about the development of agriculture in the South that perpetuated the perceived need for slaves.

I'm not a history teacher. I just made this up. The point is that a concerted effort on the part of teachers and curriculum stakeholders could bring us incredibly engaging curriculum that takes a 21st century approach to learning that is appropriate and adaptable for all students. It isn't rocket science, and it's barely computer science. Watch and share the video on and speak out on the really fundamental shift we need to make STEM more about the real world and less about paying lip service to teaching 21st century skills.

Topic: Education

Christopher Dawson

About Christopher Dawson

Chris Dawson is a freelance writer, consultant, and policy advocate with 20 years of experience in education, technology, and the intersection of the two.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Employers can offer after-school internships

    If they think there's a shortage, then there's nothing to stop them from luring young people into the field with free or even paid training. But maybe they could start by paying existing programmers better, which is and of itself an incentive for young people to enter that profession.
    John L. Ries
    • Existing programmers are already well-paid

      Further, many technical universities engage national employers to offer co-op programs for student pursuing science and engineering.

      The problem is that too few students are pursuing these fields. When I was in high school I took and aptitude test that told me I'd be a great computer programmer. I took similar test two more times before I graduated from college.

      All three tests gave the same results - still I ignored those results. Finally, I was forced to learn to program a computer by way of an Astronomy course I encountered in Graduate School.

      Outcome? I will have been an IT Professional for 33 years this coming May. Exposure to computer programming early and often is critical to improve these numbers.
      M Wagner
      • Been gainfully employed in my chosen profession...

        ...for over 20 years (minus one month in 1993), but that's not the point. We have yet another claim that we have a severe shortage of programmers, yet employers are not behaving in the manner that any sane economist of the last 250 years (of any ideological persuasion) would have predicted.

        If there were a shortage, employers could not afford to be picky; a CS degree would be the ticket to almost instant employment (assuming the holder has any kind of work ethic), employers would be eager to train both new and existing staff, and salaries for experienced programmers would approach those for physicians and lawyers. None of that has happened.

        Mind you, I'm all in favor of teaching programming in high school as an elective and firmly believe that programming is a useful skill for just about anyone who works with a computer, but as Baggins correctly notes, the primary mission of the public schools is not vocational training, but citizenship training.

        The whole issue looks a lot like it's being pushed by employers who have come to regard a plentiful supply of cheap labor trained either at their own expense or the state's as a fundamental right.
        John L. Ries
  • Yeah, those statistics are ridiculous

    I don't know where you live, Chris, but where I live, you can go into any coffee shop at about ten in the morning and find at least one former programmer, either sitting drinking coffee while scanning the want ads, or actually handing out the coffee.

    Where do people GET these numbers? I've been in this field for thirty years, and it's been in steady decline all that time. Want to know why there are fewer students in CS than ten years ago? Why CS enrollments have plunged like a rock? The grapevine. Students have older siblings, uncles, cousins, who graduated ahead of them who are unemployed, that's why.

    The work is shrinking because it's all cloud by now, because all the big projects are done, and maintenance takes two guys where it took a hundred to build, and the maintenance guys are all in (name of central city) do all the work for the whole company; and what little work there is gets offshored anyway.

    Sure Facebook can't find enough of the type of engineers it wants. I'm sure Lady Gaga has trouble finding back-up musicians with the chops to perform for fifty thousand people, too. It doesn't mean normal people are needed.

    Sure, learn to code. Why not learn Latin, too, while you're at it; a fine academic exercise, but it's not going to get you a job. Not any more.
    • I don't know where you live either

      I'm a software dev with no college degree and maybe 1 year of professional experience. I recently got laid off because the company I was with was ditched by 4 of our best employees because of internal reason. Started job searching and I'm relatively waving of jobs with a stick. There is a market out there, a big one. I will agree though, that the entry level market sucks. If don't come from the right college, or talk to the right recruiter, you end up and a boring, dead end job that no one wants.
      Richard A Simpson
      • Today, without a colllege degree, ...

        ... or some kind of professional certification getting your foot in the door can be tough. it is lot easier to get a new job while you are still employed in the old job.
        M Wagner
        • Point being...

          ...if employers were really desperate, they'd be more willing to invest in training (as was frequently done in the 1960s and 70s). As it stands, this looks like a move to increase the H1B cap again. Apparently employers would rather have people they can arrange to have deported.
          John L. Ries
    • Where DO you live?

      I live outside Boston. There's hundreds of jobs for programmers here. If you have half a brain you can get a job in a couple weeks.
    • Those jobs "in the cloud" need talented people too.

      Information Technology is a moving target. You have to keep up with the technology or you fall behind. You must be willing to get training and then go where the jobs are. There is no question, computer programming is hard and IT is a high-stress field. But that is why gifted people get paid well to program. Free-lance programmers with experience can command $150 per hour.
      M Wagner
  • work hours, low pay for the work, lack of job security

    About a decade ago I helped out a bit with the jobs ministry at a local synagogue. I remember one of the women. She was from Iran and she was a programmer. She complained, "I'm getting loads of crap from where I work. I want to work about 40 hours a week. I have a family and I want to spend some time with them. Pretty much the rest of the programmers are young guys from India or Pakistan. All they do is basically eat, sleep and program. They're programming 70 hours a week. My boss is complaining that I'm not a "team player" because I want to have a life."

    Let's face it--you can't step into a system analyst job straight out of college. Years ago the path was CS degree, coder, analyst. Now most of the analysts are contractors and the coding is done offshore. And why would someone want to go into a field where they will be expected to work 70 hours a week with no real chance of advancement when they could get an MBA and make triple the salary and not have to constantly worry that their job might be offshored next week or next month?
    • not all programmers are created equal?

      One of the biggest barriers to full employment of the existing IT / CS trained crowd in the US is that many, if not most, hiring companies want someone to step in with an unrealistically exact and perfectly tailored amount of experience and knowledge so as they won't have to spend any time (money) on training the guy on "how things are done here".

      There are thousands and thousands of different software products in use across the US (let alone the entire world) and the potential variability for intermixing different (and different release versions of) programs, tools, systems, OSes, network products, storage products, etc. etc. etc. is mind-bogglingly complex. Your typical "help wanted" ad indicates you must have at least XX years experience in specific industry YY using these 5 specific versions of these 7 specific products, which there are maybe 2 or 3 companies in the entire world who have that exact mix of industry, products, & versions, so it is a relative impossibility to meet the posted job requiremnts coming in off the street.

      So those companies run screaming to Congress (or whoever) explaining how they've had the 3 or 4 "simple" technical jobs vacant for 6 months, so you MUST expand the H1B visa program to entice foriegn skilled workers to come to the US.

      The lie here is that those H1B workers have the skills their unemployed US counterparts do not. In fact, they don't have any more appropriate specific skills (don't get me wrong, they do tend to be reasonably educated and skilled, just saying they don't meet the very specific original requirements any better than the potential American applicants) and recruiting companies have been known to exaggerate (or outright lie about) the skills of the foriegn technicians, who then to do some emergency cramming to learn at least the basics of whatever 'required' skills they purportedly have.

      It's all a big mess ... in most cases egregiously unrealistic expectations by the hiring company is exacerbated by the short-term profit mentality of business decision makers who completley lack any insight into the technical issues that need to be solved, and so they prefer to pay less for offshore "expertise" rather than take the time to develop knowledge and expertise within the local labor market which would provide far more benefit down the road whereas your offshore "experts" disappear after 18 months and there's absolutely no retention of skill or knowledge within your company. In fact, they usually are just giving foriegn competitors the expertise needed to take away business from them ... talk about shooting yourself in the foot.
      Gravyboat McGee
      • Employers always aak for more than they need ...

        ... But the guy/girl that gets hired is the one that shows up for the interview with the right attitude and a willingness to go the extra mile to get the job.
        M Wagner
    • This is the way life works. Those with the least seniority ...

      ... or experience are given the least interesting jobs and in a high-stress field, like IT, are expected to work until the job is done. Everyone is salaried and, once they have a little experience, are paid well for their efforts.

      Entry-level jobs in any field are designed for the young, single, just-out-of-college, go-getter who is willing to move to where the jobs are.
      M Wagner
    • The only MBA making that kind of money ...

      ... have engineering or science degrees as an undergraduate. Business degrees are a dime-a-dozen.
      M Wagner
  • Nobody's hiring right out of college.

    As a Computer Science major myself - I don't see the demand. Seriously, I don't. Everybody wants 3+ years of experience, and no they're not counting a four year college degree. It has to be "industry" experience.

    Want to know what's broke?

    The relationship between industry and education.

    Or, rather, the lack of any relationship at all. Colleges don't know what to teach in CS classes, and the industry isn't telling them.

    And the result is an industry that doesn't trust that piece of paper known as a "degree." It's rapidly becoming worthless.
    • At one time, high school was a training ground for the work force ...

      ... but not any more. Almost all corporate employers expect a bachelor's degree. Computer Science departments train you in theory. If you learn to love computer science (after all, it is a love-hate relationship), with the theory in hand, you can learn whatever you need to in order to do the job well. It all depends upon how hard you want to work.
      M Wagner
  • K-12 are not trade schools

    they are supposed to give you the grounding you can use to move onto a trade. iPads and computers aren't in schools to teach you about iPads and computers, but to help you learn things like history, math, science, art, english, etc. From that quaint old time when basic education was to be broad-based and foundational, and was to include things like character and moral instruction.
  • So right

    The "industry" doesn't want to train anyone anymore. It just wants its fresh, shiny, young and naive little widgets. Training, a future with the company, it's rather rare to see that any more.

    Cynical? Moi? Pas possible!

    All that and schools (K12?) should be there to crush one's spirits, then offer the carrot that one might have talent in some area of life that one might wish to pursue, and that they will be there to help along the way. I knew I should have been a brewer!
  • Shortage of Programmers? Blame Corporate America.

    If you want to lay the blame for a lack of Coders(a.k.a. Programmers) somewhere try Corporate America. They invest 0 in the people they have. You need to constantly be going to school. And who pays for that. I got $20 says it ain't the company you currently work for. And forget about prospective employers. They want some one to 'walk right in and sit right down' oh... and know the business. Hey Corporate America, you've got people who know your business, invest a few grand into their education (instead of showering the CEO and the VP's with outlandish salaries and perks,) who knows you might come out of it with a valuable employee. But that's not what you want is it? You want the job done now, as cheeply as possible. Well, welcome to the jungle. You can't get what you want because you laid them off 10-15 years ago and farmed the work out to China and India. You deserve what you get.
  • This is a great article Chris!

    It sounds like a lot of your respondents want to blame someone else for their lack lf a job. It is a tough world out there. These jobs pay well BECAUSE their are too few people willing to work that hard! I agree that much more could be done to expose HS students to the field but much more needs to be done to encourage all students to excel. Teaching to the test - in order to protect the school's funding - does not help students learn.

    This is a good piece, Chris.
    M Wagner