Hacker News new | comments | show | ask | jobs | submit login
Darpa: US Geek Shortage Is National Security Risk (wired.com)
112 points by coderdude on June 25, 2011 | hide | past | web | favorite | 105 comments

I think this really comes down to basic economics. Talking about a "shortage" of something is equivalent to saying the market isn't clearing: that there's more demand than supply. And having more demand than supply is equivalent to the price being too low. Salaries for developers, inflation-adjusted, have remained essentially the same since the dot-com boom. Meanwhile, salaries for bankers and consultants and lawyers have exploded. The results of this should be obvious.

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.

Yeah, I don't have data to back this, but my gut tells me that big software companies' consumer surplus on payroll is significantly higher than it is in other knowledge industries, i.e. Microsoft/Google/etc. aren't paying you nearly as much as they'd be willing to.

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".

There's an implicit "smart & passionate" qualifier on the title of the article. There's a shortage of smart and passionate geeks. It's not about cramming more people into the Computer Science pipeline. That will make absolutely no impact on the actual problem.

The principles of supply and demand apply just as much to the market for "smart and passionate labor" as "all labor". If demand exceeds supply, the price is too low.

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.

I was mainly responding to the, "Pay people to go to college for CS" statement.

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.

Aren't they by definition not offering market value if they're having a hard time finding people?


> I'm really quite sure they're offering market value for the kind of talent they're looking for. So, what's the problem?

The OP seems to suggest that offering _significantly above_ the market value would be the solution.

If you were a smart and talented computer programmer and you saw a headline on HN, "Disqus doubles salaries, and still looking to hire", you might be more inclined to check them out than if they were just offering market rates.

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.

Paying above market salaries is also a slippery slope. If your salaries are too high, you can send the wrong message about the quality of the work environment.

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 principles of supply and demand apply just as much to the market for "smart and passionate labor" as "all labor".

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.

Whenever I read "smart & passionate," I see "smart & willing to work for less."

Demanding equitable compensation falls under the rubric of "smart." If you're willing to work for pay below market value, you're not smart, therefore don't meet the "smart and passionate" condition.

If we follow that reasoning, all early-stage startups are screwed since they don't have any smart people working for them!

Nah, they're working for so little with the promise of big dividends down the road.

They still have to be okay with the significant probability that they end up having worked below market value. Many of the smart people I know working at startups are perfectly okay with this because they love what they're doing and the potential big dividends is just a really nice bonus.

It would be really hard for me, in the current stage of my career, to justify working for a startup unless I knew the expectation value of the returns aren't at least comparable to traditional jobs. The investment money wouldn't be there either.

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.

That assumes that the market price is the same (as it would be with e.g. milk).

In this case, part of the salary is your working environment which would be significantly better in a start up.

You are assuming that most people follow their passion, disregarding the economic aspect.

PS: what about the smart and passionate people interested in cs that choose another career because of the perceived social and economic status?

Maybe they just want more people to go into STEM so their price will drop.

German, Romanian, Vietnamese-American (1st generation immigrant), Chinese-American (1st generation immigrant), Spanish, Iranian, French, Australian, South African, Indian, British, Russian. What's that? The nationalities of the people who sit in my hallway in the computer security department of one of the biggest software companies in the United States. OK, admittedly there also four or five true red-blooded Americans in the hallway but they are definitely a small minority.

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 is not the case in the United States ... where the reputation ladder is topped by jobs like doctor or lawyer

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.

Are you saying that engineering does not require higher education in the US? It sure does in Europe...

It requires education, but not necessarily schooling.

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.

Funny. That is totally different in Europe. Engineering very much requires higher education, which definitely includes at least a basic understanding of business, economics, law etc. and of course good knowledge of physics, mathematics and deep insight in some engineering field. This is usually taught as a bachelor's degree. (Bachelor of Engineering)

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 maybe you misread my comment. He had an excellent education, across the board. It wasn't attained through formal schooling.

I was referring only to US tendencies to perceive certain professions as more prestigious. Doctors and lawyers have more prestige compared to other professions if you only include those prestigious professions that mandate higher education.

You are getting close: List the characteristics of the usual professions and then conclude that in the US software is not a profession. It's even less of a profession than being a plumber or electrician since can need a license for each of these.

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.

May I ask you where are you from ? I had not idea about such a place.

Clovis, CA

What's wrong with being international? My parents were once international geeks -- their company sponsored their green card and they've been living in the States for over 50 years. They both received their PhD's from US universities and work in research firms. They consider themselves more American than any other "true" red blooded American even though they weren't born here.

I think the real problem is our immigration policy.

It's not that there's anything wrong with internationals, but rather that when a team of 12 has 11 internationals you know that our country is having issues sustaining it's own tech sector. We may not always be able to ship in brilliant minds from Moscow and Berlin and Bombay to save our butts.

It's simple. We're not short of "brilliant minds", not at all. Instead, the employers want to have a shortage of a simple word, a common, single, two syllable word, MONEY. It's not about brilliant minds but about money, just the money.

So, why don't we see this in other professions?

The answer is dirty: First, computing is relatively new. So, the 'old power structure' was surprised when people in computing started getting paid well enough to buy a house and more than some not very well paid low level managers.

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.

Unfortunately reforming immigration policy is not a very popular issue and neither party has any intent to solve it. It's a much easier to get votes by saying we want to protect US jobs than to say we are protecting US interestes by making it a more attractive destination for international talent.

Compared to doctors and lawyers, engineers have pretty crappy salaries. If you are smart and in it for the money, you don't go into engineering.

I've heard there is an oversupply of lawyers, and if you look at bay area wages compared to many lawyers/doctors, they can be close, and we're not stuck in overpriced school for a double amount of time.

Yeah, I think the high hourly wages belies the fact that the lawyers must be underemployed, unless they're manufacturing work for themselves. That latter part is a pretty chilling thought, actually...

You forgot Canadians and Israelis! Immigrant heavy companies tend to be higher in the bay area. Look in Seattle or Portland and it's not as high.

Seattle? I'm here right now, the area where I sit:

- 4x Indian - 1x Chinese-American - 1x Chinese-Canadian - 1x German - 1x Filipino - 2x American

Beware: I've done some of the world's best work in computer security, e.g., nicely beyond

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,


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!

I must admit that I lost the thread of the argument towards the end :(

The "thread" is that there is a mess, and main cause is gumment messing up the situation.

One of the things that made the US so strong in the last century was the influx of great scientists from Europe during the world wars. I know many brilliant people from other countries today who would love to become US citizens but in some cases it is difficult for them to even secure visas. Our academic culture might still be preferable to that in many other countries but if we continue to let it decay this won't be the case for long. I think that it would help solve the problem the article addresses and carry countless other benefits if we made citizenship very easy to obtain for people with intelligence that is far above average. Even some rule like any foreign national who graduated from college in the US in the top 5% of their class automatic gets the option of US citizenship would have a profoundly positive impact. It's just baffling to me that we close our borders to people who would clearly improve our country.

Our academic system, especially in the research universities, is just fine. Nearly all the world's best research universities are in the US. Why? After WWII the US War Department concluded that math, science, and engineering were crucial for US national security, Since then Congress, via the NSF and NIH, fund the research universities well enough to make them lead the world. There's no problem with our research universities.

The supply of labor for software is a very different issue.

I suggest working to deprecate the glorification of sports stars, actors, rock musicians, and other careers that don't contribute to the advancement of humanity.

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.

"I suggest working to deprecate the glorification of sports stars, actors, rock musicians, and other careers that don't contribute to the advancement of humanity."

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.

The point being that kids are growing up in a culture that puts more importance on becoming a celebrity in the entertainment business than on the task of increasing the breadth and depth of human knowledge.

I enjoy listing to music, as do plenty of other people but I enjoy the fact that I am alive more than that.

I am alive because of a few really good doctors, but even the best doctors don't have groupies, etc.

I'm with you on the athletes, but actors and musicians don't contribute to the advancement of humanity? I'm sorry, but you're quite mistaken.

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.

Engineers and scientists provide better water and better food. Actors and musicians do neither. I consider that pretty valuable.

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.

I am reminded of an old Billy Joel interview:

"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."


I agree with the general idea, but the only reason Salk isn't rich is that he refused to patent the vaccine.

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).

this is starting to get off-topic, but one could argue that athletics played at the highest level is an art form, with its own rich culture, history, and passion just like great music, film, or literature.

Yes, you are right, and I thought that as soon as I posted it. Maybe a better answer is that the whole media frenzy around professional sports is the problem, not the sport itself.

These days the media pushes sports and actors more and more. They show being a TV or Movie star you can make a lot of money. What they do not show is that there are 1,000's and 1,000's of people trying to do that same thing that never make it anywhere.

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.

I think there's three reasons that there's a shortage of U.S. CS graduates:

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.

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).

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 4) CS Curriculum is bland at the introductory level. Having worked with students in the 100/200 level courses recently, very few actually intended to pursue it as a major. They cited the intro teachers as one of the main reasons why. Boring CS teacher vs. dynamic and engaging liberal arts professor? Yes, I realize this isn't always true, but it was certainly a reinforced stereotype at my uni.

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.

Question: Who wants to work for a government that locks up its citizens for using TrueCrypt or exploring around, as the hackers they have now grew up? It seems to me that they have cut off their "user base" from the very thing it requires to exist.

That is true. But without knowledgable people in their midst, who will educate them about the electronic frontier?

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.

[1] http://www.mit.edu/hacker/hacker.html

They are operating on obsolete data. CS enrollment has been on an upswing since 2009.

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...

It's government employees trying to pad their resume by spearheading programs along with industry types trying to get labor as cheaply as possible.

There is no geek shortage. there's a shortage of people who are willing to let the FBI tap their phones, work on computers not connected to the internet, or take frequent random drug tests.

Fed jobs suck.

Fed interviews suck too. Drug tests, polygraph tests (which we know is bogus science), months and months of waiting, just to be turned down.

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."

The amount of skill, devotion and intelligence it takes to be a geek is far higher than the rewards, especially when you take into account stuff like prestige. Even well paid geeks like Zuckerberg are treated in a condescending way.

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.

It really is simple economic at work here. When lawyers, doctors, investment bankers, or managers got paid much higher than engineers, why would smart native born Americans want to be engineers? Engineers are populated with smart people who don't have verbal fluency in English, i.e. smart first generation immigrants or smart foreigners.

If these people really thought about it, they would see that the market is flooded with lawyers and screaming for quality engineers of all kinds. I know this because my wife is in law school and the law schools are admitting and churning out more lawyers than ever despite many law jobs dissolving into thin air.

The article reports, "The agency doesn’t offer specifics on what kinds of activities might boost computing’s appeal to teens, but they want programs to include career days, mentoring, lab tours and counseling."

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."


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.



I've given more citations to studies of United States mathematics education in another HN post,


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.

As a college student, I think the best way to get people my age motivated to become geeks and get into computer programming is to show them how cool it can be as well as how it can result in being successful. Students need to see how cool it is to be involved in the tech startup community. The Social Network movie did a great job of showcasing this, but I think it needs to be taken further. Essentially we need to work on turning tech companies and their founders into celebrities in the same way that sports teams and their players are.

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.

Also as a college student, I think that the hole "geek" stuff should be dropped. We need to aspire to be engineers, scientists, businessman, artists, makers... not "geeks".

I think that part of the problem is in how geeks are trained and what they work on. For example, think of all the software people go go to school, learn java, and then build big ugly enterprise bank, insurance, whatever software inside some megacorp that nobody cares about. Most end users of said software don't like it and have zero appreciation for the people who made it.

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.

this is a terrible post on several levels. first none of the apps are magical, they are all sites that are fun. Time wasters as some people may call it. There is a huge difference between apps for productivity and having fun. In the end being productive is not always fun. Claiming some languages are not geeky enough is super ignorant. As long as the person is coding out of some level of enjoyment is all that matters. Figuring out how to scale is an amazing challenge.. its not super fun and its not something not all people may find enjoyable, but its something that people in Enterprise have to deal with. Hacking on kernel code to make something run more efficiently is not a "Superstar" activity that will be enjoyed by millions of users like Facebook but someone has to do it. Every day there are millions of businesses that rely on these day coders to help run businesses more efficiently. Not everyone wants to work in a start up and dedicate 12 hours of their days to a company that may never come to fruition. When you get out in the real world as a coder.. everyone will pitch you their billion dollar ideas and after the 3rd or 4th time of dedication long days and weekends and only reaching failure.. one of these desk jobs feels good. Sorry but this post is pure ignorance.

I'm down for hacking on kernel code and learning the guts of an OS!

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.

In the end, its the hardware that counts. As in, the real physical hardware.

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.

A common effective solution to situations like this is for the affected to proactively tell their own story — this seems to be one of the 'only' ways to counter long-standing social image problems.

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.

For example, think of all the software people go go to school, learn java, and then build big ugly enterprise bank, insurance, whatever software inside some megacorp that nobody cares about.

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.

From my experience of working in a large enterprise, it's that people don't really buy the software, they buy the support, the ecosystem, and (buy into) the sales process. In our case we were finally going to implement online code-review. There were plenty of "cooler" products out there, and my team tested a few of them, but ultimately the company decided to go with another company because it was established, their sales guy came out and schmoozed, and they liked the support contract that was offered over having to maintain things themselves.

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.

This definitely seems interesting. Are you guys hiring?

Not in the sense of looking for "employees", no. Looking for (a) co-founder(s), yes. A co-founder would need to be (or be able/willing to re-locate to) somewhere pretty close to Raleigh/Durham, NC. If you're interested, shoot me an email.

Note that this is still in self-funded, bootstrap", "nights and weekends" mode. :-)

A quibble: Silicon Valley isn't the only place where being a geek is cool, the Northwest is a perfect example (especially Portland and Seattle).

Boston, or rather, Cambridge... we have a certain school here.

Cambridge perhaps. Boston much less so. I've been there, it doesn't compare to Seattle or Portland in being geek friendly.

"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,"

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.

> 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.

Franky, I don't believe there is a shortage of engineers.

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"?

Obviously, finding good people to hire is not easy. Many US government agencies and contracting companies need "cleared" US citizens. Waiting several months for the clearance process is sometimes not an option. I know one employer right now who is offering $1000 to employees for every person they bring in to interview. The interview candidates must have an active US government security clearance.

My impression is that there are already way too many people working for the military industrial complex.

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.

As a counter argument, consider DARPA. They do important R&D that no one else do. (As far as we know; it is a relatively open process).

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 D in DARPA is for 'Defense'. For some time it was just ARPA. They added the D so that nobody makes the mistake to misunderstand the nature of their research: advanced research for military. Automated warfare, weapons of the future, soldier of the future, robot drones, ...

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...

My point was, the research money for DARPA are well spent -- and probably increase human science and technology in better ways than most any other use of that money. Including e.g. emergency health care.

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.)

We can't rely in gov't funding to spur interest in geekdom, http://m.cnbc.com/id/43499606 Firms Have Record $800 Billion Of Cash But Still Won't Hire

I don't think you could pay me enough to work for the government. As a geek, I am of the opinion that geeks care very little for bureaucracy which the government is by definition. Not that this article is about working for the government but rather "geekifying" the employees of tomorrow. What they can do is create programs to whet the appetite of impressionable young minds from every background. Those that take to it will persevere. Others will not. Let's not forget that this is not Soviet Russia where people became what they were told to become.

I got a BA in Computer Science (with mediocre grades) in college because I wasn't mature enough to apply myself in the difficult mathematics courses. I'm not sure if I can manage to do interesting/valuable things without going back to school.

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.

The English speaking countries of the world need a 'free movement of labour' agreement, like the EU.


How I'd approach this problem:

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

I wonder, is this shortage they see only an issue for CS-type work, or geeks in general? They have many other fields of development besides security, algorithms and the like.

Perhaps the 43 percent enrollment drop was partly due to the "geeks" leaving college and scoring funding for their startup.

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.

If you go into computer science, you will:

* 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.

> My advice to young people is to pursue your interest in CS, but major in something else.

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.

Social interactions are trivial compared to computer science. Truly smart people have no difficulty talking to others, because their knowledge propelled them to understand how little sense it makes to be impolite in face of all that is to know. I would wager that it's others who have difficulty talking to us programmers in a clear, calm and efficient way, not the other way around.

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.

"Doctors know nothing of how their medications actually work. They are glorified nurses."

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.

Thank you, I didn't think of it this way. You are right.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact