Computing Careers: the future is bright
Joel Adams, a professor of computer science at Calvin College in Michigan, recently released a report The Market for Computing Careers that suggests a bright future for anyone choosing a computing career. Three major "surprises" are noted in this report:
- The U.S. Bureau of Labor Statistics (USBLS) is projecting more than four times as many new jobs in computing as in all the other areas of engineering combined.
- The number of new jobs per year is double number of computing graduates each year, creating a stupendous shortage.
- Computing is the only STEM (Science, Technology, Engineering, Math) discipline in which demand for graduates exceeds supply.
The report also notes that salaries are climbing as the supply of prepared graduates continues to fall short of the demand.
The USBLS predicts that computing will be one of the fastest growing professions for the foreseeable future with nearly 3/4 of the new science or engineering jobs being computing related. Of those jobs, 27% will be software engineering, 21% in computer networking and administration, and 10% in systems analysis.
Despite the obvious demand for graduates, the number of students choosing a computer science degree has dropped - from roughly 60,000 undergraduate majors in 1998 to 30,000 in 2007. There has been a slight increase in enrollments in the past two years. Students are usually quite perceptive when it comes to choosing a college major most likely to lead to lucrative careers. This has not been true in computing, most likely due to a number of prevailing myths; for example:
- "All the good jobs are going to India." In fact, only commodity jobs are being off-shored (and some statistics suggest as many jobs are coming back to the U.S. as are leaving each year).
- "It's a guy thing." It is definitely true that computer science classes are overwhelmingly comprised of male students - but the actual workforce, while still unbalanced, is not as skewed in terms of gender. In part, because a lot of people enter the computing profession with alternative preparation, in business for example, where gender differences are not as pronounced.
- "Computing means programming and programming means staring at a screen all day, isolated in a cubicle." Programming is important, but you will spend far more of your time working with others in order to understand and resolve complex problems than you will in implementing your solutions (which is where the programming comes in).
- "It is too hard." The emphasis on mathematics, theory, hardware, compilers, and programming that is the hallmark of computer science programs at research universities is, without question, a challenging curriculum. But more and more programs are recognizing the importance of alternative curricula that stress knowledge and skills more appropriate for that "27% of jobs in software engineering and 21% in computer networking, and 10% in systems analysis" - almost 60% of all jobs in computing. These alternative curricula are not necessarily "easier" but they are certainly less 'esoteric' as it is far easier to link what you are learning with its importance, relevance, and application.
Peter Demming convened a conference and founded an organization (Rebooting Computing) that is attempting to address these an other myths and attract more students to a computing education.
Like most myths, there is an element of truth in the idea that a college education in computer science will not lead to a great career. There is an obvious disjunction between what academia thinks is important and what employers want and expect in a graduate. Large consulting companies, like Accenture, use "boot camps" to screen graduates and introduce them to the kind of post-graduate education and training (provided in house and on the job) that will make graduates "billable." Smaller organizations or companies using direct hires consistently report that it takes a year of on-the-job experience and "re-education" before a typical graduate becomes a full contributor.
The combination of job projection statistics with the dissatisfaction of students for computer science programs and of employers with graduates from such programs, suggests that there are some critical issues that need examination and resolution if the critical need for computing professionals is to be resolved.
Denning, not Demming
This sort of thing isn't hard, is it?
It's not the guy who made Japanese quality manufacturing famous in this country. That's W. Edwards Deming.
Ugh, here we go again
It might sound like a bitter rant (it is), but it is true. When you have a large segment of CS graduates and CS professors arguing that they don't need to learn/teach about concurrency or seg faults because "the jvm/CLR does its magic so that you only have to worry about writing your webbie thingie", I cannot help but cringe.
Just because most of the (visible) development done by companies are of the e-commerce/web type, that does not mean what they need is unqualified masses writing tangled masses of jsp/asp/php incompetent-sauce dripping hyper-spaghetti meatballs.
If this is right, that computing careers are looking bright, and CS schools don't re-introduce rigor in their programs, oh man, God help us. That will be another missed opportunity to (somewhat) improve the state of software engineering.
what a bs?
Don't buy on this
Re: Ugh, here we go again
my interests have always been to understand and design. a mindset that does not stop when I pack up at the end of the day. so I take it upon myself to buy the books and take the time that I can now afford to keep learning (e.g. computational math, calc, compiler theory, etc) and to keep the "science" in computer science.
ANYONE can "build" (*cough* copy someone elses *cough*) a framework for a profit and therein lies part of the problem. the focus is ALWAYS on profit and never on design and understanding.
seriously though. let's not rely so heavily on statistics. let's start thinking more.
Re: Denning, not Demming
Re: Ugh, here we go again
This will never be good news until CS schools re-introduce rigor into their CS curricula. Otherwise, we'll see the same dot-com bonanza of unqualified bozos going into CS because "it's the next best thing!!!"... and graduating without having ever getting past sophomore skills.
Yes and no. I do think that CS programs need to become more uniformly rigorous but the plain fact is that much of a standard CS curriculum is of little to no use for your average programmer and there are a lot of things that are clearly missing from CS that would benefit programmers.
I have long argued that there should be a software engineering discipline that is related but focused on different things than CS. It would be similar to the distinction between physics and mechanical engineering, for example. I would never hire a physicist to do a engineer's job and vice-versa. The lack of this distinction for computer professionals creates a lot of confusion and misconceptions.
IT Jobs != CS Major
As much as U.S. corporations deserve it, we won't see a shortage of skilled workers driving up wages in IT anytime soon. Offshore labor and the automation of most aspects of computing provide a fat cushion that will prevent actual demand from exceeding effective supply. The automation part is particularly relevant as it means that non-CS graduates can effectively fill most IT jobs -- better in many cases.
So, in practical terms, the ratio of CS graduates to computing jobs is almost irrelevant. These sorts of statistics only get trotted out by people with an agenda. In this case it's academics who want to reverse a trend of declining enrollment in their departments and the accompanying loss of status and funding. Unfortunately, this makes them allies (witting or unwitting) of the traitor CEOs who use the same statistics to argue for unlimited H1B/L1 visas and the unrestricted ability to ship jobs anywhere people will work for a nickel less. Which, of course, is what caused the problem to begin with.