How to Keep America Competitive 652
pkbarbiedoll writes to tell us that in a recent Washington Post article, Bill Gates takes another look at the current state of affairs in computer science and education. According to Gates: "This issue has reached a crisis point. Computer science employment is growing by nearly 100,000 jobs annually. But at the same time studies show that there is a dramatic decline in the number of students graduating with computer science degrees. The United States provides 65,000 temporary H-1B visas each year to make up this shortfall — not nearly enough to fill open technical positions. Permanent residency regulations compound this problem. Temporary employees wait five years or longer for a green card. During that time they can't change jobs, which limits their opportunities to contribute to their employer's success and overall economic growth."
Overworked? (Score:5, Insightful)
In the third lecture of the intro course, the teacher discussed spending all night coding for labs and so forth, and mentioned that it would prepare us for real life.
After a quick google session, I never went to the class again.
I'm sure there are places where you aren't forced to stay late or bring your work home with you... But the trend of overworking in real life occupations CS degrees can lead to is very damaging to interest in this degree.
If I wanted to concentrate on a job over things like family and a social life, I would go to med school.
That depends upon you and the job. (Score:5, Insightful)
Others prefer 8-5 job and forget about the work when you leave.
It all depends upon your personality and the requirements of the job. And IF WHAT THE ARTICLE SAYS IS CORRECT finding a job more in line with your personality should be easy.
If what the article says is correct.
Hmm (Score:5, Insightful)
I don't care where they're from - this country can only do better to have more educated folks living in it.
When salaries go up, the shortage is real (Score:5, Insightful)
There's no shortage. Salaries are too low.
As the IEEE points out, relative engineering salaries have been declining since the 1970s.
What Gates is whining about is that there aren't enough people willing to learn the ins and outs of Microsoft's software and work around its problems in the field. What he wants are cheap janitors to clean up the Mess from Redmond.
Comment removed (Score:5, Insightful)
Government Interference (Score:2, Insightful)
In the current state, the government fills far too many of those jobs with foreign born workers, offering them no chance to become American citizens and forcing them to work for a fifth of what American workers cost. These foreigners are abused with long hours, and then sent back to where ever they came from either when they show discontent, or what citizenship is in their sights.
The solution is to make efforts to make these foreign workers into American workers, so they can compete the same way we do. Until that happens, the wage gap will continue to be wide, and the abuses will continue.
As long as you treat employees like crap (Score:3, Insightful)
Either that or it's time for the United States to realize that economics is a form of warfare for rich countries- and get serious about winning economic wars with our peers instead of wasting money losing military wars with our inferiors. If so, we'll need to realize that the international corporation is effectively a double agent traitor or the arms dealer who sells to both sides- and treat those businesses accordingly.
Comment removed (Score:5, Insightful)
This is news? (Score:5, Insightful)
A super rich capitalist wants to increase his profits by importing more cheap labor.
It will be news when a super rich capitalist says, "Sure, it costs a little more to hire American citizens, but I do that because I don't want to see this continued race to the bottom, with the level of economic inequality in this country soon to exceed that of Brazil."
Re:Ha ha (Score:3, Insightful)
But, I went to the link, and it doesn't mention anything about training U.S. programmers to help the crisis. In fact, if you look here at this link, http://www.gatesfoundation.org/UnitedStates/ [gatesfoundation.org] you'll see the only thing they're trying to do is make sure U.S. students graduate from high school:
"Significantly increasing the number of students who graduate from high school with the skills needed to succeed in college and work"
Which I find is terrific. I love that Bill and Melinda have really stepped up and helped.
However, I'm asking what Microsoft (not Bill Gates) is doing to help the situation. I would be interesting to see if they're spending more on H1-B lobbying, or actually spending money in the areas that I mentioned (or indeed any sort of Computer Science/Programmer training and encouragement). Do you know where we might find out how much is spent in those areas?
Re:How about the 17-year education lag? (Score:5, Insightful)
What you're talking about is a program that would produce mindless drones. We expose people to a multitude of content in school so that they are aware of things beyond the end of their nose.
Oh, come on, Bill, you may have Aspergers, but... (Score:5, Insightful)
This includes guys who were college buddies of Ray Ozzie and helped him with his CS homework. Yeah, I went to the University of Illinois and worked on the PLATO project as a system programmer.
And don't give me garbage about "keeping up on your skills" when the guys I've most closely worked with -- these obsolete aging engineers who "don't keep up on their skills" -- were doing 50K line Javascript web applications back in 1997 and couldn't get the mind-share among the "luminaries" who were all agog about Java -- and do we even need to talk about VB?
There has been a demographic collapse among young engineers because the prior generation of engineers couldn't afford to have children [slashdot.org] even if they could find a wife in one of the male saturated ghettos created by guys like you [slashdot.org]. The few young men sired by engineers are all-too-aware of what you've done to their fathers and they'll be better off going into real estate or moving out to a little plot of land in the country living an eco-friendly subsistence lifestyle.
You see they know they are from a culture that respects women's sovereignty to the point that arranged marriages are out of the question -- unlike the hoards you idiots are importing.
Well, sorry, you're obviously not idiots. You're probably suffering from a mild form of Aspergers to be so unaware of these profound social problems afflicting your subjects -- sort of like a "nobility" that just can't understand why their subjects don't eat cake and then try to guillotine them. My nephew has a fairly severe form of Aspergers but he can get along a lot better now that he is self-aware about it and the limitations it places on his judgement about human social relations. Sometimes reality makes one sound like a satirist but there is truth to what I'm saying here.
What's the problem again? (Score:5, Insightful)
If the companies keep changing their minds, well too bad for them.
Meanwhile, it's supply and demand. Not enough applicants? Start offering higher salaries and better working conditions then - too bad you'd probably have to wait a while - try thinking longer term next time.
Otherwise I think they just want more silly people to rush into CS just to increase supply and keep prices down.
The real crisis is the shortage of people with competence and integrity, rather than a shortage of people who do Computer Science.
Raise Wages and provide training. (Score:2, Insightful)
All this nonsense about a "talent shortage" is just that
It's the same with microsoft. They could easily provide training to smart young college graduates or re-train mid-career folks. Sure, it'd take a couple of years to get them productive, but that's cost business has to pay to stay competitive.
Re:What if there were no immigration quotas? (Score:3, Insightful)
Re:Capitalism to the Rescue! (Score:4, Insightful)
Unfortunately for everyone but the capitalists, that turns out not to be the case. Please notice the critical obfuscating function performed in the quoted sentence by the word "should". That is, the average salary *should* rise if simplistic Economics 101 formulae about demand and supply held good in the real world. As it happens, they don't. A quick look at US business reveals that there must have been an appalling shortage of ambitious, self-centred, suit-wearing chair-warmers recently - because look where their average salaries have wound up! Someone put a rocket under those suckers, and believe me it wasn't "demand". It was the utter determination of managers (yes, we're talking about managers here) to make as much money as they possibly can while the sun shines. They are aided in this quest by the remarkable fact that everyone's salaries are decided by... well, what do you know - managers!
A couple of years ago, I had an interesting little chat with a director of a UK-based IT recruitment consultancy while we were both waiting for the next conference session to begin. Among other things, he let me know that all the companies he dealt with saw programmers as "very much like bricklayers", and none of them would dream of paying a programmer more than about $40K. When I asked what would happen if they couldn't find any takers, he said airily that his clients would simply defer their software projects until they could hire programmers at "the appropriate rate". In other words, the executives in question would rather eat their own lungs than pay a programmer more than a quarter of what they themselves get.
Quoting economic theory doesn't cut much ice, especially when it is directly contradicted by the observed facts. Unlike real sciences, economics is a big sheaf of educated guesswork, elegant models in search of an application, and clever people talking themselves into important jobs and big salaries. As someone once remarked, there is no economist so distinguished that you can't find another, equally distinguished, to call him a gold-plated liar. And as someone else noted, "if all the economists in the world were laid end to end it would be a very good thing".
Re:When salaries go up, the shortage is real (Score:2, Insightful)
Among the many many mistakes made by the US auto industry was the thinking that since labor was such a small percentage of what it cost to make their product they didn't need to control it. Before long a guy running a screw gun was making $22/hour to screw in a tenth as many screws as a robot in Japan with a capitalized cost of $0.001/hour. Then our US screw gun operator himself was replaced by a robot but he couldn't fired because the collective bargaining agreement prevented it, so he sat in the break room and made $22/hour to play hearts with all the other guys who used to do robot jobs.
As much as people like you want to bleat about how much you need to make to live like a human being the reality is that there are thousands of people right now making rafts out of the empty chemical barrels we sent them our waste in, preparing to cross miles and miles of ocean, so they can crawl through a drain pipe, just for the privlege of doing twice as much as you do for half the pay and far less than half the complaining. So sit here and bellyache about how Microsoft won't pay this or that and that isn't enough money. Someone will be along shortly to make you irrelevant anyway. People like you laughed when all the manufacturing jobs were outsourced, now we see that an engineer and a programmer and even a doctor, can be replaced by a cheaper version just like the screw gun guy.
Re:Overworked? (Score:5, Insightful)
But then the next day I get to sleep in until noon if I want.
"How late you stay up working" is only half the picture -- there's the unspoken assumption that you arrive in the office at the same time as everyone else, which is absolutely not necessarily the case. Every single programming job I've had (I've been in the industry for close to 20 years, worked at a couple big companies and a bunch of small ones) has had flexible schedules and sane comp time policies. And this is including a couple dot-com-boom startups. Now, maybe it's different if you're at a non-tech company, but the point is there are tons of jobs out there that don't require you to spend every waking hour working.
You can burn yourself out at any job. Burnout is 90% about you and only 10% about your employer, in my experience. And the trend toward longer hours is an American disease, not a CS one; you'll probably run into it no matter what industry you enter. (That's assuming you're in the US, which of course I don't actually know, so bad me if you're not.)
Re:Don't even go there, Bill (Score:2, Insightful)
Not Interchangeable (Score:3, Insightful)
I've been through two major downturns (Score:4, Insightful)
And based upon those experiences I say that there's a damn good reason people are avoiding computer science and other technical fields. The job market for this skill-set is far too volatile. I know of many people with excellent skills who can't find work. One programmer friend, who is absolutely top notch, can't find work because he is over fifty; pure age discrimination.
University students aren't unable or unwilling to learn technical skills, instead they're making a good long term bet that training up for a skill in a volatile market might well leave them unable to pay-off the mortgage on a good home, pay for their children's college tuition, or any number of other basic middle class expectations.
I would not recommend this career to anyone who wanted to work in industry. For those who love the science in computer science, then get at Ph.D and conduct research as a faculty member at a university. Get tenure. Otherwise, you'll just get screwed.
Re:There is a shortage of wage slaves (Score:3, Insightful)
No, $60k in South Dakota would be fine. The problem is they want to pay $60k in Seattle, where the median home price is >$450k.
-Isaac
Au contraire (Score:5, Insightful)
I read it differently. Bill Gates wants more H1-B workers which he can, unofficially, work at those kind of hours. That creates a watermark in the marketplace, against which non-H1B workers need to compete for jobs. I bet if Microsoft improved working conditions and company policies (both stemming from the same dysfunctional root, most likely) they'd have plenty of folks beating a path to their door.
Folks I've known who figured Microsoft would be the right place to work straight out of college have all "gotten the hell out" after a year or two. And it's not all about the hours - Apple has a much lower turnover rate and a lower percentage of H1-B's despite inhuman hour requirements.
Part of it is cultural - the 80-hour salaried job at Microsoft might be nirvana to a particular H1-B workers, but unacceptable to a well-educated American. Not to mention a Frenchman.
Re:How about the 17-year education lag? (Score:2, Insightful)
Again, I agree these things are great to have, but it's a matter of prioritization. Do you really support holding all kinds of productive people off the market, dependent, deep in debt at an unnecessarily young age to avoid the horrors of insufficient Shakespeare appreciation?
Re:blameusa (Score:5, Insightful)
Re:Overworked? (Score:3, Insightful)
I program at work, and then when I go home I work on open source or some "on the side" programming jobs that I occassionally take. I do this because it is my hobby and career, and it is enjoyable to me. I don't do it everyday, and I do go out with my friends and party on the weekends.
This professor is either lying to you or doesn't really like the industry and has a negative attitude towards it. You need to make up your own mind. If you don't enjoy the work, you will be miserable because it is difficult. If you enjoy it, it can be very rewarding for you.
How to keep America (Non) Competitive... (Score:4, Insightful)
Sorry, but it sounds like more of the same corprate blather to me.
Solution in my opinion. (Score:4, Insightful)
We're the only industry where the person who designs the product also works on creating it. This is a collosal mistake for the exact reason this article points out - there are not enough skilled hands to squander on the unskilled aspects of development.
The architect should never create class diagrams. The developer should never change the architecture. The Programmer should *never* change a method signature or add a new method or class.
Then the architects can be masters, the developers bachelors, and the programmers high school graduates.
*That*, my friends will cause an explosion in the quality of software development. If the developer has to design to the method level and get it right, reuse will become the way of life, not just a novelty. Typing can be learned in high school, as can method level programming.
If programmers are simply tackling a string of homework assignments from their point of view of simplicity (here's a problem method, fill it in) they can be more like carpenters and less like jacks of all trades.
It's been 20 years and CS still gets no respect. (Score:4, Insightful)
H1B Upsides and Downsides (Score:3, Insightful)
US does not have a good system to justify these people. Most "engineers" these H1B abusing companies bring in, are/were brought in to, first learn than contribute to the projects they were supposed to be assisting from the get go. And nobody was saying anything. Mainly because, they needed to fill the desks with warm bodies. In my opinion, lots of these highly coveted H1B positions did not do any good to US economy but was a boon to the abusers of these visa holders, such as Syntel, Tata etc. They were able to fill up their coffers without much effort.
H1B to permanent residency was a good promise as long as it floated. But in my case, less than 3 months before my, so-called, labor certification got approved by the dept. of labor, I got canned by the second company who held my visa and I found myself, facing deportation. Fortunately, I had a girlfriend at the time, wife now, who is a US citizen and we had to take our marriage plans way in advance. So, if these people are really useful and contributing in the positions they hold, I think US should do something to speed up this process and should not hold them tied to the employers. Otherwise, DOL, should have a possibility to can the visas of some and send them back. And before the approval of H1B visas, I think something as substantial as a degree from an accredited foreign college should be a requirement to prevent the abuser companies, bringing in the riff-raff as experts.
Being Underpaid Due to Government Intervention (Score:5, Insightful)
There is no need for the government to intervene by importing desperate labor from either India via the H-1B visa or Mexico via an open-border policy. The free market, by itself and without government intervention, will fix the shortage or surplus. Wages rise, and the shortage disappears. Wages fall, and layoffs occur -- thus fixing the surplus.
Washington does not intervene to fix the labor surplus (which is leading to massive layoffs) in Detroit. Why should Washington intervene to fix a labor shortage?
If Microsoft paid the market wage for computer programmers, then plenty of programmers with the "right" skills would apply for Microsoft jobs. The problem is that Microsoft refuses to pay the market wage. The market wage is not what Microsoft management considers to be the right wage. The market wage (and the market working conditions) is the wage (and quality of working conditions) at which the supply of labor meets the demand for that labor. The market wage is the intersection point of the labor-demand curve and the labor-supply curve.
The bottom line is that Microsoft (and many other American companies) refuse to pay the market wage. So, they want government to intervene in the free market so that Microsoft can pay below-market-wage salaries.
Fundamental problems (Score:1, Insightful)
To solve this fundamental problem, you need to train managers and hiring managers to figure out what they *really* need instead of listening to the fad-of-the-day sales hype department. How on earth are you going to do that?
Another set of problems has in many fields (e.g. Oracle admins, Unix admins, SAP, etc), you can have all the training and certificates in the world, but until you have *years* of real world experience you won't get anywhere. Open source operating systems and languages and the ability for people to gain experience on their own time without spending a fortune has helped. But since it's not real world experience, so unless an employer is *willing to take a chance on you*, you're SOL. Apprenticeships go a long way to solving this problem, but they aren't wide spread and if they exists they're usually only available to students and not people out in the field (e.g. COBOL programmers with 30 years experience), so this limits the growth. And even in the case of student apprenticeships, they really aren't emphasized, so most students tend to ignore them (why should I waste one year if I could earn money sooner?). No idea how to fix this cultural issue.
Relating to the COBOL programmer example, it's not fashionable in the US to be continuously learning, but technology is a field where it is a must.
Finally, it has to do with the american culture. In countries like India, China, Korea, and Japan, if you say "My son is a star athlete and an accomplished actor", the natural response is "He must have failed in science and technology.". In the US, if you say "My son had the highest mark in the Math Olympiad and won a scholarship to MIT", the natural response is "He must have failed in sports and fitness and has no business sense." Dilbert cartoons only worsen the belief that programming jobs aren't anything to be proud of and that the life of a programmer is boring and purely political.
Things have improved dramatically on this front in the last 10 years, but there's still a strong cultural bias in the US towards jocks and entertainment stars instead of the sciences. But until this changes, you won't see people lining up to be programs. It's just not culturally fashionable.
Well DUH! (Score:5, Insightful)
#1) Unneeded: IT is seen (By the C-Level executives) as expensive, overpriced, overstaffed, and overhead. It is one of the first departments to get hit with layoffs when times get tough.
#2) No promotion/raise: The only way I have gotten a promotion or a raise is to change jobs. 5 years of working for a company, working to better the systems and protect the company assets. When the Manager moved up (to the GM spot) I put in for the position. I am told that I am not qualified. Strange, you would think that 10 years management experience, PM classes and 2 years towards a MBA would qualify me.
#3) Respect: When problems occur, IT is the first to get blamed Do I even need to explain this one?
#4) Cost Cutting: IT is the only field I have ever worked where you can and do get asked to take a pay cut while doubling your work load.
#5) Knowledge and training == 0: This is one of the few fields where people are paid for what they know, only to have the critical decisions made without their input. How many of us have been overridden by a C-Level Exec? Ex: "I have decided that we will be a MS Windows shop from now on. I need you to replace those 8 old HP9000 oracle servers with this new quad processor Windows server." --- Real example!
#6) Education: Most realize that after 4 years in college, they enter the workforce 7 years behind the curve. Experience is everything!
nice idealisim.. reality sinks in (Score:4, Insightful)
1- and if the answer is none?
2- how many people recieved health insurance with the first paycheck? often there is a 30-90-180days before health insurance starts.
3- there is no savings at point of beginning.... it is YEARS down the line if it works. Investment cannot come from savings which follow years later.
4- perhaps the correlation is not, the existance of music and art makes people math smart, but rather, math smart people are also people who appreciate music and art.
this is akin to saying, people who know how to swim are wet.. so throw a non-swimmer in a pool and they will/can swim..
5- how the hell do you do that with the NCLB? seriously, one of the reason some other countries do so very well on standardized testing, is that they DROP underperforming students from educational programs, leaving the mid to reasonably behind for testing and highschool.. they leave children out.... some kids are that stupid.
6- physics? to graduate from highschool everyone should have a semester of chem II and physics? it's not practical.. not everyone needs these classes.
7- here I'll agree with you. The most important argument and flaw in the system I see.
8- here I'll agree with you almost wholeheartedly.. it's not a philosphy, it's an unfunded federal mandate.. a major distinction. To keep getting the federal dollars for school systems, schools must get 100% of their kids in line, and to do so- they get no additional money where needed- they just lose funding &control in some cases, of their own educational program.. The result has not been dumbing down of an entire curriculum, it's been the refocusing of the entire curriculum to being 'program the kids to pass the standardized test'
First step is, balancing the need of more IT professionals vs. other professions.
I think you'd do a lot better training welfare recipients/disabled types in medical technician training.
IT training requires a lot more mental capacity & attitude than some people have.
blood draw tech, orderlies, nurses assistants, dental assistants, etc.. a slot where life saving is not key...
Re:That depends upon you and the job. (Score:3, Insightful)
If anything is going to cause America to fall behind in the tech sector it's the CEO's and other top execs at major companies that won't let the rest of us practice our ART the way we see fit to do so.
Re:What if there were no immigration quotas? (Score:3, Insightful)
We may possibly get an overall monetary benefit as a country from offshoring, but you have to ask, who is getting that benefit?
The overall net shift of wealth in America due to offshoring:
Some part of it gets transferred to each of:
Possibly the country as a whole might be getting a net benefit. Not have to pay money for higher wages to Americans can be seen as "net benefit" since we aren't paying our own workers more money. Maybe that is seen as a "wasteful" cost. My main beef here anyway is that any net benefit gained mainly goes to the rich. The class of "the rich" in America are mostly made up by groups (B) and (C). Jobless people and waiters (the 'recycled') are not often a part of buying consumers getting a benefit in group (C). So, it's really a net loss in economic wealth for a large group of (A) people. Like other economic theory proposed by Conservatives and Libertarians (e.g. trickle down economics), it's mostly an excluse to justify a massive shift of middle-class wealth to the hands of a few.
Of course job recycling is nothing new in the economy. A decline of something like horse buggy whip production has traditionally always been replaced by something like automobile production. I would have disagreed 100 years ago with attempting to halt technological progress, as I absolutely do now. I'm not a Luddite trying to stop technological progress, it's the lifeblood of economic growth. But the difference now from 100 years ago is that by removing a high-tech job now from the American workforce, we AREN'T replacing it with a higher paying job in a newer technological field. All other previous economic cycles had somewhere higher to grow to. The off-shoring process now replaces skilled jobs in America with lower paying and/or less skilled jobs chiefly characterized by the fact that they simply cannot be easily off-shored (being a barber, a waiter, etc).
Re:H1-B and Student Visas != Permanent Solution (Score:3, Insightful)
There are two problems with the teaching of math and science in school today.
One is that most teachers understand neither. They learned to do math the same way we are teaching it - by rote. This leaves them with no actual understanding of math, just a larger arsenal of mathematical tools to apply to problems. It's not really mathematics, it's computation. They didn't learn to actually perform scientific experiments, although they can explain every step of the scientific method to you and grade your essay without a cheat sheet. So what they are teaching is really not math and science, but the appreciation of math and science.
The other is that even the teachers who do know something are hog-tied by the regulations. The instructor must follow the curriculum and must make sure all students pass standardized testing. When a child doesn't want to learn, the instructor is blamed and has to put their effort into the problem - I'm not implying that such students should simply be ignored and left to fall by the wayside, but it's horribly unfair to support these children at the expense of others.
Actually, if you want to talk about money, THAT is an issue that should be raised. I know this is a confrontational belief, but I think we need to stop spending so much money supporting "special needs" students. We spend multiples of the money spent on the average student on students who simply will never come up to the level of children we are therefore neglecting. I think that this is simply wrong. Today we have the technology to detect many developmental disabilities before birth and a parent has the choice to have the child or not. Thus, I feel it is wrong to force others to shoulder the load. If you want to have that child, and be responsible for it, that is fine with me. Your beliefs or your heart may require it. But to then expect me to shoulder the burden is quite frankly unconscionable. And to penalize other people's children, well, that's downright mean and quite selfish.
The sad truth however is that the educational system is not about educating children to the best of our ability. It's about producing good little drones that will go and do as they are told. Unfortunately, this trend's ever-increasing prevalence has produced a nation of sheep who, for the most part, are utterly incapable of putting their brain to the purposes for which it was intended.
Re:Au contraire (Score:5, Insightful)
OK, great, what's a good average number for a leaf node employee with a product behind schedule?
Microsoft has a problem finding _qualified_ applicants...don't you think we'd rather not deal with the extra hassle?
So one of three things has to be true:
Re:Au contraire (Score:2, Insightful)
Oh bullshit. You're just being too picky. When HR screens all those candidates, then they already qualify for the position on paper. The interview process is there to insure that the candidate would fit the team. But, all the MS teams do is ask bullshit interview questions. Why are manhole covers round? How do I implement a list?... Those questions don't find good candidates. They find candidates that can bullshit their way through interviews by taking the first answer off the top of their head and running with it. That's the complete opposite of how good code is written and the complete opposite of a good candidate. And, that's probably why MS code is the lump of steaming shit that it is.
Re:Au contraire (Score:4, Insightful)
Define "qualified". I've been turned down for jobs because I didn't have experience with a particular version of a software product. I had extensive experience with version X, but not with version Y. "But the differences between version X and version Y are pretty small, especially for what you're doing!" Sorry - that was the artifical bar.
For others it's a particular language - Perl or PHP or C++, for example, instead of focusing on the thought process and problem-solving skillset. The tool itself is much less significant than the business or technical problem to be solved. I'd rather have a rational, logical thinker that knew C that I could get up to speed in a C++ environment (in most cases, C will do the job just fine) than someone who was an expert at C++ but had no rational problem-solving skills. But most hiring managers, especially in HR (where they have no clue as to technical ability anyway) just screen for buzzwords anyway. Stupid, but it is what it is, I suppose. That's why the US (which is Microsoft-centric in the extreme) trails most of the rest of the world in technology.
Re:H1-B and Student Visas != Permanent Solution (Score:2, Insightful)
My mother in law is a Biology teacher with a background in Microbiology and Genetics. She has been asked to leave both private and public schools for the crime of failing honors students who don't learn the material. I've never sat in her class, but the criticism has never been that she is a poor teacher. Rather, it is that she will not lower her standards enough. She will allow any student to retake any test, with the provision that the new grade completely replaces the old. You can retake test one 5 times, until you have it completely memorized. Still, students fail.
Is the proposed solution to provide additional tutoring (she stays late after school every day willing to tutor kids who need it)? Is it encouraging only people willing to do their homework to take honors classes? No, the proposed solution is to reduce standards on the top level classes so kids with dreams of becoming a doctor do not feel discouraged. When parents and administrators value grades above learning, everyone loses. My mother in law will be looking for a new job at a school that will not expect her to pass people who are not willing to learn the material.
Re:What's the problem again? (Score:1, Insightful)
Far too many small to mid-sized companies have gotten bit when trying to save money on development costs...and, as the old saying goes, once bitten, twice shy. Of course, all this could be my subjective observations as a contractor who gets paid incredibly well to come in and help clean up the disasters left behind from overseas development efforts that only produced an unmanageable code base and a product that didn't meet the evolving need for the company.
If you want more people to pick IT (Score:1, Insightful)
There are two main reasons: crappy pay and sweatshop conditions. I do not believe there is any other industry in North America where you are expected to have a degree, work in excess of 40 hours a week on a regular basis and do it all as a regular employee making $40K.
Consider the following exerpt from the BC Employment Standards Act.
The following provisions do not apply to high technology professionals:
Part 4 [Hours of Work and Overtime] , other than section 39 of the Act;
Part 5 [Statutory Holidays] of the Act.
( http://www.labour.gov.bc.ca/esb/hightech/regulat.
Section 39 is a single sentence:
Despite any provision of this Part, an employer must not require or directly or indirectly allow an employee to work excessive hours or hours detrimental to the employee's health or safety
( http://www.qp.gov.bc.ca/statreg/stat/E/96113_01.h
In summary, high tech employers can demand as many hours as they want, do not have to pay overtime, and do not have to pay stats. They are, however, prevented from (knowingly) working their employees to death. Thanks Liberals!
I'll say that I have encountered few potential employers that try to exploit these rules to the fullest (EA does have a very large presence here) but I think the fact that these are what the government considers to be the Standard clearly illustrates the sweatshop nature of the industry.
As for pay. Consider an average high tech worker (Nigel) and an average government employee (Elmer):
Both graduate from high school:
Nigel goes to college (-30K/yr)
Elmer goes to work for the govt (+40K/yr)
For the sake of comparing apples to apples, they are both reasonably frugal and banking 25% of their income (obviously kids or lifestyle will impact this but it is a wash if you assume they can somehow afford to have the same lifestyle)
After 4 years, Nigel graduates.
Now Nigel and Elmer are both 23.
If Elmer has 46K in his RRSP. He's gotten a few raises (COL + seniority) so his income up to about 45K.
Nigel on the other hand is 120K in debt and, if he is lucky, finds a 40K job.
Another 5 years:
Elmer and Nigel meet up for their 29th birthdays
Elmer is sticking with the plan: he now has about 140K for retirement and he's making 50K.
Nigel is also making 50K and he's paid down about 40K of his student debt so he is only 80K in the hole.
Another 9 years:
By age 38, Nigel has paid off his student debt and is making slightly more than Elmer (if he is lucky). Elmer, on the other hand, could retire tomorrow but he might as well max up that government pension. Besides, at this point, Elmer has so much vacation and seniority that he never has to be there when things are busy so why quit?
So why don't more government employees retire at 45? The answer is pretty obvious if you consider the difference between the lifestyle of a student and a 20 year old with a $40K salary and a month vacation.
If I had it to do over, I would go the civil service route for sure. As for Mr. Gates, if he wants to find more IT workers, he should start by looking inside his wallet: I suspect that's where most of those "qualified professionals" are hiding.
Age discrimination (Score:3, Insightful)
You're absolutely right, age discrimination is rampant and a huge problem for the workers.
If there were really a huge labor shortage, employers wouldn't be able to afford to discriminate against people like you.
Re:Au contraire (Score:2, Insightful)
There spoiled that question for whomever's interviews going forward.
Also FWIW I have *no* idea where I learned that tidbit but sure as shit it wasn't college. I still don't have anything on paper over a HS diploma, been in the high tech industry doing pre-production design validation on hardware for the last 7 years. I love my job and I know plenty others who want it. A degree is worthless over real-world experience. I got in on merits and overall knowledge (recruited from a small electronics surplusser). All you need is a passion for what you do and drive to do it. When asked how I thought to implement a suite of perl scripts to compile a boatload of data (a process that took at least a week using assorted hacked together excel macros and manual copy paste) in about half an hour, I replied: I'm lazy. Why waste time on such a trivial task when the machine can do it better and I can go take more data (which is vastly more fun). Bastard promoted me for that...
-nB
Re:Economics lesson for Billy (Score:2, Insightful)
How is that artificial? Are these people produced artificially by some machine in a factory?
The only artificial thing in this scenario is national borders and the different artificial economic policies set within each of those borders.
Re:Au contraire (Score:5, Insightful)
Which part - the Microsoft-centric, or the trailing in technology?
Microsoft doesn't necessarily have the latest, greatest, or best in technology, despite repeated attempts to self-aggrandize at the expense of Linux and other operating systems. It can be argued (and rather successfully) that Windows isn't the best choice for many server installations, and even for a significant portion of desktops - because of stability issues, draconian DRM and licensing issues designed to fatten Microsoft's and partners bottom lines at the expense of consumers, the desire to own the computer market completely instead of acknowledging that there are other operating systems around (some better than Windows) and the fact that Windows is the #1 target of malicious attacks (whether or not this is due to the popularity of Windows or that Windows has more security issues per K lines of code than many other operating systems is a matter of debate), which Microsoft could be more forthcoming about and more agile to respond.
As for the US trailing many other countries in the world, one simply needs to look at where we get most of our technology - from overseas, particularly Japan. Where is most software innovation going on? Europe, mostly - and mostly in areas other than Windows. Windows is inherently handicapped, in part because you simply can't get rid of the GUI, and this encourages a generation of point-and-click administrators and people who call themselves programmers who have little knowledge of what goes on underneath the covers (a position that Microsoft encourages, partly because their code isn't open and partly because Microsoft seeks to protect what they regard as their trade secrets), where Linux and the BSD variants encourage just the opposite. I can get FreeBSD to run in 64MB or less of RAM and in far less than 200 MB of disk space and have a fully-functional server, out-of-the-box - I don't think you can say the same of Windows, especially Windows XP and Vista.
Another indication - the US trails a lot of other nations in the number of high-speed internet connections per capita. South Korea has 100 MB to the door for most people in the larger cities, and it's cheaper to boot - while we suffer with less than 10 MB connections at twice the cost. It's not about national pride, it's not about innovation, it's about making as much money as possible, even at the expense of consumers - and that has become the defining characteristic of Microsoft, sadly enough.
Re:Au contraire (Score:3, Insightful)
Also, more cheap newbie workers trained in the latest stuff keep costs down and provides a powerful incentive for companies to keep upgrading. If I run a company with apps using MFC from the 90's, I can't find those people anymore, so I'll be hiring new people writing stuff in
Re:Au contraire (Score:3, Insightful)
As I wrote previously, that is completely opposite to how people write code in the real world. You don't take the first thing off the top of your head and start writing it down, especially without a good IDE. Testing someone on a whiteboard is the equivalent of making someone use Notepad to code. Sure, you should be able to do it, but who the hell actually does?
And unless you recently finished a CS class, then remembering a good implementation of any random C function is not going to be on the top of your head. So, it's all but guaranteed that the MS interviewer will rip apart the answer because it wasn't very good because it came about through a completely bad process. Big surprise.
You'd be shocked at the number of people that just draw a blank when you say: "describe how you'd test a coffee maker"
That's because the first thing they think is, "Wow, what a stupid question." And then, "What? Oh, he's actually serious." Then, "do I really want to work here if that is the best interview question they can come up with?"
Answering bullshit questions like that only tests the candidate's ability to answer bullshit questions. Oh, and it tests the willingness of the candidate to sit there and take stupid, insulting questions without getting up, punching you in the face, and walking out the door. Given Ballmer's temperament, that's probably a good thing for people who work with him, but that's bad for anyone else in the company.
Having actually conducted several interviews for senior developers, you need to do two things: see if you like them and see if they can actually do the job. You look over their resume and verify what's listed there. You ask them about their previous positions and one major problem they encountered in each place. I then like to ask relevant questions that have come up recently in my own work. How do you version control a database? How would you deal with multiple submissions of a web page? The questions are high-level, don't require writing on a whiteboard, and are difficult enough to tell whether they're bullshitting their way through an answer or not. If they actually have something decent to say, I like them, and their resume looks good, then I recommend them for the position.
Re:Au contraire (Score:4, Insightful)
"describe how you'd test a coffee maker"
Re:Solution in my opinion. (Score:3, Insightful)
Traditionally, architects write code that's used by a lot of other code, or whose side state-full behavior is important to a lot of other code. People with lesser titles do work that doesn't impact the system as widely. But, at the end of the day it's all code, and programming, development, and architecting are less descriptive of different kinds of work than they are of the esteem that work is held in. You clearly esteem education, which is fine, but I'll tell you it correlates only marginally with the ability to actually design a good system.
People complain about software all the time, and fantasize about silver bullets, but the reason software sucks is that its design is way, way more complex than anything that's industrialized. The ability to code in such a way that promotes reuse is one of the most important attributes a developer can have. Still, reuse can only reduce a problem so much, and in the end software is complex is because you, the business, ask us for complexity. Cookie cutter solutions don't satisfy... see the failure of every touted 4GL. Software in particular will stay complicated as the cost of change in software is lower than anything where you have a lot of physical product to scrap. That's also why people will complain about software more than anything else, because in the end it's as much a problem of getting people to agree as it is to build a product.
Re:Au contraire (Score:3, Insightful)
Except that the functions they're being asked to implement are RIDICULOUSLY easy. Anyone who has actually done a fair amount of programming ought to be able to implement functions like strlen, strstr, strcmp, etc in about two minutes, tops. These are not tricky brain teasers - if you write real software you probably call those functions (or equivalent methods in C++ or Java or Python) dozens of times per day. So you know exactly what they do, and you've written functions a hundred times more complicated than that before. It's trivial.
I think the problem is that people go into college, do the bare minimum in their C.S. classes, never play around with programming for fun, and then expect to get a job at Microsoft or Google. Sorry, those companies are not interested in someone who just did the bare minimum in their classes and didn't take the time to actually experiment in their chosen field. All it takes is a little curiousity in the weekends, a little extra effort on some of your class projects, and a couple of summer internships, and by the time you graduate you can be an excellent programmer - if you're still enjoying it by then, companies like Microsoft and Google will be drooling over you.
Microsoft's questions like strlen are not meant to identify good employees. They're meant to weed out the people who haven't even learned the basics yet. And when the vast majority of applicants fall in that category, no wonder Bill Gates feels the way he does.
Try paying them what they're worth (Score:1, Insightful)
Jesus christ, people, those prospective CS students aren't idiots. They see the falling salaries and increased outsourcing, and they're going into something that will pay better. I'd advise my son to do the same.
Bringing in more temporary foreign workers is obviously going to make this worse. Continued or increased downward pressure (via cheaper labor) on software engineering salaries is going to reduce the motivation to get a CS degree here.
If those foreign workers were going to stay, they'd want the same wages we do. They're not though, and who can blame them. They get to underbid us, take the money home in a few years to a wildly different economy, and live like kings (or at least extremely comfortably relative to their friends neighbors that didn't serve time in the US engineering market). I'd do the same thing if I was in their position.
So if we're going to pay for those foreign skilled workers in terms of economic impact, let's keep them. That is, let them work here only while they're in the (hopefully expedited if they're really in such critical demand) process of becoming citizens. Now that guy probably contributes to our economy for the rest of his career. Of course since it will cost these guys just as much to live here and send their kids to college as it costs us, your big company doesn't get cheap engineers this way; but that's not supposed to be the point, right?
Re:Don't even go there, Bill (Score:3, Insightful)
In the nearly ten years since I left college, I've worked for startups, small businesses and large corporations. I wouldn't say "fuck this industry" so much as "fuck you". Out of all of the places I've worked, I've hated corporations the most. They seems to be the most impersonal, have the most ridiculous policies and the most incompetent management.
If you find yourself in an environment that you simply can't stand, then look elsewhere. There are plenty of computer related jobs in many different industries. It is very easy to fall into the trap of being unhappy with your job day after day if the pay is good enough and the work is easy. It's all too easy to ignore or overlook just how negative an impact your daily working environment is actually having on your life. In my case I was chronically sleep deprived, isolated at work (only real programmer at the office) and eventually began turning to substances to cope with just how much I hated going into the office. It was at that point that I finally decided I needed to take a good hard look at how happy I was with my life in general. I came to the realization that my job was negatively impacting just about everything else in my life and decided to resign.
If you're someone who decided to study computer science in college because it sounded interesting, then you may be content with the typical IT staff position. If you consider yourself a hacker, then stay the hell away from those sorts of jobs. The rigorously enforced policies (you must wear this, be at the office at exactly these hours, etc.) and overall mediocrity of those around you will drive you crazy. I've found that I've been much more likely to find happiness working for a smaller, very technical company (typically in the telecommunications industry, but the financial industry can be good too). Working for startups can also be very liberating as many times you find youself in a consulting position, working out of your house and on your own schedule (usually).
I guess my message is to not let one bad employer, or type of employer, get you down. If you take the time to really define what you want your workday to be like, you can probably find a job to match.
I call bullsht! (Score:1, Insightful)
If the demand for software developers is high, then the wages should increase. If the wages increase, then more people will enter the field. It's called a free market. Look it up.
The reason why everyone is leaving the software field, from college students to middle-aged professionals is that the demand for software engineers is at an all time low due to outsourcing. Outsourcing --> firing existing engineers and lower wages --> college students waking up and choosing a different field.
No one is going to enter a field that they know will not provide a means of living for 50 years. Most C.S. students in America and Britain are from India and China, and most of them plan to go back after getting the degree because that's where the jobs are.
H-1B visas should have never been granted in the first place. It only encourages a brain drain in the U.S. H-1B visas also allow employers to greatly abuse their foreign employees. It's a scam to serve politicians and their corporate pimps.
Stop bitching and moaning about there not being enough qualified professional software developers. Developing software correctly is hard. It takes decades to become truly good at it. And I personally know of a dozen highly qualified professionals who have left the field all together because of outsourcing. Treat developers like crap and what do you expect? It's not like being a developer is considered a sexy job, and it won't get you laid. So the stability and income were the only thing drawing people into the field. Now that they are gone for good, the people are also leaving.
As far as keeping America competitive, it's already too late. The software industry has gone the way of manufacturing, and like manufacturing it ain't coming back. The only thing America has left is the service industry, and when you think of America, you think of good service, right?
One last rant. The society that controls the infrastructure of the Internet and other computer based technologies will be the superpower of this century. The only question is whether that country will be India or China. File that under national security.
Re:Au contraire (Score:5, Insightful)
Yeah, one or both is likely. MS isn't the darling of the tech world it once was; you're no longer a millionaire after 7 years. The compensation structure has chnaged a few times since 2000 when people were leaving MS in droves to do startups. Many people think we made some poor hiring decisions around that time frame (after all, _I_ was hired, and my main motivation for interviewing was to get a free trip to Seattle and to mouth-off about how awesome linux was to a bunch of MSFT people :)
MSFT doesn't aim to be the pay-leader, so people purely motivated by that will probably look elsewhere.
That said, I think many tech companies have open positions and describe having difficulty filling them. Does the entire sector, as a whole, not pay enough? Are there people out there that are not working for anyone, rather than work for what they deem to be too little? Said another way, if you see that across the board, tech companies have open heads, it's hard to suggest that it is purely a Microsoft problem related to salary or other undesirability. Doesn't Google have difficulty hiring people? Apple?
Yes, if a given industry is having trouble finding qualified applicants, then it isn't paying enough for qualified labor. The obvious way to show this is that if CS graduates were paid a million dollars per year starting out, people would be leaving other careers in droves to pursue a career in computer science. This is freshman economics at work. Now, clearly technology companies can't afford that kind of pay, but that just means that employers have trouble finding qualified applicants at a price they're willing to pay. Freshman economics says "tough noogies, you can't have more at the current price than the quantity supplied at the current price." That's how free markets work. The H1-B program is about changing the rules by finding an additional supplier of labor who is willing to produce more at the current price. The overall result of adding this new supplier will be to drive prices down and quantities up, at the expense of existing workers. Moving jobs overseas does the same thing economically as raising the H1-B cap, however the H1-B changes may come more slowly.
Now, is free trade in the labor market good for the global economy? Most economic models say yes. Is it good for the US economy? The answer is less clear, though the answer leans towards it being good for the US economy. Is it good for technology workers? Probably not, as with new competition they will have to accept lower wages.
So, don't think for a minute that there is a "labor shortage" in IT. The so-called labor shortage is just a result of normal supply and demand. Expanding the H1-B program should be viewed as what it is, and attempt to apply free trade to the IT labor market, with the result being new low-cost overseas competition for US technology jobs. Whether or not this is a good thing depends on your perspective, but adding H1-B workers is going to have a serious effect on US IT workers.
Re:Au contraire (Score:4, Insightful)
Oh bullshit. Good development and good code isn't about reinventing the wheel when good algorithms and code already exists. It's about recombining what you know and what you have to produce new functionality that works in the minimal amount of time. Developers don't just go out and create all new code without first looking at what's already there.
No wonder MS is the way it is.
"Ripping apart" answers isn't something we do.
So, you call it "follow-on" while I call it ripping apart - same thing.
Rarely does someone issue a perfect answer on their first try
Certainly in interviews, yes. However, it certainly is possible to come up with good code if you have time to think about the solution and look at previous solutions.
For almost any answer someone gives, there is some possible drawback or "gocha". What is the memory consumption of your routine? How many conditional branch statements would it require? Asking these follow-on questions are what makes it a less-worthless question, and seeing how someone thinks about the implications of their decisions and describes the tradeoffs is what makes it worthwhile.
And that is what I was getting to. Yes, that "gotcha" is the "ripping apart" of someone's logic. You ask them to solve one problem in a completely bullshit manner in a bullshit amount of time under intense pressure from not having a job and needing one. And then, you twist things around and say that the solution doesn't address this other problem which was never mentioned previously.
And no, asking them to solve that second question based on the first doesn't make the first question more meaningful. You're just piling on the shit, requiring more bullshit from the candidate on top of the bullshit they've already produced. And then, there are other gotchas that you pull after, further ripping apart the solution, and further requiring more bullshit. You hold back on the actual requirements of the bullshit problem. You're asking the candidate to do the role of developer, project manager, and business analyst in the middle of an interview when you only first asked for a "simple C function". You make something appear deceptively simple and then ream them for not writing a bulletproof answer the first time.
That's a fine response to have, but i'd ask you to justify it. Why is it a stupid question? Obviously, i'd ask it as an allegorical question to the problem of how to test software.
Well let's see, because "allegorical" or not, it actually has nothing to do with software. If you want to know about software testing, then ask about software testing. My dad could answer this toaster question and he can barely turn on a computer. He could bullshit his way through this answer and actually convince you he'd make a great tester if he wanted.
Although i'm not sure about "liking them".
Wow. That's another huge problem with MS. I can't believe they would actually hire people that don't get along with each other. Ballmer's tantrums seem less and less surprising now.
I find that the opposite is true -- people that are unwilling to delve into the details of an answer.. people that keep things "high level" are bullshit artists. The saying "The devil is in the details" is a saying for a _reason_.
The "details" you can infer from their resume. If they were with a company for any significant amount of time, especially during the last few years during the tech downturn, then you can bet they know their shit. You want to know whether they really worked at that company, at that position, doing what they wrote they did. Your background check will catch those first two items.
Time to call this practice what it really is (Score:2, Insightful)
There's plenty of unemployed people right here in the US that are fully qualified to fill these positions. If these corporations would simply pay market rates - and stop the discrimination and abuse - they'd be able to fill every empty seat with experienced employees.
On a level playing field, this is what they'd have to do. Treat the employees right or they'll go work for someone else. But these corporations don't want to play by the rules. Forget those nasty federal and state laws about discrimination and fair labor standards; they'll just pay off some politicians to create a special category of employees and call it H1B. Very handy; now they can import foreigners and use them essentially as slave labor. Yes, slave labor. If you can't quit or change jobs what would YOU call it?
Why am I not surprised that they want to expand this practice? The constant crying about "We need to be competitive" should be a warning sign.
I've got a better idea: these corporations should bring themselves into FULL compliance with all federal and state labor laws and pay their employees according to the prevailing market rate. And if they can't do this and remain competitive, their business plan isn't workable and they should either fix the problems or shut down.
Let's see now; Microsoft has a long history of legal problems because of the way they treat their employees. Now they need to increase the number of imported indentured servants to remain competitive. Nothing new here; same old story.
Why do we allow this to continue?
Re:Au contraire (Score:3, Insightful)
Then almost none of the H-1bs should be qualified- most of them only have a 4 year CS degree from IIT anyway. Why complain about the lack of CS degree holders if the 100,000 jobs aren't for CS degree holders? I myself would rather they be SE holders- but let's face facts, maybe only 10,000 of those 100,000 jobs will really require an SE degree. The majority will require *maybe* a weekend's study in a single set of skills.
Re:How about the 17-year education lag? (Score:3, Insightful)
I have never had my IQ officially tested, but I would estimate it to be in the range of yours. One thing I have learned is that the only way to get along at a job is to not always be right. Even if you were always right, other people do not understand that to be possible. They make mistakes (and try to hide them). If you never get caught in a mistake, that proves that you are better at hiding them. That means, the smarter you are, the less reliable others hold you to be.
My boss asked me questions about watts to BTUs. I answered, and made a chart of it also converting to tons (because the AC was in tons, half the equipment was in Watts, and half was in BTUs). I had the answer and spreadsheet to him in under 5 minutes. He spend the next 2 hours calling multiple people to check my work. I have made frequency calculations and such that are very complicated in his presence, which he then contacts the vendors to verify the conversion factors. Am I annoyed? I was at first. However, realizing that many people answer questions they do not know the answer to as if they were an expert, I do not blame him. It is not now, nor ever was personal. It's because he's a manager, and he has been fed bad info before by others. It's his ass on the line if I give him bad info, so he'll check it until he's confident with me or the information he requested. However, after taunting me when I answered "I don't know" a few times, he's realized that I will give the accurate answer, even if the only accurate answer I am capable of is "I don't know."
It isn't personal when people think you are a moron. Look around you, everyone else is, so they would be a moron to presume that you weren't. You have to be personalble. You have to accept that you will have to prove yourself repeatedly. Don't ever be condescending. No one is ever open to an idea after they become defensive. I had a boss that didn't like me. He never listened to me. I made a really nice report "proving" that there was a simple way to save about $5,000,000 per year in communications cost. He never gave it a serious look, but I gave it to him in a bright folder. He'd have to take it out every once in a while to show me he was considering it. He'd look pretty damned stupid if I were to show it to his boss and his boss liked it (of course, that'd get me fired). So it was in his office for 6 months with him having to look at the bright folder every once in a while. But that's an example of one of the things you have to do to win them over. Don't preach. Don't lecture. Give them options and let them decide. Even if the choice is wrong, don't fight it. They are the boss. They will always win.
Re:A skill is a skill (Score:3, Insightful)
No, the point is to get a good candidate for the job. The ability to think fast does not necessarily indicate a good developer.
If you can code it off the cuff in the allowed time, you've exhibited a basic level of competence.
And you've just pissed off the 20 year veteran asking him to prove that he knows what he's been doing for the last 20 years. Even if you ask a harder question, it's still insulting and tells you nothing other than his ability to think fast.
The resume is enough to exhibit a basic level of competence unless you're hiring straight out of college. You want to know whether they really worked at their previous company, at that position, doing what they wrote they did. A background check will catch those first two items. Less insulting and more useful questions can determine the third.
And BTW, I've heard your argument a hundred times.
Well, aren't you special...
Re:Au contraire (Score:3, Insightful)
And economics. There aren't "100,000 jobs" that "need to be filled". The job market is controlled by supply and demand, pure and simple. If you make a better offer (money, environment, hours) you will attract the people you need. If you can't make a better offer, well, gee, looks like you didn't "need" that employee after all!
I am not in any way saying that it's a good or a bad policy to encourage foreign labor and/or immigration, that's a much more complex question. I'm just saying that anytime people use terms like "shortage" or "surplus" in a market economy they are trying to get the government to give them a better deal by intervening in the marketplace. Shortages and surpluses are what happen when you do not have a free market economy.
I personally have a shortage of jet airplanes. I've got $50, and I've have been looking all over for a jet airplane, and I can't find one. We have a national crisis!
Re:Au contraire (Score:3, Insightful)
No, they only test the ability to think on your feet in a high stress situation that is the exact opposite of the way code is actually written in reality.
I don't understand why some people think they can go be ``coding monkeys'' without care or thought... You mean you can't tell the guy how to implement a list? Or how strcpy works? Or how to implement a tree? Wtf? If you fail to show your knowledge through these basic things, why should the interviewer trust your skill set? Because you said so on your resume? Give me a break...
Yeah, I can tell you how to do any of that shit. The problem comes when you ask for details and want me to show you specifics. Telling someone how to implement a list or a tree is different from writing it on a whiteboard, from the top of your head, without any hints, in less than 10 minutes, with your future job on the line, getting the syntax straight, and not making any major mistakes. As I mentioned, that is the exact opposite of the way code is actually written in reality. And it doesn't tell you anything about the candidate other than their ability to think fast. The ability to think fast does not necessarily indicate a good developer.
How many software engineers actually implement any of that shit on a regular basis? Not many. If you do, you should be fired for wasting time and resources. I haven't implemented a list in years since I left college and became a productive developer, so excuse me if I think your reasoning is lousy. My skill set is not untrustworthy if I can't think fast, remember my college days, and write a complete list implementation without errors under those bullshit conditions.