Believe the Occupational Outlook Handbook?
concerned00 writes "In their latest Occupational Outlook Handbook, the US Bureau of Labor Statistics says that employment of software engineers and system analysts is expected to increase 'much faster than the average' through 2014 (here, and here). In contrast, employment of programmers is expected to increase 'more slowly than the average,' with outsourcing given as one of the major reasons why (here). However, from the stories I read from American programmers on the Net, the profession is lost. Is the government wrong, or lying, then, when it implies that software engineers and system analysts can expect to have a good future? As an American, am I a fool if I decide to undertake this for a living?" Read more for details of concerned00's analysis.
The difference between a "software engineer" and a "programmer" seems somewhat dubious to me, although from the Web pages in question apparently the software engineer is involved in requirements gathering, analysis, and design, whereas the programmer usually is not. According to the Web page for programmers, "[t]he consolidation and centralization of systems and applications, developments in packaged software, advances in programming languages and tools, and the growing ability of users to design, write, and implement more of their own programs mean that more of the programming functions can be transferred from programmers to other types of information workers, such as computer software engineers." (?)
The page for software engineers says: "Computer software engineers are projected to be one of the fastest-growing occupations from 2004 to 2014." Reasons given: the increasing complexity of computer systems, the need to "adopt and integrate new technologies," "the expanding integration of Internet technologies and the explosive growth in electronic commerce," the increasing reliance on "hand-held computers and wireless networks," and concerns about security. Yet: "As with other information technology jobs, employment growth of computer software engineers may be tempered somewhat as more software development is contracted out abroad. Firms may look to cut costs by shifting operations to lower wage foreign countries with highly educated workers who have strong technical skills. At the same time, jobs in software engineering are less prone to being sent abroad compared with jobs in other computer specialties, because the occupation requires innovation and intense research and development." (?)
On the other hand, to hear the personal anecdotes of many (American) programmers on the Internet, the profession is lost and anyone in college majoring in computer science or software engineering must be either naive or insane. According to them, you have to be a genius programmer if you expect to compete successfully for the slim pickings that are left, there is no job security at all, and the best most can realistically hope for these days is a job at Home Depot. Furthermore, even if you could get work, you wouldn't want it: the deadlines are impossible, the bosses are naive, petty-minded, and perversely self-serving, and the technology changes so fast that if you allow yourself to slip behind you might as well kiss your career good-bye.
The difference between a "software engineer" and a "programmer" seems somewhat dubious to me, although from the Web pages in question apparently the software engineer is involved in requirements gathering, analysis, and design, whereas the programmer usually is not. According to the Web page for programmers, "[t]he consolidation and centralization of systems and applications, developments in packaged software, advances in programming languages and tools, and the growing ability of users to design, write, and implement more of their own programs mean that more of the programming functions can be transferred from programmers to other types of information workers, such as computer software engineers." (?)
The page for software engineers says: "Computer software engineers are projected to be one of the fastest-growing occupations from 2004 to 2014." Reasons given: the increasing complexity of computer systems, the need to "adopt and integrate new technologies," "the expanding integration of Internet technologies and the explosive growth in electronic commerce," the increasing reliance on "hand-held computers and wireless networks," and concerns about security. Yet: "As with other information technology jobs, employment growth of computer software engineers may be tempered somewhat as more software development is contracted out abroad. Firms may look to cut costs by shifting operations to lower wage foreign countries with highly educated workers who have strong technical skills. At the same time, jobs in software engineering are less prone to being sent abroad compared with jobs in other computer specialties, because the occupation requires innovation and intense research and development." (?)
On the other hand, to hear the personal anecdotes of many (American) programmers on the Internet, the profession is lost and anyone in college majoring in computer science or software engineering must be either naive or insane. According to them, you have to be a genius programmer if you expect to compete successfully for the slim pickings that are left, there is no job security at all, and the best most can realistically hope for these days is a job at Home Depot. Furthermore, even if you could get work, you wouldn't want it: the deadlines are impossible, the bosses are naive, petty-minded, and perversely self-serving, and the technology changes so fast that if you allow yourself to slip behind you might as well kiss your career good-bye.
They HAVE been replacing them....
...just not with US workers...
Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
I graduated a year ago with a degree in Computer Science, because I loved the topic. I wasn't the best student at my school, but I was pretty good. Likewise, my school isn't the best school in the world for CS or anything technology-related, but it's pretty good. I spent a year after college looking for a job, but probably not because of the reasons this article cites. I had offers right away at several places, and my time was spent choosing the right one. Eventually, I opted for the low-paying web development position at a small but growing firm dedicated to serving non-profits. The reason? More freedom and a relaxed atmosphere. But seriously, I had many choices, with pay ranging from $15,000 to $70,000 a year - and this with virtually no experience. Everyone seems to be panicling about losing their jobs to outsourcing, but I don't see it. I guess there are some jobs which could easily be outsourced abroad, but it seems to me that being that disconnected from the client must mean that the work wouldn't have been all that special anyway. More and more is happening on the web, and I still see companies growing. As far as I can tell, there are plenty of jobs to be had, as long as you're generally competent to begin with.
I don't know about everyone, but I consult for a living and have been doing this for the last 20 years. Sure, times are tough, and a number of jobs are obviously going over seas. But I've also have started to see something more interesting happening, the job's are starting to come back to the US and Europe. Projects that have been outsourced and floundering are now starting to re-appear back in their original country. It's been well documented that India's economy has been booming, but what hasn't been that well documented is it's wage inflation rate. Very soon it if not already, the cost of sending a project(s) over to India will not make sense anymore. That's what happened to the project I'm on now.
I made a mistake above. According to the hard copy school report card for my school district, the average teacher salary is $43,200. I don't know the district's median. I can't find the figures on-line.
As of 2002, the average salary for teachers nationwide was about $44,600 not counting benefits. http://www.manhattan-institute.org/html/_nypost_teacher_pay_myth.htm
Quoting the article:
According to the U.S. Department of Labor, the average public elementary school teacher in the United States earns about $30.75 an hour. The average hourly pay of other public-service employees - such as firefighters ($17.91) or police officers ($22.64) - pales in comparison.
Indeed, teachers' hourly rate exceeds even those in professions that require far more training and expertise. Compare the schoolteacher's $30.75 to the average biologist's $28.07 an hour - or the mechanical engineer's $29.76 or the chemist's $30.68.
Whose hourly pay is competitive with that of teachers? Computer scientists ($32.86), dentists ($35.51) and even nuclear engineers ($36.16).
Note, too, that these hourly figures exclude benefits, such as health coverage and retirement accounts, which are typically more generous for government employees, such as teachers, than for private-sector workers.
See, the thing is, programming and manufacturing are different. There's a much lower barrier to entry for coding, and it's easier to move work off-shore, and also easier to move stuff back.
:)
What you had in the first part of this decade was a cash crunch among companies, and it was fashionable to try to show the shareholders that you were doing something about it by firing US engineers and moving the jobs to China or India.
But what you find out about India or China is that people there are just like people over here: There's a few great programmers, and a lot of crappy ones. And when you factor in the cost of having multiple sites, training people, high turnover, etc, you find out that the promised cost savings just isn't there.. BUT, you also find out that, hey, there's some good coders over there, too, that are worth employing. Right now, I'm working in the US as a software engineer at a major telecom with offices in the US and India and all over the rest of the world, and what has settled out is this: India and China are not going to consume all the programming jobs and destroy programming in the US. They are, however, a source of talent and here to stay.
In the long run, my project (a popular cellular wireless technology) has people working on it in several locations in the US and India, and I'll tell you what: when it comes crunch time at the end of a release, it *still* doesn't feel like we have enough staff. Our layoffs have been finished for a few years now, and we're not adding staff like we were at the height of the bubble, but neither are we laying off like we were at the end of the bubble either. I'm gainfully employed, and so are all my geek programmer friends.
Offshoring as a way to find new talent and staff projects that need staffing is here to stay.
Offshoring as a way to save major money and as the end of all programming jobs in the US (or whatever high-cost of living region you want to subsitute) is a myth propagated by consulting firms as a way to capitalize on the stupidity of the bean-counters.
If you love programming, and you're good at it, get a CS degree and become a software engineer. You will find a job. And if you can't, you can alway go buy a cheap machine and start a company in your garage, and wait to get bought by Google or Microsoft.
Believe it or not, there is a drastic shortage of qualified game programmers in some parts of the country right now. Oh, there are plenty of people applying for those jobs, but most of them simply lack the skills. It's tragic.
If I had an interview in X days and I didn't know Y which may be on it then I'd spend all my time making sure I knew enough of Y. I literally did that for my current job after I did badly during a phone interview, I told them I was rusty and that I won't be in X days and I made sure I wasn't. I'm a very good programmer Well this is probably your number one problem. You're assuming you're good and likely you're not. Especially by corporate and team based programming standards. Nonetheless since you assume otherwise you blame others for your failures instead of acknowledging the truth and striving to improve yourself. So, no enjoying a job and being good at it (I'm a very good programmer) are not enough to get you a job in this country any more. If you can't show other people that you're good then you're not good. End of story.
If I was looking for a programming job and I actually enjoyed programming enough then I'd be coding as much OSS in it as possible. High profile OSS aimed at solving problems that I perceive as being important but not tackled. I'd contribute heavily to well organize and well known projects. I'd learn and understand not just the languages that are "hot" but the methodologies behind how actual programmers program.
Anyway if you love programming then you program. If the first thing that comes to your head when you see a new problem with no visible solution isn't "well I can code something to do that" then you really don't love programming. I've written two FF extensions and modified a number of others because there was a need for them and no one else wrote them yet.