Between 2000 and 2007 computer science enrollment in US universities dropped by about 50%! There was undoubtedly many reasons for this drop-off, from the failure of US High Schools to adequately teach math and science to the fear that all future software development would be off-shored. This trend finally started to reverse as this Spring’s CS graduates where starting college in 2008 according to this CRA survey. But with CS enrollment still 25% below 2000 highs, today’s graduates are likely to face a great job market for years to come thanks to both a shortage of trained developers and an exploding need for talent.
Today, not only are more software developers needed in the US and around the world than ever before, but developers need new skills be it in building fast growing web/social networking sites or in programming new types of processor architectures such as ARM, Nvidia Kepler, and AMD Fusion. Thought knowing MySQL, the “M” in the LAMP stack was enough to get a job at hot web startup? Forget it. I visited a “startup” recently running several thousand x86 servers and asked them what database they where using. The reply, we are transitioning as fast as we can off our legacy MySQL code to Couchbase.
The demand for programmers experienced in high performance computing continues to explode as well. A PhD in physics with CUDA programming experience might just as easily be found today working on seismic processing codes for an oil company or on the phyciscs engine bringing life-like realism to the latest computer game as they would working at SLAC. While new standards like OpenACC make parallel programming easier, algorithm developers and code designers must still figure out how to structure their code to express the inherent parallelism. There is no silver bullet that replaces a strong background in the fundamentals of computer science.
Moving forward throughout the rest of the decade, be it code running in a mega web data center or on 4000 GPUs in the HP-powered TSUBAME 2.0 supercomputer, there will be countless new jobs created for software developers. Lets hope the trends in growing computer science enrollment continue!