Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Believe the Occupational Outlook Handbook?

kdawson posted more than 7 years ago | from the future-of-the-american-programmer dept.

Programming 518

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.

Sorry! There are no comments related to the filter you selected.

Outlook for an Occupying Force (4, Funny)

User 956 (568564) | more than 7 years ago | (#20564397)

Believe the Occupational Outlook Handbook?

I wouldn't have guessed that Outlook would function any different for US troops in Iraq, but I guess it must, since they have a whole handbook for it.

You can't get there from here. (5, Insightful)

Marxist Hacker 42 (638312) | more than 7 years ago | (#20564401)

I believe it, but you can't get there from here.

Software engineers and software analysts are *highly skilled* positions that require experience in addition to at least a Bachelor's degree in Software Engineering or Software Project Management.

Programming, on the other hand, can be done by anybody with a Computer Science or related mathematical degree, usually a two year Associate's degree. India is graduating 50,000 people with this training EVERY YEAR.

You need to know some demographics to understand why, in the 2008-2014 era, the first will be in demand- it's because the first generation of Software Engineers and Analysts and Project Managers are all Baby Boomers. They're all in their late 50s and early 60s now- getting ready to retire. We're going to need to replace them with people who have similar skill levels.

Which leads to my question to prompt discussion: just how the hell do you become a software engineer without being a programmer first, unless you're independently wealthy enough to work in Open Source for 5-10 years?

One potential answer is government instead of private industry- I'm a software engineer with 10 years of experience and that's where I ended up after the last recession because I simply didn't have enough experience in enough languages to get a private industry job.

But beyond that- I just don't see any way for a young person graduating from high school to become a software engineer anymore. Sure, you can probably get the 4 years of schooling. But you'll be competing with people who earn $2.50/hr halfway around the world when it comes to getting experience. And that's not a winning bet when it comes to paying back your $40,000 of student loans it will take to get that Bachelor's degree.

Re:You can't get there from here. (1)

mikee805 (1091195) | more than 7 years ago | (#20564497)

And this is what people fear. Along the lines of what happened with engineering. First went the manufacturing then the engineering. The same is happening for software first goes the programmers then goes the software engineers and architects.

Re:You can't get there from here. (5, Insightful)

Marxist Hacker 42 (638312) | more than 7 years ago | (#20564577)

Yes, but the difference is this- it was rare for a manufacturing assembly line worker to become a manufacturing engineer. It's NECESSARY to be a computer programmer for a while on a variety of projects before you can become a good software engineer.

Re:You can't get there from here. (2, Insightful)

joedeaux (1155323) | more than 7 years ago | (#20564585)

> As an American, am I a fool if I decide to undertake this for a living?"
>
Yes.

Re:You can't get there from here. (2, Informative)

UncleTogie (1004853) | more than 7 years ago | (#20564615)

They're all in their late 50s and early 60s now- getting ready to retire. We're going to need to replace them with people who have similar skill levels.

They HAVE been replacing them....

...just not with US workers...

Re:You can't get there from here. (1)

cduffy (652) | more than 7 years ago | (#20564703)

High school + 4 years attending a state-funded (inexpensive) college is enough time doing open source work to get a useful amount of experience without spending a fortune bumming around as an adult. Beyond that -- some people have an innate proficiency for seeing a process and knowing the right algorithm or approach to use to address it. Those people have a lower barrier to entry by their nature.

I've never failed to hire anyone for not having "enough experience in enough languages"; one of the best experiences I've had with a coworker was with an intern with no prior industry experience whatsoever but a brilliant head for algorithms and an eagerness to learn. When I give the thumbs-down on someone, it's because they don't know things they think they know, or they don't have enough baseline knowledge to hit the ground running (this isn't a number-of-languages contest -- rather, it's knowing enough about the environment your programs operate in that you aren't going to be stymied the first time an abstraction you're relying on leaks), or they don't demonstrate good problem-solving skills (which is really based on knowing enough about your environment and then being able to work out how best to interact with it).

Re:You can't get there from here. (5, Insightful)

Anonymous Coward | more than 7 years ago | (#20564707)

Programming, on the other hand, can be done by anybody with a Computer Science or related mathematical degree, usually a two year Associate's degree. India is graduating 50,000 people with this training EVERY YEAR.

As a manager at a software development firm, I laugh at what you're saying. We've interviewed several of these people, unfortunately. They're essentially useless, even as programmers.

Some of these dipshits, err, "expert C# developers" couldn't even explain the basic concepts behind a linked list implemented in C#. One notable Indian-trained fellow we interviewed told us all about arrays when asked to describe a linked list. When we asked him to elaborate on where the linking comes into play, he told us that "the addresses of the memory cells were linked by virtual memory".

The developer I was interviewing this fellow with was also of Indian descent, but trained in France. He told the candidate flat out, "Sandeep, you are a disgrace to the people of India!"

The few times we've actually given such people a chance, there has been nothing but trouble. Some of them run into major problems just getting simple code to compile. In the end, they waste the time of our better developers with stupid, near-pointless questions. So I think it's almost always a mistake to hire the people you describe.

Re:You can't get there from here. (2, Insightful)

Anonymous Coward | more than 7 years ago | (#20564797)

It's not that the jobs over here are being taken by those people over here, it's that management will sometimes outsource whole projects to indian/whatever firms. The people taking the jobs don't get interviewed, they already have jobs with companies that bid the lowest for the contract. As a manager, surely you know that? Or maybe you just work at a great place :)

The other problem over here is that consulting companies (*cough* Accenture *cough*) hire the cheapest people they can that seem smart, and then try to crash-train them to program later.

maybe just my experience though...

Re:You can't get there from here. (1)

MBCook (132727) | more than 7 years ago | (#20565295)

That's kind of what I was thinking. We were hiring not too long ago and went though many people. We weren't looking for any geniuses, just decent entry level people to do some simple stuff and they can learn as they go. We got a "programmer" who had been working for years who didn't know what arrays were. We got the people (one guy specifically) who could run NASA's computer division if he knew half of what he claimed. We got nice people who didn't fit us for one reason or another. We got a handful of good people too (we hired some). But tons of people that just make you question how they got through school and got their degree.

Reading the description above of the difference between programers and software engineers it immediately struck me as the difference between skilled labor and a professional. I could design or build a deck or a house or many other things. They won't work nearly as well as plans made by someone who has been doing it for years and really knows their stuff. I could follow a book to get some best practices on how to do certain parts, but I'd still be doing it a bit piecemeal instead of having the whole design in my head (to some degree).

I'm a genius software engineer compared to many of the "programmers" that I've seen who wanted jobs. Of course I know that I'm just a programer compared to other real programers and real software engineers that are really good. I don't have 5/10/whatever years of experience. I don't have an advanced degree.

But like I was saying with the decks and such above... there will always be many people who can do something. If you are really good, if you have a talent, if you have a large amount of experience you will be able to make a living in the field and do well. If you are just trying to get in on a gold-rush of sorts, you can make money for a while but the market will correct and you will either have your salary or your position cut if you can't compete.

Re:You can't get there from here. (4, Funny)

daeg (828071) | more than 7 years ago | (#20565417)

Please start hiring those damned "C# experts" so they stop flooding my strictly Python job postings. I really don't want them. I even have a template, very curt message:

"I believe you sent me the wrong resume. My job posting listed Python as a requirement, but your resume fails to mention either Python or reading comprehension. Could you please resend? Thank you."

Fortunately for me, very few bother responding back.

Although I did get a photo of a python sent to me once.

Re:You can't get there from here. (2, Insightful)

stefanlasiewski (63134) | more than 7 years ago | (#20564939)

Software engineers and software analysts are *highly skilled* positions that require experience in addition to at least a Bachelor's degree in Software Engineering or Software Project Management.

It's different at different organizations. Some of these job titles never made sense.

In my experience 'System Analyst' is often used as a a generic job title, something like 'System Operator'. Analysts are often at the low end of the totem pole, have less computer experience then the 'Programmers', and are towards the bottom of the pay scale. 'System Analysts' often support the other technical groups, but have little computer experience. 'System Analyst' is often used as one of those 'foot in the door' positions so that people can start learning technical or project management skills. After several years experience, an Analyst is promoted to 'System Administrator', 'System Engineer', QA Engineer, 'Product Manager', etc.

But then again, I know 'System Analysts' consultants who have the ear of the CEO, but again--- but few of them be 'highly skilled' in an engineering sense. They have good communication skills, which is why they can effectively present ideas to the management team.

Re:You can't get there from here. (1)

fractoid (1076465) | more than 7 years ago | (#20565245)

Interesting - I guess this shows how much the job titles vary. Here, a 'systems analyst' (my old job title) does the software engineering in addition to the development. Enough experience in that area gets you demoted to project manager, where you do the paperwork. A programmer is more someone who writes code to spec, with much less scope for innovation.

Then again I've been stuck maintaining a dinosaur of a web site for the last 9 months. :/ So they're definitely not set in stone.

Re:You can't get there from here. (1)

Skreems (598317) | more than 7 years ago | (#20564999)

Programming, on the other hand, can be done by anybody with a Computer Science or related mathematical degree, usually a two year Associate's degree. India is graduating 50,000 people with this training EVERY YEAR.
The part you don't mention is, a lot of them are just crap at it (same as with American schools). Yeah, if you come out with a C+ average and little understanding of the actual things involved in programming and software engineering, you're gonna be in competition with a lot of people, both locally as well as foreign. But if you actually know what you're doing, and can write a function to reverse a string without looking it up online, there are going to be jobs for you.

We've been going through dozens of applicants, and can barely justify hiring 1/10th of the people we see, and that's AFTER an initial screening. There's a serious lack of competent people in both fields, programming and software engineering, and its only going to get worse as far as I can see.

Which leads to my question to prompt discussion: just how the hell do you become a software engineer without being a programmer first, unless you're independently wealthy enough to work in Open Source for 5-10 years?
Again, if you're competent, you don't need years of experience. I graduated from a decent CS program, and hired straight into a software engineering job. If you can show that you actually know what you're doing, there's a lot of places ready to hire you even if you don't meet their "10 years experience" criteria. There just aren't enough people to fill all those jobs at the set requirements.

Re:You can't get there from here. (4, Interesting)

XenophileJKO (988224) | more than 7 years ago | (#20565387)

Totally 100% agree... I must have interviewed 30 people before I filled my last programmer position for my team. I hired a guy in who had never actually worked with the language we use (C#).

Seriously... the other 29 canidates that I brought in couldn't write a 3 case "if" statement in the right order.

I made up a test (Well copied it actually: http://www.codinghorror.com/blog/archives/000781.html/ [codinghorror.com] ) and I thought to myself, "There is no way this will help me filter people out, this is WAY too easy." But I decided to go ahead and try the simple test just to see how people would approach it. To my shock.. every single person failed it except for the guy I hired.

I suddenly realized my own place in this job market was MUCH better then I had thought before. (Being totally self taught and working by myself or with small teams, I used to wonder how well I stacked up to what was out there) If you are GOOD at programming there is PLENTY of oppertunity in the US for programmers. You hear me smart kids? We can certainly use many many more good programmers.

Re:You can't get there from here. (1)

the_Bionic_lemming (446569) | more than 7 years ago | (#20565091)

Programming, on the other hand, can be done by anybody with a Computer Science or related mathematical degree, usually a two year Associate's degree. India is graduating 50,000 people with this training EVERY YEAR.

Which is why you need American programmers like me who can actually fix, adapt, upgrade, and expand the sloppy code done by mills churning out the monkeys trying to write Shakespeare.

Re:You can't get there from here. (1, Interesting)

Anonymous Coward | more than 7 years ago | (#20565397)

I graduated recently with a computer science degree from a top university with a high GPA and demonstratable skills. It's not hard to find a job.

Barely make it through DeVry and a company's going to get past the language barrier and find someone more skilled in India who's will to pay less.

I'm not knocking DeVry, I'm knocking bad programmers. Maybe I am knocking DeVry...they'll let you pay for a degree in computer programming even if you're not good at it.

One solution MIT students use (0)

Anonymous Coward | more than 7 years ago | (#20565419)

I'm told by an utterly reliable source that a lot of MIT students are doing the following:

Instead of taking a max 95K (at Oracle) programming job when they graduate, they take a job in finance or consulting that generally demands a good math background for couple of hundred K.

No one wants to do that sort of high-pressure job for too long---this allows them to pay off their not small student debt (if they're smart) and then form or become part of a startup.

Job Growth Doesn't Answer This (5, Insightful)

Anonymous Coward | more than 7 years ago | (#20564417)

You are a fool to choose a career that doesn't interest you. Pick something you love, and you'll be happy. And as far as money is concerned, if you actually enjoy it, it will show in your work and you will be sought after.

My anecdotal (2, Interesting)

Anonymous Coward | more than 7 years ago | (#20564823)

I used to do line work in factories, I liked it enough to learn all the machinery and made it to foreman-then the factory went to china. Went to another place, the same thing happened. Then ANOTHER place, another bingo-moved to china. OK, I got the message. I got into cabinetry, got good at it, worked steady, then all of a sudden chinese imports flooded the market, lost a few jobs in a row, stopped doing that. Got into remodeling, and had to keep dropping my bid prices down because of the illegal alien invasion, guys who can and will live 12 to an apartment can just bid jobs lower. It got to the point that it was stupid to turn the truck on anymore, would lose money.

OK, I am one of those boomers mentioned, how many more times am I supposed to learn a completely new trade and try to have a "career"? I'm looking at now never getting to retire, just work until I drop, literally. Should I get into computers? Everything I see is they are being made overseas and the software programming is going over there as well. Doesn't look real smart to me. What is left, medical profession? Do they even take old farts into medical school? Would there be schooling assistance? Would they even consider my grades from decades ago? My guess is this would be a waste of time as well.

I've liked every job I have had so far. Sure, some parts were sucky, but all jobs have sucky parts to them. It isn't enough to just love your work, the powers that be/ wall street assholes have got to STOP shipping out still useful jobs and stop shipping in illegal blue collar workers who will work under the table for peanuts.

Yes, I am employed now but at a pretty small salary for a lot of work, seven days a week in fact to barely get by. Pretty bitter about things, it doesn't matter sometimes how loyal you are, how hard working, how much you put into learning a skill when the rich guys can just dump you like used tissue paper so they can squeeze another few dollars out for their already over stuffed wallets.

Re:My anecdotal (1)

mh1997 (1065630) | more than 7 years ago | (#20565199)

Get into plumbing. As long as people keep crapping, there will be a need. Also, it is really hard to send your plumbing work overseas.

If I could do it all over again (I am 40) I would read the book 48 days to the work you love by Dan Miller and do something I really loved.

I am a former electrical engineer, have been promoted into upper management and my days consist of endless meetings and teleconferences. I hate my job, my economic future looks very good, but if I get really lucky, some bastard will blow a stop sign and hit me - lawsuit! Unfortunately, with a wife, kids, house, and dog, I am stuck, and so is the anonymous coward to whom(who?) I am replying. Do something you love and the money will follow and if the money doesn't follow, at least you will be happy and not wishing the next 45 years of your life away until retirement.

FYI, I was always interested in engineering, the occupational handbook 25 years ago said EE was the wave of the future. I have never looked or applied for a job, engineering firms always approached me first. My anecdotal evidence suggests the handbook was right on.

Re:Job Growth Doesn't Answer This (1)

pclminion (145572) | more than 7 years ago | (#20565111)

I enjoy picking up dog shit. I hope to make millions one day by doing this.

Re:Job Growth Doesn't Answer This (2, Funny)

SpaceLifeForm (228190) | more than 7 years ago | (#20565227)

Well, the rate per hour isn't that high,
so you better get up early that day.

Re:Job Growth Doesn't Answer This (2, Insightful)

fractoid (1076465) | more than 7 years ago | (#20565267)

Make a website for yourself. Right up there with "no-one ever went broke underestimating human intelligence" is "on the internet there's always someone who will pay for the weirdest shit."

Right conclusions, incoherent reasons (4, Insightful)

autophile (640621) | more than 7 years ago | (#20564449)

The Handbook's conclusion is probably correct, but the reasons they give are pretty much incoherent. My theory goes like this.

There's a food chain in project development. At the top is the customer, and at the bottom are the implementers. The closer you are to the top, the more important it is to the customer to be in the same country as the customer. The closer you are to the bottom, the more likely your job can be done in any country.

I don't like it, either, but there you go.

--Rob

Re:Right conclusions, incoherent reasons (1)

Marxist Hacker 42 (638312) | more than 7 years ago | (#20564473)

Worse than that, it's a corporate ladder. You also can't get to the top without having done the jobs below- college isn't enough, you need experience.

Re:Right conclusions, incoherent reasons (0)

Anonymous Coward | more than 7 years ago | (#20564521)

So, in order to stay on top, you have to be great at giving below jobs ?

Re:Right conclusions, incoherent reasons (1)

WPIDalamar (122110) | more than 7 years ago | (#20564565)

100% true.

I'd go a step further.

The more you directly contribute to the "core competencies" of your business, the more likely it is to have a local developer.

The profession's fine, if you're good. (5, Insightful)

cduffy (652) | more than 7 years ago | (#20564455)

If you're good, there's plenty of work.

If you aren't good, then:
  1. You won't enjoy it
  2. People who are good won't enjoy working with you
  3. You'll have cause to seriously worry about outsourcing as competition for your job
People who say the profession is dead mean that the profession is no longer supporting as many gross incompetents as it did back during the boom. That's thankfully quite true.

The point: Don't go into software development as a profession if you're in it for the money. You won't want the profession, and the profession doesn't want you. If you're in it for something other than the money -- come on in, the water's fine.

Re:The profession's fine, if you're good. (5, Insightful)

Marxist Hacker 42 (638312) | more than 7 years ago | (#20564533)

It's more than that- to get good, you need experience. To prove to HR that you're good, you need experience that you can put on a resume (no, writing a virus to control a 50,000 node botnet isn't experience). And getting that experience is exactly what is being outsourced. It's not just the incompetent that have lost their jobs- it's also the ignorant young guys who might have become good programmers if given half a chance.

Re:The profession's fine, if you're good. (2, Insightful)

darrint (265374) | more than 7 years ago | (#20564673)

It's not just the incompetent that have lost their jobs- it's also the ignorant young guys who might have become good programmers if given half a chance.

It's not like you don't have the whole stinking internet available help you, let you hack on production code, or promote projects of your own creation.

If you can tolerate a startup environment there's a glut of python positions IMHO.

Boo-hoo-ing about the inability to find good programming work in the climate of 2007 is asinine. Outsourcing is a lot more narrow than the whiners would have us believe.

Re:The profession's fine, if you're good. (0)

Anonymous Coward | more than 7 years ago | (#20564747)

It's not like you don't have the whole stinking internet available help you, let you hack on production code, or promote projects of your own creation.

Not only that, but eating nothing but moonbeams and kitten farts is a great diet too!

Oh wait, you meant we should be working three hourly wage jobs fulltime while we write the latest and greatest vi-killer.

Re:The profession's fine, if you're good. (1)

fractoid (1076465) | more than 7 years ago | (#20565321)

"Commercial experience" - they don't give a crap if you're a kernel hacker or a developer on OpenOffice (unless you're one of the very very few big names). They want to know whether you've been hired by a business to do their code.

I finished uni around the time of the .com crash. The situation for software engineers then was similar to the one the GP is talking about, only instead of the 'brown peril' of outsourcing, we were competing fresh out of college with guys who'd spent the last 10+ years in the trade and were now looking for any job they could get to feed their families. Employers all jacked up the experience requirements just because they could. Almost all jobs required 5 years industry experience just to be a freaking junior web programmer. Hell, I remember a job ad in 2002 that listed as essential "5 years experience with Windows 2000".

Re:The profession's fine, if you're good. (5, Insightful)

rossifer (581396) | more than 7 years ago | (#20564769)

It's more than that- to get good, you need experience.
There's different kinds of good.

I've worked with kids fresh out of school who can understand good design and have the enthusiasm to get into the system and the domain really quickly. Tell them something once, and later you see other people going to them for help for that exact same topic.

Then I've also had the misfortune to work with people with "15 years of experience" who have clearly been making the same mistakes each year for 15 years.

When you're looking at fresh-out-of-school-hires, there's only one real way to know if someone is one of those sharp kids that you really want on your team: someone told you about him/her.

My advice to the poster: learn how to network. Work on class projects with different people and keep working with the smart people. Get into a co-op or intern at interesting companies (ask other people who have already interned and don't stop asking until you find someone who's (1) sharp and (2) gung-ho about their job). Go to the local language user group meetings and see if those people are any good. Ask to help out on other people's senior projects that seem interesting to you.

The more people who know that you're a badass problem solver, the more likely you are to find work you enjoy.

Regards,
Ross

Re:The profession's fine, if you're good. (1)

cduffy (652) | more than 7 years ago | (#20565221)

My advice to the poster: learn how to network. Work on class projects with different people and keep working with the smart people. Get into a co-op or intern at interesting companies (ask other people who have already interned and don't stop asking until you find someone who's (1) sharp and (2) gung-ho about their job). Go to the local language user group meetings and see if those people are any good. Ask to help out on other people's senior projects that seem interesting to you.

The more people who know that you're a badass problem solver, the more likely you are to find work you enjoy.
Just so. Getting to know local small business owners doesn't hurt either, with regard to getting early exposure to real-world-type problems.

(As for user groups, it doesn't need to be a language-focused user group; the folks who got me my first "real" tech job met me helping out at a LUG).

Re:The profession's fine, if you're good. (1)

king-manic (409855) | more than 7 years ago | (#20564805)

no, writing a virus to control a 50,000 node botnet isn't experience

That depends entirely on whom your applying with.

Re:The profession's fine, if you're good. (1)

Binder (2829) | more than 7 years ago | (#20565479)

To prove to HR that you're good doesn't require work experience. If you are a new grad there are a few very important things you can add to your resume. Roughly in order of importance these are...
1. Technical Internship
2. Proven OSS experience (easily proven through commit logs and forum activity)
3. Individual directed study
4. Just about any other real job. Mc Donalds or Starbucks doesn't count, but Fix-it, tech support, and lab techs all would count.

I've helped hire over 30 people in the last 5 years and these are the things which are commonly being looked for in new grads.

Re:The profession's fine, if you're good. (0)

Anonymous Coward | more than 7 years ago | (#20564559)

Isn't that the truth. Get out of the occupation if you don't understand it. People should have understood the day they started, either it clicks or it doesn't. Simple as that.

Re:The profession's fine, if you're good. (5, Funny)

Joebert (946227) | more than 7 years ago | (#20564569)

I got in it for the chicks.

Meet you half-way (1, Funny)

Anonymous Coward | more than 7 years ago | (#20564997)

We are not quite there yet, but we got breasts...

Re:The profession's fine, if you're good. (1)

timeOday (582209) | more than 7 years ago | (#20564625)

Sounds nice, but how do you know that will continue to be the case?

The fact is, people in cheaper countries don't have to be as good to outcompete us. Their housing is cheaper, their food is cheaper, their healthcare is cheaper. And it's not like they're unintelligent people, either.

Most other jobs have better geographical insulation from foreign competition. (I can think of exceptions, such as manufacturing - and look what happened to US manufacturing). Why not favor those positions?

Re:The profession's fine, if you're good. (1)

cduffy (652) | more than 7 years ago | (#20564775)

The fact is, people in cheaper countries don't have to be as good to outcompete us. Their housing is cheaper, their food is cheaper, their healthcare is cheaper. And it's not like they're unintelligent people, either.
All valid points -- but proximity to the customer counts for quite a lot; there's no substitute for sitting down with someone, interacting face-to-face and drawing on a whiteboard -- or being physically present to answer questions in a meeting with the suits.

For code-monkey positions, this may be moot; if you're implementing a nailed-solid spec someone else came up with, what does it matter where you're located? If you share responsibility for development of the spec as well as the implementation, it matters quite a bit.

Re:The profession's fine, if you're good. (1)

king-manic (409855) | more than 7 years ago | (#20564893)

Sounds nice, but how do you know that will continue to be the case?

The fact is, people in cheaper countries don't have to be as good to outcompete us. Their housing is cheaper, their food is cheaper, their healthcare is cheaper. And it's not like they're unintelligent people, either.

Most other jobs have better geographical insulation from foreign competition. (I can think of exceptions, such as manufacturing - and look what happened to US manufacturing). Why not favor those positions


On the other hand you need good managers to pull it off. Foreign competition has to deal with not only vague project specs but vague project specs in a language they are barely literate in. My cousin works at a tech firm in Ghoung Zhou. Their one and only attempt at picking up a outsourcing contract was a huge debacle for both sides as the manager put in charge is yammering idiots and the design specs seemed to change at random and often.

Re:The profession's fine, if you're good. (1)

Elfboy (144703) | more than 7 years ago | (#20564695)

Actually I'd say the reverse is true.

The industry is supporting more gross incompetents than it did during the boom. Twice as many mediocre folks are being hired for the same amount on money (domestic and abroad). Thus managers who have a hard time distinguishing competency, make it harder for the competent to actually maintain jobs of proportional compensation.

Re:The profession's fine, if you're good. (1)

pclminion (145572) | more than 7 years ago | (#20565133)

The point: Don't go into software development as a profession if you're in it for the money. You won't want the profession, and the profession doesn't want you. If you're in it for something other than the money -- come on in, the water's fine.

Can I hug and kiss you? Seriously, it's not a sexual thing.

A small spark of sanity in a dreary world of stupidity. Thanks.

Too Late (-1, Troll)

Anonymous Coward | more than 7 years ago | (#20564485)

I'm not sure how the tide can be reversed. Worse yet, the Bush Administration has made the U.S. less than an ideal choice for intelligent, eagar, well eductated people to work and possibily immigrate to.

The U.S. used to be leaders in the world. After this administration, it will take several generations for the mistakes to be undone and several generations for the idiot Supreme Court appointees to die off.

Re:Too Late (0, Offtopic)

WindBourne (631190) | more than 7 years ago | (#20565393)

You are probably going to be modded down, but W. has brought down the USA. But it was not just him. It probably started with reagan during his infamous tax cuts with minimal cuts on research and education. But Clinton did not help. He did work towards balancing the budget, but he also did his fair share of cuts in education and research. All in all, these 3 presidents really did massive cuts against our backbone. Poppa bush actually increased research dollars but not education.

Hopefully, America will get some another strong leader along the lines of Lincoln, Roosevelts, or JFK, but somehow I doubt it.

Science vs. "The internet" (4, Insightful)

Hacksaw (3678) | more than 7 years ago | (#20564537)

I won't speak to the accuracy of the studies that you might be citing, I haven't read them. But remember that anecdotes collected on the internet, or anywhere else, are almost useless since they are self-selecting participants in an ill designed casual survey. You don't have a real survey, you have the rantings of perhaps ill treated people.

Re:Science vs. "The internet" (1)

AbbyNormal (216235) | more than 7 years ago | (#20565033)

I agree that and the incredible dynamic nature of the industry, makes most predictions past a year, seem moot. Take most social networks/trends today. Who could have fathomed these technologies about ten or even five years ago. There was an article in Business 2.0 a while ago, mentioning someone working on a program to write its own code based on a set of requirements. If this were to succeed in the next year (unlikely), all of the current projections would go out the door.

Re:Science vs. "The internet" (1)

ucblockhead (63650) | more than 7 years ago | (#20565297)

Also remember that posters are more likely to be people with lots of free time, and thus less likely to be people with exciting and interesting jobs. People don't post 1000 word rants about how they like their job, and how the headhunters won't leave them alone.

True, but is it the right question? (4, Insightful)

Loopy (41728) | more than 7 years ago | (#20564593)

While it is true that "software engineer" spots are going overseas at high rates, two things should be taken into account:

1) "Software engineer" isn't the shiny, highly-technical bastion of the well-edumacated like it used to be. As computers have become more standardized these jobs, like many other "old high-tech" jobs, have become more or less commodity positions. Look at clerical (read: typing/wordprocessor, etc.) work, for example. Everyone and their dog thinks that if they can use Windows, they're automagically a PC expert.

2) The "jobs are going overseas" mechanic implies a zero-sum game, when there isn't one. There is a growing need for generic PC software weenies in all sorts of QA and other fields at companies that didn't need them a few years back. This is A Good Thing(tm).

So, basically, having been in the industry pre and post-dot-com-boom, I'm more or less of the "Nothing to see here, move along," mindset. /shrug

Re:True, but is it the right question? (5, Interesting)

dgris (454) | more than 7 years ago | (#20565123)

Loopy says:

2) The "jobs are going overseas" mechanic implies a zero-sum game, when there isn't one.

I want to expand on this point. A lot of programmers I know seem to be missing something fundamental here, for reasons that I don't get.

Look, there are two core facts about programming as a career that trump everything else. The first is that not everybody can do it. I'd guess that only 25% of the population (tops) even has the potential to become a useful programmer. There is something about being able to decompose a technical problem into its constituent parts and then generating solutions for each of those parts that is simply beyond the capacity of the vast majority of people. I'm not saying they're stupid--brilliant poets are brilliant regardless of whether they have the capacity to learn C in any meaningful way. I am saying that there is some mental capacity that is not universal, and that people without that capacity are literally untrainable in the craft of creating software.

The second core fact about programming as a career is that software creates its own demand. If you have one system and you write a second system, then in addition to all of the from-scratch systems that you could write, you also have the option of writing a system that integrates the first two. The mere existence of software increases the number of potential projects that exist, and it does so on a super-exponential curve. Most of those possible systems aren't actually useful, so they're never developed, but the number of useful possible systems also is increasing at an accelerating rate.

Now apply these two core facts to the current labor situation. We've created so much demand for software in the Western world through our ever-increasing automation of an ever-increasing number of our activities that we can no longer satisfy the internal demand of our economy for persons able and willing to create software. We've already hired everybody who wants to be a coder and is able to produce usable code, but we still are demanding more and more software from them. In addition to bidding up prices for Western talent (take a look at where 'Software Engineer' falls on the annual salary charts and then cry me a river $100k/year wide) our society is also now hiring up everybody able and willing to write code in other parts of the world (and bidding up their prices, as well). Our own population is insufficient to meet our needs, so now we're skimming the cream of everybody else's crop.

Unfortunately, even India and China don't have an infinite number of citizens who can actually create useful systems. As we send more and more work their way we're pumping the oil field of software talent dry. Not only that, but the better jobs and higher wages relative to their home economies that third-world programmers enjoy reinforce most of these trends. By making more they consume and invest more. This steadily pushes up the demand for middle-class and luxury goods in their home societies. But what does that really mean? That means that they're pushing up the overall demand for software in their home economies (virtuous circle == (more money == more businesses == more technology investment)), which brings us back to where we started. Software creates its own demand, and not everybody can create software.

What happens when the Indians and Chinese are using all of their programmers for their own economies is anybody's guess. The fact that someday they will be seems pretty solid.

Programmers are uselessn (1, Insightful)

Anonymous Coward | more than 7 years ago | (#20564645)

The answer is in the summary. Programmers are a dime a dozen. Software engineers are useful. I've never hired anybody with a CIS degree because they were taught to be (shitty) programmers. However, folks from all walks of life can learn to be software engineers if they apply a bit of logic and problem solving skills. With outsourcing, more and more modules will be programmed by contractors (probably overseas) and more and more design will be done by software engineers then (not) done by programmers.

Re:Programmers are uselessn (0)

Anonymous Coward | more than 7 years ago | (#20565239)

Not all "CIS" programs are apparently equal.

The M.Sc. in CIS I received, specializing in SE, was clearly different than the M.Sc. CS degree I was successfully working on at a major telecomm university - mainly because it covered so much more than what there was time for after learning the nuts and bolts of programming and algorithms and group and individual CS projects. Things like heavy UML, in depth coverage of process, data, and concurrency modeling(event-driven petri nets and statecharts), of practical, real systems, the mathematics and economics of SW and systems (mathematics based testing of software systems), heavy practice writing sw requirements, use cases, E-R modeling of real systems; IMHO all very hard to do correctly. I say this as someone who has been programming since the M6800 and Burroughs B5000 architecture to the bit-level, the Amiga, BSDs, Solaris and IRIX, early gnu through to todays systems. I find your understanding of advanced CIS quaint but understandable if you only need and hire "programmers".

Entire IT industry (2, Insightful)

nurb432 (527695) | more than 7 years ago | (#20564655)

Is slowly dying due to its own success in automation, and making hardware nearly disposable.

As things improve each generation, and reduce the need for support people, the jobs get fewer and fewer. Only a handfull of people will be needed at the end of all this. A lot like toaster support.

A Quick Question... (1)

hax0r_this (1073148) | more than 7 years ago | (#20564757)

How has the IT industry made hardware "disposable"?

Thank MS for the continued robust growth in IT (1)

flyingfsck (986395) | more than 7 years ago | (#20564907)

Fortunately, the mediocre products turned out by Microsoft will keep hundreds of thousands of PC Software Engineers^WMechanics employed for many years to come. Provided that you know how to re-install Windows and remove the most obvious and annoying viruses you'll do fine.

Re:Entire IT industry (0)

Anonymous Coward | more than 7 years ago | (#20565027)

There will always be a huge need for people to stand around tending to the bonfires of discarded technology.

Jobs Exist (5, Insightful)

kmsigel (306018) | more than 7 years ago | (#20564669)

I have been a software engineer (working as an independent consultant) for 15+ years. I see plenty of jobs. At least once a year someone asks me if I'm available (I'm not) or whether I know of someone good looking for work (I don't). As with almost any profession, if you are very good at what you do then you won't have any problem finding work. If you are merely "good" (or worse) then you'll have trouble if the field isn't "hot" at the time.

So, you have to ask yourself, "Am I merely good, or am I very good (or even better)?" I think that a lot of what determines that is enjoyment of the field. If you really enjoy programming, are really bothered when something doesn't work, are really driven to find an explanation for the "strange" behavior you are seeing, then you probably have what it takes. If software engineering is just some major that you're ok at that you think will pay well then it probably won't in fact pay well for you and probably isn't the right thing for you.

Good luck.

Yes, you are a fool (5, Insightful)

mi (197448) | more than 7 years ago | (#20564671)

And a waste of material to boot, if you pick a profession based on its earning potential. And I really have no patience for lectures on how arrogant my saying this is.

Do, what you love to do — and get to be really good at it, and you'll earn a lot.

The problem with Programming today is that much more programming suddenly became required over the last decade or two, than there were naturally born and/or nurtured programmers. You had people becoming "programmers" after a 2-6 months courses... Asking these people, what bit [wikipedia.org] is, results in stares and head-scratching. Many of the better ones got promoted too high as well (a problem in many other professions in America due to its low unemployment today, BTW).

That much of the work of these programmer wanna-bees is outsourced is a good thing — maybe, the quality of burgers will improve, and/or hiring a (legal) baby-sitter will become possible again. The real professionals — and those, who really want to become professionals — don't have much to fear...

Re:Yes, you are a fool (0)

Anonymous Coward | more than 7 years ago | (#20565173)

Do, what you love to do -- and get to be really good at it, and you'll earn a lot.

Hmm... I've followed this advice for years but as of yet have not earned much from watching porn and jerking off [blogspot.com] . I'll keep at it, though!

Re:Yes, you are a fool (1)

Jonboy X (319895) | more than 7 years ago | (#20565273)

Do, what you love to do -- and get to be really good at it, and you'll earn a lot.
Easy for you to say.

-The best damn sweater folder the Gap has ever had

tea leaves and biz speak (2, Interesting)

bzipitidoo (647217) | more than 7 years ago | (#20564681)

I was interviewed today for a short contract position requiring some Java skills. In the space of 3 business days, the employer was able to interview and decide between 3 different people. An hour later, I got the news. I was not picked. I asked the recruiter whether there really was a shortage of people and he gave an emphatic yes. So I asked, why then was this employer able to get a choice of people in such a short time? If there really was a shortage of people, shouldn't positions stay unfilled for weeks because they can't find anyone? Shouldn't there have been no competition? He didn't have a direct answer for that, but mentioned he's been trying to fill all kinds of open positions at several companies.

Maybe it's "biz speak". To employers, "shortage" really means "we weren't inundated with hundreds of resumes for 1 position".

Re:tea leaves and biz speak (1)

king-manic (409855) | more than 7 years ago | (#20564861)

Maybe it's "biz speak". To employers, "shortage" really means "we weren't inundated with hundreds of resumes for 1 position".

Shortage means "lacking 5-10 year professional willing to work for peanuts".

I personally struggled for several years before finding my current decent job. I started off at a small post boom web firm whose management was as competent as FEMA, worked support for a few years at a larger company until I finally landed a decent started at a non-profit. I kep getting interviews and being told it was close but they went with the 5 year industry veteran. I'm thinking the pool of 5 year veterans has dried up because for the last 5 years most tech companies stopped hiring entry level positions so the attrition wiped out any available veterans.

Re:tea leaves and biz speak (0)

Anonymous Coward | more than 7 years ago | (#20564873)

I think there are a lot of Jobs, if you want to work for Truck driver wages (with a 4 year degree in hand).

  Higher paided ones are less plentiful and they are usually require you live in very expensive places to live.

  Or There are lots of jobs but will you be able to buy a house and raise a Family,

  But if you are not concerned with the above Jump in !!!

Re:(darjeeling)tea leaves and (h1)biz speak (0)

Anonymous Coward | more than 7 years ago | (#20564983)

Wake up and smell the turmeric! Real reason: (KP)091CCNXXXXXX(ST) [wikipedia.org] .

Re:tea leaves and biz speak (1)

ucblockhead (63650) | more than 7 years ago | (#20565367)

Kids these days...

When I was looking for work with a newly minted CS degree in 1987, it was very common to be one of 10-20 people interviewed. Three is nothing. Three is "I wish to hell we had more people to choose from".

Kids these days think the bizarro world of the dotcom boom was normality. I've been working in the industry for twenty years and have been in the position of both interviewee and interviewer many times. I worked as a contractor for a bit and so have gotten jobs through the interview process a total of eleven times over the past twenty years. With that experience, I can say that today's job market is a *lot* closer to normality than the job market of the dotcom boom.

Programmer vs Software Engineer (2, Funny)

Jah-Wren Ryel (80510) | more than 7 years ago | (#20564729)

How to tell the difference between a programmer and a software engineer?

A programmer can't do much more than code
A software engineer reads and understands comp.risks [ncl.ac.uk] .

Janitor vs Sanitaiion Engineer, difference? (0)

Anonymous Coward | more than 7 years ago | (#20565085)


Spoiler ...

Spoiler alert !

~

Don't peek unless you want the ending ruined!

OK, here it comes

The diff? Not a thing. You silly schmuck!

Re:Programmer vs Software Engineer (0)

Anonymous Coward | more than 7 years ago | (#20565185)

"How to tell the difference between a programmer and a software engineer?"

That sounds like a good opening line for a joke. Your punch line needs a little work though.

It's too bad if someone ever fights us (-1, Offtopic)

iamacat (583406) | more than 7 years ago | (#20564793)

How are we going to defend our country against say, a Chinese invasion, if we can not build airplanes, write software or make cloth without their help? I still remember the episode when French-made Iraq planes wouldn't fly during the original gulf war because they were disabled by a remote radio transmission. No wonder that lately we are reduced to picking on small potatoes like Afghanistan and Iraq and have no spine to stand up against the real bullies.

We talknig Video Game industry or what? (0)

Anonymous Coward | more than 7 years ago | (#20564795)

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

Sounds like anecdotes from the video game industry, not your standard "other" industries.

If you're _thinking_ about what field, then... (0)

Anonymous Coward | more than 7 years ago | (#20564819)

If you're asking the question, you're looking at the wrong field. Software is awash in _adequate_ programmers. Guys who can do the work, but because they like the $$, and they can kinda think, more or less. Software particularly is a lifelong commitment to learning new stuff just to keep even with all the changing technologies. If you don't really love it, it's going to be a long uphill slog.

If you're wondering about what field to go into, find something you *really really* like. That's what distinguishes top-flight from gets-laid-off. Something that you're fascinated by, spend your weekends looking into odd topics and dusty corners of will be the thing that is easy to master. And now, all you have to do is love it enough to not mind that it doesn't pay as well as [ software-development | investment banking | radiology | law ]. Hard to do in an American culture.

Jobs for the elite - none for the rest - job open (1)

scruffy323 (446201) | more than 7 years ago | (#20564831)

I know we have a lot of openings for experienced programmers at my company, we get a lot of programmers that apply but few are experienced. If your in los angeles and want to work for a top internet company or are willing to relocate to los angeles contact me i'll hook you up with one of the 20 plus positions that are open.
Steve

It's been the same I think always there aren't enought truely good programmers and software engineers. Do you know the difference average salary and usually a software engineer has better interpersonal skills. Both things are in effect the same thing. Part of the difference is that a programmer is ofter interchangable with code monkey, line programmer while people who are good "Elite" often are categorized as software engineers. These are not absolute rules and really depends on your company and things like that. In general this is true.

Re:Jobs for the elite - none for the rest - job op (0)

Anonymous Coward | more than 7 years ago | (#20565331)

For the love of God, don't create any positions for entry level programmers! The last thing the industry needs is to create a growing workforce.

Re:Jobs for the elite - none for the rest - job op (1)

BuckBundy (781446) | more than 7 years ago | (#20565361)

You have an e-mail, Steve?

Well, two things (0)

Anonymous Coward | more than 7 years ago | (#20564839)

(i) I"P" laws devalue programming skills - it's no use being a good programmer, if the only legal way to implement something is to license it from microsoft. Copyrights and patents change the landscape from one where the technically best solution is always implemented (and implementation can be done as a service provided by a programming professional) to one where lawyers waving bits of paper make all the decisions (so lawyering is worth more than programming). Solution: Change the law. Not easy, but not as impossible as people seem to think. The american patent system has long been used by the establishment to suppress mechanical/electrical/chemical engineers, and now it's been turned on the programmers.

(ii) Bear in mind that the shortage... isn't. It's an outright lie. Stop being whiny little bitches though - you don't _have_ to be someone else's slave^Wemployee. (i) makes it harder not to be a slave (since established companies with portfolios sue startups), but bear in mind it's better to set up a company and work on a contract-for-service basis than to be an employee working on a contract-of-service basis.

The only thing lost is the internet bubble ... (3, Insightful)

AHumbleOpinion (546848) | more than 7 years ago | (#20564843)

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.

And yet nearly everyone I know has an incredibly difficult time filling software engineering positions.

According to them, you have to be a genius programmer if you expect to compete successfully for the slim pickings that are left, ...

Genius? No. However let me make a distinction between those who enter a computer science program because they are genuinely interested in software compared to those who entered because someone told them it was a good career path. The former will generally not have a problem, more on that below.

Let me also rant on "programmers" a little. During the internet bubble anyone who could write two partially correct lines of code/script fashioned themselves a programmer and some of these collected salaries far beyond their true worth. I think many of those whining about conditions today come from this pool of talent, not all, but many.

... there is no job security at all ...

That is universal, not specific to software development. However software developers are inherently better prepared to move from one company to another, work from home, start your own business, etc.

... the technology changes so fast that if you allow yourself to slip behind you might as well kiss your career good-bye ...

Now we return to those who have a genuine interest. Such people tend to tinker with new things at home, on their own time, for fun, and this helps them keep up to date and get/keep the jobs they want. I was dumbfounded many years ago when a coworker (fortunately on a different team) was hoping to be assigned to a particular project because he wanted to learn C++, the language that was to be used. He thought I was crazy when I suggested he get a compiler and learn the language on his own rather than wait for such an event.

Re:The only thing lost is the internet bubble ... (1)

Shados (741919) | more than 7 years ago | (#20564953)

You got it.

Semi-competent software engineers, analysts, programmers, even QAs, get snatched. All the good ones I know get constant calls, emails, etc for job offers, with employers offering to give as much as 50% their current salary at any given time and put the red carpet before them left and right to hire em.

The crap ones keep crying.

Last time I looked for a new job (like 3 months ago), it took me, literally, 2 HOURS to nail a "dream job". 2 hours. And I'm not -that- good. But considering what I saw in all be two companies I worked for...I can see why a lot of "programmers" have a hard time.

No, knowing how to look at an algorythm and bitch about it in big O notation won't let you get a job anytime soon.

a bit "crazy", maybe (0)

Anonymous Coward | more than 7 years ago | (#20565329)

"...was hoping to be assigned to a particular project because he wanted to learn C++, the language that was to be used. He thought I was crazy when I suggested he get a compiler and learn the language on his own rather than wait for such an event."

1. Do you have a family? Did this guy?
2. I know the last thing I want to do when I go home at night is look at a computer screen after staring at one for 8 hours already.
3. Say you do spend the time learning this on your own. Repeat this process 3-4 times when things change and see how enthusiastic you are.

Hey, I'm not knocking learning on your own, I got a Masters on my own time, but there are practical limits...

Re:The only thing lost is the internet bubble ... (1)

blitz487 (606553) | more than 7 years ago | (#20565437)

I was dumbfounded many years ago when a coworker (fortunately on a different team) was hoping to be assigned to a particular project because he wanted to learn C++, the language that was to be used. He thought I was crazy when I suggested he get a compiler and learn the language on his own rather than wait for such an event.
Yes, I've known many programmers who refused to learn new things unless the employer paid for them to be "trained" in it. They were also the programmers that the real programmers learned to avoid being on the same team with.

Can't be that hard... (1)

CopaceticOpus (965603) | more than 7 years ago | (#20564847)

I just look at some of the half-brained pseudo-coders I've had to work with and I think, as long as they can still get work I should be set for life. That's kind of funny, but I think it's really true.

One of the troubles with the programming profession is that it's too easy to get into, and too easy to fake enough ability to get hired. Noone plays with aircraft engines in their spare time, then goes to Boeing and lands a job as a mechanical engineer.

My Experiences (4, Interesting)

Anonymous Coward | more than 7 years ago | (#20564921)

I can give you my experiences and maybe it can help answer the question and also help you understand what is going on in this country. I first graduated in 1992 with a degree in Industrial Management (I always wanted to work at a job where I actually make something). I quickly got a job doing quality control work in the mining/chemical field.

I became interested in computers at that time, since I actually had money to buy one. So when my department was eliminated during the industrial downsizing that was so popular during Bush I, I looked at it as an opportunity. I ended up going back to school for Computer Science and taking a job delivering food at night. I really came to enjoy programming, I liked the feeling I got when the program worked correctly. I graduated with a degree in Computer Science in 2002. At that time, I couldn't buy a job so I ended up working at Wal-Mart while looking for programming work. I spent a year doing this before I decided that if I wanted to ever make more than $7.00 an hour, I would need to find a career that could not be sent overseas. To me it came down to either teaching or medical.

I decided on teaching, went back to school, yet again, and got a Masters in Education. I took a job teaching computers to middle school kids at a low-income school. So now (3 years later) I'm making $38,000 a year with a debt of $60,000 from my student loans. I enjoy the work, but I have never stopped programming and still send my resume out every now and again. I even had an interview for an entry level programming position recently. The interview did not go well. They asked a lot of questions about SQL, which I never really enjoyed so I haven't kept up with it.

A System Analyst at the school's district office is telling me to get certified in Java because he's convinced that is the way to get noticed. I'm almost to the point where I just don't care anymore and will teach until I retire. 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.

Yes, you would be a fool (4, Insightful)

tftp (111690) | more than 7 years ago | (#20564955)

And here is why. First of all, if you read the replies above you will see that a software analyst is not something you can claim on your resume when the ink on your diploma is still wet. And you won't get the chance to grow into the position because the entry level positions are either not common enough or just a dead end.

A more generic outlook is this. Software can be produced in any country, anywhere at all, and the only thing it requires is the competent personnel to execute the project. India and China produce more software developers in total, and proportionally more *excellent* developers. Now imagine that someone in the world (a transnational corporation, for example, which does not care where the job is done) needs to develop and write a complex software system to, say, operate a 23-legged underwater spider that is being built to fix underwater fiber cables. The company will build the hardware, and now it needs to find a software developer (a company, of course) that can provide at least 100 developers full time, at least 25 senior developers, and a proportional number of managers and other necessary overhead.

Given these example conditions, let's see which company will win the bid. A US company will be burdened with high salaries, and at the same time will not be able to provide so many competent developers (warm bodies do not count.) Ability to work *seriously* overtime is probably not there; willingness to travel and participate in testing in Philippines is probably not there either. Compare to an Indian company which can give you as many workers as you need, at fraction of the cost, and they are all best of the best. A US company would need to have some very tangible advantages to win the bid, but I can't imagine how they can win on costs. Practically the only usable story here is previous experience and the ownership of relevant intellectual property, and good luck if they have it. But a US newcomer has no chance to win the bid; and even older companies, with experience of underwater and robotic works, will face fierce competition from far more populous countries.

In other words, a US worker is overpriced on the global market, and exceptions are rare. The USA does export technology, but it is in markets that have extreme barrier of entry (airplanes, nuclear reactors, Windows OS, drugs, CPU and IC designs) or when the products are weapons. Those are the major sectors of US export (not counting food products, since they are not relevant to this discussion.) More and more of US technological output is in knowledge only, and software developers are not high enough to qualify as such.

Why all this is happening is simple. Humans and societies develop more and more knowledge and skills, and then they get to a plateau - no more intellectual growth. That's what Europe and the USA reached decades ago. During that time Chinese cast iron at home and shot intellectuals, and in India Hindus and Moslems tried to determine whose god is mightier. Physics of semiconductors and quantum effects in P-N barriers were not on the horizon there. But now the developing nations advanced, as they should, and they are quickly approaching the same knowledge plateau that US and Europe encountered earlier. That's why they are becoming competitive - their PhDs are just as smart now as any european or american PhD, and there are far more of them, and they charge far less, and the process is only unwinding out of control.

Re:Yes, you would be a fool (3, Interesting)

Anonymous Coward | more than 7 years ago | (#20565207)

Software can be produced in any country, anywhere at all, and the only thing it requires is the competent personnel to execute the project.

In theory this is true; in practice it is not. Software produced in any country different from the ones where the customers are suffers from substantial communications breakdowns, which leads to all sorts or problems. Language barriers are also a major issue.

India and China produce more software developers in total, and proportionally more *excellent* developers.

How sure of this are you, really? Do you think that the educational systems in those countries are up to snuff? I'm not saying that they won't be someday, but based on my own experiences I'd say there's still quite a gap there. Those countries, for example, seem to be woefully underrepresented at the top international research conferences in Software Engineering given their relative populations. Researchers from those countries that I see at those conferences are working or studying at American and European universities, largely.

That's why they are becoming competitive - their PhDs are just as smart now as any european or american PhD, and there are far more of them, and they charge far less, and the process is only unwinding out of control.

Let's assume that smart people come in similar proportions regardless of national origins (which is probably true). This still doesn't explain the dearth of top research in software engineering from India and China, and why the top individuals from these countries are still going to America and Europe to get their PhDs and teach once they have them. There's something else going on here.

Re:Yes, you would be a fool (1)

ScrewMaster (602015) | more than 7 years ago | (#20565453)

... and why the top individuals from these countries are still going to America and Europe to get their PhDs and teach once they have them. There's something else going on here.

Yes, it's called "transfer of intellectual capital". We are training our replacements. Why we're doing this is another question (it's a foot-in-self-shoot scenario, when you get right down to it) but that is precisely what is happening.

Programmer vs Software Engineer debate... (2, Insightful)

Anonymous Coward | more than 7 years ago | (#20564957)

I have a slightly different take on the definition of a programmer vs. software engineer.

I used to call myself a software engineer. Now that I work in the games industry I call myself a programmer, and I'm much more proud of the title than I was of software engineer.

Programmers create. Software engineers integrate.

Programmers get it done. Software engineers talk about getting it done.

Programmers are technical. Software engineers are technical writers.

The world needs both, and I take offense to comments that claim programmers aren't as well educated. I have an MS in CS.

Re:Programmer vs Software Engineer debate... (1)

Xyrus (755017) | more than 7 years ago | (#20565289)

First, I have to see you have some strange perceptions of engineering.

I used to work in the games industry. Unless your working in a (very) rare shop, about all you have time to do is program. You need crack coders willing to work serious hours. Many games release with numerous bugs, but as long as they aren't show stoppers the game is usually let through. One game I worked on for the playstation was using the previous release's source as a base. The previous version released with over 300 known issues.

When your writing software that needs high-reliability, that is a whole different ballgame. The system has to be designed. The system has to scale. The system needs to be able to run/communicate with different hardware, servers, and/or networks. You need a rock solid testing harness. Errors may mean million dollar losses, or wasted weeks of computation. This is where you need engineers.

The game industry requires good programmers. Most other IT shops require good engineers.

This is not to imply that engineers are better programmers. I've worked with some engineers who weren't good programmers. I've also worked with programmers who couldn't engineer.

Engineering requires more skill than pounding out code.

~X~

You'll have to believe it eventually (1)

Hotsphink (519665) | more than 7 years ago | (#20565073)

If you take a somewhat longer view, then you'll immediately see that the referenced study is obviously correct:

Let's see, we have a new occupation, with nothing to build on, but lots of stuff that can be done (profitably). Then a ton of people will flood into it, and there will massive duplication of effort as everyone builds up the same little building blocks (some of them selling them to each other). If there are other people somewhere that could accomplish the same thing, then they will eventually start doing it too, and undercutting the original people. It will take longer if there is a higher barrier to entry (required education or equipment or whatever), but eventually economic pressure will win. Dams will always fail eventually.

At the same time, the shared infrastructure and knowledge base will gradually grow, and there will be less need for the bottom people who are all doing the same thing over and over again, and more need for the higher level people who can take larger pieces and use them to reach further. At the same time, no level in the hierarchy is ever likely to die out completely.

That describes where the software field is today, but it could be a description of nearly any occupation: building cars, digging holes, feeding people, making games, ... (well, certain ones -- eg prostitution -- have different characteristics.)

I don't know whether the study is accurate as of today, but it'll be more true as time goes on.

Software Engineering is applied Computer Science (2, Insightful)

MikeRT (947531) | more than 7 years ago | (#20565083)

Where I work there is little place for programmers or computer scientists. You have to be able to program, but you also have to be able to write software that shows that you have an ability to construct and follow requirements, use good design practices, and well, approach it like an engineer. They aren't as concerned with whether or not we are the best Java programmer, .NET programmer, etc., but rather how well we can come up with sophisticated architectures for reliably handling a problem.

What we are seeing is a split where programming itself is like being a construction worker, and software engineering is like going into architecture when it comes to construction work.

Because India will be our shithole forever (2)

sam_handelman (519767) | more than 7 years ago | (#20565113)

Sooner or later the Indians are going to decide that they are not interested in putting in 10 hours of work on our behalf for every 1 hour we do for them - which is what these pay discrepancies amount to.

  Until the 17th century - throughout most of recorded history - the economic centers of the world were in India and China, not in the West, which was a Hobbesian backwater even during the supposedly good periods.

  A return to normalcy - where the most populous nations also control a majority of the world's economic might - throws all the cards in the air. The comprador leadership of China and India appear, for the moment, to be cooperating in placing the majority of their own population in a state of permanent serfdom in exchange for a cut of the take. Anyone who believes this to be a sustainable proposition must have been out of the room for the 20th century; and anyone who thinks that the Chinese and Indian elite really intend to play second fiddle to us westerners is a naif. If George Bush (who clearly understand this, to judge from his actions) is an idiot - how dumb does this make the class of prognosticators who don't seem to get this?

  That said, if you're looking for a guaranteed route to a decent job, become a nurse. With moxie and gumption it is possible - and will remain possible - to make a good living by knowing how computers work, although the responsibilities, expectations and compensation can be expected to be in flux. It may not be *easy*, and it certainly isn't and won't be guaranteed.

If your just looking for a job.... (1, Insightful)

Anonymous Coward | more than 7 years ago | (#20565151)

Brick layers make good money... so do a lot of other jobs. In short, if you're choosing your career on money or security and not your passion, then just pick some job.

If you choose your passion as your work, you will make the job work for you and be happy.

The difference between hearsay and experience (1)

HangingChad (677530) | more than 7 years ago | (#20565169)

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.

There have been a couple times that may have been true, most recently when the .com implosion and outsourcing tag-teamed the IT industry in the late 90's and early part of the 2000's. That was a dismal time for projects but not now. Business seems pretty healthy right now, especially if you're good at managing large databases and can migrate applications between platforms.

Also might be like the real estate market. Overall, real estate sucks right now. But even in this down market there are bright spots here and there. Even when tech was in the cellar there were still bright spots out there, if you were willing to travel.

I just don't see the market as that bad right now. Companies that pay crap and ride their employees like a carnival pony might find the labor market tight. While a company with a progressive atmosphere and healthy pay scale may find their in box jammed with resumes all the time. All I know is I don't have any problems staying billed.

Well, (1)

andreyw (798182) | more than 7 years ago | (#20565213)

I think your approach is just wrong to begin with. You're baseing your career choice based on some guesstimate of how well you will do financially. Although that is something you should keep in mind (being a starving artist without recognition until death is probably not what you or most people are looking for), it should not be the primary motivator. You should pick something which you will enjoying doing A LOT for the rest of your life and something you know you have some talent AND skills for. Because if you're the best in your field (think about how many people are out there that can write a good compiler, or kernel, or deal with AI algorithms... not a lot - do you think they're starving for jobs?), it will not matter much if there a job cuts, outsourcing, etc.... these things by large only affect the average and the bottom.

Re:Well, Agreed (1)

bongey (974911) | more than 7 years ago | (#20565407)

There is difference between someone that wants a job to have job for the sake of having $$ and someone that wants a job because it is his or her passion. A common practice among interviewers is to ask if you have any dream projects out there, they are trying to see if you really enjoy the stuff. If you dream is beer and chicks most likely you aren't the one for them.

Business definitions (2, Insightful)

Corvus9 (300802) | more than 7 years ago | (#20565241)

I believe the confusion is because the Handbook is using the business definition of Software Engineer instead of the technical definition. The business definition being "an early 20s new graduate with 5 years of experience in a technology that's just been invented who has no family and is willing to work 60 hours per week for $40K p.a. plus stock shares in a company that's never shown a profit".

Being a good (read: hirable) developer... (3, Insightful)

Darth Liberus (874275) | more than 7 years ago | (#20565353)

...requires a LOT more than the ability to bash out code. I have to hire US-based programmers all the time, and it's amazing how many people I talk to that don't have the faintest idea how to do anything other than program. They may be able to write a demo program using the latest, greatest coding framework, but they are severely deficient in troubleshooting, problem-solving, and social/creative skills. Even a computer can write code; I need people who can think.

So my advice for anyone trying to break in to the programming field would be to work in some other aspect of IT for several years - go be an SA or a network engineer or something and use your programming skills to assist you in those areas. Once you've done that you can transition into development. You'll be a MUCH better developer for it.

The US govt distinguishes SE from Programmer (1)

CPE1704TKS (995414) | more than 7 years ago | (#20565369)

I know this from a co-worker from Canada who, during the dot-com days, had to struggle with the TN visa, a visa available to high-skilled Canadians. The TN visa was applicable for Software Engineer, which was considered to be a highly technical position, where you "engineered" software. It required an engineering degree.

A programmer, in the view of the US govt, was someone who took direction from someone else, and coded them. They view a programmer as a step above key puncher. So, this is probably the reason why those figures are different. Programmer do not require a specialized degree, and anyone can be considered a programmer.

To people in the business, they mean the same thing, but to the government, I guess this is how they distinguish it. Whether or not this definition makes sense is another thing altogether.

Do what you enjoy (1)

Brandybuck (704397) | more than 7 years ago | (#20565399)

Do what you enjoy for a living. You might have a take a few crap jobs on the way there, but no one is ever happy doing a job they hate just because it pays well. If you enjoy programming, then go into programming. But be realistic as well. The days of one career per lifetime are gone. Don't expect to be a C++/Java/Python developer in 2060.

All about skill level (1)

EmersonPi (81515) | more than 7 years ago | (#20565439)

It all completely depends on your level of skill. I work for a company that is growing very fast, and my group within the company is growing even faster. We're looking as hard as we can for good qualified programmers/engineers, and we have a very difficult time finding good people. For every 40 or so people we interview, we hire one. The issue is that a lot of undergrads are under-prepared, and we we require people who are top-notch at problem solving, top-notch at engineering, good at C/C++, good at system level concepts, very good w/ graphics HW, and good w/ graphics algorithms. It's very hard to find the skillset we need, and so we pay top dollar for it when we find it. If you have the skills to work at a company like mine, you'll do very, very well. You also have to be willing to work very hard (at least at times). If however you only know how to code HTML and perl (and aren't willing to learn anything else), or if you think that programming knowledge stops w/ what languages you know, or if you don't develop deep expertise in at least one area of computer science (like graphics, databases, language theory/compilers, security, networking, etc.), if you aren't willing to constantly keep learning the latest and greatest new technologies/tools/techniques, then yeah.... you might be in for a rough ride.

My company will hire good programmers wherever they are. At least in my group, we'd prefer to hire US programmers. It's easier if everyone works within a few timezones of each other. It's easier if everyone speaks the same language well. It's easier for engineers to meet w/ customers. There's just less friction overall. However, if we can't find the right people in the US, we will hire from Europe, from India, from China, from wherever. For our team, it has nothing to do with cost, and everything to do with finding the right people.

It's like any industry, if you work hard and make yourself valuable, you will always be employable (and will be able to make VERY good money), but it's just not like it was the late 90s: you actually need to have some skill (and motivation) to survive these days. I have no worry about losing my job to someone from another country, because I am very good at what I do, and it would be very hard to find someone who is willing to work as hard as I am, and who has the level of skill that I do.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?