Computer Science as a Major and as a Career
An anonymous reader writes "IBM DeveloperWorks is running an interesting Q&A with Director of IBM's Academic Initiative, Gina Poole. In the article she talks specifically about taking computer science as a major and ultimately as a career. From the article: 'There are a couple of reasons [for the decline in science and engineering degrees]: one is a myth, believed by parents, students, and high school guidance counselors, that computer science and engineering jobs are all being outsourced to China and India. This is not true. The percentage of the total number of jobs in this space is quite small -- less than 5%. According to a government study, the voluntary attrition in the U.S. has outpaced the number of outsourced jobs to emerging nations. Further, for every job outsourced from the U.S., nine new jobs are actually created in the U.S.'"
I will also chime in here and say that there is a significant need for computer scientists. Just to give you some idea of the demand, computer science post-docs can command six figure salaries compared to salaries in the range of 30-35k for bioscience post-docs.
But here is the deal.... We are not looking for people to help administer our systems. That is relatively easy to do, particularly with operating systems like OS X. You have to be bright and willing to work on *new* problems particularly those dealing with data management and visualization. Many comp-sci students want to go create games and there is a market for that, but where the technology for games really comes from is basic science research dealing with real-world problems. And in fact, some games and game engines are now being applied to real world problems.
There are a couple of exciting projects I am working on in these fields, namely I have just been asked to sit on the board of a media group that will deal with some of these issues and real world application of games and other digital media. Alexander Seropian (of Bungie fame) is also on this board and it should be interesting to see where this goes. Additionally, our research in a new area of bioscience called metabolomics looks ready to take off and we are working with a number of comp-sci graduate students, post-docs and faculty to create tools to deal with the types of data we use to pick out signatures of cells much like the CIA and NASA use to determine signatures of "things" they are interested in. Also data management and communication is another field that is very much in demand and we are working with groups to help us create databases that can be mined and used interactively to collaboratively annotate and discuss data with multiple users.
Lemme tell you folks, if you are interested in computer science, go for it. There is certainly a market for talented programmers and looking four to ten years in the future (which is about as far as I can), the demand will be there.
Visit Jonesblog and say hello.
I get uncomfortable when I hear people trying to rationalize outsourcing, painting it as less insidious than it is. I'm especially confused when, from the slashdot article quotes like:
propose the ludicrous!If there are nine U.S. jobs created for every outsourced job, I would infer a couple of things:
Also, from the Article (emphasis mine):
and then this from the article (emphasis mine):
which seems to be less certain of a statement about the "created jobs". Either there's a view new jobs get created from outsourcing, or there's a reality that can be measured empirically. Which is it? And if it's the latter, where are the numbers?That said, I guess it's nice to hear the CS career path and job market is healthy and alive.
Why do women shy away from this field? Reason number one is the view that it is for loners and geeks.
That's because, mostly, it is. Trying to pretend that it's not isn't going to help things. Some kinds of jobs attract some kinds of people and we just have to accept that.
-Grey
Silver Clipboard: Time Management Tips
The real title of the article should be: Power Architecture directions: Two-year-old Academic Initiative enhances computer science curricula, seeks to reverse student decline and sell as much IBM stuff in the proccess. See the following questions from the article:
1) How is the curriculum linked to teaching or use of IBM technology?
2) How can IBM Business Partners participate in the Academic Initiative?
3) Do participating schools gain an incentive, financial or otherwise, to acquire IBM equipment, software, or other technology?
-Grey
Silver Clipboard: Time Management Tips
But that's not why enrollment is down.
I started college in 2000/2001. The end of the boom. It was VERY obvious that a large portion of the students didn't care about the subject. They weren't too interested in the material. They often didn't know much about how to even use computers above very basic things.
It's clear why there were there. They were in it for the money. At that time all you heard about was the exploding tech sector and 19 year old multi-millionares and getting $90k salaries right out of college. They saw gold and they ran for it. Many of them were very nice people, and some of them tried VERY hard and had a great commitment to the subject that they weren't personally that interested in (I wouldn't be able to do it), but many of them were just trying to slide by to get the money, or had no idea what they wanted to do so they went with the one that had the $$$ behind it.
Now that the bubble has burst (combined with the threat of outsourcing and such, real or imagined) it's not seen as an ultra-lucrative career so people aren't going into it like they used to.
Where ARE they going? From what little I've seen, the new hot things are degrees that get you to accounting (returning favorite), lawyering (classic money maker), or the new hot stuff: biotech. Those are where the gold-rushers are going.
So CS is back to people who want to do CS instead of those people along with gold-rushers, certification mill graduates, and other such people. Big loss.
It will be CS again one day. Google is starting to turn that tide with all the headway it's making.
But the reason CS enrollment is down is the bubble burst and the gold-rushers are gone.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
You have to pick a major and career. Do you pick the same major as the barrista who serves up your latte's and as the old guy working at Home Depot who got laid off because they didn't feel like providing any training and continuing to provide pension and medical benefits? Comp sci careers have no legs. You'd be better off picking a career with longer term prospects, like suicide bomber.
I graduated with a Bachelor's in a double-major of Comp Sci, and Applied Math, 16 years ago, and have been working ever since.
The barrier to entry, today, is unquestionably higher than it was years ago. If you're coming out of college today, expect to rough it out for 5-7 years. Then it gets easier. Much, much easier. If you know what you're doing, and you're good at it, outsourcing is not going to bother you.
The key to success, in this racket, is to love programming. You should've known that this is what you want to do with your life -- computer programming -- even before you've gotten your high school diploma.
If you're looking at a career in IT as a means of earning a living -- forget it. It's not going to work for you. You need to be naturally drawn to programming. If you're naturally driven to this (I sat down in front of an Apple II at age 12, and that's all she wrote), then it's only a matter of time before you claw your way to the top of the heap, and from that point on, it's easy going. Do not be concerned even if things look very bleak, the first 5-6 years out of college. Learn as much as you can, when you go home, spend all your free time "scratching an itch", and a few years down the road you will have the experience and knowledge to run rings around everyone else.
I hear all the woes that people are saying, and just quietly smile, internally. I work in what's considered to be the toughest IT environments in the world: Wall Street. People get eaten alive, around here.
Yet, I moved into my first house at age 21, paid off its 30-year mortgage eight years later, sold it, bought a second house two years ago, and I expect to pay off THAT mortgage next year. I get into the office around 9, and leave around 5. I'm not a wage slave, I don't work myself to death. I work as an independent consultant programmer, so if the company wants me to work 12 hours a day, they will have to pay for it. It's funny how the expectations of IT people to work 12 hours a day disappears, when the company has to pay for it (I'm under strict orders not to work more than 40 hours a week, anything more requires advance authorization).
I remember hearing the headhunters' sob stories, as long as ten years ago, about all these Indian outsourcers taking a dozen H-1Bs, throwing them together into one, tingy, dingy house somewhere on Long Island, paying them $30/hr, and billing each one out for $40/hr; and undercutting everyone else.
Strangely enough, I've somehow managed to avoid getting undercut all this time. Yes, I see a lot of Indians around here. But, they're all low-level admins, who really don't do anything that requires any kind of sophistication. If you enter the market today, you WILL have a lot of competition to deal with, at first, for entry-level/low level spots. Once you get past that, though, the landscape changes dramatically.
I'm currently involved -- amongst other things -- with the management's hiring push. We're trying to hire as many high-level, experienced, developers as we can find. Wall Street has done very well in the last year, everyone is reporting record profits, everyone has hundred dollar bills coming out of their assholes, more cash than they know what to do with, so everyone's trying to hire as many good people as they can.
Based on interviewing a whole bunch of people over the course of the last 3 month, I can say: if you have your shit together, and you know what you're doing, you won't have any problems.
Young folk !!
Do not believe those business types !!!
They LIE LIE LIE !!
I'm NOT amused by those leeches ( business types)
who claim that more CS grads are needed. I keep
that in mind when I interview, but I won't say anything...
neither will anyone I know.
The IBM person didn't mention that the industry is
a double whammy for no jobs: outsourcing as well
as IMMIGRATION !!
And 3rdly, lets not forget age discrimination.
There's a lot of those looking for work, but industry
has it's sites set for certain "Classes" of people.
More could be said, but 2/3 of the readers are looking
to reinforce the shortage notion, so I won't.
so, industry has no sympathy from me, and to protect my job,
I often and loudly tell anyone who will listen that the
Computer Industry is NOT A WAY to earn a living.
signed,
Anonymous, since Big Brother is reading my email,
and companies use detectives to track down personal info.
Then it tells us how many new jobs are being created in this field. This is an old trick. I have a cartoon that is a century old of Mr. Block (a recurring character who is basically a rube) travels out west because of newspaper ads about how many jobs are out there and how good they are - he travels thousands of miles and finds out that there are only a few jobs and hundreds of people like him lured in by the ads. Beyond this the job is not as good as promised by the ad - once the bosses have all these suckers competing for a few jobs, they can pay less, increase the hours and have better working conditions. So this sort of nonsense has been going on for a long time.
As other people pointed out, this article does not talk about H1-Bs. IBM is part of the ITAA which is trying to push the H1-B cap up. They spend tons of money in Washington DC and what tchnical professional organizations are spreading money around counetring that? The IEEE? The IEEE gets a great deal of its money from the same corporations funding this, menaing the IEEE is not a real professional organization like the AMA, ABA and so forth. You can read more about how the IEEE is controlled by these companies here.
Does any of this set off bullshit detectors? "Also, a lot of students don't understand the flexibility they can have. You can travel the globe; you have flexibility whether working from an office, from home, full-time, part-time." I am a UNIX sysadmin. I can work from home, part-time? Give me a break, I can do neither. I would love to have a "part-time" UNIX sysadmin job in the sense of only working 40 hours a week. And I can do this for 20 hours a week supposedly? And what's this nonsense about working from home? If I never had to go into the office, I never would. This is a lot of BS, I don't even know why this was posted. Of course, a few of these jobs exist, and we can get away with working from home once in a while, but 99% of jobs be it sysadmins, programmers, DBAs or network admins are at the office and full time, meaning over 40 hours a week.
Another thing is the article does mention "voluntary" attrition being a reason for the lack of people. But of course it never says why people are leaving. They are leaving because they are not getting paid enough to work the hours they do, and having to put up with the BS they have to.
As far as saying there are X many jobs out there, it is really meaningless. Let me create 10 million new jobs right here - I have 10 million openings for C/C++/Java gods, DBAs and sysadmins. The pay is a dollar a week and you have to do a lot of shit. There, I just created 10 million new jobs. If you believe in capitalism and neoclassical economics, and obviously these people do, then supply should always equal demand, if you have X many new jobs that are so great in terms of pay etc., then the market will automatically meet them. This is what is believed from Keynes to Milton Friedman, if you don't believe this you are probably carrying a copy of Marx's Das Kapital. So the idea that there can be a job shortfall is either 1) coming from someone who believes Marx is right and Keynes and Milton Friedman are wrong or 2) someone who is talking out of their ass and just wants people to pay tens of thousands out of their own pocket for an education, so that there will be one more person competing for an IT job, so that the company can then make people work more hours while paying them less money.
As said by Edsger Dijkstra:
I would advise anyone who is not brilliant at development to seek another path.
Consider it if you are really love coding, and are extremely good, and confident enough in your skills to job jump, or set up your own consulting buisness etc. Unless this is true. Run, don't walk to another faculty.
Here is the reality of working as a developer in a big corporations. Crushing deathmarch deadlines. Tons of off hours solo work, and continual outsourcing. So much process overhead that it will suck any of the joy out of design/coding that ever existed for you. A process that is now vain as there exists a multi-million LOC monstrosity that is always ready to collapse.
Your interactions will consist mainly of mind dulling staff meetings, early morning, barely intelligible conference calls to far off lands attempting to keep outsource staff up to speed (good luck with that) while the real work will be long solo hours staring at a machine (evenings and weekends if need be).
I have always considered myself pretty good, but not the best. The only ones who really get much out of this job are the best.
I could go on, but hey it is a beautiful sunny Saturday and I have to go into work.
I think you're oversimplifying. Computer Science is a field of academic study and a field of research (in universities and in companies). But the IT sector includes a lot of stuff that isn't computer science. Viz:-
Science: Algorithm Analysis
Not Science: Requirements capture, Most design work, Debugging
Science: Big-O analysis, graph theory, computability evaluation
Not Science: Distributed systems design, system architecture
Science: Developing machine vision techniques
Not science: Racing automated vehicles across the desert
Science: Relational calculus
Not Science: Database administration
Is the non-science stuff Computer Science? No, but it's software engineering / IT / etc. Is it mandatory to understand the science bits to do the non-science bits? No, but often it helps a whole lot.
So, it's valid for "Computer Science" to be a branch of "Science", but perhaps you think otherwise because there are things that you'd say are within Computer Science, that are not actually science. I'd agree with you there, but I'd claim they're not computer science either.
awesome quote.
"Computer science is as much about computers as astronomy is about telescopes."
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim."
-- Edsger Wybe Dijkstra (1930-2002)
MORTAR COMBAT!
What the oh-so-clever managers and execs at IBM fail to realize is that if everyone's busy selling, then developing the product becomes a lower-priority item and you end up with crap products. With a few notable exceptions (e.g., the Eclipse core), this is why IBM has such a bad reputation for producing poor-quality software.
And now they post this article that makes it sound like they actually want to hire real developers? Whatever. These comments said it best: "The real title should be:", and "And we believe an article from IBM?".
Notice how the wording of this is meant to distort and twist perceptions. Hardly anyone thinks that all science and engineering jobs are being outsourced to China and India. By saying it that way, however, they are hoping to recruit people to argue with those who do believe (and rightly so) that many jobs are being outsourced there.
Also notice how they leave out "insourcing" of workers on H-1B non-resident visas. The latter is actually more of an issue for a few reasons. Among them is that many jobs simply cannot be moved to a remote location. Another reason is that this makes for an effective slave labor force right here because such a worker cannot easily move to a new job, and if they complain about the working conditions and hours, and get fired, they can't just go get another job, they usually have to return to their home country.
All of this, including the industry push to flood the market with even more CS, engineering, and science graduates, is all part of the scheme to drive pay levels down, cut benefits, and limit career paths to just 10 or so years. If you think business has any other motive besides the acquisition of profits, then you absolutely do not understand how business functions.
And I'm not so sure about this 5% figure. I've heard a number of figures from a number of sources, ranging from 3% to 25%. I'm more inclined to believe it is somewhere around 8% to 10% based on empirical observations of numbers of people out of work. More likely they conveniently include lots of lesser-tech jobs when they work up those figures, while sending the higher-tech jobs overseas.
The government studies lots of things and tends to get things wrong a lot. The only voluntary attrition that exists here is due to declining working conditions, such as bad working environments, fewer benefits, and lower pay. And of course, PHBs.
For every high-tech job outsourced, some number of low-tech jobs probably are created. I doubt it is nine; probably closer to three. These would be low-tech jobs like sales, marketing, and secretarial. If any of those jobs created in US really are high-tech, they will be trying to hire H-1B's in them.
The government also has incomplete figures on people out of work. When someone who had a high-tech job loses it, and applies for unemployment benefits, then they get counted. But when the benefits run out, they aren't counted anymore. And if they had a substantial savings, they might not apply for unemployment benefits, or might not even qualify in some cases ... and won't be counted. Those that do find work doing something else like delivering pizza will then no longer be counted as unemployed (the government has no classification of underemployed).
While it is true that there are untapped resources of smart people who can do high-tech work all over the world, and it is a good thing to get them working for you, it is clear that US businesses are using this combined with other practices more for driving down pay and benefits while still having a base of smart people.
All that said, I do need to point out that US business, as well as European businesses and probably even Japanese businesses, are at a competitive disadvantage in the emerging world market due to the higher living costs at home. Costs have to be cut to survive. And even if we stopped all foreign companies from selling in
now we need to go OSS in diesel cars
Further, for every job outsourced from the U.S., nine new jobs are actually created in the U.S.
Yeah, but those jobs are being created at WalMart and Burger King
Here is another reason why people steer away from computer science - with a couple of years experience, finding a job is easy. But for the new graduate, finding a job can be very difficult. When freshmen hear stories about Seniors finding hundreds of jobs advertised as "Entry Level - must have 2+ years paid software development experience" it turns them off. And when there is no shortage of job listings like that, no shortage of companies claiming they cannot find anybody "qualified" and demanding more foreigners, and at the same time a significant number of new grads are being turned down, attracting new students to the field will be difficult. Things are starting to change, but people will not be attracted into the field until things are desperate enough that everybody graduing with a CS degree has a job in a month or two.
The key these days is that there are plenty of people who can do computer science, but far fewer who can do computer science and something else. This means that computer science is extremely comptetitive, but if you also are good at biology, or chemistry, or economics, etc., that you can use your computer science skills and apply them to your other field. There are far fewer biologists who can code, so if you can do both then you can get the best of both worlds.
Computers are tools, and a tool needs an application. If you can apply it directly yourself, then you can do just fine. If you only know how to code, then you will find yourself with lots of other people in your shoes, and that's where it gets tough to get a job
You can lead a horse to water, but you can't make it dissolve.
As far as I can tell, the reason behind all these bullsh!t articles is to make sure there will never again be a shortage of IT slave labor.
Forget the article, look at the real world.
A BSCS is as difficult to get as an engineering degree, but as useless as Liberal Arts degree. Look at the job boards, degrees are rarely listed as requirements for software development jobs, and when they are they say "BSCS or equivelent."
If I have a degree in Chemical Engineering, I am *way* ahead of any non-degreed person who wants to work as a Chemical Engineer. The same can not be said for a degree in Comp Sci.
The newspapers and job boards are filled with ads for nurses. The ads often offer $15K sign on bonuses. All they ask is that you be an licensed nurse. How many honest ads are there, offering $15K sign on bonuses for software developers - right out of collede? The real evidence of supply v demand is staring you in the face. Most developer jobs require five years experience in a long list of technologies - and ever job has a different technologies list.
Please don't mis-understand. I am not suggesting that nurses are not worth it, nor am I suggesting that you become a nurse. My point is that real world data should out-weight these bogus self-serving articles.
So a corporation that depends on computer science graduates for its business wants to keep their labor costs down in the future by suckering young people into a career that will probably be over by the time they are 50.
The shortage of technical talent in the US has been proclaimed by industry continuously since the 1950's but it has never been true.
Given the absurd compensation given CEOs in the US, perhaps IBM should encourage more business school graduates to try to flood the market with cheap management labor.
Being a "loner" does not necessarily mean that you can't work effectively as part of a team. It merely means that you are inwardly focused.
For that matter, there are a lot of outgoing, sociable people who can be disruptive in a team environment.
The US free market: two halves of a government-granted duopoly are free to set the market price.
Hm, I would like to give a shot to a PhD programme, but unfortunately in my part of the world (the former Czechoslovakia) there is a serious lack of interesting PhD thesis themes that could allow me to participate in solving world's bleeding edge problems related to some meaningful practical problem (such as biomedicine research, etc). I can only take part in solving huge theoretical problems, and frankly said, I am not interested in hunting down the creatures invented by some clever theoreticians as side effects of their theories (although I enjoy theories). I achieved M.S. & summa cum laude at my first university, then moved to two best universities in former Czechoslovakia, attending their M.S. CS programme again (Comenius & Charles universities) and tried to gather as much theoretical knowledge as I was able to be capable of solving huge practical problems, hoping I would find interesting research topic that would allow me to utilize my talent, but I couldn't find any topic that would motivate me, as our universities do only a little cooperation with the industry, that in turn only awakens from the limbo caused by socialism and the research is almost non-existing.
:-(
Therefore I took the job offer to one of the few R&D positions available in this part of the world from american companies (yes, there is also R&D outsourcing), earning about $30k/year (that is triple of the nation's average), but I clearly see that my capabilities are above to what is expected from me (but I enjoy the job, but miss the tight challenge). Therefore I present cryptology lectures to my colleagues to help them to raise their level and to not to allow my brain to become rusty and further deteriorate.
But as I am turning 29 in the next two weeks, I feel this would be my last chance to try PhD programme and still can't find any suitable and motivating theme
Is this also problem in the USA, or you just have overload of interesting research topics and miss those that would like to participate in the research?
Squared9
I know literary allusions aren't the stock and trade of CS people. Perhaps they should be.
PEA PICKERS WANTED IN CALIFORNIA. GOOD WAGES ALL SEASON. 800 PICKERS WANTED.
Summary here.
Broaden your horizons. Read things beyond the ACM journals and Slashdot. You'll learn something.
The US free market: two halves of a government-granted duopoly are free to set the market price.
The best reason to get a good education is the more Socratic one: to become a better person. A complete, well-rounded curriculum might seem wasteful to the "just enough to get a job" crowd, but it results in a person who is generally more competent for life ahead. And as for Computer Science, learn more of the How and Why, and less of the What. That person might be less attuned for a given employer. But that person will have a much wider world of employment ahead in general, and will be more recession-proof in the end.
If any degree field should make use of this infastructure, it should be the field that evoloves it. How many smart people in dead end jobs with financial overhead would love to spend a few hours a night pegging away at a CS degree and what percentage of the population is under 23 and living in a University town.
"Never say Never."
Well, I'm a CE grad pushing three years out in the real world. Personally, I think CE was the best path for me. My program was very open-ended. There were analog hardware classes, digital hardware, software, VLSI, OSes, you name it. I focused mainly on digital HW and embedded sw stuff. My final senior project was an mp3 player: I was in a group with 3 other guys and we did everything (circuit design, board layout, firmware, PC software, etc). It was kind of flakey, but it worked.
The thing is, at the end of 4 years, I had two resumes: my embedded software resume, and my digital design/VLSI resume. I felt comfortable applying to entry-level for either path. Embedded software worked out. CE opened a lot of doors that I woudln't get with a CS degree. CS has other paths CE doesn't but none of them appealed to me (I had no desire to be a game programmer). Once you pick a door and get into the workplace, however, it's not particularly important either way. Experience dominates from then on.
A major point to consider is that it's engineering, not science. If research is your thing, I'd suggest CS. My math and algorithm coursework was adequate, but kind of weak compared to CS guys. Similarly if you like working on big apps (windows stuff, games, business apps, etc.) I'd say go CS.
But if embedded systems, drivers, OS work, etc. sounds like your thing, CE is definitely the way to go. Most CS guys who come thru can't work an oscilloscope to save their life.
While I'm at it, I'd also suggest you look into internships and if you can take a project/capstone class, do it. We get tons of entry-level resumes, most of which look the same. GPA's not a big deal to us so long as you graduated. What sets people apart is really experience (i.e. internships) and interesting/relevant projects. It was that mp3 player that got me my first job more than my major.
This a minority view point but I think one of the reasons for for declining enrollment in computer science and engineering in general is that these fields pay too little. Yes, there are million statistics that say average salaries are high for CS grads. However, if you compare the top 10% of computer scientists (in terms of skill and effectiveness) vs the top 10% of investment managers and then look at the their pay, you'll see radical difference. A really taltented and well paid computer scienceist might make a 180K a year. A talented investment manager is going to be paid in the millions. Really talnented doctors aren't as well comp'ed as investment managers but make much more than computer scienctists. Same for lawyers.
Sure, you can gamble on stock options but its a gamble. This is not field where talent alone gives so any certainty of retiring rich. Most of really smart CS people I know are leaving the field and getting MBAs.
2% "computer science" (mostly academic positions, high end R&D corps.)
8% "architects" (this is the prime "computer science" position at Joe Company)
90% "developers" (with varying levels of experience from entry-->senior)
Now keep in mind, my numbers are reflecting the whole computing space, including every small 2 man operation out there.
In larger corporations, there's usually one architect that drives the "vision" for the project, along with a bunch of varying levels of developers. In smaller companies, the architect can also be the developer. But I'm not including these guys in that 8% number. I'm talking about pure architects there (people that don't type code for a living).
Most companies want you to get busy cranking out code that they can put into production quickly. That lends itself to "assembly line" thinking, therefore the temptation to use offshore outsourcing is greatly increased.
So, take a look at those numbers above. Let's assume that people in the 1st two groups can't be outsourced. That leaves (potentially) 90% of an entire industry workforce that could potentially be outsourced. 90%!. Ok, maybe not today or tommorrow, but in 5-10 years, India/China/[insert low cost country] will perfect their software "manufacturing" processes to the point where this will become possible. Even if only HALF of those positions are eventually replaced, it still paints a very GRIM picture.
Then post your high paying job openings right here and now and let's just see if your money is where your mouth is. The fact is, talented and experienced people actually are plentiful. You just have to look around better. And you may even be misreading the resumes for all I know (I've met a few managers who couldn't do that ... which is needed since techie/geek type people can't write good ones). The local grown talent is here. You're just not making the effort. And the big corporations that also don't make the effort can easily fall back on the body shop sales people that come in carrying a few CDs full of resumes from the workers they are selling. So it's certainly a lot easier to sign an outsourcing contract than to take the proper steps to find someone as specific as you want.
Keep in mind that the more specific you want to be about finding the person to fill the job, the more work you have to do.
How many online job web sites do your jobs get posted in? Do you post in at least 10 of them? Or are you expecting the candidates to spend 100 hours a week hunting through all the repeats of the really stupid underpaying jobs on dozens of these sites. Now it isn't your fault that the online job hunting methods are so fragmented (because of way too many job sites, and too much clutter and noise on the big ones). Unfortunately, it's what you're stuck with just as much as those of us hunting for work are.
And by all means absolutely do not dismiss any candidate because they are currently unemployed. If you think unemployed people can't do the job, then all you are doing is making worse the very problem you seem to claim does not exist.
BTW, please include salaries in those job opening listings you post here. Let's see if your pay level really does indicate your belief in this shortage.
And why are you hiding behind "Anonymous Coward"? Afraid someone will be able to track you to your company and find that you aren't really hiring at all?
now we need to go OSS in diesel cars
Let me ask you this, since you posted a specific tool you use. Are you willing to hire someone who does NOT yet know that tool, but is willing and eager to learn it, AND has a track record of learning other things to show that they can?
If you are NOT interested in hiring such a person, then you are an example of part of the problem. Here's how the logic works:
These various technologies never last long enough for someone to practice that technology for their entire expected career (42 years typical, from graduation at 23 to retirement at 65). Do you expect to be using J2EE only for the next 42 years? I highly doubt it. Something new (and supposedly better) will come along in a few years.
The problem is, everyone who learned J2EE or any other current modern technology will then be SOL. Why? Because you and other employers will switch to the new technology a couple years or so after it has emerged, and you won't be interested in hiring anyone who would be learning it for the very first time.
The problem is, there's no long term career opportunity in any field which is changing in a way that employers won't LET people keep up with by hiring-to-learn. College (and pre-college) kids are learning that getting a degree in CS and/or learning some current modern technology such as Java and J2EE means a career of perhaps at most 10 years, and in many cases even less. As technology changes, employers are just disposing of employees who could learn new stuff in a couple months, and instead trying to hire new people who already know what's new (either college grads who just learned it in a class, or someone lucky enough to fall into that technology just as it emerged). The kids see this practice and instead look to other careers fields which pay well and will last well into retirement, such as being a lawyer or doctor.
If all employers were to make at least 25% of their hires from experienced and/or educated people who don't really match some, most, or even all of the technology in use, but can learn it, then maybe this "problem" of kids not pursuing the path will go away. Think about it. Put yourself in the place of one of these kids seeing that both new college grads that just happened to pick the wrong technology to learn, as well as decades experienced people that want to move on to new things, just aren't getting jobs (they aren't because employers like you won't hire them).
True smart hiring should be based on hiring people that are smart, regardless of the specific technology they happen to know or be experienced with. If they are smart people, they can make it happen with any technology. Hiring programmers shouldn't be about what language you know or what toolkit you've used. It should be about understanding the development process, and even about improving on it. Past programming experience always helps, but even in other languages, it's still mostly what you need.
now we need to go OSS in diesel cars
I just checked computerjobs.com and found there are currently 1991 jobs in Texas. I remember when that number was as high as 23,000 before the economy nose dived. Whether it is, or is not, back in other areas, it most definitely is nowhere near back in IT hiring.
now we need to go OSS in diesel cars
i agree with the sentiment that 'if you're good, you'll find work and get paid for it'.
the thing about cs is that its definitely a field that you have to enjoy, and have some aptitude for, in order to succeed. coding and problem solving should be fun. it just has to click with you. if its not coming, then you're probably better off not forcing it.
as for the job market, it seems pretty good right now for talented people. i'm 27 and working in the financial sector right now, but started out more interested in pure tech stuff. but if you want $$, you have to go finance. there are actually interesting projects here, too. the trick is to find a company that suits your work style-- big and corporate, small and personal, and everything in between.
salary wise, i should be breaking 200k salary this coming year (base + bonus). out of school, i was part of a dot-bomb for about 6 months and then worked two other jobs before arriving where i am now-- i made about 90k at both of those.
experience is key. work while you're in school if you can! get that experience, get an internship, do something that allows you to write and read some code. don't expect school to give you enough to get by. but at the same time, be solid in your cs fundamentals so you know how to interview. you'd be amazed at how many 3.8+ gpa cs students i've interviewed that can't answer basic questions about oo and data structures. they're right out of school- this should be fresh in their minds. i cut more slack on these topics to people who've been working for a few years..
anyway, bottom line is if you're good then have no worries- there will be work and there will be pretty good money.
otherwise, find something else that you can excel at and enjoy. you can't really fake being a good programmer.