Darpa: US Geek Shortage Is National Security Risk
wired.com
wired.com
You guys want people to major in computer science? Pay them to. I'm sure that the DoD and Google and Microsoft would all like to hire top people for $50,000 a year. But that isn't the way markets work. If I want a Ferrari, I can't refuse to pay more than $10,000, and then complain about a "Ferrari shortage" because no one will sell me one at that price.
Even if you assumed that the ability to program was purely the result of some genetic mutation, so that there were X programmers in the world and there could never ever be any more, there still wouldn't be a shortage if prices rose enough - because there would be less demand. If each programmer had to be paid twice as much, companies would hire fewer programmers, and there wouldn't be a shortage.
My point: Disqus has been hiring for QUITE a while, very vigorously. I know for certain they are getting a ton of applications. I'm really quite sure they're offering market value for the kind of talent they're looking for. So, what's the problem?
I'd wager they're having trouble finding people talented enough and who make a good culture fit.
Then again, when I think programming I don't think cubicle-wage-slave cranking out Java or something. I guess you could quadruple the number of code monkeys in the world to fill all THOSE positions. I wouldn't want to work with the people who came out of that factory, though.
The OP seems to suggest that offering _significantly above_ the market value would be the solution.
A weird thing about programmers is that they aren't used up when they are bought. They aren't consumed. There is just a minimum benefit that needs to be perceived before it becomes worthwhile to switch from that well-paying and comfortable job.
If you're having a shortage, double your salary/benefits. It should get you a lot more interest from talented people who might otherwise be off the market to you.
I live in Dallas and over here the shops that pay a lot tend to overwork you, they have mostly uninteresting problems, and they use outdated technical environments. For them, the high salary just helps them slap on the golden handcuffs.
The supply and demand curves can be proven to have an intersection under the assumption that they're monotonic in different directions. But with regard to "smart and passionate labor", that assumption is flawed. Offering people more money for labor doesn't necessarily enable more of them to become passionate about it. So it's entirely possible for the market to fail to clear.
That's not what's happening now, of course.
PS: what about the smart and passionate people interested in cs that choose another career because of the perceived social and economic status?
I wouldn't really be a smart rational economic actor if I hadn't judged it to be profitable over my other options, though I admit there is more to it than just money.
In this case, part of the salary is your working environment which would be significantly better in a start up.
I think that's part of the reason talent acquisitions are becoming increasingly common -- you can't just pay new hires 50-200% more than what everyone around them is making, because that would infuriate existing employees. But if you pay them that same figure via a talent acquisition, none of your current employees will care much because they can mentally file it under "special cases".
We are absolutely feeling the lack of US geeks. They are rare enough in software development but even rarer in computer security. We have several open positions but it's mostly non-Americans who apply. We are basically excited about every application from a US citizen we get. This makes hiring much easier and we do not have to wait until October 1st when the new H-1B visa period kicks in.
Now, I have speculated that maybe the company I work for is just unpopular with US citizens but then I recently interviewed with a Bay Area company with a much sexier public image and it's even worse there. I talked to members of a team of 12 people. 11 of them were not Americans.
In fact, we spent the lunch interview speculating about the causes of this situation. In the end we considered it most likely that the title of engineer is simply not sexy in the United States. In other parts of the world like some countries in Europe and especially Asia the job title of engineer carries a good amount of social respect and commands a respectable salary. That is not the case in the United States (well, the salary is actually good, but not the reputation) where the reputation ladder is topped by jobs like doctor or lawyer. It is not surprising that the smartest students would rather get into those jobs.
Anyway, in the light of all this I keep being amused that the US three-letter agencies are advertising their computer security positions so aggressively. With the current US talent I am seeing in the wild there is no way they will be able to fill these positions in any way that can compete with, say, the Chinese hacker legions. Rather, I foresee national interest waiver greencards for people like those in my hallway.
That would be a sample of environments where higher education is strongly pushed. In the area I grew up in, the amount parents spent pushing their kids to excel in athletics above anything else is stupid. I know a 6th-grade teacher who complains about kids not having any time for homework because they participate in non-school sports.
Lawyers? They have a cute professional rule that a lawyer working as a lawyer must be supervised by a lawyer. So, no stuffed suit, business middle manager types need apply to supervise lawyers in an organization.
My friend's father worked on some later Apollo missions and ended up leading a Titan engineering group with no college degree. He was a damned good engineer, though. If it were possible to earn mathematics degrees by test taking, he'd easily have had a graduate degree.
In the beginning he was a technician (which didn't require a degree), and once during crunch time he literally fixed a buggy electrical component an engineer was showing to his boss in front of his eyes. In his words after that one lucky break, he never looked back and just kept working his way up, excelling and proving himself in each position. After a point, the fact that he had no degree made his managers take more notice of him. Clearly a man who had to work his way up through several levels he wasn't supposed to be eligible for had something unique.
It's difficult, especially in the defense industry, but sometimes talent wins out over credentials.
That said, there are some able men and women who carry out engineering jobs without a degree (even though IIRC they can not call themselves engineers)
I think the real problem is our immigration policy.
But the start of this was not computing but math, physical science, and engineering during the sudden high demands in such fields in the 1960s due to both the Cold War and the Space Race. There, too, the old power structure was surprised and angry. Technical people were called 'The New Mandarins'. The old power structure, say, Ivy League history majors, were torqued.
Part of the situation is somewhat general: The 'suits' still want to be like in a Ford plant, say, 80 years ago when the suits knew more and the subordinates were there just to add labor, muscle, and sweat to the work of the suits. Then in the technical fields, suddenly the subordinates knew more than the suits, e.g., about Maxwell's equations for battlefield or satellite communications, about the fast Fourier transform and digital filtering, about orbit determination for navigation satellites, and about computers.
Yes, people in law and medicine also know more, but they are in recognized professions set apart from the hierarchy of an old Ford plant, but computing was not, was, say, in the CFO's group or the manufacturing group. Bummer.
So, some suit had a bright idea, "To keep people from wasting so much time learning higher level languages, we will use only assembler and, thus, save lots of money.". Right! "Also, programmers get paid much more than typists. So, we will hire typists for the typing and won't let programmers type.". With the ROFL, soon the suits saw that they were in deep, fuming, smelly, sticky stuff.
So, how can a suit survive? Sure: For each technical job, hire about three technical people. Then none of the technical people can have 'leverage' over the suit. Of course, for this, need MANY more technical people.
Second, the US DoD actually believed that for national security, the US should increase the supply of labor in technical fields and got Congress to agree. Then the NSF started throwing money around to this end and with considerable success.
By the 1970s, US citizens began to see that there was no pot of gold at the end of the picture of a rainbow drawn by the NSF and heavily quit going for those technical fields.
Third, but the NSF kept trying. Their next semi-bright idea was to write into academic research grant contracts that students must be supported. When US citizens wouldn't come, the universities got the students from other countries, at first, heavily Taiwan and India.
Fourth, when the computer industry caught wind of all this, they pushed for the H1-B visa program and got a big supply of essentially 'indentured labor' they could, and did, exploit.
Net, fields such as law, medicine, pharmacy, roofing, carpentry, pizza making, machine tool making, auto repair, accounting, etc. don't get the attention from all of the DoD, big employers, Congress, the NSF, and the universities.
So, net, computing is heavily 'targeted' by all of the DoD, ..., the universities.
E.g,, the targeting pushes for more in, say, electronic engineering. Thus, often there is a better career as an electrician than with a Ph.D. in electronic engineering:
At least in some states, the electrician needs a license and, likely, has liability, and the Ph.D. nearly never has either. So, the electrician is closer to having a 'profession'.
As an employee in industry, the Ph.D. will likely discover that before 40 he has to move into management or get fired. Yes, Virginia, they fire Ph.D. EEs. So, by age 40, only about 1 in 100 is in management.
Fired, the Ph.D. will discover that the electrician of the same age can have a nice business, several employees, a nice house, and take off Friday-Sunday, even if he doesn't bother to have his name in the Yellow Pages, really can't be fired, and isn't vulneable to age discrimination, office politics, industry M&A, Toshiba beating GE, etc.
Really, more generally, with 'globalization', the US citizens who get rich are okay but most of the others need a geographical barrier to entry. E.g., an electrician is not in competition with anyone more than, say, 100 miles away. So, if he does okay in a radius of 100 miles, then he can do okay.
In business, the Ph.D. hss only a very narrow list of candidate employers, heavily the US 'military-industrial complex', while the electrician has a huge range of candidate clients and can do okay as long as the whole economy is not in the tank. E.g., if there is new construction, then he does that. If not, then he does renovations.
Seeing such things, many US citizens are avoiding the fields targeted by the Federal government and, also, fields vulnerable to globalization. Net, at present, for nearly everyone in high school now, they better plan on a career as a Main Street sole proprietor.
Thank you NSF for 'targeting' technical fields and driving out US citizens and Foggy Bottom for 'globalization' as a source economic carrots to try to make nasty foreign countries 'behave' -- e.g,, give away much of the US bath towel market to Pukistan to make them 'behave'. How well are they 'behaving'?
Mo big gumment, Ma!
The less big gumment does, the fewer really big mistakes they make.
But the flip side of this disaster is an historic opportunity and right in the center of HN: Be an entrepreneur much as for a Main Street business but also technical. Maybe get venture funding and maybe not, but in any event be a technical CEO. Then can beat the pants off any competitors run by non-technical suits.
- 4x Indian - 1x Chinese-American - 1x Chinese-Canadian - 1x German - 1x Filipino - 2x American
David J. Marchette, 'Computer Intrusion Detection: A Statistical Viewpoint', ISBN 0-387-95281-0, Springer-Verlag, New York, 2001.
Yes, my work became peer reviewed, original research published in one of the better Elsevier journals of computer science,
And I have a long background from Yorktown Heights and in DoD work.
Still I discovered that I was absolutely, positively, permanently unemployable in anything having anything at all to do with computing. Period. In business, on Wall Street, near DC for national security, for anything. Why? I was over 45.
So, I'm starting my own business. My target customers won't care that I'm over 45.
For a physician or lawyer, being over 45 is a great advantage -- they know more, and the target customers want the gray hairs. The knowledge is, in principal and can be in practice, e.g., my work in computer security, a big advantage. Still in computing gray hairs are worse than a felony conviction, literally.
This issue of age discrimination is a big reason you see so many immigrants in computing. Then, seeing so many immigrants, US citizens commonly sense that there's something wrong in that field and stay out.
So, why so many immigrants? Sure, it's easy, just as in, say,
http://www.wired.com/dangerroom/2010/01/darpa-us-geek-shorta...
where the drum beat (as recently from Mayor Bloomberg, on AVC.com, in some banker before a committee of Congress, etc.) is for a big 'shortage'. The same was true during The Great Depression: Growers in California circulated posters in the rest of the country claiming a big 'shortage' of farm workers in California. The sheep came and got fleeced.
Then, with the drum beat for 'shortage', as you notice, the drum beat will be for more immigration to meet the shortage.
This got started when the NSF decided to flood computing with immigrants and did this by writing into university research grant contracts that so many students had to be supported. Then the H1-B situation came along and filled whole departments with immigrants and, often, implicit signs "No US citizens need apply".
Computing? The US Federal government 'targets' the field and tries hard to manipulate the supply and demand. So, well informed US citizens stay the hell out.
For my business, what the US Federal government is doing to computing does not hurt. Actually I will have opportunities to exploit immigrants but will refuse to do so. Instead, I can hire some gray hairs! Okay by me!
But generally, young US citizens should stay the hell out of computing unless they can see their way clear to owning their own, successful business with a wide, deep "moat" (see Buffett).
The only way to be sure gumment doesn't make a mess out of our economy is to be sure our gumment stays out of our economy. E.g., The Great Recession, started by what some selected members of Congress told Fannie and Freddy -- back any junk paper. So, bubble, crash, wipe out the ability of the US banks to play their role in the US economy, bring on The Great Recession, and run up the national debt by a few trillion dollars. Yup, gumment in action again.
Computing and gumment? Drive US citizens out of computing.
Semi-, pseudo-, quasi-great: Computing is an 'essential' field especially for US national security, so drive out US citizens. Yup, gumment's best again!
The supply of labor for software is a very different issue.
Demonstrate the wonders of STEM fields, and do so in a non-hokey manner (I've seen the government ads and the ACM ads, they are terrible).
Instead of bubble-heads on the evening news, work to have thoughtful people providing the voice of the country. Work to have authorities in those fields providing discussion and commentary.
Work to raise the national mind past football, movies and booze and towards deeper understanding and discussion of real issues.
I believe that with an increase in the average thought level, we will suddenly find more geeks in our midst.
The notion that only technical fields are valuable is a very, very short-sighted mentality. Both technical and non-technical people provide value, and the proper way to get more of both isn't to attack those that are unlike you.
That said, it's a question of balance. And it's also a question of not accepting all things as of equal value, which is required for progress.
"It's kind of weird--the values. Jonas Salk invented the polio vaccine. I'm probably worth a lot more than Jonas Salk. That's pretty weird. I didn't cure polio; this guy did. I walk into a bar and a whole bunch of people know who I am. Jonas Salk probably can't even get laid. Now, figure that out."
And for years the captain of the airplanes he was on would announce this to the passengers. He was offered (but turned down) a ticker tape parade, his name has been added to shop windows, when the announcement was made the entire country pretty much stopped just so they could listen to the radio broadcast.
And yes, he could get laid pretty much anytime he wished (though he seems to have preferred to stay with his wife).
Programming and computer science are important, but there's no need to belittle other professions. All the careers you listed require skill and dedication and contribute to the advancement of humanity in their own ways. I agree it's always good to raise the general level of thought and knowledge, but there are plenty of intelligent people who enjoy football, movies, music, and even gasp booze.
I am alive because of a few really good doctors, but even the best doctors don't have groupies, etc.
This is the same thing for sports and even less make it to the big leagues and make the money that you see the stars make these days.
I have to agree that there needs to be a push to make computers and science more appealing to the younger generation. The more we can show that engineers and scientist are not labeled geeks the more we will get the younger generation test out the different fields.
1) Dot-com bust: Lots of people jumped into CS when it looked like being a programmer was a easy way to become a millionaire. When it became obvious that wasn't going to happen for most CS graduates and there was a glut of talent in the market, people switched to something else.
2) Outsourcing: Right on top of the dot-com bust was the trend towards outsourcing. There was lots of scary noise about how programmers were the next factory workers: gone overseas and never coming back.
3) H1-Bs: They hurt the supply of U.S. CS students by making wages lower which makes CS a less attractive major. (For the record, I'm pro immigration, but anti-H1-B. H1-B workers have very little ability to negotiate salary and companies like Tata abuse the H1-B system).
Issues #1 and #2 have more or less worked themselves out, so you'd expect that the current shortage will end as people start seeing CS as a good option again.
I won't take any government blather about the lack of native-born engineers seriously until this is addressed. What kid in his right mind is going to go into a field in which the government undermines his ability to get a raise?
Issue 5) Interesting work is hard to come by. When I was interviewing, I saw several companies whose work I found interesting and made sure I got to know people who influenced hiring. Nothing came of those applications and I ended up going into what you might call one of those mega software houses. That is to say, even with a shortage of CS majors, finding a job doing work you--as a computer scientist--find interesting is difficult.
This is why the EFF came into being in the early 90s.
Here's a link to Sterling's book, the Hacker Crackdown[1]. He talks about the early, early EFF. It really reminds me of today.
This topic reveals a bit of confusion within the industry. On one hand there's a commonly held belief that anyone outside of the top 1% of developers is next to worthless as an employee. Yet when articles like this come out suggesting a huge shortage of home-grown nerds, everyone agrees that "something must be done" and kids must be guided towards math and CS classes...
Fed jobs suck.
I think Google's the only company with a worst interview process.. "Come interview for a job, which we'll offer you 5 months down the road. No, we can't tell you what you'll work on until after you've started working for us."
Without a lot of intrinsic motivation, first worlders don't become geeks. There are major issues with prestige, image, lifestyle, pay, hours, lack of professional associations, lack of government influence, lack of sex appeal.
http://graphics8.nytimes.com/images/2011/06/11/technology/11...
from
http://www.nytimes.com/2011/06/11/technology/11computing.htm...
Career days, mentoring, lab tours, and counseling are all surely good ideas. But building up desire to become a computer geek among teens will only go so far unless the teens have enough background coming out of high school to learn the actual skills of a computer geek.
Currently, the ACT college admission testing organization estimates that three-fourths of the young men and women entering colleges "were not adequately prepared academically for first-year college courses."
http://online.wsj.com/article/SB1000142405270230407010457639...
There are varying amounts of mathematical background strictly necessary for working in various kinds of programming jobs. It would be a rare programming job that wouldn't require at least as much solid skill in mathematics as implied by completing a second year of secondary school algebra. But a lot of high school graduates don't reach that level of math skill, even if they have taken an algebra II course.
http://www.washingtonpost.com/business/economy/requiring-alg...
http://www.act.org/research/policymakers/cccr10/pdf/Conditio...
I've given more citations to studies of United States mathematics education in another HN post,
http://news.ycombinator.com/item?id=2562743
so I won't belabor that point here. I'll simply point out that with students who have decent math skills in shortage already, moving math-able students into computer science or computer engineering but from physics or medicine or other forms of engineering still leaves the United States with a potential national security problem.
Also I think we need to change how people are exposed to programming. For many people, the phrase "I'll explain how this works later" is highly discouraging. As such when the first language they are exposed to is a C variant, they tend to be immediately turned off. Languages like Python should be the base of programming education as they provide the ease of use that can excite new users, while still providing the foundations necessary to learn more complex languages. Also, when learning a language students should really be shown what they can do with the tools they are learning. For example I was in an introductory class and the teacher taught what a class was, but not how we could use it for anything.
Outside of Silicon Valley being a geek isn't cool, being a geek just means that you're seen as tech support to friends and family. They appreciate it, but it's not like you're a doctor or a lawyer or pro athlete or something.
Also, not only do a lot of the jobs for developers kind of suck, the things we expect from geeks is horribly standardized. For example, outside of the startup community you have 3 primary camps - PHP, Java, and .NET. I think most jobs I've seen want developers who are stuck in one of those three camps and have lots of experience there so that they build more standard software on standard platforms.
Even PG wrote about that very phenomenon when he talked about how you didn't have to worry about a competitor whose job listings wanted Oracle. I see more job listings for PHP/JavaEE/.NET coders in a week than I've seen for Rails/Python/Lisp/Scala/Clojure in a year.
If we are turning developers into PHP/.NET/JavaEE glue coders I kind of doubt that young geeks would look up to us either. It's hard to be a uber geek when all you know is Java from college CS course and Java EE in your full time job. It's hard to make other people want to turn into uber geeks when they see their parents or friends' parents having boring corporate tech jobs they don't enjoy any more than the accountants or secretaries or managers do.
If as geeks we want more geeks, we have to do more super cool geeky stuff instead of being so dreadfully boring.
We need to do more things that are "magic" like iPhone, Facebook, Kinect, and StumbleUpon(which has become bizarrely popular on college campuses I've noticed) and less things that are super lame like building horrid software that people loathe using - Lotus Notes, SAP, etc...
Since when does programming have to feel like double entry accounting? Since when should the hiring process and the training process feel much the same as accounting or banking?
Geeks have gone from being seen as wizards to being seen as technical bean counters and paper pushers.
Recently this website was posted to HN, http://weusemath.org/
They're trying to change the common ideas held in regards to math and what you hear from high schools, "I'll never use math in real life!"
Now seems like the primetime to begin a similar movement for geeks/hackers and I assume this has even been tried before. There is Zuckerberg the successful geek with even the movie (The Social Network) pushing this image. Some of my friends who I know I do some programming have approached me saying they have a cool idea for an app and asked if it'd be hard to make. I think an effective answer would be to explain how the development process goes, show them writing some basic app, and inviting them to learn.
you have it quite backwards there - SAP is a hugely sophisticated piece of software that runs huge companies. Comparing it to facebook or kinect or stumbleupon desn't do it justice (it's been developing since the 70s).
Having a "boring" megacorp job in an air conditioned office writing is what most people dream of around the world.
I'm sure they do. But those of us who are meeting our basic needs can aspire to do something a little more exciting than the bare minimum.
I do think the grandparent has a valid point though. Most enterprise corporations do treat IT / development as plug and play instead of "engineers." I think enterprise coding would be fascinating, but they are stuck in a language and platform rut (PHP/Java/C# and something else whose name escapes me) and don't let the engineers explore other solutions to problems outside of those silos.
Some of the enterprise challenges -- scaling for instance -- are quite fascinating problems that only show up in large software projects, but to solve them one finds oneself limited to cobbling together a solution from previous solutions built on top of older solutions using the same software stack + updates. Creativity and a willingness to think outside the box is lacking in some of the larger organizations and after 20+ years of doing the same thing on almost the same platform has managed to help push geeks into the corporate IT stereotypes.
As you point out, not everyone wants to work at a startup and might enjoy the stability of a regular job. I might be one of those people, don't know yet. What I do know, is I would like to exercise some creativity and find newer and more updated ways of doing things instead of rehashing the same code in the same software stack day in and day out. But that's just me.
A number like "how many active installations of hardware X", which represents actual real-life users in realtime, is a very important thing for an application developer to keep track of .. if you've got one machine that is serving 10,000 people over lunch-time, something, then you better know how that machine is working.
If the lawn-humping teenage generation of programmers aren't being taught one thing, its that hardware in use is all that matters. Count that as your primary professional consideration, and things go very well from there, usually.
If students were coming away from US Computer education establishments with very strong hardware capabilities and focuses, rather than 'doctrine and taxonomy' as a focus, there would be a positive change in the industry. Many 'old school' programmers got that way because they had to build their own hardware; if you are a Java coder, there is absolutely no reason why you shouldn't also know how to wire up a chip. Its totally arbitrary.
For what it's worth, nothing requires Enterprise software to be big, ugly, boring, hard to use, etc. Maybe I'm biased, since I'm working on an Enterprise Software startup, but I think this stuff can be damn interesting. Then again, I'm in the "Enterprise 2.0" space, and am working with interesting stuff like social network analysis, activity streams, machine learning, text mining, semantic web tech, etc. Maybe writing accounting software is boring, but the stuff we're doing has a lot of interesting aspects to it, IMHO.
Note that this is still in self-funded, bootstrap", "nights and weekends" mode. :-)
I think the successful companies that make the boring software have simply realized that the cool-factor of the software is not a major selling point in their market.
A true shortage in the market (relative to demand) is accompanied by a rise in salaries. In certain niche markets we are seeing that [google's big raises, etc] but I don't believe that market has much in common with the market that DARPA cares about i.e. making new and better ways to <strike>kill people</strike> defend the country.
Are the DeathTech and Skynets of the world start offering much higher salaries during this "shortage"?
It would be much better if the US would scale down their oversized military and then it also might consider working on goods that advance the life of people and which might actually be interesting to others so they can be sold.
The military jobs is actually one reason the US lacks competitiveness in some areas (see the huge trade deficit). This works so: getting rich is very important.So young people go to finance and other gambling like activities. The more engineer interested people find jobs in the military. There they work on extremely costly projects like nuclear aircraft carriers, nuclear submarines, nuclear weapons, drones, fighter planes, etc. These projects come with a huge price tag. The technologies used, the specifications used, the processes used are mostly incompatible with what a civil market needs. So the military engineers are naturally trained in the wrong direction. For example a vehicle constructed for the military is heavy, provides protection, has a huge payload, is robust, has infrastructure for certain types of equipment, etc.. Think of a tank or a hummer. Most of these requirements don't fit into what is needed for, say, automobiles. There we need to look at design, comfort, fuel efficiency, etc. But the US cars mostly (not all) are oversized, bulky, fuel inefficient, ugly. Why? Because the engineer culture constantly has an influx of different values coming from military engineering. For them it is more important to drive securely through the streets of Bagdad, and not through some large US city.
Now, I think there is a need to work on topics like cyber security, but it may help at the same time to reduce other projects like the large spying agencies and much of the military. Currently these are expanding in the wrong direction.
You could make quite a good argument that military, academic and industrial research are partly orthogonal; they complement each others.
But I can agree that to waste money and really build the military equipment is mostly a waste of money. :-)
The other stuff like material, sensors, etc. is just basic research needed for weapons.
I would propose to shift the research money to projects like cleaning up nuclear weapon production sites, energy efficiency, cleaning the old coal power plants and more. Probably more people are endangered by the emissions of the aging coal power plants than from enemies in foreign countries...
If you have that much trouble with weapon research I'm sorry, but don't throw out the advanced prosthetics with the water.
(Sorry for coming in late.)
My entire career has consisted of making and maintaining more or less the same applications for 10 years. I know I could just self-teach it all, but I do much better with a peer group and a little structure.
Sad, but I don't see a way out of it.
IE, UK, US, CA, AU, NZ
1) Decriminalize & culturally normalize exploratory activities 2) Reform intellectual property law 3) Create a strong co-op/apprenticeship market that engages students from legal working age through college
Perhaps the "without college graduates with the ability to understand and innovate cutting edge technologies in the decades to come" is due to the problem that colleges are usually several years behind in teaching the newest software. Are you going to hire somebody who learned how to do AJAX calls to PHP in school or somebody who is running websockets to Node.js?
Perhaps "...appeal to teens, but they want programs to include career days, mentoring, lab tours and counseling." is exactly what turns off a hacker. Solving problems is engaging, getting lectured at by some mentor or counselor is not.
The real shortage will be from pushing all the hackers into lulzsec and anonymous, not from the imploding academia.
* Work with a lot of socially underdeveloped people. Hey, they spend their time fighting compilers, not reaching consensus. Soft skills are largely irrelevant.
* Probably work in one of a very few technology hubs around the world. This is all the more painful when you realize how little interaction you actually need with your team, and you could be doing your job from a shack on a Thai beach.
* Never have your job understood by anyone. Unless your S.O. is also a geek, he/she will have no deep understanding and appreciation of your work, beyond the decent salary. Random strangers will have no idea what "software engineer" or "researcher" means.
* Spend your life in front of a computer. If you are in a certain percentage of the population (which you won't know), you may suffer debilitating physical pain from this which curbs or ends your career.
* Experience a significant uptick in ageism around your mid-thirties. Just when you're gaining some wisdom to go along with your sponge-like learning ability, you'll suddenly find yourself devalued for no objective reason.
You can go into finance and become a millionaire, or at least hob-nob with a few. You can become a doctor, lawyer, or (to a lesser extent) a CPA, probably make better money, and get significantly more respect. You can become a teacher, cop, or join the military and make less, but be labeled 'hero'. Why would you want to be a professional geek?
My advice to young people is to pursue your interest in CS, but major in something else. Being in a non-CS field with outstanding computer skills makes you very special. Those same computer skills are merely so-so in tech centers, and you have no additional versatility.
If you care about how others perceive your job, then you have underlying character problems that should be solved by measures other than acquiring an illustrious job.
Almost everyone spends their life in front of a computer nowadays, and this percentage is only going to grow.
If I may presume as much: We are in computer science / engineering because we want to stop having to deal with bullshit. Every fabric of life seems to be pervaded with it. Have you actually talked to graduates from other courses? They retain little to nothing of what they learnt. Their knowledge is useless trivia. Doctors know nothing of how their medications actually work.They are glorified nurses.Lawyers deal with abstract, hilariously overcomplicated laws and loopholes. Computer science is about the last bastion of sanity in this world.
My wife is a doctor, still in residency, so I know the kind of training doctors go through. She has taken in an inhuman amount of information during her training. No, she hasn't retained it all, but that's impossible.
Geeks understand that we're working with a very deep stack, and for nearly all of us, there are parts of the stack we don't understand. Say you're making a web app. Complete understanding would include include psychology and user interaction theory, color theory and screen resolutions and graphic design, the inner workings of browsers, markup, CSS and Javascript, the whole networking stack from electrical pulses up to HTTP, public/private key encryption, the many nuances of well-factored code, compilers and interpreters, databases, operating systems, memory managent, and chip logic down to the logical gates and the low-level physics of electricity. What parts can go wrong and how? What security risks exist in this stack?
There is too much for one person to know it all, and that's in a system that people designed, where there are specialists who can fully understand at least part of it. Doctors have an even deeper stack, from chemistry and DNA and cell biology up to organs and systems and disease processes, all the way up to the psychology of patient interactions. Nobody understands the parts of this stack. People spend their whole lives studying things like cellular metabolic processes and immune system biochemical cascades and don't fully understand them. How can a doctor know more than all the specialists combined?
Clearly there are good doctors and bad ones. But it's ludicrous to say that they "retain little to nothing of what they learned" or "their knowledge is useless trivia." It's arrogance.
If someone tells you their monitor doesn't work and they think it's because they have a computer virus, you could hardly begin to tell them how wrongly they understand their computer. You would not appreciate having your objections dismissed by this person who does not know your field at all. Please don't do the same to people who are experts in other highly complex fields.
This sounds like a big mistake. I did not major in CS but instead later learned on my own and found that there's a shit-ton of holes in my CS-know-how to fill in -- and they're very difficult to fill in on your own. It's easy to learn a language, or how to admin Apache on your own; it's far more difficult to learn algorithms or compilers on your own.
> Being in a non-CS field with outstanding computer skills makes you very special.
Disagree here too. I got my degree in physics. So now I can program pretty well, have an undergrad in physics, and am basically qualified for PHP or Java dead-end jobs.