Slashdot Mirror


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.

518 comments

  1. Outlook for an Occupying Force by User+956 · · Score: 4, Funny

    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.

    --
    The theory of relativity doesn't work right in Arkansas.
    1. Re:Outlook for an Occupying Force by appleLaserWriter · · Score: 2, Funny

      Believe the Occupational Outlook Handbook?

      Personally, I don't believe a word Microsoft publishes

  2. You can't get there from here. by Marxist+Hacker+42 · · Score: 5, Insightful

    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.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    1. Re:You can't get there from here. by mikee805 · · Score: 1

      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.

      --
      B5 71 ED FB 55 D6 4E 68 07 25 E2 FA CA 93 F0 2F, is mine! All mine!
    2. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 5, Insightful

      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.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    3. Re:You can't get there from here. by joedeaux · · Score: 2, Insightful

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

    4. Re:You can't get there from here. by UncleTogie · · Score: 2, Informative

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

      --
      Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
    5. Re:You can't get there from here. by cduffy · · Score: 1

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

    6. Re:You can't get there from here. by Anonymous Coward · · Score: 5, Insightful

      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.

    7. Re:You can't get there from here. by Anonymous Coward · · Score: 2, Insightful

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

    8. Re:You can't get there from here. by stefanlasiewski · · Score: 2, Insightful

      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.

      --
      "Can of worms? The can is open... the worms are everywhere."
    9. Re:You can't get there from here. by Skreems · · Score: 1

      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.
      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    10. Re:You can't get there from here. by the_Bionic_lemming · · Score: 1

      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.

      --
      _ _ _ Go for the eyes Boo! GO FOR THE EYES!
    11. Re:You can't get there from here. by fractoid · · Score: 1

      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.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    12. Re:You can't get there from here. by MBCook · · Score: 1

      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.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    13. Re:You can't get there from here. by XenophileJKO · · Score: 4, Interesting

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

    14. Re:You can't get there from here. by Anonymous Coward · · Score: 1, Interesting

      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.

    15. Re:You can't get there from here. by daeg · · Score: 4, Funny
      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.
    16. Re:You can't get there from here. by aldousd666 · · Score: 1

      Ah Mr Marxist, for once, I agree with you.

      --
      Speak for yourself.
    17. Re:You can't get there from here. by Surt · · Score: 1

      My guess is that what you're seeing is all those people who said during the boom: I know I'll make a career out of making web pages by hand. So they learned to create web pages, by hand, in html. Now they're out of work, and calling themselves programmers, because, you know, they work with computers after all.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    18. Re:You can't get there from here. by Anonymous Coward · · Score: 5, Insightful

      Just a warning: the following is going to be offensive to anyone who's not putting it into the context of cultural differences.

      "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 someone who's working heavily on an Indian offshoring project right this moment, and has had the opportunity to talk to many others in the same situation, I'm going to have to disagree with this entire line of thought.

      If you think those two years of Indian schooling produce anything resembling the equivalent that two years of an American school will produce - even a low-end community college - you're fooling yourself. The Indian education system is fundamentally broken in terms of teaching initiative and critical thinking, in the sense that they don't. They produce robots, for the most part.

      If they don't understand what you're saying, you know what they say? "Yes, I understand." Because they're too damn scared to say no, because their teachers and parents yell at them when they said "no, I don't understand" in school.

      The project's running late? Don't expect any notice from your Indian team until it's too damn late to save it. Ambiguity in the specs? Same thing. They can code pretty well given an extremely exacting spec. They fail miserably when they're expected to make good design decisions on the fly. Their culture is big on shame and saving face, and it bites you in the ass every time.

      High productivity? You wish. That's not the way their culture works, for good or for bad. They're not lazy, per se, but office socialization will take up huge amounts of time, meaning that the time you do get isn't going to be quite as good (think late at night work binges).

      Performance reviews? These guys are high management. If you give them anything less than perfect, they'll bawl in tears in your office. Why? Well, mommy and daddy expect nothing less than perfect, so that's what they've gotten used to. In the real world, though, no one's perfect, and they never seem to figure this out.

      Is any of this fixable? Yes, given time. I'm quite pleased with the progress a couple of our guys have made after a few months, even if they're nowhere near American standards yet. But you'll often spend quite a lot of time trying to just work with their constraints, and worse yet, dedicate significant resources to trying to just get them into gear.

      The culture differences here are huge, and they have a huge impact on the effectiveness of offshoring. If you gave me the choice between 10 newly-graduated Indians and 2 newly-graduated Americans, and I got to do the interviews, I would take the 2 new Americans EVERY TIME on a programming project. In a call center environment, where those cultural differences work to my advantage? Definitely the Indians. Sometimes, bodies count. Other times, they don't.

    19. Re:You can't get there from here. by XenophileJKO · · Score: 1

      I really wish it were that simple.. these people have MASTERS degrees in computer science. I really don't know what to say. I really couldn't beleive they were so inept as to make a simple mistake. The mistake most of them made was in the test you ended up with a if statement that should have been

      if(a and b)
      else if (a)
      else if (b)

      What they did was

      if (a)
      else if (b)
      else if (a and b)

      I was floored that people with computer science degrees.. masters none the less could possibly not think the problem through enough to solve it right. I mean sure I asked them to write it on paper, and the ordering in the requirements if followed literally would make you write the (a and b) at the end. But seriously... you couldn't look at your written code and figure the sequence needed to be changed to make the last case actually happen?

      I think there are alot of people out there looking for work that have degree's but little or no apptitude and people that do know what they are doing or have good apptitude get snapped up fast.

    20. Re:You can't get there from here. by gatesvp · · Score: 0, Troll

      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.

      What? you're required to take on 40k of loans to pay for 4 years of courses? What is that 10k/year = 2k/course? Wow man, my fiancé just graduated from the University of Manitoba and she was paying less than 1k/course with books included. Are you working during University? Are you being forced to live in a dorm or something? Don't they have "commuter campuses"? My fiancé graduated with zero debt by living at home and working 10-20 hours / week, plus full-time summers (and getting straight As in her last 3 years).

      Man, the entirety of my Bachelor's (at 30k+ student school) cost me less than 20k. I paid for bills by working part-time. I know that US universities are a little more expensive and I hear that tuitions are going up, but like more than twice as expensive? That's hard to believe. Are you sure that people aren't just graduating with 40k in debt b/c they don't know how manage their money?

    21. Re:You can't get there from here. by CastrTroy · · Score: 1

      Working with any language for about 2 weeks, any programmer worth their salary (there are a lot that aren't) could learn just about any language. Unless you are stepping way outside any paradigm you've ever worked in, say, programming in prolog, when you've never done Object Oriented programming, or programming parallel algorithms when you've only ever done single threaded programming, then learning a new language, like moving from C# to Java doesn't take much training at all. It will take the programmer much longer to learn the intricacies of they system their working on, then it will to learn any language. Even if you're completely new the language, you're probably better off hiring someone who is smart, and who can figure out a new language, rather than someone who has 10 years experience with the language, but still doesn't know how to use it to solve problems.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    22. Re:You can't get there from here. by PresidentEnder · · Score: 1

      This summer, I interviewed at an outfit called iProgrammer (their site was iprogrammer.com, but it seems to be dead). They wanted me to liaise between customers in the US and the programmers in India. These programmers were simply no good. For this, I was to be paid $8/hr. I turned them down, since working at my school's student affairs IT office was a better deal, but I have to wonder: how long will it be before US companies realize that we really are worth our salaries, that you get what you pay for?

      --
      I used to carry a bottle of whiskey for snake bite. And two snakes. -Nefarious Wheel
    23. Re:You can't get there from here. by CastrTroy · · Score: 2, Interesting

      The government of Canada actually has all their job titles standardized. Systems Analyst seems to me to be a pretty low job on the list. Phrases like "experience as a computer programmer is usually required", and "Completion of a college program in computer science is usually required." For those in the US, college in Canada is community college with 2-3 year programs and you get a diploma at the end. University is where real computer science is taught, you get a degree, and can move onto grad school after that. If I remember right, I had a friend who was hired as a systems analyst to do some programming, because they didn't have a high enough budget to hire a programmer, so they just gave him a different title, lower pay, but he did the same work.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    24. Re:You can't get there from here. by fishbowl · · Score: 1



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

      I've seen enough of their work (and managed projects to *re-do* enough of their work) that I'm really not afraid of Indian outsourcing, at least not longterm. Project managers (and more importantly, Boards of Directors) aren't stupid or blind. They look at postmortems. The fad is old enough that its aggregate metrics are coming in.

      One driver of the India outsourcing fad has been, simply, that it's essential to have on your management résumé that you've managed such a team. There have been projects that were never meant to succeed. I've seen it with my own eyes. The last one was the whip that sent me back into academia. (My research area would be pretty hard to outsource, not that it's a lucrative job or anything.)

      --
      -fb Everything not expressly forbidden is now mandatory.
    25. Re:You can't get there from here. by owlmon · · Score: 2, Interesting

      I am an older software engineer, here are my observations.

      Your point is that the simple software tasks can be performed cheaply in developing countries. The more difficult tasks cannot.

      This is true now, for some reasonable value of "true." However, my young colleagues in Bangalore and Beijing are not standing still in this race. They are working hard, picking up skills as fast as they can. Exactly as I did, when I was their age.

      In a few years, these Asian new college grads will no longer be entry level engineers. They will be the senior developers of their time. And where will the American senior developers be? Retired, that's where. If we lose a generation of American entry level engineers, where will the next generation of senior developers come from?

    26. Re:You can't get there from here. by The+Mad+Debugger · · Score: 2, Informative

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

    27. Re:You can't get there from here. by GoMMiX · · Score: 5, Interesting

      For years I myself pondered what to do with my career, or perhaps lack thereof. I never finished my degree, and I knew that hurt and would continue to hurt for the rest of my life unless I finished it.

      I've worked just about every IT job there is since 1997 - starting as a programmer analyst. If I tried to go over the laundry list of languages, OS environments, and software I'm either very familiar with or sometimes even had a hand in developing -- I'd probably forget a dozen or more between them - maybe more. A couple of years ago I gave up on finding stable work - and took up private consulting. Being something of a jack-of-all-trades, I didn't have any problems finding work.

      It was not until then that I fully realized what was happening with IT. To me, I had just seen jobs going overseas without realizing the full scope of how it effected IT as an industry.

      Being a consultant, you're something of a throw-away employee. No major overhead, no accounting headaches, no benefits to deal with, just cuts it plain and simple - not to mention the best part - they can fire you just because, with no consequences. In reality, that is what the general IT industry has become as a whole. An industry of throw-away employees. One where most employers expect you to know exactly what they need. Specific OS, language, and development environments.

      If a company is looking to downsize, IT is almost always the first place they look, and the department hit the hardest.

      I made the decision about 5 months ago that I was going back to school, I was going to finish a degree - but it was not going to be a CS degree. The industry, in my opinion, is completely lost. Even on the administration side. Don't get me wrong, there are jobs to be had - but the pay very rarely fits the level of responsibility and knowledge required.

      Just weeks before classes started I got a call from a friend who thought he had *the* job lined up for me - as an engineer. Transportation Logistics Engineer, to be more specific. How I manage to always get jobs I have no specific education in is beyond me, but I considered myself saved and I really don't care why. Most of the people at the company stay there for their entire working careers - getting a position there with no degree in the specific field they were seeking had never even crossed my mind.

      But, I digress...

      I've worked in IT for 10 years. I've seen it all, from being the solo network admin at a small company to being lead developer on projects for some of the largest corporations in the world. I turned away from the industry and I will never look back for anything more than a hobby. Even today, I am still getting calls from people I had consulted with desperate for me to schedule in some time for them - offering weekend and evening work if I would come fix or support key systems they don't want to pay an employee to maintain.

      If a friend asked me if they should consider a degree or career in IT, I would not hesitate to warn them of the instability, irregular hours, low pay for skill and responsibility, lack of a future, and in general the bad past experiences I have had. Things like not seeing my son for more than a couple hours a month for the first three years of his life, due to work. Or the many times I found myself not going home or sleeping for days on end. It sounds like a nightmare and people wonder how such things could honestly happen, but there is an entire industry of just that - it's called IT, and I'm proud to say I'm not a part of it anymore.

      That's just me, though. Some people like that, I suppose.

    28. Re:You can't get there from here. by tater86 · · Score: 1

      MIT is about $46,350 per year, and many other top tier schools are similar. Some schools require students to live in the dorms at least part of their career. If you can make that much per year working part time, you probably shouldn't worry about being in school at the moment.

      Of course, an education from a top tier school may or may not be worth that much more than a decent state school, but there are still plenty of kids fighting to get into the big name schools.

      I think the universities in Canada receive considerably more funding from the government than most US (even state) schools.

    29. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      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.

      I can't believe you're serious. My experience is the opposite. I've seen plenty of people who can sit in meetings, write documents, and make charts. They have degrees. They dress nice. They impress the boss. They even majored in what you said they should. They can't code their way out of a paper bag. I've met a few people who made me really respect them as programmers--far fewer than UML diagram jockeys.

      What's the difference between the guys writing these design documents and the programmers? One writes code that compiles, and the other doesn't.

      As you might imagine, I'm biased. I have a EE degree and I am a programmer. Yeah, yeah, my business card says "Senior Software Engineer", but only because I know the industry expects that. I'm a programmer. I write code that compiles and runs with an acceptable level of defects (I never claimed to be perfect).

      These other guys? Way too many of them are just schmoozers. PHB wannabes.

      Posting as AC because, well... way too many people might wonder what category I put them in.

    30. Re:You can't get there from here. by q-the-impaler · · Score: 1

      I know exactly what you are talking about. My wife is an IT recruiter and thankfully I have never had to use her for a job (other than the normal jobs that wives are supposed to do but require great amounts of compliments and wine).

      She has me give technical interviews all the time and it is often very clear that the best candidates for the jobs are comparably uneducated but very experienced. What's even more interesting is the vast amount of qualified candidates who are discarded because of felonies, warrants, drug test failures, or have amazingly poor credit (which is checked if you are going to work for a bank).

      As far as outsourcing, my company has made a business off revamping previously outsourced projects that did not meet the customers' needs. The number one complaint of the applications that we re-engineer is scalability. The outsourced apps simply can not grow with the ever changing business requirements. Having the direct, face-to-face relationship with the customer has been the differentiator for us among the outsourcers. Thankfully the IT market is beginning to thin out the weeds and the shrubs can start to grow into trees.

      But, again, the main differentiator is not our technology, but our relationships. You have to have those soft skills _along with_ the techno-savvy.

      --
      Sierra Tango Foxtrot Uniform
    31. Re:You can't get there from here. by ^avenger · · Score: 1

      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.

      Most Indian graduates, the ones who become software programmers, at the very least have a Bachelor's Degree in Computer Science or Information Technology. So, they start as Software Programmers in their jobs, build their experience and then slowly move towards becoming Software Engineers or Solution Architects and so on and move to the US.

      Of course, when working as Software Programmers, they are sent to the US for training and once they've got the skills required, their US counterparts are either downsized or promoted to manage some of these Programmers in India.

    32. Re:You can't get there from here. by Eli+Gottlieb · · Score: 1

      Please don't take that for a representative example of trained Computer Scientists. I'm in my freshman year of college and I can out-program that kind of moron in my sleep. For one thing, I can actually explain what a linked list is, starting from the concepts of pointers and user-defined data types.

    33. Re:You can't get there from here. by bladesjester · · Score: 1

      Actually, with the question on Coding Horror, the braindead way to do it is (hey, it's midnight, and I'm about ready to head off to sleep)

      for(int i = 1; i <= 100; i++)
      {
      if(i%3 == 0)
      cout << "Fizz";
      if(i%5 == 0)
      cout << "Buzz";
      if(!a && !b)
      cout << i;

      cout << endl;
      }

      Dealing with the else if statements will generally make you have a 4 part if statement (a[if], b[elseif], a&&b[elseif], !a&&!b[else]) in order to get all of the problem (fizz, buzz, fizzbuzz, and the number if it doesn't meet any of the previous 3). Your solution would miss one of them (a lot of people miss the "otherwise, print the number" part.)

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    34. Re:You can't get there from here. by bladesjester · · Score: 1

      grr. Like I said, it's late, and I was on my way to bed so of course I typo.

      if(i%3 != 0 && i%5 != 0)

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    35. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      I don't know, kinda sounds like your not that great. Long hours, sure. Not seeing your son for days at a time because you can't set up proper boundaries? Ridiculous and totally YOUR fault.

      For everyone of you, there's one of me. Working for a startup, working long but not terrible hours getting paid six figures to write bleeding edge software and actually enjoying it.

      Bah.

    36. Re:You can't get there from here. by phantomfive · · Score: 1

      I'm not sure where you got this point of view. It's so depressing. Maybe you live in a place without many programming jobs?

      Good programmers are hard to find. We even hire interns, hoping they will join our company when they graduate. A lot of big companies do likewise.

      We accept any programmer, of any age, of any experience level, as long as they can demonstrate that they have potential. This means you can do basic things like swap two variables, write a linked list, and understand algorithm complexity. It means you are interested in becoming a better programmer, and are willing to work at it.

      I don't think this is asking too much, but we still only manage to hire one new person every other month. If you had 10 years experience and still couldn't find a job, then I have to say you were either looking in the wrong places, aren't very good (despite years of experience), or just don't have good interview skills. This isn't meant as an insult, so don't take it personally. It is just what I have observed from watching many people apply for jobs. And as soon as they fixed those problems, they had no trouble getting hired.

      --
      Qxe4
    37. Re:You can't get there from here. by XenophileJKO · · Score: 1

      LOL.. yep.. I simplified it in my example. I left the else part off because actually that wasn't what tripped people up. The way you did it is the way I would have solved it too, however most people took the approach of the "if..if else..if else..else". I would have accepted either way as long as it was right.

    38. Re:You can't get there from here. by FooAtWFU · · Score: 1

      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?
      Best bet: Do a few summer internships in college. And have a part-time job, if you can, as well.
      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    39. Re:You can't get there from here. by bladesjester · · Score: 1

      I'm also amazed at the lack of skill in a lot of "programmers" that I've met.

      Would you believe that I'm currently looking for a full time gig? I'm sick of consulting and having to constantly chase down new clients. lol

      Current pet project is getting a solid handle on C# and getting used to visual studio quirks again since it's more in demand than what I was doing before (not to mention less likely to cause me an aneurism because I *hate* having to lay out gui's in code since it takes like 80% of the project time to do it that way).

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    40. Re:You can't get there from here. by deniable · · Score: 1

      From what I've read, most CS courses have a data structures course early on. We had arrays and linked lists for a whole semester. I hear a lot of the good courses are like that.

      The problem could be Java/C#. There are no pointers and the libraries handle lists, so people may get slack about things. It doesn't mean they can't use object refs and work from first principles though.

    41. Re:You can't get there from here. by MattW · · Score: 1

      I'll chime in here too. I've had hiring reqs open for months, and after seeing dozens of candidates, I've found one guy who we liked enough to let him work part time (then sold him on stepping up), and one very smart but inexperienced kid.

      We tried to outsource some work, too, because we couldn't hire enough people fast enough. Again, very difficult. I chowed through at least a half dozen outsourced programming outfits who could not program their way out of a wet paper bag to get a contract. One person delivered me code that literally crashed on running on a small data set; and I had speced out the ability to handle 10 million database entries. (Insert joke here about running the universe down to complete entropy before the test completes) We did finally find an outfit that seemed capable, but because they're not programming a solution in a vacuum (requirement: has to integrate with our platform), they're running way over the timeline.

      I'm sure it depends on a lot on location, skill sets, and so on; but it seems to me like there are a lot more things worthy of programming time than there are programmers, and that will probably continue.

    42. Re:You can't get there from here. by mi · · Score: 2, Interesting

      A programmer is more someone who writes code to spec, with much less scope for innovation.

      If the "spec" is written in a precise enough language, there is no need for this "programmer" — get (or develop) a compiler or interpreter for the language once, and be done with it.

      That's the theory. In practice, you, most likely, just aren't using a high-level enough language...

      --
      In Soviet Washington the swamp drains you.
    43. Re:You can't get there from here. by TheMCP · · Score: 1

      I agree - and I'd say that what they call a "software engineer" is what most people I've known in the industry call a "senior programmer".

      I disagree about government being an avenue to that senior progammer / software engineer job though: industry doesn't like to hire people who don't have industry-specific experience. THEIR industry. If you've done computing in the telecommunications industry all your career and apply for a computing job in the travel industry, they'll give you a hard time about it (or just ignore you) even if you'd actually be doing exactly the same work. Employers just have a hard time realizing that some skills are general purpose.

      Most employers also don't really want senior programmers / software engineers, even when they need one. They just don't want to pay for someone senior enough to do that sort of work. Take my word for this: I *am* that sort of software engineer who can do all the requirements gathering and software architecture etc, and my employers have universally strongly praised my skills in those areas, but they have also repeatedly gotten rid of me in favor of someone cheaper. I had one incident where I got my annual review on a friday afternoon in which they told me they were so thrilled with my work that they couldn't possibly be happier and please just keep up the fantastic work, and then at 9am monday morning the HR person was waiting to terminate my employment because they'd decided to go with outsourcing my work because they thought it would be cheaper. (It wasn't, but they did it anyway.) In several cases, as I was being terminated I asked them if they realized that their new plans would result in them getting inferior workmanship and probably slower too, and they told me fairly bluntly that yes, that's fine with them as long as it's cheaper than my salary.

      My prediction of what's going to happen to the job market for programmers and senior programmers (or software engineers or whatever you want to call us) is that demand is going to slowly drop, and that it's generally a bad idea to get into this field right now because if you're one of the new guys in programming you're going to be at a significant disadvantage in competing for the smaller number of jobs available, and there's a strong chance that you won't be one of the survivors: you'll end up dropping out of the computing/programming field to do something else for a living, and you may suffer for not having an education in that other field, or worse, you might have to work in IT (aka IS aka MIS), which is presently rated the most hated job in America, largely due to the crappy treatment IT people get from employers. Anyway, this dearth of programming jobs will lead to a dearth of programming students. Then, the old age effect will kick in, as senior people start retiring or moving into management, and it will create a strange sort of vacuum in the field: there won't be many jobs, but there won't be many competent people to fill them either. My guess is that in the long run the situation will stabilize with fewer programming jobs than we've had in the past, but that the qualified people who are able to do them will earn better.

    44. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      I was floored that people with computer science degrees.. masters none the less could possibly not think the problem through enough to solve it right.

      I've interviewed people that I am convinced are simply lying through their teeth and don't have degrees at all. I asked on fellow if he took data structures... he asked: "what are data structures" ... How the hell can you graduate with a CS degree and not even take data structures? These people are lying. They don't have degrees at all... or their institutions are utterly worthless. This applies to institutions anywhere in the world that offer a degree without teaching the theoretical underpinnings of the discipline! I don't care if you went to school in France, the US or India if your school gave you a CS degree without teaching data structures then everyone from your school has been cheated out of their tuition. Your whole graduating class is essentially unemployable and discredits your institution of higher fees and tuition.

      I tell you it's enough to make you cry. And that is why my manager is convinced he would rather have Electrical Engineers hired as programmers rather than CS people... because obviously CS people don't know squat. He's convinced that my CS degree isn't valuable now either and would rather have a liberal arts major run the software development department.
    45. Re:You can't get there from here. by pokerdad · · Score: 3, Insightful

      but I have to wonder: how long will it be before US companies realize that we really are worth our salaries, that you get what you pay for?

      This will happen shortly after the economic model that rewards CEOs and stockholders for the companies short-term gains, even if it is at the expense of the long term, comes to an end. I am not an economist, but I am not hopeful this will happen in my lifetime.

    46. Re:You can't get there from here. by XenophileJKO · · Score: 1

      Strongly recommend it. I am back doing some C++ work as I type this and I feel like I am in the stone age (Don't get me wrong it has it's uses.)

      C# is great and amazingly fun and satisfying when you get used to using generics, anonymous methods and reflection (nevermind the new stuff coming out in C#3.0)

      I am far from an expert, but when you have code that you designed in such a way to wire iteself up when you drop a new assembly in, there are few things more satisfying as a programmer. It's just "neat".

    47. Re:You can't get there from here. by porpnorber · · Score: 1

      If I may wax cynical here, a software engineer is not much more than a programmer with a fighting chance of delivering a working solution, and the market situation is a simple case of 'if you're not good, then you'd better be cheap.' Of course, that's actually not a surprise. The interesting question is, how do we get good? Many people here are saying 'native enthusiasm,' and you can't argue with that. Many others are saying 'experience,' and that helps, too. But there's also the matter of quality of education. Critical thinking, planning, abstraction, problem solving and communication skills - they may have a large innate component, but they are also skills that can be taught - otherwise, frankly, field experience would do no damn good, either. But there's a growing culture in the West that an education is not a matter of passion, and not a matter of wanting to contribute your best, it's a matter of investment. You pay money for a degree, and then you expect to draw high wages, subsequently, in return. But this (forgive me for crying 'Hitler') is xxAA-think! Consider, for example, what protectionist policies like visa caps actually mean in terms of market dynamics: it's the DRM of the intellectual marketplace.

      If I'm right, then what needs to be done to reach a real solution (as opposed to a short-sighted extortion-based policy) is not merely to improve the educational system, but to change the ratio of quality to cost in technical education. Attract people who want challenge, not those who want big paycheques. Then, ironically enough, you will produce more people who can command those paycheques, who are actually worth seven of someone else.

      Myself, I'm a socialist. For the sake of directness, I'd suggest paying for this out of taxes, perhaps diverting funds from paper-pushers, or the armed forces. But as I've commented here before, the goal might also be accomplished purely in the marketplace, by having educational institutions sell futures in their graduating classes. Either way, build cost-effective competence, and you can continue to compete successfully.

    48. Re:You can't get there from here. by yog · · Score: 3, Interesting

      It's the old story. You have to pay your dues and learn the ropes before you're worth anything. For a few years there, companies couldn't afford to wait for people to accumulate experience, so they hired'em right out of school. That unrealistic situation is behind us now, along with hundreds of defunct Dot Com era companies, and we're back to business basics. You have to have a product that someone wants to pay for if you want to run a business.

      Another business basic is that people have to have a skill that's in demand. There's plenty of demand for *experienced* software engineers. A place that hired me to do some perl programming last year told me they were searching for months. Months! Where are all the perl programmers? They hired me not because of my perl, which is just one of my skills, but because I know how to design, code, and test software at a senior level. Newbies just don't have that level of skill yet so they're not going to get hired very easily.

      I suggest that newbies in the software field stop feeling sorry for themselves and complaining about how the American software market "sucks" and get on top of the technology and pick up some useful skills. Write a nice interactive website for your church or school pro bono, teach, write some open source software and get your name up on sourceforge.net. It's not that hard; it's called good old fashioned true grit. If you can demonstrate to companies that you are worth something to them, believe me you'll get hired. It also helps to join professional societies and show up at meetings; you develop leadership skills, you build up a network of colleagues, and long term it will pay off in job referrals.

      This whole offshoring thing is overblown for several reasons. For one, all the good Indian engineers are hired already, and companies have discovered that near-shoring or local hiring has certain advantages. Like everything else, the pendulum swings and it moves into balance. Good luck to all who are starting out and don't let market conditions get you down; just get out there and pound the pavement and make your career happen.

      --
      it's = "it is"; its = possessive. E.g., it's flapping its wings.
    49. Re:You can't get there from here. by Anonymous Coward · · Score: 1, Interesting

      Well said.

      In 2001, I spent nearly four months in India visiting development 'centers' (mostly large homes turned into offices, some publicly listed in vast marble towers) and met with two dozen firms to try to find someone that we could work with.

      I interviewed office managers, developers and owners. After examining the quality of their "ISO-certified" process and code, I told them all flatly that it was not adequate. Simple mistakes that would create an unmanageable mess post-haste. They responded by asking if I could help train their developers. I walked out.

      I worked a few 'demo' projects and spent more time correcting their mistakes and meeting with project managers than it would have taken to develop the project myself. That, largely, was what I took from India. The first step towards the realization that I should be spending this time capitalizing on the development skills that I do have while I can.

      That's where I am today, nearly 8 years of freelance, contract and no/low upfront pay development under my belt with projects that have turned several mid-sized niche companies around and more work than I could possible hope to handle.

      The key is knowing to pick your clients carefully.

      Don't bother with the man throwing cash around to get you to stay a few hours extra to add that glitzy feature. Take some of his money, but put your energy into retainers with niche companies that can't afford you (work it out--be creative, sign four and give a ~week to each), have a profitable business plan but too many steps, too much paperwork and a vision. You can turn them around and sometimes even earn yourself a piece of the pie (company) in the process.

      This is your retirement and transition from code jockey to corporate hero. Your very own chunk of the American Dream ready for the taking before these offshore firms hire code jockeys like myself to bust their so-called developers into shape.

      Because when we get done with them, it certainly will be over.

    50. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      My understanding is somewhat similar to yours. I was interviewed by Google recently, for a job entitled "Software Engineer", but the interview questions were all programming and computer science - ie little to do with software engineering as I know it (why do I feel like saying 'Jim' at this point?).

      My understanding of software engineering was gained at a defense company, where they have strict standards and follow strict procedures for engineering their software.

      Courses for horses, I suppose.

    51. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      You might want to carefully review your post and correct the errors. I'm not even going to point them out to you.

      Good luck with your studies, Ace.

    52. Re:You can't get there from here. by wiz_80 · · Score: 1

      My ex-employer *did* realise this. I was working in tech support, and the department was arranged into the usual tiers:

      - tier 1 (solve the 80% of calls that are simple, well-known issues)
      - tier 2 (deal with most of the rest)
      - tier 3 (actually R&D, build software patches when config changes or workarounds are not enough)

      The company added a "tier 0" to act as a phone firewall and deal with situations where the answer was simply "read this KB article, HTH, HAND". This tier 0 was outsourced to an Indian company (big one, most people have heard of it), who proceeded to be utterly incompetent all over my employer's customers. Tier 1, which I spent the first part of this period in, spent more time pacifying irate customers who had been given the run-around by tier 0 than was saved by the out-sourcing.

      The Indian company was also very unprofessional. They all vanished for several days with no warning, then when they returned and we asked what had happened, they told us "oh, there is a big flower festival here and we all went".

      The contract was terminated before the year was up.

      Unfortunately, this experience seems to be far from abnormal.

      Bottom line, while Indian *people* can be professional, well-educated, etc. (my current employer is a company founded by a couple of Indian guys) , most of the Indian *companies* that cater to the outsourcing market are the opposite of professional. They do not hire the competent people, they hire the output of the degree farms and the Western companies get to deal with the resulting excrement-ventilation system interaction.

      This behaviour is hardly exclusive to Indian companies (*cough*Accenture*cough*), but the Indians seem to be more flagrant about it.

      --
      " There is a rational explanation for everything. There is also an irrational one. "
    53. Re:You can't get there from here. by Simon80 · · Score: 1

      For everyone of you, there's one of me. Working for a startup, working long but not terrible hours getting paid six figures to write bleeding edge software and actually enjoying it.

      The ratio is probably much more than 1:1, unfortunately..

    54. Re:You can't get there from here. by Tablizer · · Score: 2, Interesting

      I've worked with several Indian visa workers and I have to disagree with your assessment. They were a mixed bag, some good and some questionable. Variation between individuals seems more than variation between cultures.

      That being said, they were "highly filtered" individuals such that the agency selected the better workers. Those who were less creative tended to work harder to compensate.

      One thing about globalization is it increases a co's choice so that companies can be picky and pay low. I decided to try to get the hell out of IT, but decided I like programming enough that I find ways to stay in despite slack pay. I don't want to be a manager even though that is where the opportunities are.

    55. Re:You can't get there from here. by wurp · · Score: 1

      Are you fucking crazy? Is there even such a thing as a Bachelor's degree in Software Engineering or Software Project Management? I have been a developer (or whatever title you care to give it) for 12 years, and I've never heard of such a degree.

      My degree is in Physics and Math, and I have had titles like Software Engineer, Technical Lead, Programmer/Analyst, Senior Analyst, Software Architect, Lead Architect, and Programmer. While programming is done in varying amounts in all those roles, it was a part of all of them. And none of them were solely programming - all involved architecture, design, making test plans, and writing documentation.

      I can't imagine where you got the idea that those titles had some accepted meaning.

      And regarding job availability, I get about three emails a day asking me to apply for some job based on a skills match, and probably another five phone calls a week for the same thing.

      People are sending jobs overseas... and those projects are failing, for the most part. People want their software fast, and they want it good, and getting either is hard enough when the people you're dealing with are from the same culture and can meet with you face to face regularly. It's next to impossible when the developers are on another continent.

    56. Re:You can't get there from here. by Jay+L · · Score: 1

      I call pessimism.

      I've been programming for 19 years. You or an immediate family member HAS used code I've written. And you know what? I have no freaking idea what the difference between a "systems analyst", a "programmer" and a "software engineer" are.

      OK, that's not strictly true. I know how I could divide up the responsibilities if I had to, and assign different working styles to each title. But I've never had to. I also know that ten techies will have eleven opinions on what the distinctions are and whether they matter.

      I started as a "Programmer/Analyst", because that was the fashionable title in those days. Later, we spent two years and a great sum of money revamping the entire company's title scheme, and I became a software "engineer". Later, they wanted to keep me, so they made me a software "architect" to give me a raise. And still later, it was time for a promotion, so I became a chief architect.

      You know what? I did the same thing in every one of those positions. Sure, I got better over time, but my approach never changed. I look at programming, or development, or software architecture, or what have you, as a young engineering discipline. There's no certification for it, like there is for P.E.s, and maybe there never will be. And some people suck at it, and some people do "programming by coincidence", and some can do in an hour what others do in a day.

      But if you can pass the engineering test, you can be a software engineer. And the engineering test is this:

      1. If you see a picture on the wall that is crooked, do you:

      (a) do nothing.

      (b) Straighten it.

      (c) Spend the next six months learning a high-end CAD/CAM system and
      buying a 3D printer so that you can design and fabricate a self-powered,
      self-levelling, automatic picture hook.

      If you answered (c), you passed.

    57. Re:You can't get there from here. by lgw · · Score: 1

      I've hired quite a few programmers both here and in India, and this analysis works for programmers, not just tech support. If you interview carefully for your own employees, you can find smart people who will get things done in any country. If you outsource a large contract, it's just not going to work out well - probably because people like me have hired the smart guys away from the outsourcing shops. :)

      I still don't think the cost savings for equivalent talent is worth the downside of having a team split across 12 timezones. I hope this fad passes soon, as I'd much rather find talent in rural America if I have to save a few bucks.

      BTW, this whole artificial disinction between "programmer" and "software engineer" is just words: either you're smart and get things done, or not. Best practices come from experience. The guy who learned "software engineering" (usually process associated with programming) in college is ususally harder to get useful work out of than the self-taught programmer, as the former has so much to un-learn.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    58. Re:You can't get there from here. by lgw · · Score: 1

      "Java schools" are a menace IMO. When I was trying to find interns last summer there was a local school that I talk to a dozen students from who had no real understanding of pointers or how to implement simple data structures. I later heard that the school teaches all but a couple courses in Java, no C/C++ at all. From what I hear this is common these days, which is sad: something's wrong with the accreditation system for programming-related degrees IMO.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    59. Re:You can't get there from here. by lgw · · Score: 1

      I'm saddened that I recgnized your question as FizzBuzz just from this description. Too much time spent interviewing totally unqualified candidates I suppose. Congrats on sticking it out through 29 worthless interviews to find someone good, and realizing that already knowing C# wasn't really that important.

      Here's my best screening question, as a gift anyone facing this problem of too many horribly unskilled applicants "given a singly linked list, find the third element *from the end* of the list". Just about everyone eventually finds some solution, but in about 10 minutes you'll know the top 10% of your interview pool, and it's easy to explain over the phone.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    60. Re:You can't get there from here. by nido · · Score: 1

      but I am not hopeful this will happen in my lifetime. The second great depression will bring the changes you're waiting for. Awareness of said depression is spreading rapidly now.

      The New Money Pit: Housing Bust Gets Worse - a little something on how the housing bubble is infecting everything
      American Economy: R.I.P.

      I'm actually quite optimistic about how things are progressing. If the depression happens quickly enough, Darth Cheney won't get to destroy Iran, and We the People can go about rebuilding our noble Republic.

      --
      Learn the rules so you know how to break them properly.
      www.teslabox.com
    61. Re:You can't get there from here. by deniable · · Score: 1

      How many instructors know about pointers in Java? How many common texts mention them? If that wasn't your problem, then speak up.

      While I'm at it, how many schools teach assembler to show the low level versions of these?

    62. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      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.

      Yep. That's exactly what my experience has been. Not to mention stuff that while it compiles, doesn't do what the design specified and/or does it in a retarded way. Don't forget about time estimates that are totally unbelievable. Real life example: offshore team estimated 30 days to do a project that in reality was only 30 minutes worth of work (less if one didn't care about updating comments). So this simple change, 2-3 hours of local programmer time was spent trying to communicate what needed to be done, an hour reviewing/trying to make sense of their 'design', and then another hour reviewing their buggy, non-compilable, broken business logic code. So on top of whatever the offshore team charged, we have 5-6 hours of local programmer time dealing with them on something that should have taken only 30 minutes and in the end you point the offshore team to the solution that was done during a lunch break to prove that their estimate was bogus.

      This is supposed to be more cost effective??

    63. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      If a friend asked me if they should consider a degree or career in IT, I would not hesitate to warn them of the instability, irregular hours, low pay for skill and responsibility, lack of a future, and in general the bad past experiences I have had. Things like not seeing my son for more than a couple hours a month for the first three years of his life, due to work. Or the many times I found myself not going home or sleeping for days on end. It sounds like a nightmare and people wonder how such things could honestly happen, but there is an entire industry of just that - it's called IT, and I'm proud to say I'm not a part of it anymore.

      I have never heard such a sugar-coated description of IT from someone who has actually experienced it. I think that it's more like Dilbert meets Jacob's Ladder. Except with longer hours and more poverty.

    64. Re:You can't get there from here. by W2k · · Score: 1

      *Raises hand*

      Where I currently work, pay is good, employment is secure, the hours are bearable and the work is fun. Not quite up to six figures (in USD that is) yet, but getting there.

      I figure most people commenting this article are just whiners.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    65. Re:You can't get there from here. by tacocat · · Score: 1

      Perhaps I can provide some insight into this. I am a Systems Analyst and get paid more than the Indian developers do in my company.

      I am a degreed BSEE (Electrical Engineering) and BSMME (Materials & Metallurgical Engineering) who graduated some twenty years ago. In that time I served as:

      1. Materials Engineer in Government Contracting Satellite Industry. I mostly did environment analysis of the materials in question -- would it work in that application (heat, cold, chemicals..)?
      2. Electronic Components in same.
      3. Plastic Injection molding engineer for Automotive Industry.
      4. Quality Assurance Auditor for QS-9000 and ISO-9000.
      5. Software Engineer for Insurance Industry
      6. Systems Analysis.
      You can't follow this path. But the point is you enter the role of Systems Analysis after you have many years of experience in something outside of computers. You have to know and experience things working and breaking in the worse and most bizarre cases to understand what a Systems Analysis role actually does.

      The software engineer is critical. But I don't have a degree as such and likely never will. I spent years playing with computers and F/OSS projects in my own spare time as an interest. This interest put me into a position to know what makes the Systems Analysis valueable -- all the lost skills of todays Software Developers. Examples would be: how a hard drive or disk array can affect your applications. Where Web Services will fail, how, and what to look for. How a database actually works in theory and how to use that information to make a more efficient interface to that database.

      The list could go on forever -- but this is a job based on experience. The job remains because I do keep moving forward trying to learn a new language (or learn about a new language, technology) every year. As a Systems Analyst, the technology you have to deal with develops much slower than the advancing wave of new technology. And you can always get a quick overview from the Indian Developers who will be homeless in 3 years because they can't keep up with the newest technology because they spend too much time trying to keep on schedule.

      Ironic isn't it? To be a Systems Analyst in computers you have to have no training, but 20 years of experience. Some things are hard to get in a class room.

      I will say this though. We recently hired an ex Unix Sys Admin with about 20 years experience there. He's awesome, brilliant, and can do this job with his eyes closed. He's still getting the overall hang of it, but I would venture to say these SysAdmin guys (with some experience in programming) are my favorite right now. Others I have tried to work with are not... Including IT Masters degrees.

    66. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      First of all, no one's talking about Indians here on a visa to do their work. Those folk tend to work well enough while they're here. I'm talking about offshoring projects where the team is actually in India. If you were experienced in this field, you'd know exactly the difference - one is immersed in US culture, the other is back in the comforting embrace of Indian culture (and reverts back to their old, "bad" habits ASAP).

      While I respect your viewpoint, I flatly disagree. Yes, there's some individual variation. There always is. You'll find robots here in the USA, and creative risk-takers in India - it happens. But using that bell curve, it's clear where 95% of the workers lie - and in India, it's robots. Damned shame, too, but that's how it goes.

      Seriously - next time you hire some "Indians in India", take a look at how long their CV is. It will _not_ be under two pages for any of them, even if they're just out of college. It'll more likely be three or more, and include some information that you could 1) care less about and 2) not use, because it's illegal for you to ask or act on. My point? Cultural stuff like that affects all of them to some extent.

      I think better filtering can make a difference, but only so much difference. I haven't even discussed the turn-over issues yet (I've heard figures as high as like 300% yearly for some "applications"). Good luck with your filtering and training, because you're going to be doing it more often than you'd like.

      I hate posting as an AC, but I don't want to poison my relationship with my Indian friends, should they ever come across this discussion. They're good folk who are coming along with time, even if they don't think and behave like we'd like.

    67. Re:You can't get there from here. by joshv · · Score: 1

      In my entire career I've never had to use a pointer (at least not directly) - 11+ years and counting. I've done very well, am well respected, and have never wanted for work.

      Here is a handy translation guide:
      Pointer -> Object Reference
      Data Structure -> Object

    68. Re:You can't get there from here. by Anonymous Coward · · Score: 2, Interesting

      Im of Indian origin, and cant agree enuf with the sentiments expressed in this thread. Right at the begining of my career (>> a decade) I realized Indian so called *software* firms did nothing but pimp out wh*reware and slaveware at the lowest possible price. What else could you expect from firms which one day were selling cooking oil, and the next day sotware. I swore never to work for any of them even if Id to starve, and strike out on my own instead as a solo, highly competent consultant that could command a price worthy of my skill, regardless of geography. Lately these firms have added to their list of occomplishments, landsharking poor farmers out of agricultural land, to build giant 5 star wh*r...e rrr ... software factories and so called knowledge campuses. The best that can be said about Indian IT industry is that they've evolved from cheap w**res to geishas. The sooner Indian firms start creating real products, especially those that directly mitigate poverty, corruption etc in our own dear motherland (like our space and nuclear industry did), the better off the rest of the world will be.

    69. Re:You can't get there from here. by Xiaran · · Score: 1

      I just looked at you job ad sig and I can do better than learning C by reading K&R. I learned C by reading the original papers that K&R was based on :) Alas Im in London, UK and have no plans to move to the bay area. If I ever do then Ill keep you in mind.

    70. Re:You can't get there from here. by MORB · · Score: 1

      By doing that, you kind of throw out the baby with the bathwater: a good programmer who already has some experience with several other language/frameworks can pick up something like python pretty quickly, the nitty gritty syntax details as well as the overall philosophy of the language and the scope of the associated framework (aka knowing that if you need to do something, there's probably already a module that implements it)

      Of course, someone calling themselves "experts" are probably not, most of the time. I'd think that people really experienced in a technology would just have to mention how long they worked with it.

    71. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      This is more or less true, and I freely admit that even though I am myself of Indian descent (though educated and employed in North America). The only things I would add:

      1) The Indian education system is broken if you're looking for employees in North American companies. However, it's quite functional if you're a hiring manager in an Indian company, where obedience and methodology are highly prized, but independent creativity isn't as much.

      2) When comparing 2 American with 10 Indian programmers, it's interesting to note that "American" for the purpose of this comparison, is anyone who was educated and mostly raised in North America. (I'm a Canadian citizen, and I do realize I will be labeled a hoser for the preceding statement). The important thing is that they have developed an ability and a willingness to think on their own. This is by no means guaranteed growing up in North America (in fact, a minority of people even here possess this trait), but it's almost impossible in India.

    72. Re:You can't get there from here. by trevor-ds · · Score: 1
    73. Re:You can't get there from here. by John+Hurliman · · Score: 1

      Open source, as you mentioned, is another great way. Working on OSS I've gained experience in a niche software market and Indian firms are actually outsourcing projects to me in the states. Software engineering is very much a growing field in the U.S., the ability to outsource for programmers is accelerating the industry and creating more of these positions.

    74. Re:You can't get there from here. by rjstanford · · Score: 2, Insightful

      Those people should be smart and experienced enough to send a detailed cover letter explaining how, regardless of the fact that they don't know the language (no big deal), the libraries (much harder to grasp) and the "right way" of doing things (the biggie), their operational and business domain experience is still enough of a good fit for the company to have them come in for a chat. The fact that they don't (apparently) leads me to believe that their business skills won't, indeed, make up for their lack of language knowledge.

      --
      You're special forces then? That's great! I just love your olympics!
    75. Re:You can't get there from here. by GoMMiX · · Score: 2, Insightful

      The company I just started for layed off 15 people from the IT department the first week I was there. Yesterday we had a meeting discussing next years budget, and where cuts would be made - I'll give you one guess what department was mentioned first...

      Ignorance is bliss, and if you've got a good job in IT it's easy to be blissful.

      You should be thankful you have one of those jobs, not berate others who do not.

    76. Re:You can't get there from here. by Vlaadimir · · Score: 1

      There are still a few industries in America that require "programming" be done by workers of American or "friendly" origins. Avionics and the defense are a good example of those industries. I assume that is were the next generation of Software Engineers will be trained.

    77. Re:You can't get there from here. by Aladrin · · Score: 1

      I definitely agree with your assessment of Indian programmers in general. The company I work for outsources some of our gruntwork to an Indian company. When told exactly what to do, they generally get it done. If any ambiguity is left, they almost always pick the lazy way and get it wrong, instead of asking. When a problem crops up, they will either spend WAY too long trying to fix it (last time it was 45 days!!) or claim it simply can't be done.

      One of the American programmers feels strongly that we should dump the Indian team and hire locals instead. We've even started taking scripts that they fail to produce and create them ourselves, and the usually work so much better that it's amazing how bad it was. If we could GET local cheap talent, we'd probably have done it already. It all comes down to price... We have a gaggle of them for the same price a couple American programmers would cost, and it's all gruntwork... Nothing that requires any real thinking. The hard stuff is done in-house.

      As a hidden cost, we've found that they were advertising they would do scripts for others like the ones they do for us. We stepped on that quickly, but you have to be aware of things like that. I suspect they are quietly doing it on the side anyhow and we aren't catching them.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    78. Re:You can't get there from here. by PopeRatzo · · Score: 3, Insightful

      It's not that hard; it's called good old fashioned true grit. If you can demonstrate to companies that you are worth something to them, believe me you'll get hired.
      What he means is that it's more important to be lucky than good. The dirty secret is that hard work accounts for a very small part of success.
      --
      You are welcome on my lawn.
    79. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      I recently had a fellow student (a masters student who transferred from India) tell me that he never had any practical knowledge of implementation till he got into our program (I'm an undergrad at the same school). Apparently, he was never required to implement any of the theory prior to coming to school in the US. If his experience is the norm, then this could be why the quality of these sorts of applicants is so low.

    80. Re:You can't get there from here. by Dr.+Smoove · · Score: 0

      +1 for you. People who whine that the market 'sucks' or whatever are just lazy. If you know what you want, and you want it bad enough at an early point in your life, you just work towards it. You work hard. You forget about 90% of the parties your friends are going to, to party with your computer. Last time I looked for a job my phone was ringing off the hook just by putting my resume on dice, and I am by no means a Senior engineer. As far as TFA goes, yea, obviously demand for highly intelligent, experienced hackers is higher than dime a dozen script monkeys.

      --
      "If you plant ice, you're gonna harvest wind."
    81. Re:You can't get there from here. by Johnny5000 · · Score: 1

      Man, the entirety of my Bachelor's (at 30k+ student school) cost me less than 20k. I paid for bills by working part-time. I know that US universities are a little more expensive and I hear that tuitions are going up, but like more than twice as expensive? That's hard to believe. Are you sure that people aren't just graduating with 40k in debt b/c they don't know how manage their money?


      Yes, it really is that expensive here.
      I just filled in the "tuition and fees calculator" for my alma mater (Purdue) and this is what I came up with:

      Estimated Tuition and Fees: $3,708.00
      Estimated On-Campus Housing (including 15 meals per week in the dorm): $5,785.00
      Total Estimated Tuition, Fees, and Housing per Semester: $9,493.00

      That's a public school, and that's in state tuition.
      Not including books, etc.

      So about $10,000 per semester times 8 semesters = $80,000

      An out-of-state student can expect to pay $16,897.00 per semester.

      --
      The libertarian solution to the failures of capitalism is to apply more capitalism til the failures are fixed.
    82. Re:You can't get there from here. by samkass · · Score: 1

      Most of the best American "Software Engineers" I know had surpassed the equivalent of an Associates Degree in Programming by the time they finished High School. Certainly anyone who got a 5 on the AP Computer Science test had already gone beyond "programming". I think anyone graduating with a full Computer Science degree from a reasonable university is going to be able to skip that step. The question remains, of course, how to get that first dose of experience.

      My recommendations:
      1. Work as an undergrad, even if you don't have to. Find a job in a research lab in your field and get a few projects under your belt. Ideally, get your name attached to a paper or something and attend a conference, but that's icing. Also ideally, find a niche and become one of the best at it. There are a surprising number of under-served niches in the software industry, and a few months of intense work (in addition to a solid grounding in CS) can often make you an "expert", and a year a "guru". Everyone else in industry is very distracted with day-to-day minutiae to do this, so it gets you "in".
      2. Actually take a "software engineering" course or two, but don't go into your first interview dictating policy to your new boss. But if asked, have some opinions on the matter. Do you "believe" in CMM? ISO 900x? Six sigma? Software Product Lines? Agile Development? At least be familiar with some of the common arguments for a couple of them. The problem with a "pure" Computer Science (rather than a Software Engineering) is that you know your algorithms and technical approaches, but there will be some doubt about whether you actually know how to ship software. In academia, projects tend to be isolated things that get thrown over the wall and not maintained or brought to a high quality level.
      3. Software Engineering hiring is only increasing in my experience, even in the US and even with out-sourcing. I think limiting H-1Bs and revoking them when they lose their job has harmed job availability somewhat (it tends to drive engineers most familiar with US people and processes back overseas, where they start a new out-sourcing business and take jobs with them). But even with our stupid labor laws, the US needs more engineers than ever faster than they're being produced. My advice would be if you're interested and dedicated, do it.

      --
      E pluribus unum
    83. Re:You can't get there from here. by jallen02 · · Score: 1

      Thats actually a pretty good question. I like that about as much as I like reversing a linked list in place with only one extra pointer.

      Thats a good question because you still have to iterate over the list. A very simple solution is not pretty but its definitely easy to see its correct. Its also an interesting test because you have to be careful of boundary conditions.

      Jeremy

    84. Re:You can't get there from here. by mlu035 · · Score: 1

      I totally agree. I used to work for a 150+ staff software house back in 1999-2001, and for one project we took on three contractors who'd come over from India to help knock some pretty simple Java stuff together. I spent a whole day briefing them on what was needed of them (all very basic stuff, something I with 1 year's commercial experience at the time and my computer science degree was doing in my sleep). At the end of the day's meetings about what was required of them and getting them all set up to work the following day, they were given some time to ask questions about anything they were unsure of, concepts, environment, the project etc. Not a peep.

      Forward to the next day at work, and my usual daily routine again, and I had one of them sitting pretty near to where I was. I kept an occasional eye on him to ensure he wasn't struggling too hard, but by the end of the day it was apparent that he'd done nothing. Nothing. Not one line of code, not asked anyone related to the project for help, in fact, not spoken to anyone at all as far as I can gather. This was the same for all of them.

      Cue the next day and me having to spend another day with them going over it all again, trying to get them to communicate if they didn't understand anything to me, and not just nod in agreement (or disagreement or whatever their head shake was supposed to mean).

      It wasn't just their lack of programming skills (they were supposed to be all excellent Java developers with degree equivalent computer science qualifications and commercial experience etc) but their lack of English which made everything almost impossible to achieve in any sensible timescale. Eventually we got there, when one of them finally understood it all and could then explain and help his co contractors, but boy did it take some time.

      I have another memory of a day where another Indian contractor came in and spent the whole day in the staff chillout area waiting for someone to speak to him. I don't think it occurred to him to report to reception and let them know he was there, nor ask any of the hundred or so staff in the building where to go / what to do.

      Ah, those happy days of the dot com boom and bust.

      --
      "Feel the force, mother fucker." (Shaft Windu)
    85. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      Just stating the obvious: a degree in Computer Science plus experience DOES NOT "make you" a Software Engineer. You earn the title Software Engineer by earning the degree. A Software Engineering degree has focus on engineering and mathematical principles (and how these are applied) along with software development versus Computer Science (just software development). Too often folks with Computer Science degrees (or non-software degrees even) want to claim themselves to be Software Engineers - they aren't.

      Yes, I have a Computer Engineering bachelor degree and a Software Engineering master's degree.

    86. Re:You can't get there from here. by Dragonslicer · · Score: 1

      While I'm at it, how many schools teach assembler to show the low level versions of these? Mine did. I started my degree in 1998. At the time, Intel assembly was an entire semester in the CS department, and Motorola assembly was part of the ECE department's Logic Systems (basically an introduction to digital computers) class that CS majors were required to take.
    87. Re:You can't get there from here. by TheLink · · Score: 0

      You're right to reject those- if they can't read and understand what "Python required" means, then they are unlikely to understand important stuff.

      However you'd miss out many of those who actually understand - they just wouldn't bother applying.

      Maybe if you put sufficiently complex pseudo code in another job posting, you'd weed out the crap and still get the decent ones that'll skip "python required".

      --
    88. Re:You can't get there from here. by Eponymous+Bastard · · Score: 1

      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? Go to grad school?

      I'm somewhat serious. You will still need some programming experience, but after a couple of years you can get an MS in CS and specialize in Software Engineering. It sounds corny, but actually going though classes were you discuss software lifecycle models (specs, design, development, testing, or a spiral model or XP) and compare them, or where you look at different testing metodologies, or where you look at more global concerns (CMM levels, loking at the metodology for development of the space shuttle software, etc). And then add some classes where you simply look more closely at object orientation or databases. And top it all off with some small bit of research (MS thesis/project) on cutting edge software engineering work. Many universities even allow your project to be work related, and you get to talk to your professors who might have some ideas to help your company.

      Of course, this will not improve your skills on python/vb/technology for the week, but that is not what software engineering is about. And of course you need to combine everything with practical experience, so I'd suggest you work for a year or two and then go to grad school in parallel with your work. An extra title won't be helpful if you're really bad at what you do, but for the people who are good or even decent, the extra learning helps.

      I mean, other professions do this, why do CS people think their only way to improve themselvees is to self-learn or work on open source projects. Both of these are important, but don't be afraid to get additional help.

      And when dealing with beancounters, the extra paper helps.
    89. Re:You can't get there from here. by b4upoo · · Score: 1

      Computer related trades are getting close to the issues that musicians have faced since the microphone was invented. You can still make it in music but you had better be a thriller. If you program you need to have a portfolio of brilliant programs to attract a decent living.
                          I don't trust any agency to forecast what will happen in any trade. What I believe will happen is that computers will become more and more vital in every human activity. They are going to be everywhere. They are also going to be appliance like and made as a commodity, Go to the store. Plunk down a few bucks and you'll have a better computer than anything you could have purchased a short time ago. And if we reach that tipping point where PCs start to write programs with little or no human intervention the idea of a human writing a program might become a historic joke fit for a Flintstones cartoon. I can foresee a time when people simply ask a computer to write a certain program for them. This might also extend into things like network controls and other areas as well. A very accelerated history in computer development may be at hand. The human mind is probably the weak link slowing down progress at this time.

    90. Re:You can't get there from here. by eison · · Score: 1

      But I find it fascinating that they will happily provide an answer to any question, no matter how wrong it might be. It's almost like they got sales training instead of programming training.

      --
      is competition good, or is duplication of effort bad?
    91. Re:You can't get there from here. by DaveV1.0 · · Score: 1

      Can I have a job?

      My programming experience is limited to perl, csh, and ksh. But, I can write code for your three case if statement and am teaching myself C#

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    92. Re:You can't get there from here. by cayenne8 · · Score: 2, Interesting
      "Being a consultant, you're something of a throw-away employee. No major overhead, no accounting headaches, no benefits to deal with, just cuts it plain and simple - not to mention the best part - they can fire you just because, with no consequences. In reality, that is what the general IT industry has become as a whole. An industry of throw-away employees. One where most employers expect you to know exactly what they need. Specific OS, language, and development environments. "

      But, THAT is what makes it great to work in IT today. You incorporate yourself, and consult/contract yourself out. If your good at what you do, you can make KILLER money, you get to write off all kinds of things on taxes (about the only way these days to keep much of your hard earned money), and you are basically your own boss. You also don't have to worry as much about becoming stagnant, outdated in skills and stuck in a dead end job since you move from job to job over the years. I think the negatives you point out are actually what is positive about IT today!!

      "If a friend asked me if they should consider a degree or career in IT, I would not hesitate to warn them of the instability, irregular hours, low pay for skill and responsibility, lack of a future, and in general the bad past experiences I have had. "

      Well, to make money, real money in IT....no, you cannot look upon it as a 'traditional' job, one where you work for the same company all your life, and retire on pension, etc. Heck, those type jobs don't really exist much at all in any field. There is no such thing as a job for life, or a loyal company/employee relationship any longer. You have to be willing to keep yourself up to date, and to go where the job is. If you get into the newer mindset, you can make a very healthy wage.....and your time is YOURS to take off when you want too. You don't have to wait till you've earned PTO hours. You make your bill rate high enough to cover you when you want time off...for vacations, family...whatever.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    93. Re:You can't get there from here. by cayenne8 · · Score: 1
      "What he means is that it's more important to be lucky than good. The dirty secret is that hard work accounts for a very small part of success."

      You are correct to a large extent. The old saying "it isn't what you know, but, WHO you know" also plays a big part in it all. Once you get your foot in the door with a job, it is very important to market yourself always. Try to meet as many people out there in the business as possible, both within and outside your company. You never know when it will pay off.

      Yes, even in IT, people skills are very important...a less capable programmer, with better social skills will often get the good jobs over someone technically more qualified.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    94. Re:You can't get there from here. by DaveV1.0 · · Score: 1

      I can believe it, though it is not just limited India. I worked with a guy who was a CS junior and the local university. He couldn't not convert between binary, octal, and hex. Basic CS stuff and he couldn't do it.

      Also, I hope you are referring to the LinkedList generic in C#. After all, why reinvent the wheel?

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    95. Re:You can't get there from here. by lgw · · Score: 1

      Yeah, but it looks like you understand pointers from your post above. The students I was talking to couldn't solve very simple programming tasks, free to choose any data structure they wished (any had no understanding of whether an array or a list might be a better solution to a given problem).

      Just curious - what is your problem domain? Business, medical, financial, etc?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    96. Re:You can't get there from here. by TemporalBeing · · Score: 1

      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?
      Except for one problem - some organizations HR departments don't count non-paid work (e.g. non-paid Internships, volunteer open source, etc.) as experience. I encountered this for my current position. If counting all my experience, I qualify for a position requiring 5 to 10 years experience; if only counting what I got paid to do, then it drops to the 0 to 5 year experience range. It also makes a big difference in pay for said company and what I am allowed/not-allowed to do in terms of job functions. Fortunately for me I came in through a consulting company that, while they didn't count it experience wise, looked at it and saw that I was serious about becoming a Software Engineer/Programmer - as that was most of what I was doing when I wasn't working and had accumulated a lot of non-paid experience.

      Still, my biggest recommendation to up-coming computer scientists (e.g. students, etc.) is to get involved in an open source project and show they are serious about the field.
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    97. Re:You can't get there from here. by SpoMini · · Score: 1

      I work for the offshore arm of a large multinational, one of 2 Americans working in a Indian division, and I would agree whole heartedly with most of what was said. If your model is a colocated dev group with light Agile, if any, processes then you are in for a long haul. It takes about 3-4 years to create a "expert" on a system if you are trying to produce a programmer/analyst. Those days are long gone if you are going to work in a globally distributed environment. We are working, quite sucessfully, with a very large ODC in India when we changed our model to keep intellectual capitol and design (read reqs, analysis, architecture and design) and offshore the grunt work to India. We find this type of work to be excellent for the Indian grads who have never worked offshore and who fulfill the descriptions above. Managing them from offshore, we can alleviate many of the above mentioned issues. The downside, those of us who have been in the industry and developers, I started in the environ in the mid 80s, will never touch code again and if you cannot move into a architecture and/ or design role, you will quickly become un or underemployed. If you look at the history, we really screwed ourselves. We sent the jobs overseas when we began to demand exorbitant salaries in the late 90's / .com boom. I remember seeing kids who dropped out of school getting starting salaries in the mid to high 70's. Did any of us think that was sustainable? We did to ourselves what the unions did to manufacturing. We artificially elevated our salaries to a point that we virtually guaranteed our jobs would go somewhere else eventually. Those who were involved in those days woudl have to agree but I sure as pumped mine as much as I could. India is now experience churn at a rate of 25% and annual salary increase of almost 20%. I give them 10 more years before I need to learn to speak Mandarin.

    98. Re:You can't get there from here. by phantomfive · · Score: 1

      Wow, that's pretty sweet!

      --
      Qxe4
    99. Re:You can't get there from here. by SwordsmanLuke · · Score: 1

      Meh. I'm not too worried about my future as a programmer, honestly. Right now, the industry (like many others just coming to terms with globalization) seems to be undergoing some growing pains, but most of the hiring managers I've talked to (or heard from) are all saying the same thing - those outsourced jobs may be cheap on the surface, but they cost too much in re-training.

      If outsourcing firms cannot do the job they were hired for, it doesn't matter how damn cheap their salaries are. Most of the businesses trying to use this form of (apparently) cheap labor are either going out of business or rehiring experienced programmers at the appropriate salaries - in the long run it still costs less to it right than to do it over.

      Finally, I happen to have the good fortune to work in the robotics industry. There are some analysts who project the robotics industry will become as big as the car industry - within the next ten years. Currently, the company I'm with (a ~10yr old "startup") has about 30 programmers on staff. If an entire, gigantic industry does form in the next handful of years, you can bet they'll need plenty of people handy with code.

      --
      Any plan which depends on a fundamental change in human behavior is doomed from the start.
    100. Re:You can't get there from here. by Gr8Apes · · Score: 1

      It's not that hard; it's called good old fashioned true grit. If you can demonstrate to companies that you are worth something to them, believe me you'll get hired.
      What he means is that it's more important to be lucky than good. The dirty secret is that hard work accounts for a very small part of success. While luck has a lot to do with it, it certainly isn't everything. If you're good, you can find what you're looking for. However, good in this sense is dependent on experience. There are no "good" beginning programmers/software engineers. They haven't made the mistakes to learn from yet, and they will make them. (Maybe not all of the mistakes, but enough to make them not "good").

      For instance, it took me 6 months to find my current job, but it wasn't for lack of opportunities nor offers. I wasn't in a hurry, and was looking for a particular environment, stability, minimum salary, job skill set, no travel requirements, geographic location, and type of work. (Yes, that's a heap load of restrictions, which is why it took 6 months:)

      As for luck, yes, luck has a lot to do with it, but mostly at companies you don't want to work for. "Luck" is generally definable upon reflection as a combination of "got there first" combined with "superior ass-kissing", usually inversely to any actual skills.
      --
      The cesspool just got a check and balance.
    101. Re:You can't get there from here. by smilindog2000 · · Score: 1

      I don't believe things have changed much in 20 years, other than that horrible recession we had after the web bubble burst. Programmers and engineers are paid the same now as 20 years ago, if you adjust for inflation. The problem with our profession is that we do compete world-wide, meaning there will be few of us earning $400K/year any time soon, unlike similarly skilled lawyers and doctors.

      The bottom line is do it if you love it, and want to contribute to technology development. If you're in it for the big bucks, learn about running a business, not programming a computer. Personally, I love working in high-tech, and would do it on the cheap.

      --
      Beer is proof that God loves us, and wants us to be happy.
    102. Re:You can't get there from here. by Bloke+down+the+pub · · Score: 1

      In the UK, a systems analyst is someone with domain knowledge who generally gathers requirements and writes them up into specs for the programmers to work from. In the old days this was usually someone promoted from the ranks of the senior programmers.

      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
    103. Re:You can't get there from here. by gatesvp · · Score: 1

      Estimated On-Campus Housing (including 15 meals per week in the dorm): $5,785.00

      Found your problem, that's not the cost of University, that's the cost of living. This here: Estimated Tuition and Fees: $3,708.00 is the cost of schooling. Is living on campus required at a place like Purdue? That number (3708) is definitely higher than a Canadian tuition, which is somewhere between 50-90% of that number (based on program/school), but that still only brings you up to 40k total cost (~10k/year).

      I'll level with you, most Canadian University students are living at home and commuting or renting out a cheap place with some friends nearby. Most places up here have limited school housing and it's usually prioritized for specific needs (out of town students, grad student housing and special cases). Even in expensive places like Toronto or Vancouver, students can still live close to campus for $500/month rent + $200/month food + $80/month transit pass. Your on-campus housing and meal cost is ~1450/month! Do you guys get private suites with room and laundry service?

      Out here you can make 6-8k working full time over the summer and then put in 10-20 hours weeks over the school year. I landed a TA position during school and I was bringing in over $500/month (in 2000 $) At 8k/year for schooling, that type of money may not cover all of the bills, but it definitely comes pretty close. Between tax benefits of student-hood and the availability of government-funded student loans, an unprepared student with no savings can still graduate debt-free.

      The whole concept of American University being expensive seems to be a direct result of living in overpriced housing while going to school. I mean, by your own numbers, housing is 60% of the cost and I'm sure that doesn't include the required fraternity/sorority fees and whole bunch of other stuff that just creeps the prices even higher.

      Again, you're spending more money to live on campus than you are to actually educate yourself, that sounds like money mismanagement to me.

    104. Re:You can't get there from here. by joshv · · Score: 1

      Well, what you are describing is a stupid person, not a programmer :) I was trained in Pascal, and learned basic data structures. I also taught myself rudimentary C at some point.

      My point was that though this education has served me well, I can't say that I've ever had much use for these concepts in most of my programming and design tasks. I've coded in very high level proprietary, business oriented programming languages, Java, or various other scripting languages. Rarely have I had the need to understand what a pointer is, or how to build a "data structure" in a C like language. I've never had to write my own linked list.

      I have had to have a thorough understanding of Java's implementation of the object oriented programming model, and the library classes available in the JDK. Thus my "translation guide". To do what I do, you need to understand object references and how garbage collection works. You need to understand what an object is, and how encapsulation works. A healthy does of common OO design patterns can't hurt. All of this can be had at the "Java schools" you so despise.

      Now perhaps in your line of work you need low level device driver programmers to code for very limited devices where standard libraries can't be used, and memory has to be managed manually. Well, yes, then you will need to retrain your average Java programmer, though, if the person is sufficiently smart, it shouldn't take much time at all.

      "Just curious - what is your problem domain? Business, medical, financial, etc?"

      Yes. :)

    105. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      I also have to (anonymously) agree: I've been working on a large-scale scanning project which has been outsourced to India and it's been a nightmare. The scans we received for our pilot were of a higher quality than those we received once we began production. We believe lower quality scanners were bought in bulk after we signed the contract but we can't prove it. A number of (expensive) man hours were spent on our side troubleshooting their process once we got honest answers about what was going on. After the problem was solved the originals had been so badly damaged they could no longer be scanned so we were unable to create new scans using our "fixed" procedures. Original documents and DVD shipments have been lost, project managers have changed three times and infrastructure issues result in FTP issues and static-y and dropped phone calls.

      All this is secondary to the worst problem, described above: Whenever we ask for anything we are told it can be done easily. It's only when deadlines have slipped and deliverables have not shown up or arrived unusable that we are told what the actual issues are. And by then it's too late.

      And yet we still look for more things to outsource, not realizing the time wasted by highly-paid employees here more than offsets the apparent savings from sending work there. It's pennywise and pound foolish and completely and utterly frustrating.

    106. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      What? you're required to take on 40k of loans to pay for 4 years of courses? What is that 10k/year = 2k/course?

      Most Americans, full load, take between 3-4 courses per TERM- between 12-16 per year. Does that bring the price more in line with what you are used to?

      Of course, this isn't just tuition- it's books & living expenses as well, plus additional fees.

      Wow man, my fiancé just graduated from the University of Manitoba and she was paying less than 1k/course with books included. Are you working during University? Are you being forced to live in a dorm or something? Don't they have "commuter campuses"? My fiancé graduated with zero debt by living at home and working 10-20 hours / week, plus full-time summers (and getting straight As in her last 3 years).

      Sounds about right- under 1k/course.

      Man, the entirety of my Bachelor's (at 30k+ student school) cost me less than 20k. I paid for bills by working part-time. I know that US universities are a little more expensive and I hear that tuitions are going up, but like more than twice as expensive? That's hard to believe. Are you sure that people aren't just graduating with 40k in debt b/c they don't know how manage their money?

      That's part of it too- no American high school teaches money management. But a large part of it is even the state schools here aren't subsidized as heavily as they are in Canada.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    107. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      They're good folk who are coming along with time, even if they do stink.
      Fixed.
    108. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      I'm in the Silicon Forest rather than the Silicon Valley. They told us when they killed the logging jobs around here that high tech would take over. Well, it hasn't. In fact, near as I can tell, the Silicon Valley is a money pit that produces nothing of any real value.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    109. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      Long term isn't what I'm talking about. I'm talking about losing an entire generation of engineers who are just starting their careers- creating a skills gap that the United States will find it VERY hard to recover from as long as we still, among 3rd generation families, have below Zero Population Growth.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    110. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      And regarding job availability, I get about three emails a day asking me to apply for some job based on a skills match, and probably another five phone calls a week for the same thing.

      And I've found that most of those jobs are fakes- resume collectors that claim "No qualified American is available" to have 50 years of experience in Windows Vista, so we've got to apply for another H-1b.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    111. Re:You can't get there from here. by ataraxian · · Score: 1

      I don't see it this way at all. If you're in the San Francisco Bay Area and have basic Java or C++ skills you should be able to find an entry level job if you apply yourself at all. I'm a software engineer who sometimes has the need to hire on junior engineers (ok, programmers) and I've found that it's incredibly hard to find entry level people with even the most basic understanding of Java. The last time I posted a position on Craig's List I got many applications but no takers that weren't either: a) lying about their knowledge of basic (and I do mean basic) Java or b) pretty severely 'personality disordered'. If you have a reasonably sunny attitude, no mysterious 10 year gaps in your personal history, understand how to use a static variable in Java, and live in the San Francisco Bay Area, you can find a decent entry level job. You won't make a lot of money for a while but that will come if you're any good and you stick with it. Programming/Software Engineering has a pretty long apprenticeship.

    112. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      Yes, but didn't you have a time when your code didn't compile? May have been a few decades ago- but I'm willing to bet you did.

      That's what I'm talking about- diamonds in the rough that just because they were born American, are too expensive to hire.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    113. Re:You can't get there from here. by phantomfive · · Score: 1

      Wow. If you have that same bright cheery attitude when you go for job interviews, I can see why no one would want to hire you.

      --
      Qxe4
    114. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      It's funny how many people missed my point.

      EVERY one of the people saying I'm wrong to worry about outsourcing have 5+ years in the industry; many 10-15+. But that's NOT what the "Ask Slashdot" article was about, and it's not what my message was about. Sure, I was pushed into public service to survive, but that's because I'm a rotten interview + outsourcing. I can still survive, hell, my future's quite bright with the next 5 years of guaranteed raises backed by tax policy.

      It's the guy just getting out of high school or college in the last 10 years and the next 6 that is the real question. And for that generation of programmers/software engineers, I have to say that being born American is a *SERIOUS* negative that you have to take seriously if you're ever going to get the experience to become *adequate*, let alone *good*.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    115. Re:You can't get there from here. by bcharr2 · · Score: 1

      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 research I have looked at indicates that India is graduating roughly 4000 programmers a year who are ready to work professionally within the industry. Compare that with the current estimated shortage of programmers in America being roughly 100,000 and you'll see why its premature to yell that the sky is falling.

      Which isn't to say these trends won't reverse in the next 2 decades, but for now I believe most of the hype is being pushed by companies who are looking to artificially keep programmer pay low by creating an artificial sense of panic.
    116. Re:You can't get there from here. by SwordsmanLuke · · Score: 1

      It's the guy just getting out of high school or college in the last 10 years and the next 6 that is the real question Just for the record, I graduated Jan 2007 with a Bachelors of CS degree from Utah State University, with a 2.8 GPA. My point is that, I *am* that guy. I just graduated, I had little (6 mos) professional programming experience, and neither my school nor my GPA are particularly advantageous. I still found plenty of people who wanted to pay me a decent salary.
      --
      Any plan which depends on a fundamental change in human behavior is doomed from the start.
    117. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      Correct. But Software Engineering degree *alone* doesn't make you a good software engineer either- this is a job that *requires* real world experience. You can't get that real world experience without understanding how to apply differential equations and program them in both iterative and recursive fashion (and sometimes also in reverse polish recursive)- but you also aren't a good programmer until you have been forced to apply what you know to a real world situation.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    118. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      If you're in the San Francisco Bay Area and have basic Java or C++ skills you should be able to find an entry level job if you apply yourself at all.

      1. I'm not in the San Francisco Bay area.
      2. At least three of the major employers there haven't hired a single American since 2001.

      I'm a software engineer who sometimes has the need to hire on junior engineers (ok, programmers) and I've found that it's incredibly hard to find entry level people with even the most basic understanding of Java. The last time I posted a position on Craig's List I got many applications but no takers that weren't either: a) lying about their knowledge of basic (and I do mean basic) Java or b) pretty severely 'personality disordered'. If you have a reasonably sunny attitude, no mysterious 10 year gaps in your personal history, understand how to use a static variable in Java, and live in the San Francisco Bay Area, you can find a decent entry level job. You won't make a lot of money for a while but that will come if you're any good and you stick with it. Programming/Software Engineering has a pretty long apprenticeship.

      Your category b) fits every American programmer I know. There's a lot more money to be made in importing and retail right out of the gate if you have a personality, so why isolate yourself behind a monitor for substandard pay for years if you've got the people skills necessary to become a house flipping billionaire?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    119. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      It's hard to have a bright cheery attitude after the 10th time you've been thrown out like garbage just for being born American.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    120. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      Just for the record, I graduated Jan 2007 with a Bachelors of CS degree from Utah State University, with a 2.8 GPA. My point is that, I *am* that guy. I just graduated, I had little (6 mos) professional programming experience, and neither my school nor my GPA are particularly advantageous. I still found plenty of people who wanted to pay me a decent salary.

      What do you consider a "decent salary"? Still, I'm pretty amazed- maybe the market really is rebounding, finally.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    121. Re:You can't get there from here. by lgw · · Score: 1

      It's not a matter of being a "very stupid person": the key mental leaps that make one a programmer and not a mere scripter are in understanding how pointer and recursion work. If you don't already know a given programming language, no big deal, if you're smart you can learn it on the job. If you don't "get" the difference between value and reference semantics at an intuitive level, there's a real risk you never will.

      Also, I've often heard "I've never needed recursion" from people who clearly *have* needed that tool, and just make do without it, often quite painfully. Not "getting" pointers (or the difference between value and reference semantics, if you prefer) leads to far more obvious failures.

      Also, if your problem domian is (for example) business, you're probably better off with a business degree in the first place, as the software is just a tool, and shouldn't be the hard part of the job (assuming it's a good tool). Fortunately universities are starting to offer appropriate degree programs out of business and fincance schools: half programming / project management / DBA classes, and half classes on the problem domain. This is a good thing.

      However, there is still a large field where the problem domain is the computer itself: kernel-mode work (drivers and OS work), programming language implementation, network protocol design, database implementation, storage/filesystem stuff, clustering, system virtualization, etc. It used to be a reasonable expectation that a Comp Sci degree meant you could work in this field, but now the reasonable expectation is that the school confused the problem domain with the tool, and "Java Schools" are the worst offenders here.

      A vocational school teaches tools. A university degree should imply understanding the fundamentals of some problem domain. If you have a business (for example) degree and learned Java or DBA skills as a part of that, the school did a well preparing you for a modern job. If you have a Comp-Sci degree and you've only been taught Java, you should be upset that you've just paid for a 4 year degree and only recieved "shop class". I've recently interviewed *many* current students in "professional" (non-thesis) Masters programs in Comp Sci that have *still* only been taught Java, and this is an embarassment to the system - how are these schools even accredited?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    122. Re:You can't get there from here. by SwordsmanLuke · · Score: 1

      For where I'm living now, cost of living is pretty low. I rent a 3 bedroom duplex apartment for just under $500/mo, heating included. So, for around here, I consider anything in the neighborhood of $50,000/year a decent salary. Obviously, this wouldn't be the case if I were in CA or somewhere else people generally want to live. 8^) All told though, I do make a good living. After car/rent/credit payments, more than 60% of my income still goes to "Misc."

      --
      Any plan which depends on a fundamental change in human behavior is doomed from the start.
    123. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      And what does all of that get you? An HR guru who won't hire you because they don't like your "personality disorder".

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    124. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      For where I'm living now, cost of living is pretty low. I rent a 3 bedroom duplex apartment for just under $500/mo, heating included. So, for around here, I consider anything in the neighborhood of $50,000/year a decent salary. Obviously, this wouldn't be the case if I were in CA or somewhere else people generally want to live. 8^) All told though, I do make a good living. After car/rent/credit payments, more than 60% of my income still goes to "Misc."

      I was in that situation for my first 24 months out of college- then the startup went under with over $10,000 in my wages unpaid.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    125. Re:You can't get there from here. by Dr.+Smoove · · Score: 0

      You can then proceed to the next interview. If every single job you apply for ends at HR, then you really need to take a look at yourself and ask why everybody thinks you suck.

      --
      "If you plant ice, you're gonna harvest wind."
    126. Re:You can't get there from here. by sethstorm · · Score: 1

      This whole offshoring thing is overblown for several reasons. For one, all the good Indian engineers are hired already, and companies have discovered that near-shoring or local hiring has certain advantages. Like everything else, the pendulum swings and it moves into balance. Good luck to all who are starting out and don't let market conditions get you down; just get out there and pound the pavement and make your career happen. There are too many people in the US who have seen it burn down to even give that concept a chance, thankfully.

      ...and complaining about how the American software market "sucks" and get on top of the technology and pick up some useful skills. Write a nice interactive website for your church or school pro bono, teach, write some open source software and get your name up on sourceforge.net. It's not that hard; it's called good old fashioned true grit. If you can demonstrate to companies that you are worth something to them, believe me you'll get hired. It also helps to join professional societies and show up at meetings; you develop leadership skills, you build up a network of colleagues, and long term it will pay off in job referrals. That still is not justification for running the industry into the ground. Have education become universal admit for citizens, doubly so for citizens in manufacturing regions - then you might have a point.
      --
      Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
    127. Re:You can't get there from here. by SwordsmanLuke · · Score: 1

      And I know that I run that risk, but these guys actually do seem to know what they're doing. I've worked for sinking ships before (in, admittedly, an unrelated field) and it felt different. The real point though, is that I took this job over several others which offered *better* pay (because I didn't want to move if I didn't have to and also, playing with giant robots rocks). I had other options with companies which were already established. They were just more boring than this one. 8^)

      --
      Any plan which depends on a fundamental change in human behavior is doomed from the start.
    128. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      You can then proceed to the next interview. If every single job you apply for ends at HR, then you really need to take a look at yourself and ask why everybody thinks you suck.

      Well, 15/16 anyway, the last time I was unemployed. But I KNOW why everybody thinks I suck- it's because I can't stand people. Chaos. I very much prefer the certainty of a microprocessor to the emotions of a human. I DO have a personality disorder- diagnosed by a professional- and it wasn't until I started admitting that up front that I found a way to have a job again (by claiming it as a disability, to get a government contract part time, then proving my abilities and engineering myself a job by manipulating policy).

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    129. Re:You can't get there from here. by stefanlasiewski · · Score: 2, Insightful

      And this practice will remain 'theory' for quite a while. CEOs, salespeople and consultants promote these magic code-generating systems, but have you ever seen one actually work?

      Is it possible to create specification which is so good, that you could feed it into a interpreter/compiler, and the compiler 'automagically' pumps out quality code? If you're going to write a spec in such detail, might as well write the spec *in* a programming language.

      I've seen a dozen attempts at these automated systems in web environments over since 2002, and nobody has body has ever gotten close to a working product-- the end result is unworkable *and* expensive. The projects have all either been scrapped, or required extensive cleanup (which creates a demand for *more* programmers, engineers, etc). The business looses. The only people who win out are the consultants who sold the software.

      The devil is in the details. No specification is perfect, and specs always miss out on important details. Programmers and engineers are the people who take a flawed specification and create a workable product.

      These systems will work eventually, but the solution is still in the distant future.

      --
      "Can of worms? The can is open... the worms are everywhere."
    130. Re:You can't get there from here. by ckaminski · · Score: 1

      In a language like python where DETAIL is extremely important, not being able to comprehend the requirements and/or submit an appropriate cover letter would tend to be an indicator that the person is completely unfit for the job.

    131. Re:You can't get there from here. by Dr.+Smoove · · Score: 0

      Well, sounds like you took a look at yourself, and did what a smart person would do: adapt to the situation.

      --
      "If you plant ice, you're gonna harvest wind."
    132. Re:You can't get there from here. by HungWeiLo · · Score: 1

      I met a girl at a job fair (whom I sort of know) who wrote "Linux administrator" on her resume. It turns out she popped in a Red Hat CD one time and "went all the way to the end installing it on her PC", which is the extent of her experience.

      She's now a senior project manager at Microsoft for one of their very visible products. To be fair to MS HR, she is _very very_ well-connected as her daddy is a CIO in a Fortune 30 company (which makes me wonder why she was at a job fair at all...)

      --
      There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
    133. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      Unfortunately for you, you have no experience. Great you can program, but unless you know someone or get some good internships, you won't make it to the chair for the interview because your resume will get screened out because most recruiters don't do much more than match resume to requirements and most requirements start at about 3-4 years of experience.

      I suggest to you, get an internship now and make contacts. Start a linkedin profile, make as big of an impression and get as many contacts as you can. Basically, with no experience, you will have to know someone to get a job that pays you anything.

    134. Re:You can't get there from here. by gatesvp · · Score: 1

      OK, we obviously have different concepts of a "class" here. Where I went to University, we divvied things up by "Credit Hours". One full year was 2 semesters (4 months each) with a total of 30 credit hours. Courses were typically 3 or 6 credit hours (one semester or two). The average cost of a course was $100-150/credit hour. So a "full course load" was 15 hour/week "in-class" + lab time at a cost of $4500.

      If the gvmt subsidized 50% of actual tuition then that's still $9000 / year real cost, so you can still get out of University for less than 40k. Especially if you live "with the parents" and work full-time over the summer.

      Check out my reply to the post above, somebody quoted me numbers where more than half of the "education cost" was actually "living expenses" for being in the dorm. Moreover, the housing/food cost amounted to $1400+ / month!

      So subsidies or not, something still doesn't add up. At 9k / year, I could borrow the *entire* cost of my education for 40k with no money down and no payments.

    135. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      The point is that an IIT grad can have the same four year university education for $4000. And if you both borrow the full amount, he can have his paid off in a month- at $12000/year LESS than you would demand. To a C-level goon, that's something he can't justify to his stockholders.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    136. Re:You can't get there from here. by mi · · Score: 1

      Is it possible to create specification which is so good, that you could feed it into a interpreter/compiler

      It is not the specification, that is (or has to be) "so good", but the language used to express it...

      Programmers and engineers are the people who take a flawed specification and create a workable product.

      Yes, they take a (often flawed) specification expressed in one language (usually imprecise) and turn it into another (usually — less flawed) specification expressed in a more precise language, for which a translator exists.

      What I'm driving at is, the gap between the languages ought to be closing down gradually, eliminating the distinction between the two steps.

      --
      In Soviet Washington the swamp drains you.
    137. Re:You can't get there from here. by NickGnome · · Score: 1

      Whether your job title is "programmer", "programmer/analyst", "analyst", "software engineer", or "software architect" has nothing to do with whether you have a particular degree. Different organizations just use different titles for the same jobs, and different managers are hyper-credentialists, or credentialists, or believers in "self-made men".

      A "software architect" *should* take a little different approach than a "programmer", but not especially diffeent from a talented or well-educated "analyst".

      The Occupational OutLook HandBook has always been properly classified in the fiction section of the library.

      Employment of software publishing production workers has been flat since the Clinton-Bush economic depression started.

      The quarterly figures on employment and unemployment rates by detailed occupation have improved a little, but aren't exceptionally rosy.

      On-line help-wanted advertising has risen since the deepest depths of the depression, but we don't have a pre-depression base-line (let alone a pre-bubble base-line) to know how this fits in the general schemes, i.e. to know whether it's growing as steeply or not as steeply as it should. Print help-wanted advertising is subterranean, down to 26 now, from 100 in 1987.

      Overall labor force participation rates and employment to population rates are up, but LFPR and E/P rates for men are down.

      And I don't know what to make of the Institute for Supply Management's employment indices.

      check the graphs
      http://www.kermitrose.com/jgoEconData.html

    138. Re:You can't get there from here. by Maxo-Texas · · Score: 1

      Very true.

      I've seen 4 waves of cheap novices now repeat the same mistakes I was making 25 years ago.

      And skilled indians are now up to 65 to 75 dollar burn rates (vs 90 for americans). The advantage is fading-- I personally think it is going to be a very sweet time to have skills from 2012 to 2020.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    139. Re:You can't get there from here. by Maxo-Texas · · Score: 1

      Marxist,
      With proper training, people are almost as certain as micro-processors.
      I recommend you read up on dale carnegie and "how to be people smart" by les gibson.
      With regard to women in particular, I recommend D'Angelo (and the "cocky funny" bit).

      Using these very straight forward 10 to 12 "opcodes", you will find you can make the people around you happy.
      When you make them happy, they are nice to you. This often creates a positive feedback loop between you (you feel happier so you are nicer to them so they are nicer to you.. and so on).

      This is important stuff-- I made my daughter read these things and internalize them since she is an introvert/nerd like me.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    140. Re:You can't get there from here. by aevans · · Score: 0

      And hard work accounts for absolutely none of failure. By extension, if you are working hard all the time, you cannot fail. Me, I'm neither lucky nor a hard worker, I just happen to possess a high degree of skill. I suppose you could say that is the result of luck or hard work applied previously.

    141. Re:You can't get there from here. by uncqual · · Score: 1

      Actually, this test is not as good as it may seem because the specification is ambiguous - there are several materially different outputs (and hence code) that are valid depending on how the candidate resolves these ambiguities.

      I would consider a program producing any one of the valid outputs to be acceptable after verifying that the output matched the candidate's understanding of the problem. The only "good" answer is for the candidate to notice the ambiguity and request clarification (or, if the test is not interactive, include some comments that indicate there are ambiguities and which way the candidate choose to resolve them) before starting to write code. I'd much rather hire someone who makes a minor error in the coding after noticing the ambiguity and explicitly resolving it than someone who writes "correct" code without noticing the ambiguity. The first candidate will probably get the code correct before checking it in, the second candidate would likely check in the code never realizing they hadn't implemented what was really required. Undetected ambiguities and incorrect assumptions lead to big problems while coding errors are easy to catch (via compiler, desk check, unit test, peer code review) and much easier to fix once discovered. IMHO, the person who notices the ambiguity up front may qualify as an "Engineer", the one who codes a solution without noticing it is likely only a mechanic (i.e., coder).

      In case there are any /. readers who are not engineers, perhaps additional clarification will be helpful...

      The problem statement from codinghorror is:

      Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".


      The output that seems "most popular" (and, based on the comments on the codinghorror site, the "intended" one) is of the following form:

      1
      2
      Fizz
      4
      Buzz
      [...]
      14
      FizzBuzz
      16
      [...]

      However, an equally valid sequence would start something like:

      1
      2
      Fizz
      4
      5 Buzz
      [...]

      The preceding is quite reasonable because the scope of the phrase "instead of the number" in the second sentence of the specification is unclear but it seems to apply only to those numbers that are multiples of 3 and NOT to those that are multiples of 5. If the number '5' was not supposed to be printed out (along with 'Buzz'), the second sentence would have better read (although even this is ambiguous for reasons that will become obvious when considering what to output for '15' -- unfortunately fixing the specification sentence by sentence is difficult):

      But for multiples of three or five, print "Fizz" or "Buzz" respectively instead of the number.

      This reworded sentence is shorter and more precise so it's quite reasonable to assume the author of the specification probably didn't mean this - else they would have written the shorter and more precise form (or some equivalent).

      The third sentence is even more problematic than the second. Is it a request to add a string to the output for numbers that are multiples of 5 and 3 or to replace the previously specified output? If one assumes replacement, one gets the output identified as "most popular" above, but this seems incorrect given that the author of the specification carefully included the word instead in the second sentence but not in the third sentence and arbitrarily introducing such a construct where it does not exist is a pure flight of fantasy.

      A more defensible output fragment would be as follows (if one make

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    142. Re:You can't get there from here. by ClosedSource · · Score: 1

      It's the same old story. Those who have been fortunate enough or haven't been around long enough to have trouble finding or keeping a job believe that their success is all due to their hard work and good planning. Then one day they get laid off in a bad market, they have to struggle to get their next job and suddenly luck starts entering their calculus.

      Don't get me wrong: Hard work and perseverance will give you your best shot, but it guarantees nothing.

    143. Re:You can't get there from here. by ClosedSource · · Score: 1

      Actually, hard work can lead to failure. For example, you could work so hard that your boss might fear that you'll replace him, so he finds a way to get rid of you. Business in the real world isn't a purely logical or even rational process.

    144. Re:You can't get there from here. by ClosedSource · · Score: 1

      Of course, employers do the same kind of dumb things. They have a job posting with a long list of obscure technologies the applicant is supposed to have experience with, but in the summary they say the job requires 0-2 years experience. This is how companies can claim that they can't find qualified people: by creating requirements that are impossible to fill.

    145. Re:You can't get there from here. by cynon83 · · Score: 1

      I figure you're either in management, or are gonna get slapped around by reality, at which point you'll realize that you're just like those 'whiners'.

    146. Re:You can't get there from here. by Marxist+Hacker+42 · · Score: 1

      I recommend you read up on dale carnegie and "how to be people smart" by les gibson.

      My amazon search didn't turn this up- do you have a copy near you and an ISBN # for me to reference?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    147. Re:You can't get there from here. by nessus42 · · Score: 1

      Wow, it's pretty hard to believe that only 3.3% of programmers can code a simple logic problem correctly when given pencil, paper, no pressure, and a bit of time. It's actually a well-known phenomenon of cognitive psychology, though, that there are some very simple logic problems that even people with PhDs will almost always get wrong if rushed. Even people with PhDs in logic. (But probably not people with PhDs in Cognitive Psychology, because they will know of these puzzles already, and be extra careful.)

      I'm not sure what this implies about the quality of the programming applicant pool, though. Just because the vast majority of highly intelligent and skilled people are known to typically fall into the simplest of logic traps, doesn't mean that they don't actually perform well in the real world. In the real world, people have time to write a little test case, drink a cup of coffee, and get the code working before checking it into revision control. The sign of a good programmer is not to get things correctly on the first attempt, but, rather to know to test thoroughly any code that is likely to be tricky at all. (And even code that is not.)

      Consequently, I'm pretty suspicious of interviewing via tests. That only assures you that you'll get someone who tests well. Does that mean that they can successfully work on a large project with a code base of millions of lines of code? Does it mean that they can ever understand all the subtle nuances of a programming language like C++? I'd prefer to evaluate people based on what they've accomplished and perhaps some reviewing of some tricky or sophisticated code they've previously written and maybe some documentation samples. Those things are more representative of the skills required in the real world.

      |>oug

      P.S. A quick screening question I might ask a C++ programmer is if you define a copy constructor, what else must you typically also define? Or if you declare a class with any virtual methods, what is the one particular method that then must also be virtual. If someone doesn't know these standard C++ pitfalls in their sleep, they they will wreak havoc upon your code.

    148. Re:You can't get there from here. by xero314 · · Score: 1

      who had no real understanding of pointers or how to implement simple data structures I'm not sure what your hang up on pointers and data structures is all about, but my only guess is you either work in a small sector of the software engineering industry that needs to understand these things (Embedded, Real Time, Performance critical, etc.) but for the majority of programmers developing Business Application Software these things are useless overhead that will actually cause more problems than good.

      That last thing you would want from a Java or C# developer is for them to be writing data structures or trying to use pointers (which is one is technically impossible and in the other not not commonly recommended). When you have a developer on a team that thinks they need to write their own data structures it means that they either think they are better than the larger community, or they don't know the provided data structures well enough to know which to use in which situation.

      "Java Schools" are no more or less dangerous that other CS degrees they just have a different focus, all of which is limited and rarely applicable to the real world. But my experience so far is that applicable skills is not necessarily the desired result of education.

      That being said I happen to be one of those people that can program direct Java byte code, but if I was ever asked to do it at a job I would run screaming realizing these people have no clue what they are doing (unless I was working on a compiler obviously).
    149. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      I work in civil service, where bosses usually aren't as crazy as they are in the private sector, and things are nutty here; I can't imagine going back to the private sector... (shudder)

      One day, my boss actually said this to me:

      "A----- was saying the other day that I should never have hired you; he said the last three times I hired someone smarter than me, they all got promoted over me. But I knew you could do the job, and I think things are going to be ok."

      Another day, not far from the first one, he said:

      "You know, G----- hired you over my objections. I thought you were way too experienced for this position, and you made me nervous. But I'm glad he hired you, you're working out nicely."

      Whether he's glad I was hired or nervous about it, and whether he initially opposed my hiring or supported it, seem to be dependent on his mood on any given day. The stories he gives me change all the time. I've been keeping track of them as a sort of hobby (this being a government job, it's not as exciting as it could be). We're DBAs, basically; I do Java development as well, depending on the agency's needs. I'm currently our only experienced Java developer, and I'm managing all our internal servers on top of that.

      I wonder sometimes whether he realizes I have a long term memory, and that it works.

    150. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      Nevertheless, these dipshits have ruined the industry. Jobs that 10 years ago paid $80-100K today pay $40K. I've been in places where only 1 in 10 programmers was an America, the rest were gatecrashers from India, Pakistan, China, and Eastern Europe. The 40B visa business is a pure scam and corporate America will someday discover that they gave the store away. After 20 years in the IT business I no longer get those phone calls or even email acknowledgments when I send in a resume. It's as if I've become invisible. No businessmen believe me when I tell them that I can build as good a firewall as anything out there commercially with a throwaway PC and IPCOP and that with Linux (and black magic) I can eliminate viruses and 99.999% of spam. How can I do that they ask rhetorically when the best minds at Microsoft or Cisco can't. Why should he pay me $90,000 when he can just get another 40b to work for $35,000.

      I'm disgusted with corporate America and looking for another profession, preferably in another country. France anyone?

    151. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      "Heck, those type jobs don't really exist much at all in any field. There is no such thing as a job for life, or a loyal company/employee relationship any longer."

      HA HA HA!

      I work in civil service, pal, as a database administrator. I live in an inexpensive part of the country and I have a job for life (I'm not even an "at will" employee because everything's governed by a union contract and I can ONLY be fired "for cause").

      I:

      * am paid in the mid sixty-K range annually, with extraordinarily good medical, dental, and vision benefits;

      * have a FULL PENSION PLAN which will pay me my salary for the rest of my natural life after I retire (and then, will pay it to my wife for HER natural life);

      * can do deferred comp in addition to my pension, saving up to a million bucks, tax deferred, over the course of my employment;

      * will be up to 70K within five years, and with my next promotion, will be up around 80-85K

      * work 9-5 monday - friday, NEVER work nights or weekends, and get free city parking

      * work with the latest, greatest servers and software, paid for by the taxes you talk about trying to evade.

      Isn't that something? Oh, and...

      * I get about four weeks' vacation annually, plus five personal days, plus fourteen sick days.

      You private industry guys are really something! You live like slaves, and BRAG about it!

      Amazing! Ah, well, at least you're entertaining.

      I leave work in an hour. I'm going to go home and play BioShock. What are YOU going to be doing? Eating cheap chinese food at work, I guess...

    152. Re:You can't get there from here. by Maxo-Texas · · Score: 1

      I messed up his name Marxist. "Les Giblin" is the name.
      Here is a link to some of his books.

      http://www.alibris.com/search/books/author/Giblin,%20Les

      You can find Dale Carnegie books at Amazon or any other place.
      Dale Carnegie:
      * How to Win Friends & Influence People
      * How to Stop Worrying and Start Living

      These are the big two. I found others to be less useful.

      Dale Carnegie has courses too. They are expensive (about $1700) but are life changing. I saw a dozen shy or awkward or mildly anti-social people all grow through incredible growth over the duration of the 12 week course.

      I am introverted myself and found the course very helpful.

      They focus on building confidence, techniques for remembering things, how to hold an enjoyable casual conversation with a new person, and how to talk in front of groups of people. The last is important for this reason-- if you can talk in front of 40 people, you will never find a smaller group as intimidating again.

      Good Luck man!

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    153. Re:You can't get there from here. by temojin · · Score: 1

      I hate posting as an AC, but I don't want to poison my relationship with my Indian friends, should they ever come across this discussion. They're good folk who are coming along with time, even if they don't think and behave like we'd like. I'm not Indian and while I can make a stretch and believe in what you mention - I wouldn't want someone calling me a friend and essentially "talking behind my back" as you did here as an AC. It seems a little disingenuous.
    154. Re:You can't get there from here. by Eli+Gottlieb · · Score: 1

      Even the schools that aren't Java schools don't really do things right.

      I'll tell you the curriculum here at UMass Amherst. 1 semester of intro programming with Java, followed by 1 semester of data structures/algorithms in Java. Then Architecture and Assembly Language (my current course), in which you work your way up from transistors to logic gates to processor units to a whole made-up architecture and ISA called LC-3. The book contains chapters explaining how C constructs map onto LC-3 assembly language, but we don't have enough time to cover them.

      We also get a semester of "programming language paradigms", in which the professors attempt to expose these poor, miseducated students to C, Lisp and Prolog. Upper-level courses of course include such things as databases, operating systems, compilers, etc... And there's a discrete math course in their somewhere.

      Unfortunately, I don't see how you can comprehend compilers or operating systems if you don't have a truly thorough understanding and experience of a language outside Java.

    155. Re:You can't get there from here. by Linux_Bastard · · Score: 1

      Yeah, I've had nothing but trouble from this consulting group.

      http://www.newtechusa.com/ppi/talent.asp

      --
      F X=0:1:9999 F D=2:1 Q:((X>2)&(X#D=0)!((D>X/2)&(X'=1))) I D>(X/2) W:$X>75 ! W X,?$X+5-$l(X) Q
    156. Re:You can't get there from here. by PopeRatzo · · Score: 1

      That's not the only way hard work can lead to failure.

      I watched several men of my father's generation work themselves to death.

      --
      You are welcome on my lawn.
    157. Re:You can't get there from here. by Anonymous Coward · · Score: 0

      Overall, it seems HR depts and the company management teams need to listen to their programming managers and let in a few more low-level workers with well-rounded skill bases.
      Co-op programs and internships sound like the best solution for both problems... are they not widely used for the Software Engineering field?

      As a student at GA Tech, I personally know a few people who worked at Apple, Lockheed, and Electronic Arts as Software Engineering interns multiple times, and perhaps smaller companies need to explore this option (more) also. These programs give the newlygrads some resume material & experience while also testing their working capabilities before really hiring them.

    158. Re:You can't get there from here. by lgw · · Score: 1

      I'm not sure i disagree with you, but why would you want a CS degree to develop Business Application Software? Wouldn't you want a business degree? The actualy coding isn;t really the hard part there 9or, really, anywhere), it's the problem domain.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    159. Re:You can't get there from here. by xero314 · · Score: 1

      With competent analyst there is no need for engineers or developers to understand the domain at all. Physical building architects, engineers and carpenters do not need to know what their space will be used for only what the space needs to be able to do (hold x number of people, etc.). Software engineering should be no different. The fact that you have developers, let alone engineers and architects, with domain knowledge is one of the major factors behind the piss poor software that tends to get pushed out on clients.

      That's a little bit beside the point though. Good software development takes good software developers. Good software design takes good analyst, architects and engineers. Running a successful company takes good business personnel. Yes these can sometimes be the same person but that is usually not the case, end when it is the case it is only on very small projects. Even Gates and Jobs had technical gurus with them when they started their endeavors even though they were fairly knowledgeable about the technology themselves. Jobs had The Woz and Gates had Paul Allen (and eventually brought in a true business guru since that never really was gates strong point)

      Lastly take some time to interview software developers sometime, you will see that even among those dedicated to the industry there are very few that know what they are doing (less than 10% of the perspective candidates are worth considering). If dedicated developers can't be expected to write decent code I don't see how your typical business graduate could.

    160. Re:You can't get there from here. by DrCode · · Score: 1

      Hey! Are you my manager? When I interviewed for my current position (a software engineer in the EDA industry), the interview 'test' was to write a simple singly-linked-list implementation in C on a white-board. When I asked if anyone ever failed this, the reply was that quite a few do, even though their resumes showed several years experience.

    161. Re:You can't get there from here. by lgw · · Score: 1

      Business schools are now starting to offer degrees that include basic programming and DBA training. Really, if you don't need to understand pointers/recursion/data strictures/algorithms, there's only a few semesters of "programming" to learn, which could be part of any degree. With modern high-level languages it's really not that hard.

      If the technical guy who understands the problem domain (let's call him the architect) can describe the requirements and implementation in some combination of UML and English well enogh for a low-level coder with no domain knowledge to code it, then the architect has chosen the wrong languages. If you have an unambiguous description of how to solve a problem, you have a program!

      This is why shops like Anderson have done quite well by hiring business majors and teaching them Cobol (now Java). Clarity of thought and elegance of expression isn't any different between English and code. If you can solve a problem without understanding pointers/recursion/data strictures/algorithms, and you can write well in English, then you can write well in Java.

      It's not that coding of that kind is hard, it's just that most people can't think clearly, and shouldn't have *any* kind of design job. And a coding job that involves no design adds no value, and will be replaced by a better compiler one day.

      BTW, if you've had a hard time finding people who can write business apps well, imagine my frustration in trying to find people who *do* need to understand pointers/recursion/data strictures/algorithms in order to be useful. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    162. Re:You can't get there from here. by xero314 · · Score: 1

      If you can solve a problem without understanding pointers/recursion/data strictures/algorithms, and you can write well in English, then you can write well in Java. I was going to make a legitimate response to the previous comment, but then I read the above line. If you honestly think writing in high level languages is as the same as writing in your native language then you are either one of the few capable of doing both, or ignorant in regards to high level programing languages (my bet is it's some combination of both).

      It's not that coding of that kind is hard, it's just that most people can't think clearly, and shouldn't have *any* kind of design job. There is no reason your coders should be doing design. It is possible to write solid software using Engineers for Design and Developers for coding (even interns if you know what you are doing). I assume that your plumber designed your house, or that your companies salesmen design the building you work in, and that's how you got your impression that all it takes to be an engineer is domain knowledge. Domain knowledge does not mean that you are suitable for designing and building software, and large successful projects (not the ones that are measured by how much VC they can pull in) understand this.

      BTW, if you've had a hard time finding people who can write business apps well, imagine my frustration in trying to find people who *do* need to understand pointers/recursion/data strictures/algorithms in order to be useful. I'm sure it's difficult, but maybe that is because some people in the industry seem to think that business majors are capable of programing computers or after a couple programing course you should be able to design and program software.
    163. Re:You can't get there from here. by lgw · · Score: 1

      If you honestly think writing in high level languages is as the same as writing in your native language then you are either one of the few capable of doing both, or ignorant in regards to high level programing languages If writing in a programming language is harder than writing clear instructions in English (which of course most people can't do in the first place) then that programming language fails to be "high level". :)

      I assume that your plumber designed your house. Most plumbers are technicians, not engineers. They often *don't* have the full domain knowledge of plumbing needed for design, just the subset needed to be a technician. What I'm saying is that "coding technician" is just not a legitimate job. For any modern building design there's an engineer somewhere who signs off on the plumbing design, who's domain knowledge is plumbing (not just plumbing maintenance). Human workes have to translate plumbing designs to reality, but a compiler translates my designs to reality.

      Domain knowledge does not mean that you are suitable for designing and building software, and large successful projects (not the ones that are measured by how much VC they can pull in) understand this. Domain knowledge is a necessary but not sufficient requirement for good design. The (almost innate) ability to design clear solutions to problems is a necessary but not sufficient requirement for good design. The ability to code in some language can just be learned in a few weeks on the job.

      some people in the industry seem to think that business majors are capable of programing computers or after a couple programing course you should be able to design and program software. Good design ability is a combination of an innate ability (call it intelligence or call it something else) and the best practices learned in the 5 years following the first 1-3 years on the job. You can't teach either of those. You can teach domain knowledge, and further, without enough domain knowledge you can only be a plumber, not a plumbing engineer! Which is more useful for a school to spend time on?
      --
      Socialism: a lie told by totalitarians and believed by fools.
    164. Re:You can't get there from here. by xero314 · · Score: 1

      The following statement contains broad generalizations which just happen to be accurate more often than they are not.

      This conversation has shown were Software Engineers and Computer Scientist differ. Computer Scientist are arrogant with there heads in the clouds thinking that they have some sort of innate ability yet can't convert domain knowledge into a requirement that can be implemented by a skilled a competent coder. Software Engineers on the other hand realize that with some process and basic engineering principles the domain knowledge can be distilled to a point that the implementation can be handled by the software industries equivalent to craftsman and technicians. Analysis, Architecture, Engineering and Implementation are four independant major components of any substantial project, no mater what the domain. Sure one person can handle all four tasks but this would be both a waste or resources, as each takes becomes sequential, and normally means using a person who's better suited at some of the tasks and weaker at others. Engineering principles and Best practices can be taught just as well as any other skill, they just can't be taught by a scientist, but this is of course why all definition of Scientist reference knowledge not ability. Simply put, Engineers want things done correctly and efficiently, while scientist want it done their way. This is why it's easier to turn a Computer Engineer into a decent programer, even though they learn very little, if any, programing in their education, than it is to turn a Computer Scientist into a programer at all.

      Learn to give up a little control and you will see you can produce better products with less resource expenditure.

    165. Re:You can't get there from here. by lgw · · Score: 1
      While job titles are very inflated these days, in my terms:
      • Analyst: determines the marketing requirements
      • Architect: translates marketing requirements into engineering requirements.
      • Engineer: translates engineering requirements into a design.
      • Coder: translates a design into code.

      The last three are a progression. Being a coder requires no understanding of the problem domain, and during the first few years of your career as you learn the field this is fine, but that work output just isn't very valuable.

      An architect clearly has to understand the problem domain well.

      An engineer IMO needs a blend of problem domain and programming understanding. Just as it's easier to code a solution directly than to try to write a design so formally and correctly that a poor programmer will get it right, it's easier for an architect to create a design directly that to generate engineering requirements so formally and correctly that an engineer with no understanding of the problem domain will get it right.

      An engineer must understand the problem domain to add any real value, and it's no harder to learn to code than to learn the problem domain, if "learning to code" doesn't include pointers/recursion/data structures/algorithms. If the problem domain is the underlying infrastucture of the software itself (OS, file system, language, clustering, networking, virtualization, etc), then a "real" CS degree is just the thing, as all those classes that teach pointers/recursion/data structures/algorithms will be needed.

      If the problem domain is not the software infrastructure, how is it not more useful to dump the teaching of pointers/recursion/data structures/algorithms for the teaching of the problem domain?
      --
      Socialism: a lie told by totalitarians and believed by fools.
    166. Re:You can't get there from here. by xero314 · · Score: 1

      Slashdot is not a place for me to teach engineering principles. Study engineering, any kind, be it electrical, mechanical, structural or even civil then come back once you understand what engineering is. If you are working in systems that are performance critical enough to need to use a language that uses pointers and you have a need to write custom data structures because you can't use a common library then continue to seek out people with those skills, or sharpen your assembly and machine code skills to write truly efficient applications (or design a cpu that has a native C interpreter). If you are working on business applications or otherwise using common libraries then stop wasting your time on hiring people who understand pointers and recursion as it tends to get you programers that don't understand how to do anything without reinventing the wheel. Beyond that I'm serious when I say take a look at the basic engineering principles used in every other field of engineering, you will end up being able to run or be part of far more efficient teams and develop better software faster. At least read Brook's Mythical Man Month, that would be a start.

  3. Job Growth Doesn't Answer This by Anonymous Coward · · Score: 5, Insightful

    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.

    1. Re:Job Growth Doesn't Answer This by pclminion · · Score: 1

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

    2. Re:Job Growth Doesn't Answer This by SpaceLifeForm · · Score: 2, Funny

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

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Job Growth Doesn't Answer This by fractoid · · Score: 2, Insightful

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

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    4. Re:Job Growth Doesn't Answer This by bigpat · · Score: 1

      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. Pick "something you love"? That usually ends up being your spouse and your children, and once they come first then making a living (money) comes first. Sure, if you plan to lead a single life and don't care about your own well being, then pick something you love irrespective of income potential. Otherwise pick someone you love and something you are good at that can pay the bills.

      You can have a hobby and sometimes your hobby will even become a lucrative thing. But you should go into anything with a full view of what it takes to be successful and how likely that is. Much better than projections about future employment, is to look at the previous trends and current job situation. See where the jobs are and what the trends have been the last few years. Doesn't mean the trend will continue, but it is a good place to start planning.

  4. Right conclusions, incoherent reasons by autophile · · Score: 4, Insightful

    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

    --
    Towards the Singularity.
    1. Re:Right conclusions, incoherent reasons by Marxist+Hacker+42 · · Score: 1

      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.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    2. Re:Right conclusions, incoherent reasons by Anonymous Coward · · Score: 0

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

    3. Re:Right conclusions, incoherent reasons by WPIDalamar · · Score: 1

      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.

    4. Re:Right conclusions, incoherent reasons by Anonymous Coward · · Score: 0

      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.


      Or in a basement, for that matter.

  5. The profession's fine, if you're good. by cduffy · · Score: 5, Insightful
    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.
    1. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 5, Insightful

      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.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    2. Re:The profession's fine, if you're good. by Anonymous Coward · · Score: 0

      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.

    3. Re:The profession's fine, if you're good. by Joebert · · Score: 5, Funny

      I got in it for the chicks.

      --
      Wanna fight ? Bend over, stick your head up your ass, and fight for air.
    4. Re:The profession's fine, if you're good. by timeOday · · Score: 1
      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?

    5. Re:The profession's fine, if you're good. by darrint · · Score: 2, Insightful

      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.

    6. Re:The profession's fine, if you're good. by Elfboy · · Score: 1

      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.

      --
      * We dance where angels fear to tread *
    7. Re:The profession's fine, if you're good. by Anonymous Coward · · Score: 0

      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.

    8. Re:The profession's fine, if you're good. by rossifer · · Score: 5, Insightful

      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
    9. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      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.
    10. Re:The profession's fine, if you're good. by king-manic · · Score: 1

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

      That depends entirely on whom your applying with.

      --
      "There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy."
    11. Re:The profession's fine, if you're good. by king-manic · · Score: 1

      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.

      --
      "There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy."
    12. Re:The profession's fine, if you're good. by pclminion · · Score: 1

      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.

    13. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      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).
    14. Re:The profession's fine, if you're good. by fractoid · · Score: 1

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

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    15. Re:The profession's fine, if you're good. by Binder · · Score: 1

      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.

    16. Re:The profession's fine, if you're good. by YU+Nicks+NE+Way · · Score: 1

      writing a virus to control a 50,000 node botnet isn't experience I don't think I agree with this. Under the right circumstances, almost any top software company would absolutely snap up someone who'd written an effective and stable worm toolkit.
    17. Re:The profession's fine, if you're good. by typidemon · · Score: 2, Insightful

      I've interviewed kids who haven't even finished University and you can tell that they are going to be fantastic. Kids with amazing observational skills, aware of small differences and really eager to learn how to do things right. They are the people that get gigs straight out of uni and have the world open to them.

      Unfortunately, most of the people on the job market are deadshits.

    18. Re:The profession's fine, if you're good. by jalmond · · Score: 2, Insightful

      I agree with rossifer.
      In actuality, there are plenty of companies that aren't looking for experience, but are looking for raw ability. Heck its in Google's hiring charter "we value ability over experience". My company is the same and so are plenty of others. When I'm interviewing candidates, I'll choose a kid who quite clearly is a good problem solver, has solid engineering fundamentals, and comes from a good university over a guy with a mile long resume any day.

      In my experience, if a company is looking for a mile long resume there are two scenarios present: 1. They are looking for a high level position, that an entry level guy isn't qualified for, or 2. the hiring managers are idiots themselves and won't be able tell what a good software engineer would look like so they have to compensate by relying on an inflated resume.

      As an entry level guy trying to find his first job, you really don't care about scenario 1 or 2. Your not qualified for scenario 1 and you don't actually want scenario 2.

      Instead what you should look for are companies that innovate, ones that have a strong tech department in the first place. Because the companies that don't are looking to hire a monkey to do monkey jobs. And if you really have the chops to be a good software engineer, then you don't worry about the monkey jobs - let them go to India, or the moon for that matter. Companies that you WANT to be mentoring you are the same ones that will be able to recognize your talent and ignore your thin resume.

      --
      Travature.com: Hello...World
    19. Re:The profession's fine, if you're good. by rm999 · · Score: 1

      For college students, experience means projects. Take as many project classes as you can, because in interviews for your first full time job (entry level positions), you WILL be asked about what team projects you have done. It is the academic version of work experience. A benefit is that it's hard to get anything worse than a B+ in a high level project class (and GPA helps to get a first job). Project classes are also more fun (e.g. most decent universities have a video game class). I'm sure independent projects are just as good, but they take a lot more work IMO.

      I have found summer internships rarely are good enough. Almost no one trusts an intern with anything worth showing off about in an interview for a full-time position.

    20. Re:The profession's fine, if you're good. by SQL+Error · · Score: 1

      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.
      Yeah, one year of experience, 15 times. I've dealt with my share of them too.
    21. Re:The profession's fine, if you're good. by SQL+Error · · Score: 1

      Right.

      There is a huge and ever-growing demand for good programmers. The supply of such programmers is, while not fixed, certainly some sub-linear function of CS graduates, possibly the square root.

      If you're turning out 100 CS graduates a year from a given population, 10% will be great, 20% good, 50% adequate, and 20% terrible. Because there's a self-selection process where people who like programming and are good at it are most likely to study it.

      But if it's seen as the easy way to make money and you're churning out 10,000 graduates a year, you'll find that 1% are great, 2% good, 5% adequate, and 92% terrible. If we're not there yet, that's where we are headed.

    22. Re:The profession's fine, if you're good. by sauge · · Score: 1

      That's what airplanes and local offices full of L-1 visa holders are for.

    23. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      That's the point where networking is useful. Knowing the right people (and being someone they think of when they're looking for someone with skills) is a much better way to get your foot in the door than resume polishing.

      That said, you understate the amount of money one can make as a skilled kernel hacker. Seriously. I'm not one, but I know one of Linus's lieutenants -- not a household name among end-users, but very, very good at what he does -- and damn does he bring in the money.

      (You also underestimate the amount of money one can make doing open source. The startup I work for is paying a guy who maintains a project we use for some of our infrastructure for bugfixes and extensions and a fixed monthly retainer for general support above and beyond what's generally available to the community -- his software touches confidential data, so anonymizing everything to go through community-based support channels would be more trouble than it's worth. He's working pretty cheap, from our perspective (which is good, because we're cash-poor) -- but you add up all his other consulting clients, and he's making a pretty nice living doing something he likes).

    24. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      That's what airplanes and local offices full of L-1 visa holders are for.
      To be sure -- but all of that is expensive. If you're running a large-enough-scale project, that overhead pays for itself -- but if you have a good enough team (and a tight communications loop with the customer is a force multiplier with respect to "good enough"), you can avoid needing so many people that the overhead costs involved in long-distance project management are balanced out by the per-headcount savings. Remember the whole axiom about the value of a good programmer scaling at a higher rate than their cost-to-hire? For many classes of project, a small, highly-skilled, local team is the way to go... and those projects are more likely than average to overlap with those which a highly-skilled individual would want to work on in the first place. Win/win!
    25. Re:The profession's fine, if you're good. by fractoid · · Score: 1

      That's the point where networking is useful. Knowing the right people (and being someone they think of when they're looking for someone with skills) is a much better way to get your foot in the door than resume polishing. Exactly. I got my first full time job at the worst of the post-dot-com slump. I got it because my robotics lecturer forwarded a heads-up that an old friend of his was looking for a multitalented researcher. So I got an interesting full time job for three years while most of my friends stayed on to do their PhDs for lack of other career options. They're only now leaving uni, while I've had time to quit, travel, come back home and ho boy, do they need developers again. Seems that for the last 5 years, no-one's been studying computing... :P
      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    26. Re:The profession's fine, if you're good. by Tablizer · · Score: 1

      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.

      But remember it also drags down the pay for the entire industry. The best are payed what the merely good used to get, and the merely good get paid what the bottom used to get, and the bottom are gone. Its a race to the bottom.

    27. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      The best are payed what the merely good used to get, and the merely good get paid what the bottom used to get, and the bottom are gone. Its a race to the bottom.
      Mostly true, though the best still make mad phat cash. That said, I'm not the best (I know only one person in that category; he lives in a Tokyo penthouse paid for by his employer) -- I'm merely good, and my present salary is indeed equivalent to starting pay for a full engineer with my old employer during the boom. (That said, this is Austin and that was Sunnyvale; it goes quite a bit further here).

      But then... if you're getting to do something you love, and making enough to feed your family, isn't that good enough?
    28. Re:The profession's fine, if you're good. by Grampa · · Score: 1

      I fully agree. I got into programming when the experts were warning against it: 1985. It was a bad year, but then one professor told me parenthetically: but if you're good you'll always have work. I always did except for the end of 2001 when I needed a mental break anyway.
      This discussion also reminds me of the saying back in the 80's recession days: if you have a job it's a recession, if you don't it's a depression. It depends on perspective.
      So should someone get into this field or not? There are lots of professions that totally suck, but some people thrive in them, because that's what they love to do and even feel compelled to do. That's the way I feel about programming, and that's why I've been in the field for 22 years now.

    29. Re:The profession's fine, if you're good. by Anonymous Coward · · Score: 0

      If you're good, there's plenty of work. I have to disagree with this generalized comment. Through several jobs I've worked with a lot of these "good" developers. I've been on both sides of the hiring line. Being "good" is not all that's required to get hired. In some cases it's a hinderance.

      For a lot of companies they are hiring a specific "need". In many places the people who actually control the hiring don't fully understand the skills themselves. From HR conducting interviews to people who are in a job and don't want someone coming in showing them up just being "good" isn't going to cut it in a lot of cases.

      Talk over ability usually triumphs. If you can talk the talk you WILL get hired in a lot of cases. I was part of a group hiring a Project Manager for a consulting company. We were interviewing someone who had taugh Project Management for several years and could lead you through project management with ease and knew all the terms and standard "gotchas". During the interview it was very apparent that while they could competently talk about Project Management all day based on what was in the books they did not know how to actually manage a project. This was for a large project so the ability to actually manage it was critical. The majority of the other interviewers raved about how good this person was and how they were ideal for the position, for the sole reason being that this person could talk competently about Project Management. No where did their questions even touch upon actual ability. Experience with something does not always equate to the competence with something.

      There are several companies that do look for competence over talk and experience. There are many, many more that don't. How many programmers, systems analysts, etc. have you worked with that have recommended against something because they, as an unstated reason, didn't know the approach or technology being suggested?
    30. Re:The profession's fine, if you're good. by Anonymous Coward · · Score: 0

      Yes, but even the poultry industry has suffered recently

    31. Re:The profession's fine, if you're good. by cduffy · · Score: 1

      From HR conducting interviews to people who are in a job and don't want someone coming in showing them up just being "good" isn't going to cut it in a lot of cases.
      Yes, but screw HR at those places. There are plenty of employers out there who don't have their heads up their asses, and they're likely to be better places to work anyhow -- not to mention that companies which get hiring right are ones which are more likely to succeed, all other things being equal. (That said, having good communications skills is part of being good at what you do; if you can communicate effectively and come off as knowledgeable but not overly arrogant, that's going to make you more effective at the parts of your job that involve face-to-face communications... and those are the parts that are harder to outsource, so being good at those things is a win).

      I said "there's plenty of work", not "you can have any employer you want". They're different propositions.
    32. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 1

      Not everybody is independently wealthy enough to endure startup economics or working for free for the 5 years or so to cover the experience gap. Be glad you had mommy and daddy paying your bills.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    33. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 1

      I've interviewed kids who haven't even finished University and you can tell that they are going to be fantastic. Kids with amazing observational skills, aware of small differences and really eager to learn how to do things right. They are the people that get gigs straight out of uni and have the world open to them.

      Yes, but given the choice between an American who fits that profile and paid $40,000 for his diploma, and an Indian who fits that profile and paid $4,000 for his diploma, which are you going to hire and how are you going to justify that choice to your stockholders?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    34. Re:The profession's fine, if you're good. by GWBasic · · Score: 1

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

      I've found that, "if you're good", there's pleny of people willing to pay you to cater to their whims and daydreams. "If you're good", you might be employed, but that doesn't mean your creative energies will be put to best use.

      If you're really good, you can figure out a way to make a living by creating something of value. Sometimes this entials doing as you're told, other times this entails taking a risk without a garuntee of any pay at all.

      People who are truly good don't need a job to tell them what to do; they can create things of value on their own initiative, and figure out how to not get screwed in the process.

    35. Re:The profession's fine, if you're good. by Rakishi · · Score: 1

      Not everybody is independently wealthy enough to endure startup economics or working for free for the 5 years or so to cover the experience gap. Be glad you had mommy and daddy paying your bills. Yeah god forbid you have to live frugally for a few years.
    36. Re:The profession's fine, if you're good. by GWBasic · · Score: 1

      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.

      Only bad programmers need a job for experience. I created my "half a chance" on my own initiative:

      1. I self-taught myself basic programming by playing with GWBasic writing simple calculators, games, animations, ect, when I was in Junior High School.
      2. When I was in high school, I took a few programming classes, won a programming competition, and ran a highly-customized dial-up BBS.
      3. In college, I took challenging classes and got As on about 80% of the programming-based homeworks. (I struggled through classes on theory...)
      4. In college, every summer I had an internship that involved programming.
      5. After I graduated, I took some time to gain experience by writing software on my own time, on my own dime.
      6. I still continue to write software, for learning purposes, outside of my employment.

      I've always been able to list experience from personal work on my resume.

      All of my oppertunities are still available to "the ignorant young guys who might have become good programmers if given half a chance." While some of the technologies have changed, (Visual Basic.Net instead of GWBasic, blogs instead of dail-up BBSs,) the oppertunities still exist.

      I've worked with people who suddenly decide that they want to become a Software Engineer, and expect to be given some kind of a yellow-brick-road to follow to riches. It just doesn't happen! Becoming a great software engineer is a life's calling, and takes a life's dedication.

    37. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 1

      Yeah god forbid you have to live frugally for a few years.

      If you're in the Silicon Valley and making less than $36,000 a year, you're going to be living on the STREETS for a few years.

      Alternatively, if you're working for a startup and it ends the same way my first startup did, with the C-level executives skipping town and leaving, on average, $10,000/head salary unpaid, it won't matter where in the United States you live.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    38. Re:The profession's fine, if you're good. by Rakishi · · Score: 1

      If you're in the Silicon Valley and making less than $36,000 a year, you're going to be living on the STREETS for a few years. Christ, you people really don't know how to live frugally. Let's see now:
      -Rent: $600 a month. Either you have a roommate, rent a room or are somehow very lucky. For $1k you can probably manage to get a studio.
      -Utilities: $50 a month
      -Food: $300 a month (it's called cooking).
      -Car: It's called a bike or bus.

      comes out to $1k/months for living expenses. $12k a year to survive with a roof over your head. $20k and you live somewhat decently.
    39. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 1

      -Rent: $600 a month. Either you have a roommate, rent a room or are somehow very lucky. For $1k you can probably manage to get a studio.

      Not in the Silicon Valley. Yes if you're willing to live about 700 miles north of there, but not in the Silicon Valley.

      -Utilities: $50 a month

      In California in the Summer? Maybe if you like heat stroke or never sleeping.

      -Food: $300 a month (it's called cooking).

      This one I'd agree with.

      -Car: It's called a bike or bus.

      And this one. But your rent is more likely to be closer to $3k/month for a studio alone, and utilities will run you closer to $400. Call it $4k to live decently- $48,000/year.

      You, of course, are correct if you live in Utah....

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    40. Re:The profession's fine, if you're good. by Rakishi · · Score: 1

      Not in the Silicon Valley. Yes if you're willing to live about 700 miles north of there, but not in the Silicon Valley. I live in silicon valley. Tons of rooms for under $500/month and tons of larger places where each roommate would pay under $500. Hell I rented such a room for the whole summer.

      In California in the Summer? Maybe if you like heat stroke or never sleeping. Well apparently you never lived in the bay area. See unlike places north of it the bay area has a rather nice climate which keeps it bearable during the whole year. You're at work most of the time anyways so it doesn't matter and fans are more than adequate the rest of the time. Likewise nights are either cold or freezing the whole year round, I nearly froze to death when the heating wasn't turned on properly during half the winter (college so they didn't care to fix it).

      And this one. But your rent is more likely to be closer to $3k/month for a studio alone, and utilities will run you closer to $400. Call it $4k to live decently- $48,000/year. Many of the one bedroom apartment in the bay area are under $1500 including nice ones.

      I live in the bay area. My living expenses right now come out to maybe $22k per year and I'm far from frugal (no need to be excessively so, mostly I'm trying to save up for some in case I need it in the future so I'm living well below my means). That includes a decent one bedroom apartment and eating out much of the time.
    41. Re:The profession's fine, if you're good. by Shajenko42 · · Score: 1

      I've always been able to list experience from personal work on my resume.
      More and more companies are listing ads that specify "full time paid work experience" only.

      Seems your way in doesn't exist anymore.
    42. Re:The profession's fine, if you're good. by billtouch · · Score: 1

      I have been around since the IBM 360 days and have seen many changes in the business. My first language was Cobol. I then moved to IBM 360 assembler, and through contacts from the computer companies, I learned about Snobol, Icebol, Algol, Jovial, Fortran, etc. I used to call myself a programmer. In the late 70's to a startup Micro computer store (yes - the Imsai 8080). There I found Basic along with a new assembly language followed by the Apple machine with yet another assemply language. By then I simply called it machine language. C and Pascal surfaced and I was in heaven. I found communications which started a specialization that continues today. Then it was serial (Start-stop) and BiSync (2780, 3270). Now we have IP and all that entails. What companies want is someone who can get the job done. Especially if something unusual comes up and you need innovation.

      Over time, I discovered that what I do is engineering. More specifically, embedded engineering. Over the years I have followed that which interests me. I am giving that advice to my children. If they have a love of whatever they choose, they will get good. If they cook hamburgers, and they love it, they will have the best hamburgers ever. If they design web pages out of love, it will show. The customers will follow. If they design an embedded system for a high end router, that too will be good.

      There is no competition for one who loves what he does. If you dread going to work, that will show in your product. Most of the off shore folks don't have that love, passion for what they do. They won't be able to get the job done at $10/hr or $2.50/hr. You will still get your rate.

      I have been a contractor for the past 21 years. I am in no danger of loosing my job to the offshore crouds.

      Bill

    43. Re:The profession's fine, if you're good. by Marxist+Hacker+42 · · Score: 1

      If you think that a kid willing to beat out 98% of the population of the second most populous country on earth to get one of 4000 seats in a high tech school, then beat the odds to get an H-1b visa, doesn't have a passion for technology...then I can't break through that level of denial, and in fact refuse to try.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  6. Science vs. "The internet" by Hacksaw · · Score: 4, Insightful

    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.

    --

    All the technology in the world won't hide your lack of vision, talent, or understanding.

    1. Re:Science vs. "The internet" by AbbyNormal · · Score: 1

      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.

      --
      Sig it.
    2. Re:Science vs. "The internet" by ucblockhead · · Score: 1

      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.

      --
      The cake is a pie
  7. True, but is it the right question? by Loopy · · Score: 4, Insightful

    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

    1. Re:True, but is it the right question? by dgris · · Score: 5, Interesting
      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.
      --
      All I needed to know in life I learned from /usr/man.
    2. Re:True, but is it the right question? by copdk4 · · Score: 1

      what if we discover or invent an alternative for software? say for example, "neuro-self-programmable-semantic-object" machine that understands all requirements, data, processes etc and generates the relevant code? then what happens to all the programmers?..can we all then just go back to jungles..and let the bussinesses run themselves.. i know its very hypothetical but nevertheless a possibility..

    3. Re:True, but is it the right question? by nametaken · · Score: 1

      Not to mention this demand is increasing the cost of useful coders in those countries already. India is not nearly as cheap as it used to be, and it's only going to get worse. Besides which, many argue that India managed to create the right workers at the right time, with the right economic focus. I've heard many say that we're unlikely to see another talented workforce like India's emerge in the near future, even as the cost of doing business with them increases. Not even in China.

    4. Re:True, but is it the right question? by dch24 · · Score: 1

      Well, your NSPSO needs an analyst, a consultant, an engineer, an intern, and a secretary for good measure. Fortunately, NSPSO Project 2037 makes Pointy-Haired Bosses obsolete. So don't invest in the Harvard Business School in 2036.

      In all seriousness, NSPSO's would still need to be debugged. They would need to be tested on the new Apple iThinkThereforeIam designed by the Microsoft NSPSO v1.0 in Jobs' office. Someone would have to explain BusinessSpeak in terms an NSPSO could understand, and since BS 2007 is completely different from BS 2002, I am extrapolating that BS 2037 will be an entirely new language unrecognizable by anything from 2007. It will probably have thousands of new TLA's, but the BS NSPSO 2038 will be the killer app that every business buys. From SCO.

    5. Re:True, but is it the right question? by Tablizer · · Score: 1

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

      Yes and no. It benefits non-globally-targeted careers at the *expense* of globally-targeted careers. Maybe your programming job going overseas created both a position for a new Walmart greeter and an insurance salesmen, a net gain of jobs. However, your programming job is still gone. The "laws" of free trade may maximize GDP, but that does not mean the benefits will be distributed equally. And it may also reduce stability. Adam Smith didn't have the math to study stability.

      One reason medical costs are so high is that the certification process favors citizens and domestic drugs because different countries have different medical rules. (But that may change.)

    6. Re:True, but is it the right question? by Anonymous Coward · · Score: 0

      what if we discover or invent an alternative for software? say for example, "neuro-self-programmable-semantic-object" machine that understands all requirements, data, processes etc and generates the relevant code? then what happens to all the programmers? In that case, the programmers welcome their new ultra-futuristic AI overlords. Duh!

      You've sketched out a total fantasy there, something which remains stubbornly beyond the grasp of the most sophisticated processing systems we've got right now (the brains of very smart people). As such, I'm not going to worry about it.
    7. Re:True, but is it the right question? by Doctor+Faustus · · Score: 1

      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.
      You're talking about basic personality type differences. On the Meyers-Briggs scale, you want ?N?? people, or in basic terms, people who prefer thinking about abstractions to thinking about concrete things. Software *is* abstraction.

    8. Re:True, but is it the right question? by DuckDodgers · · Score: 1

      If you read the parent post more closely, he's speaking of a non "zero sum game" in terms of software creation. There is not a finite demand for good software. New companies open, new business models are discovered, new requirements are added, new devices are created with new software tools for controlling them. More games are created, more tax software is created, more music libraries, more operating systems, more everything.

      It's still much cheaper to employ an Indian software developer than an American - but you pay much more for the fellow in India or Chinda today than you did five years ago. As demand keeps increasing eventually they will be no cheaper than an American.

      The market definitely does suck in the short term, and I don't mean to downplay the terrible experiences of people whose jobs were outsourced. My previous employer farmed my job out to India, and while I have nothing personal against the people who replaced me, the experience was terrible.

      But as India and China's economies grow by leaps and bounds, the demand for their own software developers continues to increase. Eventually they won't be substantively cheaper to employ than we are in the US and Western Europe. Then job opportunities will get better and better for all of us until there's another short term dip because of a new cheap economy opening up - perhaps Africa. And again, the resulting reduction in demand will only last until the new territory's native economy starts catching up with the rest of the world.

  8. Programmers are uselessn by Anonymous Coward · · Score: 1, Insightful

    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.

    1. Re:Programmers are uselessn by Anonymous Coward · · Score: 0

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

    2. Re:Programmers are uselessn by dbIII · · Score: 1
      The problem is employers are after people with very narrowly focused vocational training instead of education. The focused training is good for a year or two until something happens like VB changes from a pascal clone to a java clone. Meanwhile seemingly completely irrelevant stuff like learning how to optimise programs for analogue computers (only ever saw one and wasn't allowed to touch) can have suprising benefits when you use the same techniques on other stuff.

      Education is good for you over time becuase you can work out how to do stuff - training is good for the employer now and if they have short term contracts it may be good for them forever as they hire and discard staff. For anything really new or difficult that won't help - they'll need someone able to do things outside of the narrow training and preferably someone with experience in similar things or the ability to find out what people did in similar circumstances.

      We've hit the point the manufacturing industry had - you really only need engineers and scientists when you want to do something new and not when you all following standard operating proceedures. This can apply to CS as well but the people with a narrow vocational focus are going to get seriously screwed if they can't pick up some background along the way because things change relatively quickly.

  9. Entire IT industry by nurb432 · · Score: 2, Insightful

    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.

    --
    ---- Booth was a patriot ----
    1. Re:Entire IT industry by Anonymous Coward · · Score: 0

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

    2. Re:Entire IT industry by Anonymous Coward · · Score: 0

      I hope you're right about the support industry. It's disturbing when people don't know how to use computers or fix and maintain them (especially young people). How do they surf for porn?! That's the barest functionality anyone can get out of a computer.

      Other than that, all this bad talk about ignorant programmers is unwarranted. In my opinion they'll always be a half-step above other users on the short bus. At least when they talk about software they'll know words like compiler, source, array, etc. Granted they'll use them while babbling incoherently, like a parrot, but at least they wont use "tube" analogies.

      Throwback programmers will still make good replacements for tomorrow's management. (a job that requires neither logic nor problem solving - could there be a better match?) ...and I for one welcome our new programmer/manager overlords

  10. Jobs Exist by kmsigel · · Score: 5, Insightful

    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.

    1. Re:Jobs Exist by Anonymous Coward · · Score: 0

      I agree with kmsigel. Ever since actively looking for work last fall (the first time I did so in 6 years) I have been getting constant emails from recruiters asking if I am available or know of someone of my caliber who is. As a web programmer (I see my work as software engineering for the web; I started in desktop software many years ago and moved into the web 10 years ago) I have worked with plenty of people who call themselves developers, engineers or designers. Many of these people simply grabbed hold of the train when it stopped in the station and could easily have been doing something completely different had it not, while others are born problem-solvers, who will stay up all night for weeks if necessary to fix the most mundane of problems just for the challenge of it. Among the former I've seen plenty of impatient attitudes, boredom, inability for persistence and sloppy work. I seem to be among the latter, for better or worse.

      I think if you really cannot help but try to solve problems, can adapt to new paradigms and technologies and are at bottom just trying to make technology useful for others, you will never be long for looking for work. However if you simply want to pick from a list of employment opportunities and are simply responding to the advice that one or another profession is slated to do well without your having a love for it, then I think you should stay out of programming or engineering as it will probably become very boring and you probably won't be very good at it and therefore no one will pay you for your time and lack of effort.

    2. Re:Jobs Exist by jstott · · Score: 1

      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.

      I've seen lots of posters spew this out today, but as someone who's been on both ends of the interview I say its bullshit. It doesn't matter whether you're good or not - what matters is whether other people think you're good or not. I've seen jerk-offs with good reputations get hired (and regretted). I've also seen very good people go begging for jobs because they'd worked in an obscure corner for a while and no one on the outside knew what they were capable of.

      In the end, being well known trumps being good at your job every time.

      -JS

      --
      Vanity of vanities, all is vanity...
    3. Re:Jobs Exist by Anonymous Coward · · Score: 0

      yeah, so you can build masterpieces like these: http://www.cafepress.com/phototravel

  11. Yes, you are a fool by mi · · Score: 5, Insightful

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

    --
    In Soviet Washington the swamp drains you.
    1. Re:Yes, you are a fool by Anonymous Coward · · Score: 0

      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. I'll keep at it, though!

    2. Re:Yes, you are a fool by Jonboy+X · · Score: 1

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

      "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
    3. Re:Yes, you are a fool by bogjobber · · Score: 1
      Yes, you are a fool 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.

      What if you love to make money? Seriously. I've never had a job that actually satisfied me, so why not take the one that gives me the most money to play with when I'm not at work? Unless of course someone wants to pay me 80k a year to play guitar and snowboard. If that's the case, show me where to sign.

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

      Not everyone can make a lot of money, even if they are extremely good at what they do. Thankfully you seem to have a job that you enjoy and that brings in a lot of money, congratulations. But it is arrogant and just plain moronic if you think that everyone can find a satisfying job that makes a lot of money. How naive can you possibly be?

    4. Re:Yes, you are a fool by mi · · Score: 1

      Well, if you are really good at playing guitar, how come your singles aren't on display at music stores and $80K is your target of annual salary? Or, maybe, your snowboarding skills are impressive enough to get you gear-endorsement contracts? Winter is coming, set your sights waaay above $80K...

      Yes, out of the things you love doing, one has to pick something reasonably useful. But if nothing comes to mind, then one really is stupid and/or waste of material, as I initially stated...

      Thankfully you seem to have a job that you enjoy and that brings in a lot of money, congratulations.

      Thanks. I wanted to program since I was 12 or thereabouts — because my dad managed to impress me with how cool it is — and I was quite determined ever since (a couple of decades, actually). Maybe, that's just my luck, that the profession feeds and clothes me well. Or, maybe, it is the many hours and years I spent at it — doing open-source things in the evenings and weekends. It is not "hard work" — I'm very lazy. It is because I genuinely love it, so doing it (within and without the paying hours) is coming (almost) entirely out of the entertainment budget (of time).

      Of course, my own reasonable success tints my vision pink. But I'm yet to meet a person born-and-raised in this country (immigrants are often impeded by coming here late), who loves what they do and is not well-off...

      --
      In Soviet Washington the swamp drains you.
    5. Re:Yes, you are a fool by Anonymous Coward · · Score: 0

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

      And we all chime in on the chorus.

      Seriously, in IT, what I've observed is that if you do things merely half-assed competent but have good social skills with Senior Management you'll earn a lot more.

      As for me, I love what I do intensely, am generally considered by my peers to be a major-level Guru, and the last 3 jobs have each paid less than the one before. Which, admittedly, is still a comfortable income for my modest needs, but a trend I sincerely hope to reverse soon.

  12. tea leaves and biz speak by bzipitidoo · · Score: 2, Interesting

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

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    1. Re:tea leaves and biz speak by king-manic · · Score: 1

      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.

      --
      "There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy."
    2. Re:tea leaves and biz speak by Anonymous Coward · · Score: 0

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

    3. Re:tea leaves and biz speak by ucblockhead · · Score: 1

      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.

      --
      The cake is a pie
    4. Re:tea leaves and biz speak by phantomfive · · Score: 2, Insightful
      It's pretty simple, really. How many jobs have you applied for? Two? Three? If you are serious, you will probably have applied for ten or more. If everyone is applying for ten or more, then every employer will receive a lot of applications, but there will be a lot of duplicates. Three applications is not very many.

      As for why you weren't picked, there are a couple possibilities:
      1. You are just not very good. In this case, the solution is simple (if not easy). Join an open source project, start your own, or do whatever it takes to get better. Maybe just reading through some guides like a zillion monkeys or even Joel. Programming is a skill, and can be developed.
      2. Someone else who applied was better. Whatever, it happens no matter how good you are. Move on, apply somewhere else.
      3. You have bad interview skills. It happens. Read What Color is Your Parachute
      There are so many companies desperate for programmers out there, you too can find a job. It's just a matter of learning how to do it.
      --
      Qxe4
    5. Re:tea leaves and biz speak by JoshHeitzman · · Score: 1

      "Higher paided ones are less plentiful and they are usually require you live in very expensive places to live." - this is definitely a problem. In many tech areas, tech salaries don't allow the average techy to live well due to the high cost of living and annual raises are not keeping up with local price increases so the average techy actually feels poorer every year.

      --
      Software Inventor
    6. Re:tea leaves and biz speak by jstott · · Score: 1

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

      "Shortage" also can be translated "everyone we interviewed expects to be paid at the at least 80% of industry standard"...

      Part of the point of all these "occupational needs" surveys is to attract people into fields now, before demand starts pushing wages up. The government's been putting out these studies for traditional engineers since the Sputnik era, and the projected numbers have usually proven, over time, to be high by a good order of magnitude.

      JS

      --
      Vanity of vanities, all is vanity...
    7. Re:tea leaves and biz speak by Anonymous Coward · · Score: 0

      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. [...] 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?

      I asked my friend to roll a die today. He said it came up six.

      So I asked, why did it come up six so quickly? If it's really random, shouldn't it only come up six every six rolls?

      So, is my friend a liar, or am I a prideful idiot who's trying to draw unsupportable conclusions about a complex system from a single datum?

    8. Re:tea leaves and biz speak by lophophore · · Score: 1

      in biz speak, "shortage" of resources means they can't find enterprise-capable Java programmers who will work for a $50,000 salary, which is probably more than what they would pay for a H1B employee.

      But then again, when they have populated their development teams with the cheapest labor they can find, they should not expect schedule or quality goals to be met. Like anything else, you get what you pay for.

      --
      there are 3 kinds of people:
      * those who can count
      * those who can't
    9. Re:tea leaves and biz speak by Anonymous Coward · · Score: 0

      I'm a H1B employee, second year after school, and I make $90,000. Any other questions?

    10. Re:tea leaves and biz speak by bzipitidoo · · Score: 1

      I think 3 is pretty good for the time the position was open, which was all of 3 business days. I don't know whether the position was widely advertised, but I think not-- think the employer called a few recruiters and nothing more. And, not to be immodest, but I'm no marginal bottom of the barrel inexperienced recent grad. In just 3 days, that employer had enough choices he was able to pick someone he thought was better suited than me. The interview did go well, I thought, and they assured me they had no doubts whatsoever that I could do the job (talk is cheap though), but there it is. No, I'm not seeing a real shortage.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    11. Re:tea leaves and biz speak by ucblockhead · · Score: 1

      That sort of thing happened all the time to me in the late 80s. I had an interview with Intuit in around 1990 that went almost exactly like that. Statistically, variances happen. Speaking as someone who is now often on the other side of the desk, it's just as likely you'll get three candidates who all think "singly-linked list" is an appropriate store for sorted strings. (To give a real world example from very recently.)

      --
      The cake is a pie
  13. Programmer vs Software Engineer by Jah-Wren+Ryel · · Score: 2, Funny

    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.

    --
    When information is power, privacy is freedom.
    1. Re:Programmer vs Software Engineer by Anonymous Coward · · Score: 0

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

  14. A Quick Question... by hax0r_this · · Score: 1

    How has the IT industry made hardware "disposable"?

    1. Re:A Quick Question... by Gideon+Fubar · · Score: 1

      Some people think 'the IT industry' is limited to a subset of 'the consumer industry'. Much like toasters.

      --
      http://www.xkcd.com/354/
  15. We talknig Video Game industry or what? by Anonymous Coward · · Score: 0

    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.

  16. If you're _thinking_ about what field, then... by Anonymous Coward · · Score: 0

    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.

  17. My anecdotal by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:My anecdotal by mh1997 · · Score: 1
      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.

    2. Re:My anecdotal by Anonymous Coward · · Score: 0

      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!

      With the general sentiment, I'm thinking if he hit you, and you're suing, he wasn't going fast enough.

    3. Re:My anecdotal by mh1997 · · Score: 1

      With the general sentiment, I'm thinking if he hit you, and you're suing, he wasn't going fast enough.
      Good point! For what it's worth, I have no desire to either end my life or be a character in the movie office space.
    4. Re:My anecdotal by triskaidekaphile · · Score: 1
      Are you so sure you aren't one already?

      "Mmm... yeah..."

      --
      @HbFyo0$k8 tH!$
  18. Jobs for the elite - none for the rest - job open by scruffy323 · · Score: 1

    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.

    --
    ...one person in this group who is chronically underestimated is me.
  19. Well, two things by Anonymous Coward · · Score: 0

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

  20. The only thing lost is the internet bubble ... by AHumbleOpinion · · Score: 3, Insightful

    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.

    1. Re:The only thing lost is the internet bubble ... by Shados · · Score: 1

      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.

    2. Re:The only thing lost is the internet bubble ... by blitz487 · · Score: 1

      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.
    3. Re:The only thing lost is the internet bubble ... by Televiper2000 · · Score: 1

      "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." There's a disappointing number of people that simply work to schedule. There's also a lot of people that can put C/C++, Java, Assembler, etc on their resume. Not a lot that can claim to be good problem solvers, or able to work independently. By independent I don't mean being able to work unsupervised. I mean being able to solve problems discretely, knowing which resources to pull when you need help, picking a path forward when there's no direction, and knowing how to manage your time. Being able to write code, Duh.. you are after all applying for a programming position.

      --
      New! Device Legs: These legs will help your poor OEM installed product escape any hamfistedness it may encounter. Ava
    4. Re:The only thing lost is the internet bubble ... by ucblockhead · · Score: 1

      This was an extremely common refrain in the early nineties when the combination of the rise of the PC and the decline in defense spending put lots of COBOL programmers on the street. Many screamed "age discrimination" because no one would hire them and then train them in C++.

      --
      The cake is a pie
    5. Re:The only thing lost is the internet bubble ... by rally2xs · · Score: 1

      "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." Yep - sit in a cube and program all day, then come home and do the same thing. I got this line from someone interviewing me for a job just last spring. He said that's what he does. He weighed about 300 lbs. When I get home, I'm here for maybe a couple hours, then its off to the gym. No gym, while sitting around all day keyboarding, I get to look like the Goodyear blimp. (It doesn't help that the gym is an hour's round trip, but I work at a defense job where they blow things up periodically, and fire big guns, so of course it's waaaaay out in the boonies of Virginia, and I'm halfway between work and the city / gym. Sucky situation, but not very curable.)

    6. Re:The only thing lost is the internet bubble ... by Anonymous Coward · · Score: 0

      What's the point of living if there is no time for anything besides work? Name another career that pays less than CEO level wages where you would consider 14 hour days (10 hours paid at an 8 hour rate, plus 4 unpaid at home 'for fun') to be the de facto norm for somebody who already has a 4 year degree?

  21. Can't be that hard... by CopaceticOpus · · Score: 1

    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.

  22. Thank MS for the continued robust growth in IT by flyingfsck · · Score: 1

    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.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
    1. Re:Thank MS for the continued robust growth in IT by daveo0331 · · Score: 1

      Another example of the broken window(s) fallacy

      --
      Remember the days when Republicans were the party of fiscal responsibility?
  23. My Experiences by Anonymous Coward · · Score: 4, Interesting

    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.

    1. Re:My Experiences by EMB+Numbers · · Score: 1

      I have interviewed 20 people in the last three months. The candidates that were interviewed already survived a resume down-select cycle that sends 9 out of ten resumes to the round file. So far, we have hired four of the candidates I interviewed, and two are now working directly for me.

      Here in the mid-west where cost of living is very low and quality of life is very high (by some standards), entry level computer science or computer engineering graduates make between $45K and $60K based on how much we want them and whether they were involved with a co-op or internship program. We also employ several interns. [Keep in mind that you can buy a nice 2000 sf house in a neighborhood with low crime and good schools with a salary of $60K per year around here.]

      A super star programmer/engineer will be promoted three or four times in the first ten years and can expect to make $100+K at that point.

      I have the good fortune to work with great people who are well educated and talented. We have very high standards to maintain. We love to hire entry level people, but we are selective. Frankly, I prefer to have someone with no experience working for me than someone with the wrong experience; Not all experience is good. By the way, I usually regard "professional" certifications as a negative on a resume. They indicate that the applicant doesn't know what is important.

      Around here, the median income for a school teacher around is ~$60K.

    2. Re:My Experiences by EMB+Numbers · · Score: 2, Informative

      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.

    3. Re:My Experiences by 1iar_parad0x · · Score: 1

      Unless you're working with embedded systems, you're probably going to need to know SQL. Most programming jobs deal with databases. If you want to work on the embedded systems side, you'll need to learn C/C++ and you probably need an EE or Computer Engineering degree. Finding an entry level job is THE hardest part. What you need to do is get some experience writing a database driven application. You're going to need know what a Join (in SQL) is. I'd say about half the jobs (and almost every job with a tech test) will ask you a simple SQL question (usually including a query on multiple tables, thus the join).

      --
      What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
    4. Re:My Experiences by Anonymous Coward · · Score: 0

      SELECT A.*, B.*
      FROM TABLEA A, TABLEB B
      WHERE A.KEYFIELD = B.KEYFIELD

      There, it's not rocket science, and I'm tired of IT staff running around pretending that using SQL is some magical art. Even worse, that they've created this position called a DBA that, thanks to self-reinforcing job security provided by the Software Security department, creates a niche position for basically an entry level programmer to have complete control of a production system... usually a system so simple we would have sneezed at in our first year of Electrical Engineering at college, designed in a silo so each of our databases don't even share keys that would allow you to transfer data from one to another in a sane way. Overrated.

    5. Re:My Experiences by daemonenwind · · Score: 1

      Let's take your narrative as a case study.

      You started out going to college for a degree in Management so you could learn to make things with your hands. You could have joined several trade unions or chosen other options that cost far less, take significantly less time, and get you where you want to go.

      Strike one.

      Then, you got downsized when foreign dumping tanked the chemical and steel companies. So, assuming you were hearing about the internet boom in 1998 or so, you started on a degree to cash in on the late 20th century California Gold Rush. Well, you got your degree just when everything hit flat bottom from the integration and internet booms of the 90's culminating in the big Y2K effort. Starting in 2001, everyone spent 2 years catching their breath and trying to make all those SAP/Oracle/Peoplesoft installations actually do something worthwhile. And of your education, you say you liked the feeling when something actually worked, and that you couldn't deal with SQL. From this, can I assume that it took some serious trouble? At any rate, you were clearly a gold-rusher who came to the party just in time to see the cops raid it.

      Strike two.

      So, having failed to really have a career you were willing to pursue to new cities with your first two runs through college, you went to become a teacher; the only profession where failure in the "real world" is not a negative. After getting a Masters degree in Education, you kept applying to technical jobs (still looking for a gold nugget), no doubt highlighting your Masters degree in an entirely unrelated field. Oh, and by the way, if you can't deal with SQL you'll never be a professional developer. It's an absolute requirement; take a hint from the fact that every serious language makes provision for it. That response alone will make you fail every interview.

      Strike three.

      Stay a teacher, you'll fit in wonderfully. I wouldn't hire you for development either, for the 3 strikes above.

      My career? My responsibilities keep changing but always stay technical. You need the mind for it (SQL is easy, dude) and a genuine desire to work and to do. You'd be surprised how willing companies are to get you trained on-the-job....in no small part because people with a technical mind and a willingness to work hard are so hard to find. There's plenty of work to do, but you need to care less about working in one specific language/skillset and more about doing great work.

      And one more thing: most Fortune 1000 companies have IT shops of some kind. If you don't expect an IT job to be in a San Francisco office paying $100,000/yr with free sodas and pool tables and stock options, you'll find that there's a lot of good work out there to do.

    6. Re:My Experiences by burris · · Score: 1

      If you enjoy and it and are good at it, why don't you write some cool and useful software in your spare time? If it is popular you can earn money off it directly, more than you make teaching. Even if it is not, you can use it as a portfolio to get work. It's pretty easy to get an interview if you have code people can download and look at. If you have several published things out there that people are using, you can get high dollar contract work that wouldn't require a daily commute.

      Releasing software, either end user apps/utils (closed or open source) or libraries, will launch your career. Pick a hot new development environment you want to work in and make some libs or tools. Write some utilities or cool internet apps for end users.

      The proof is in the pudding. Fortunately, with software it is easy to make pudding.

    7. Re:My Experiences by Rakishi · · Score: 3, Informative

      They asked a lot of questions about SQL, which I never really enjoyed so I haven't kept up with it. SQL is easy. If I was looking for a programming job I'd first ask what they're looking for. Then I'd look at what the wanted ads want. Then I'd learn it. Then I'd write a lot of code in it.

      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.
    8. Re:My Experiences by DaveV1.0 · · Score: 1

      From what I read of the GPP, it is not that the poster could not work with SQL but rather he did not enjoy or want to work with SQL.

      From that stand point, the fact that SQL is easy is irrelevant.

      While poster may or may not be a good programmer, you have no reason to assume he is not a good programmer other than the fact that he says he is a good programmer. Please refer to my signature for why this is a bad thing.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    9. Re:My Experiences by Androk · · Score: 1

      Some of the issues with the above quoted article:
      1) teachers don't get OT Fire fighters and others do.
      2) That figure shows the number because teachers get more time off - they don't make the schedule, schools do, look at yearly average salaries, they aren't terribly overpaid. the 43200/52/40 gives a little over $20 an hour, not exorbitant.

    10. Re:My Experiences by Rakishi · · Score: 1

      From what I read of the GPP, it is not that the poster could not work with SQL but rather he did not enjoy or want to work with SQL. Beggars can't be choosers. If you want to work a a programmer you need experience. To get experience you need to get a job as a programmer. If that requires you to know SQL then you learn SQL. If you don't know how prevalent SQL is in programming then you have other problems you need to address.

      From that stand point, the fact that SQL is easy is irrelevant. No it has everything to do with it. IF it was difficult there could be an excuse for him to not learn it but it is not.

      While poster may or may not be a good programmer, you have no reason to assume he is not a good programmer other than the fact that he says he is a good programmer. My assumption is based on him not having found a job, all the other people who do find programming jobs, his lack of real world experience, the generally low amount of actual programming that they teach in CS programs and my knowledge of human behavior. I was simply pointing out a plausible reason for the original posters problems and one that he can actually overcome.

      Please refer to my signature for why this is a bad thing. Irrelevant. I KNOW I'm an asshole (to varying degrees) on the internet and my previous reply was actually absurdly tame by my standards (not even a jab at him having become a teacher).
    11. Re:My Experiences by mikee805 · · Score: 1

      I have done a few interviews for technical positions myself and been interviewed more than a few. One thing that really sands out that no one seems to mention are interview skills, business etiquette and decorum. These things can really make you stand out.

      --
      B5 71 ED FB 55 D6 4E 68 07 25 E2 FA CA 93 F0 2F, is mine! All mine!
  24. Yes, you would be a fool by tftp · · Score: 4, Insightful
    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.

    1. Re:Yes, you would be a fool by Anonymous Coward · · Score: 3, Interesting
      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.

    2. Re:Yes, you would be a fool by ScrewMaster · · Score: 1

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

      --
      The higher the technology, the sharper that two-edged sword.
    3. Re:Yes, you would be a fool by tftp · · Score: 1
      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.

      You are actually confirming my point here: where is the larger market - in the USA or in India? If I were to write a wordprocessor, or even a web site for Indian audience I'd be insane to contract a US developer. There is no debate that India and China together already represent 42% of the planet's population (.in=1.136B, .cn=1.7B, total among those two countries is 2.836B, and the whole Earth's population is 6.7B and this ratio will be increasing, offset only by African nations. The world is changing, fast. The world economy will be seeing the USA just as the US economy is now looking at, say, Lithuania.

      How sure of this are you, really?

      Pretty sure because, teachers aside, the distribution of IQ among people is practically the same. Teachers is the only factor that may hold India back, but that is quickly becoming a non-issue because large number of Indians study in US (most US students today are foreigners) and because the skill level of teachers grows fast (the best students are always offered to stay in the university and teach, in addition to doing fun science.) I don't say India is *already* at the top, but give it ten years and US scientists may be underrepresented at top research conferences. Since the OP was wondering about his long term prospects, ten years is exactly the time frame when he will start getting really bad news.

    4. Re:Yes, you would be a fool by Blackhalo · · Score: 3, Interesting

      I would have to disagree with your assessment. It is my experience that, for the level of competence that you define in your scenario, an Indian or Chinese programmer will cost the same as anywhere else.

      The basic code monkey, IS much less expensive. However with the regions I work with in China and India there is a 20 - 40% annual turnover rate at that level. Which make high level, sustained efforts challenging.

      My business has had to learn the hard way, that at the top 10% skill level, there is NO cost savings for using offshore talent and quite a bit of extra work, unless our projects are managed at the regional level. Even then, the quality of the product is not comparable to equivalent, domestically run efforts.

      A key thing to remember is that in India and China, labor necessarily the only factor to consider. The cost per square foot for Powered, lighted and climate controlled is a component our migration planners failed to take into account. http://www.chinadaily.com.cn/english/doc/2004-04/05/content_320651.htm

      In our initial assessments of the potential cost savings, it was proposed that there was a 10 to 1 ratio for the work produced when using regional talent per dollar. However, in reality it is more like 1.2 to 1 for equivalent projects and the falling Dollar on track to wipe that out before we recoup our start up costs.

      --
      "There is nothing to do it. But to do it." -Floyd Pepper
    5. Re:Yes, you would be a fool by tftp · · Score: 1
      unless our projects are managed at the regional level

      Yes, that is necessary (I commented on that in another post, just above this one.) Also when hiring in India and China you will get access to wider selection of specialists. Today they could be a little green, but they will be better in a decade or so. Also, try to hire in the USA for a specific skillset and you will immediately find that most applicants are just not fit for the job. I used to run ads for months, get hundreds of replies, and not a single one who could be hired and expected to be productive from day zero. Most applicants were just web designers, and I needed hard-real-time embedded people! I would rather get thousands of replies and hire five people out of them - but in this limited market I get to hire nobody.

    6. Re:Yes, you would be a fool by Z0mb1eman · · Score: 1

      A US company [...] will not be able to provide so many competent developers (warm bodies do not count.) [...] 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

      I've heard horror stories about projects outsourced to India (first-hand accounts from people I've worked with, not random rants on the net) far worse than horror stories about projects outsourced to local companies (which I've also heard).

      Yes, my sample data is very limited. But on what are you basing your assertion that developers in India or China are more competent than developers in North America?

      --
      ClutterMe.com - easiest site creation on the Net. Just click and type.
    7. Re:Yes, you would be a fool by Anonymous Coward · · Score: 0

      I'm not sure where you're seeing these "best of the best" Indian programmers. All the code I've seen coming out of India looks like crap, or else tripe with crap on top of it. I mean, the kind of code that makes you understand you get what you pay for -- and makes you wish someone would wave the magic wand that takes away 3x the money you just spent, along with the software, just to give you the calendar time back that you wasted.

    8. Re:Yes, you would be a fool by tftp · · Score: 1
      But on what are you basing your assertion that developers in India or China are more competent than developers in North America?

      On the following. Let's take as an axiom that 5% of all graduates are great, 10% good and 85% mediocre. Then it follows that the more graduates a country produces the more, in absolute terms, will be great. Then it makes perfect sense to set up a camp in the large target country and select those 5% that are the best. If you do it in your smaller home country (the USA, for example) then you end up with fewer great developers. And since you'd ideally want all your developers to be great, it makes sense to look for them where they are (and not where you are :-)

      Or, in fishing terms, if you want to catch the best fish you need to go where enough of excellent fish lives; you still get the same percentage per bite, but if they bite every second you just release the weaklings and keep the good catch. If you try the same method in a sinkhole in your backyard you'd need to wait a week for any one bite, and besides the logic tells that the black cat is not in the dark room, however long you search for it.

      To further elaborate: what makes US programmers, in long term, better than Indian or Chinese programmers? In my opinion, nothing that can't be fixed by a decade or two of self-improving education. Then you have two equally qualified pools of candidates, one may be more expensive and another may be cheaper, but when the cheaper one is also a larger one then that may determine where you will be hiring your developers. On the other hand, local programmers may be more convenient to work with. On the third hand, in modern [global] economy it does not really matter where you and your coders are - it's no longer the local shopkeeper Bill hiring the local glazier John to fix his store front; it's more like "The Collective would like this database project started, make it so." - totally decoupled from the locale.

    9. Re:Yes, you would be a fool by Anonymous Coward · · Score: 1, Insightful

      Have you ever *tried* working with offshore programmers to get anything done?

      It's almost more of a pain in the ass than it's worth. For some extremely generic commodity tasks it's worthwhile for the cost savings, but companies are increasingly learning that the hidden costs make it unattractive in many circumstances.

    10. Re:Yes, you would be a fool by Z0mb1eman · · Score: 1

      A few counter-arguments come to mind:

      - if you're saying that there are more good programmers because there are more programmers in general, then it also follows that there are more mediocre and bad programmers. Sorting the good from the bad on a different continent in a different culture is anything but trivial.
      - your argument seems a bit circular. The original "problem" is whether North American programmers won't be able to find jobs because they're outsourced. In a way, you're saying it's easier to find good programmers in India/China because it's harder to find good programmers in North America.
      - many of the best Indian and Chinese programmers ARE in North America!

      But I think the really interesting question is, like you said: "what makes US programmers, in long term, better than Indian or Chinese programmers?" If US programmers ARE better - I can't say confidently one way or another - I don't think it's because of the education system.

      --
      ClutterMe.com - easiest site creation on the Net. Just click and type.
    11. Re:Yes, you would be a fool by Cafe+Alpha · · Score: 1

      Thanks for pissing on us to put out the fire!

      I have NEVER worked in a software company where we didn't work *serious* overtime. Fuck, at one job I put in 113 hours one week (sleeping in a bunkroom), other people slept under their desks and there was a rash of divorces because of this very very bad management.

      Ok, the game industry sucks, and I wouldn't go back to it if you put a gun to my head.

      But the point is that Americans are as willing to be overworked slaves just as much as dishrags from China, Japan or any other slave economy.

      Let's be clear about this, if us wage slaves who have no lives are an "overpriced" commodity, it's because an apartment in the big city is $2000 per month and health benefits are $300-$600 per month, more if there's a family.

      Let me guess, you're a pointy haired manager, right? Executive? Yeah, we're drowning but we're overpriced. Maybe they should just bring back slavery and you can buy programmers and chain them to the desks.

    12. Re:Yes, you would be a fool by tftp · · Score: 1
      It's midnight already, but a couple of comments to that:

      if you're saying that there are more good programmers because there are more programmers in general, then it also follows that there are more mediocre and bad programmers. Sorting the good from the bad on a different continent in a different culture is anything but trivial.

      It's not that difficult if you use a well-designed system of tests to weed out the 90% that aren't worth the interview. The remaining, interesting candidates can be looked at by local managers who know the people, the culture and can make correct decisions. Those would be the same managers who'd be working with the hired people, so they have their own interests in this game, and they are not likely to hire complete idiots.

      your argument seems a bit circular. The original "problem" is whether North American programmers won't be able to find jobs because they're outsourced. In a way, you're saying it's easier to find good programmers in India/China because it's harder to find good programmers in North America.

      Yes, it is naturally circular, as many processes are. Social processes are even more subject to that because they are often driven by emotions. For example, the outsourcing started too early, as a hope to reduce the costs. This resulted in loss of local programming jobs. This resulted in loss of prestige of the profession. This resulted in shortage of local programmers. This resulted in confirmation of the initial - and incorrect at that time - premise that there aren't enough programmers in the USA to serve the needs of the growing industry. Feedback loops with phase shifts - which we observe here - are the core subject of control systems analysis, and this social development is a perfect example of it.

      many of the best Indian and Chinese programmers ARE in North America!

      Yes, and they have now better employment opportunities than any local coder because they are better, and because they can work in either market (in the USA as star programmers, or in their native countries as star managers of large projects; they'd be welcome in either role, and probably returning as managers is quite attractive to many - consider that many have 6-year H1B visas and have to leave in any case.)

    13. Re:Yes, you would be a fool by dodobh · · Score: 1

      Simple, the research money and facilities are in the US and Europe, the undergraduate level education and money is in India (spend 3000 USD for a four year CS degree, then get a masters in the US, get a US job and greencard, move back to India as a US citizen with a US salary is pretty much the current business plan of a lot of people.)

      --
      I can throw myself at the ground, and miss.
    14. Re:Yes, you would be a fool by goose-incarnated · · Score: 1

      Sadly, I find that the most US-based devs
      are of the opinion that Indian/Chinese/etc
      devs are all useless and will cause the
      project to be a failure.

      They spout this nonsense because the alternative
      upsets their entire world-view of how things should
      be. The reality is that India and China will
      *almost certainly* have a larger number of better
      developers (if not now, then soon).

      Those who go on about how indian/chinese schools do
      not teach students to "think critically" are
      delusional; understand that you are living in a
      society where the educational institutions place
      more emphasis on sports than on academics.

      You are living in a country that values an airheaded
      jock - who can barely chew gum and walk at the same
      time - over a mathematics lover. It's not just the
      educational systems, it's the entire culture.

      "Geek", "Nerd", etc are (are they still?) insults,
      when the word "jock" should be an insult. As an
      example of people taking pride in their ignorance,
      read the other comments attached to the parent.
      They all decry the competency of outsourced devs.

      A case of ignorance being bliss I suppose :-)

      --
      I'm a minority race. Save your vitriol for white people.
    15. Re:Yes, you would be a fool by tftp · · Score: 1
      Sorry to hear about your game coding experience, sounds awful and I never worked anywhere close to that. No, I am not a manager at the moment, and have no plans to become one any time soon. I just design embedded systems - hardware and software. I leave management to managers.

      Let's be clear about this, if us wage slaves who have no lives are an "overpriced" commodity, it's because an apartment in the big city is $2000 per month and health benefits are $300-$600 per month, more if there's a family.

      Yes, of course. You can not live on $10 per day any more than I can or anyone else. But would you agree to work for $500/mo if your rent would be $50 and you can ride a bicycle to work, or a moped? And assuming everything else being proportionally cheaper? That's what they have over there.

      Or think on another subject. Why does it cost $46,000 to study for one year at MIT? This is also your cost driver. Answer: because it is profitable and because the students pay. The more you pay the higher the price of everything will be driven because it directly translates into profits of companies who provide the service or the product.

      So yes, it is expensive to live in the USA (or in Japan, or in some other countries.) This also makes citizens of those countries more expensive to hire, and on the global labor market they will be getting fewer offers. Not none at all, of course - good skills and good experience are worth a lot - but all things considered, a common green graduate from a generic US university might have a hard time competing with a talented green graduate from a good Indian university.

      I'm not an economist to suggest an exit from this situation, but one clear issue here is that the global labor market is not matched with free movement of labor. That is if you want to treat every programmer on the planet equally. Or, to take the opposite side in this subject, you may want to close the borders and maintain your country's economy within those borders. That would be the traditional way. But this way is contrary to businesses' desire to increase profits by buying the cheapest labor possible. What I say here is that you are hoisted on the free market's petard, and not because free market is defective but because *you* don't have a choice to live in India but your employer has a choice to hire a coder there. You are forced to spend $1,200 or whatever on your rental apartment.

    16. Re:Yes, you would be a fool by cynon83 · · Score: 1

      Just a wee bit tired of the "American workers are over priced and stupid" rant.

      Anyone ever taken a look at what a CEO makes? At what the upper management makes? The tens of MILLIONS of dollars they pull in? And you're bitching about people who make less than 6 figures?

      These assholes in upper management are supposed to be steering the ship. And they are -- right into money rich waters for THEMSELVES. They never give a thought about the future of the company. Never give a thought to anything but lining their own fucking pockets and moving on to the next feeding ground while leaving the rest of the people working in the company in the position of getting laid off, or accepting round after round of benefit and pay cuts with less and less opportunity to advance -- or even maintain -- their positions every year.

  25. Programmer vs Software Engineer debate... by Anonymous Coward · · Score: 2, Insightful

    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.

    1. Re:Programmer vs Software Engineer debate... by Xyrus · · Score: 1

      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~

      --
      ~X~
    2. Re:Programmer vs Software Engineer debate... by Anonymous Coward · · Score: 0

      Engineering requires more skill than pounding out code.
      that depends how you define "more skill". personally I cant paint for shit, but that doesnt mean that painting takes more skill than programming (that I'm good at). it simply means they require different skills.
  26. Re:(darjeeling)tea leaves and (h1)biz speak by Anonymous Coward · · Score: 0

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

  27. Meet you half-way by Anonymous Coward · · Score: 1, Funny

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

  28. You'll have to believe it eventually by Hotsphink · · Score: 1

    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.

  29. Software Engineering is applied Computer Science by MikeRT · · Score: 2, Insightful

    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.

  30. Janitor vs Sanitaiion Engineer, difference? by Anonymous Coward · · Score: 0


    Spoiler ...

    Spoiler alert !

    ~

    Don't peek unless you want the ending ruined!

    OK, here it comes

    The diff? Not a thing. You silly schmuck!

  31. Because India will be our shithole forever by sam_handelman · · Score: 2

    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.

    --
    The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
    1. Re:Because India will be our shithole forever by Anonymous Coward · · Score: 0

      That said, if you're looking for a guaranteed route to a decent job, become a nurse.


      Spoken like somebody who really is fucking clueless. Ever heard of an H1-C visa?

      Now you have. Pick another career.
    2. Re:Because India will be our shithole forever by Anonymous Coward · · Score: 1, Informative

      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.

    3. Re:Because India will be our shithole forever by base3 · · Score: 1

      I pity the hospital on the business end of a wrongful death suit when plaintiff's counsel not so subtly implies that the patient died due to cut-rate imported labor. Unless the health care industry bought indemnity from that, too.

      --
      One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
    4. Re:Because India will be our shithole forever by Anonymous Coward · · Score: 0

      Oooooh! Indian Programmers, Im so scared of the... Indian Programmers...

      Get real, I have yet to work with one who impressed me. Most of them get thru by apeing existing code.

    5. Re:Because India will be our shithole forever by dbIII · · Score: 1

      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

      It has already happened. A typical Indian outsourcing company is full of recent graduates. As soon as they have mastered the tasks they move on to a better paid position or to get different experience and you have another recent graduate doing the work. US management is under the delusion that they are more capable and better at finding an opportunity than their Indian counterparts. They actually think that Indians are naive in business and have somehow missed the reputation that the rest of the world knows about.

      As for China - the trick of the production line still running after the order has been filled is well known - they are not naive there either. It's not cheap knockoffs anymore, it's the real thing but the US company does not get a cent for it and may even be paying for the materials.

  32. If your just looking for a job.... by Anonymous Coward · · Score: 1, Insightful

    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.

    1. Re:If your just looking for a job.... by EvilBenFranklin · · Score: 1

      It's not quite as easy as that, sometimes.

      My passion is taking ephemeral concept and forming it into the written word, and hopefully fashioning it into an entertaining read while I'm at it. Let's face it though, unless you're a Stephen King, a Rowlings, Jim Butcher, or Dean Koontz, being a writer does not pay well, no matter how passionate you are about it.

      Even in the journalistic world, unless you manage to nail a "big scoop" over your more experienced and better-connected superiors, your average "Reporter I" position makes around $10-$16/hour, as shown here: http://tinyurl.com/2vmljv
      Copy writers make only a bit more.

      I've been working various support jobs for hardware, OS, and networking for nigh unto the past decade. Did I initially have a passion for it? Yes, believe it or not. Did I enjoy it? Sure -- on some levels I still do, because I do honestly enjoy problem-solving and helping people... but I don't take as much satisfaction or enjoyment out of working in the IT field as I once did.

      I would rather be sitting at my desk, writing interesting things that other people will hopefully read and enjoy, and maybe even pay for. Unfortunately, that doesn't pay the bills, put food on the table, or keep gas in the wife's vehicle or mine.

      "Follow your dream" is a nice sentiment, and I'm certain it's well-meant, but in the cold, hard light of reality, it's not always practical, or even possible.

      --
      FOOLS! I will destroy you ALL! ...Ask me how!
  33. The difference between hearsay and experience by HangingChad · · Score: 1

    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.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
  34. Well, by andreyw · · Score: 1

    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.

  35. Business definitions by Corvus9 · · Score: 2, Insightful

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

    1. Re:Business definitions by eggled · · Score: 1

      I got myself a bachelor's degree in Electrical and Computer Engineering... and took a bunch of CS courses along the way because, well, it interested me. Then my embedded systems professor emailed to say there was a local company looking for someone competent at "8051 assembly, C programming, and analog design". I jumped, enthusiastically shook the hand of the CEO of the company (I am the third employee, behind the CEO/President (business dude) and the technical guy), and landed myself a job as "associate software engineer". Here I am, 6 months past my graduation (with a BS), I'm married and have a son, and am working at a software engineering job I love (turns out there's not much analog design here), earning good money (more than your "$40K" number, while only working 40 hours per week... no stock shares involved in my compensation), at 21 years old. Go ahead and tell me it's impossible for a young guy to make it in the work force. Find something you're good at (and you love to do) and then bust your a** and do the absolute best that you can! If you never refuse advice (ever. Ignoring it is ok.), and you work hard, you can do anything you *truly* want to do. Statistics and junk be damned. At least you got your "early 20s" part right in your software engineer outlook ;)

  36. a bit "crazy", maybe by Anonymous Coward · · Score: 0

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

    1. Re:a bit "crazy", maybe by ucblockhead · · Score: 1

      I have a family. I also sometimes spend my evenings on the couch with a laptop, screwing around with Ajax code using python as a back end. I don't necessarily do this to make myself more marketable. I do this because I enjoy screwing around with new languages and technologies. And that's really the point. People who really love this stuff do it in their spare time, and therefore end up making themselves very marketable. Those sorts have little troubles finding jobs.

      --
      The cake is a pie
    2. Re:a bit "crazy", maybe by rally2xs · · Score: 1

      Yes - family, exercise, and a plethora of things to know means that you would have to be studying 24/7/365 to learn C++ and Java and Python and SQL and Perl and HTML and (etc.... ad nauseum).

      Its impossible to learn it all on the possibility of getting hired for knowing 1 or 2 of those things. You need to get hired, and _then_ you know what to study.

  37. Re:Jobs for the elite - none for the rest - job op by Anonymous Coward · · Score: 0

    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.

  38. Being a good (read: hirable) developer... by Darth+Liberus · · Score: 3, Insightful
    ...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.

    --
    Beauty is just a light switch away.
    1. Re:Being a good (read: hirable) developer... by awfar · · Score: 1

      Good God, where are you living/hiring?

      After being a research, systems analyst, SA, and Network Engineer for a top 5 pharma, and coding (assy lang, C) most of my life, I took a M.Sc. in CIS specifically because we spent the time "thinking" about systems, modeling (mathematical, economic, project mgmt, heavy requirements writing, testing, UML, E-R, concurrency via statecharts and ED Petri nets, process and data flow, etc.) then implementing them for real.

      But there apparently are *no* jobs for my type around here; my only bite was a a guy with VC funding writing new stuff - coding SNMP. Around here, they just want code monkeys.

      Tell me the magic on where/how to approach these opportunities!

    2. Re:Being a good (read: hirable) developer... by Anonymous Coward · · Score: 0

      Silicon valley is probably hiring quite a few such people. I know that Yahoo is constantly hiring programmers/developers with knowledge of modeling. Make sure you know some statistics, I don't think there is anyone on my team who ISN'T trying to learn it right now.

      Also if you claim to know something then actually know the bloody thing. And above everything else make sure you can think and solve problems.

  39. Re:Jobs for the elite - none for the rest - job op by BuckBundy · · Score: 1

    You have an e-mail, Steve?

    --
    BookDetective.net - book search engine and ranker I donate my skills to.
  40. The US govt distinguishes SE from Programmer by CPE1704TKS · · Score: 1

    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.

  41. Re:Too Late by WindBourne · · Score: 0, Offtopic

    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.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  42. Do what you enjoy by Brandybuck · · Score: 1

    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.

    --
    Don't blame me, I didn't vote for either of them!
  43. Re:Well, Agreed by bongey · · Score: 0

    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.

  44. One solution MIT students use by Anonymous Coward · · Score: 0

    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.

  45. All about skill level by EmersonPi · · Score: 1

    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.

    --
    Impossible = A fun challenge
  46. And you would be a greater fool by bADlOGIN · · Score: 2, Insightful
    I commend you on your example. All of those thousands of companies out there intending to build software to control expensive hardware to do great things!!! Why when the job market heated up, I was just TIRED of telling 23-legged underwater spider manufacturers quit calling me!!

    How about a dose of reality. As technology has become exponentially more complex, business people risking companies on delivering it have become exponentially more stupid. And this one simple line of your statement shows why it's wrong:

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

    Show me company with "competent personnel" managing and directing a business critical software project 100% outsourced and I'll show you a company that is either working with glacial specifications or rolling the dice on total failure. The nature of business changes, requirements change, politics change, and nothing worth a damn is going to get built via "throw it over the wall to an outsourcer". Back in the pre-agile days, this was how the world ran. Stupid things were written down in thick specifications that nobody read, then budget and time ran out while unforeseen forces made whatever might have been stared worthless. With the way people operated, "over the wall" didn't matter if software development was in the next cubicle or on the next continent.

    And that's where the critical issue comes in. As I jokingly indicated above, most software developers aren't building hardware/software 23 legged spiders. They're working on some internal project that enhances some other part of the business, or accelerates profitability or efficiency, or has the potential to create a new competitive edge. They're not spending millions on it either. They've got a direction and they're spending thousands over six months here on a new initiative, or a couple hundred thousand over a year on some other new initiative. They need people working WITH them to understand the business domain and leverage technology to build opportunities and MAKE MONEY.

    Building software is about communication and change management. Putting 5,000 miles, 9 time zones and the history of human civilizations language and MOST importantly culture differences on top of your standard business risk is retarded. Even companies that want to pinch pennies so the CXO's expense accounts can stay fat aren't rushing off to throw stuff over the wall without identical (no, better) local personel.

    That's why the job outlook is what it is for "programmers" vs. "software engineers" and "analysts". Nobody in their right mind is going to be a looser in the principal-agent problem that is outsourcing for any small to medium sized business. Oh, and any large company? What do they do? They set up their own local shop to mind the company interests.

    The real problem with this, is that nobody is going to become competent at building software on a large scale until they understand what's happening on a medium and small scale. Corporate America and Europe are sowing the seeds of economic destruction by creating an environment where nobody can be paid to be a beginner or novice in building software when the only job positions open are for lucky intermediates, advanced and experts. My crystal ball prediction? In about 15 years, the US will have great greencard programs for "software engineers" with 5 or more years "programming" experience since US corporate short-sighted greed will have poisoned the well for anyone considering fighting through to find entry level work "programming" to become a "software engineer" here at home...

    --
    *** Sigs are a stupid waste of bandwidth.
    1. Re:And you would be a greater fool by tftp · · Score: 1
      Probably I can offer a few comments:

      Building software is about communication and change management. Putting 5,000 miles, 9 time zones and the history of human civilizations language and MOST importantly culture differences on top of your standard business risk is retarded.

      Well, that would mean that all those transnational corporations that span the globe just can't possibly exist. A bee can't fly according to the theory. But it does fly in practice! There are indeed cultural differences and time zones involved, but as matter of fact soon I may need to work with people in Europe, so it would be no difference to me to work with people in India, for example - same difference, just the opposite sign.

      And once the company overcomes this difference and equips itself with modern video and audio communication means you suddenly discover that you don't care any more where people are - you can discuss matters with them just as easily as if they are next to you in the conference room. Once you are there, you are a global player. There are thousands of US companies that broke that barrier; I work for one of them now.

      And global companies don't need to outsource; they own that foreign piece outright. Look how Microsoft does it - they build wholly owned development center in Bangalore:

      "As a research organization, you want to hire the best and brightest people. That's what we did in China six years ago," said Rick Rashid, senior vice president of Microsoft Research. "Ultimately, the work that will be going on there will be based on the people we hire."

      This way MS fully controls who works on what project, and avoids the need to work with transient staff (unless they want to, of course.) This means that what you say about "internal projects" is true, but it also means that there is a simple solution to that - and a common US coder is not part of it.

      The real problem with this, is that nobody is going to become competent at building software on a large scale until they understand what's happening on a medium and small scale.

      Absolutely true - and currently US market forces strangle the local supply of local developers.

      Corporate America and Europe are sowing the seeds of economic destruction...

      Not so fast here - destruction of whose economy? If you are talking about developer's economy and his job prospects then you are right on the money. If you are talking about corporate profits then you are off the mark by a mile. You see, the current trend - which could be, and was, predicted by economists long ago - is to own the virtual and financial means of production by holding IP and factories and know-how, but allow the unwashed peasants to do all the labor. Now that I mentioned peasants, does it not look familiar? So nothing is new under the Sun, and we are back to the same ages old principle - barons own the land, and peasants work it. This is the repeating theme of more than one civilization because it is one of most stable ones, and represents an evolutionary end. You have nowhere else to go (peacefully) past that point, but once there you (as a baron) have accumulated everything. And by the way, if the peasants from that little village called "the USA" want more pay, screw them - I own plenty more peasants; the USians can either die from hunger or to accept my terms.

    2. Re:And you would be a greater fool by markov_chain · · Score: 1

      A bee can't fly according to the theory.
      Huh? What?

      --
      Tsunami -- You can't bring a good wave down!
    3. Re:And you would be a greater fool by tftp · · Score: 1

      It's an allegory, green and with sharp teeth. Do not confuse with a relevant.

    4. Re:And you would be a greater fool by dbIII · · Score: 1

      I was just TIRED of telling 23-legged underwater spider manufacturers quit calling me

      Confusing the analogy with the argument does raise things in the foolishness stakes somewhat - as does the typo of "you" instead of "I".

    5. Re:And you would be a greater fool by jollyreaper · · Score: 1

      The real problem with this, is that nobody is going to become competent at building software on a large scale until they understand what's happening on a medium and small scale. Corporate America and Europe are sowing the seeds of economic destruction by creating an environment where nobody can be paid to be a beginner or novice in building software when the only job positions open are for lucky intermediates, advanced and experts. My crystal ball prediction? In about 15 years, the US will have great greencard programs for "software engineers" with 5 or more years "programming" experience since US corporate short-sighted greed will have poisoned the well for anyone considering fighting through to find entry level work "programming" to become a "software engineer" here at home... Those dumbfucks in the oil industry are suffering from the same problem. During their last orgy of cost-cutting, they eliminated too many of the junior and intermediate positions and now they're crying that they can't find good managers. Where do you think managers come from?! To make analogies, it's like all these companies are getting together to hold a potluck dinner and everybody is bringing the cheap pre-made shit from the supermarket but they're all hoping someone else is going to bring the homemade goodies so they can munch on that. Sorry, guys. If you all want to be eating the good stuff, everybody has to bring something good and you can share. But the way the CEO's think, contributing to the common good is for suckers.

      I have a friend who worked in the oil industry as a geologist before going back into academics. From what he was describing, I thought he said he worked for a dot.com. Holy shit, the only difference between dot.com and oil is that oil is still raking in the gigabucks and has been for decades.
      --
      Kwisatz Haderach
      Sell the spice to CHOAM
      This Mahdi took Shaddam's Throne
  47. Not willing to live in L.A. by SpaceLifeForm · · Score: 1
    Why is management so short-sighted when it comes to telecommuting?

    --
    You are being MICROattacked, from various angles, in a SOFT manner.
    1. Re:Not willing to live in L.A. by CheeseTroll · · Score: 1

      'Cause misery loves company?

      --
      A post a day keeps productivity at bay.
  48. How to be a programmer 20 years from now by everphilski · · Score: 1

    Specialize. All there is to it.

    In high school I loved 2 things - computer programming and aerospace. I studied Von Braun, I read about the Saturn V, I built homemade rocket engines behind the shed. At night I programmed on the computer - various things, but a lot of them aerospace-y simulators. When college approached, I didn't know which I loved more, space or computers. I picked Aerospace.

    I'm glad I did. Now, I spend 20+ hours a week at my job writing simulations and tools in various languages to help me solve engineering problems. Aerospace isn't unique in this respect, this happens all the time in other areas of engineering too. Programming is a tool. Think of it as a tool, not an end. (The only real downside is dealing with the legacy code ... Fortran! AAAARGH!)

    However, aerospace does have one unique attribute to it - you can get into the defense sector, which is difficult nigh unto impossible to outsource. The job security is very nice. Working for NASA (as a contractor) is similar ... so long as you are funded :) a little more risk there (if you aren't a civil servant).

    1. Re:How to be a programmer 20 years from now by Don853 · · Score: 1

      Yeah but... then you have to work in the defense sector. I guess your job is much better than mine, but I sure feel like I'm working at Initech.

    2. Re:How to be a programmer 20 years from now by everphilski · · Score: 1

      I loved (past tense) my job in defense... I worked for an army contractor writing 6DOF missile simulations. Great company, great benefits, interesting and intellectually challenging work. The only reason I left was to get a job at a NASA subcontractor; working on space hardware was a childhood dream. The right job requisition came up and a friend suggested me for the position... basically, I couldn't say no.

      "Well, I wouldn't exactly say I've been **missing** it, Bob..." :P

    3. Re:How to be a programmer 20 years from now by megaditto · · Score: 1

      What a huge waste of money, developing all these missiles and nukes.

      Why not just buy some pre-owned hardware from Russia? Hell, given the current DoD budgets, we could probably buy their whole country and have some cash left over...

      --
      Obama likes poor people so much, he wants to make more of them.
  49. experience by falconwolf · · Score: 1

    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.

    I think that's something that sets people off, someone just coming out with a degree sees adds saying 5 or 10 years experience is required get turned off. If they're intelligent while they're working on the degree they'll get internships or coops. Then if they do well, even if they aren't hired others there can help them find employment. Another possibility is while working on the degree they can pick an open source project they are interested in or want to concentrate in and work on it. Maybe someone here can correct me if I'm wrong but I've read previously on /. the easiest way to join an OS project is to go through the bug reports, fix bugs, and submit them. Once they've fixed a few they will be asked to join the team.

    Falcon
  50. No.. not really... by XenophileJKO · · Score: 1

    Let me tell you.. people can and will hire a diamond in the rough.. if you are good. I mean good at problem solving and pretty bright, all you need to do is get your foot in the door and there are literally thousands of ways to do that.

    You want a programming job, try making "demo reel". I mean make some cool little programs and polish them up. They need to be something useful.. nothing huge and attach a link to your cover letter.. include a link to a website you designed as an advertisement site for yourself. If you take the initiative you can break into the industry VERY easy.

    You might not immediately get a job at Microsoft or Apple, but I guarantee there are businesses from large to small that always look out for people that have a passion for programming and can display the raw talent even if they have never done it for a living before.

    I did the same thing 10+ years ago.. I now am a self-taught (no college) Software Architect and run a development team. I know good programmers are needed because I hire them myself. So don't let people spout doom and gloom, it is still lucrative and in demand as long as you can program yourself out of a paper bag. You do have to be adaptable and you need to always be ready to learn something new, it is not an industry where you often get chances to "coast", but it is definately worth it.

    1. Re:No.. not really... by Marxist+Hacker+42 · · Score: 1

      Let me tell you.. people can and will hire a diamond in the rough.. if you are good. I mean good at problem solving and pretty bright, all you need to do is get your foot in the door and there are literally thousands of ways to do that.

      But why would they hire an AMERICAN diamond-in-the-rough, if the Indian diamond -in-the-rough is 1/10th the cost? There's no way to get a foot in the door against absolute advantage.

      You want a programming job, try making "demo reel". I mean make some cool little programs and polish them up. They need to be something useful.. nothing huge and attach a link to your cover letter.. include a link to a website you designed as an advertisement site for yourself. If you take the initiative you can break into the industry VERY easy.

      But once again, why would they hire your demo reel over an IIT graduate's demo reel at 1/10th the cost?

      You might not immediately get a job at Microsoft or Apple, but I guarantee there are businesses from large to small that always look out for people that have a passion for programming and can display the raw talent even if they have never done it for a living before.

      Yes, but those businesses are no longer looking at America for talent- Americans are too expensive.

      I did the same thing 10+ years ago.. I now am a self-taught (no college) Software Architect and run a development team. I know good programmers are needed because I hire them myself. So don't let people spout doom and gloom, it is still lucrative and in demand as long as you can program yourself out of a paper bag. You do have to be adaptable and you need to always be ready to learn something new, it is not an industry where you often get chances to "coast", but it is definately worth it.

      That was 10+ years ago. Now, it's cheaper to get your diamonds in the rough elsewhere.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  51. Calm down by crmartin · · Score: 1

    First thing to do is learn something about sampling theory.

    Question One: who's the most likely person to have the time, energy, and general accumulated bile to be posting about finding software jobs on the net?

    (a) People who have lost their job.
    (b) People from the Department of Labor covertly revealing DoL data
    (c) AI bots in an experimental application.

    Score: 5 points for (a), 0 points for (b), and 0 points (but a gold star for lateral thinking) for (c).

    Question Two: if people who have lost their jobs, are unhappy about it, and have lots of free time on their hands (since they've lost their jobs) are going to post about jobs, are they going to post:

    (a) philosophical treatises on the transitory nature of life?
    (b) carefully reasoned statistical studies of the job market?
    (c) rants about the sucky job market and how someone ought to do something!

    Score: 0 points for (a), 0 points for (b), and 5 points for (c).

    Total?

  52. Name game. by Ungrounded+Lightning · · Score: 4, Insightful

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

    Well golly gosh whillikers.

    In my 30 years in software (before I went over to the hard side of the force) I've called myself a programmer, a system analyst, a software engineer, a system architect, and a number of other buzzwords.

    Guess what: There is not a standard definition for ANY of those terms. The only distinction between them is the expectations of the employers about the strengths of various parts of your skill set.

    So you call yourself the one that your prospective employer hangs on the highest-in-the-design-tree position that you can convince him you're qualified to fill, based on your own skills and your resume.

    They're hiring system analysts and SW engineers locally and going abroad for programmers? That just means you have to change the top line on your resume from "programmer" to "software engineer" or "system analyst".

    Don't have enough experience to qualify for whatever position they're hiring for when you're just out of school? That's the same old "break-in problem". The "can't get a job because you don't have experience and can't get experience because you don't have a job" vicious circle. It's been around as long as I've been in this industry, and I cut my teeth on computers that had vacuum tubes for the DIODES in the logic.

    You get your skills through:
      3) classes,
      2) ripping apart and studying others' code,
      1) playing with the computer to make it do something fun for you,
    in that reverse order. (I know because that's how I did it, and I had some big names for teachers back in the day. The lessons were valuable. But self-directed code reading and bug fixing / feature enhancement was more so and self-directed problem solving was the top skill builder.)

    You don't get your job through resumes, degrees, and certifications. You get your foot in the door through contacts with people who have seen your previous work or play. THEN you and your contact use your (tuned to the job) resume, credentials, and references from other contacts to convince the middle-manager in the suit that he's lucked into a paragon who's perfect for the job.

    How do you get contacts? Initially you do as much unassigned for-fun stuff as you can when you can and let others see what you did and that you enjoy doing it and are good at it. Some of these people will remember you when somebody they know is looking for somebody like you for a job of the sort you want.

    Later you'll make more contacts at work: Co-workers, managers, etc. Your network of contacts will grow to get you into more doors. Your resume's experience section will grow to calm the suits (while your other contacts serve as references ditto). And your skills will grow to let you actually perform in new positions.

    Your actual skills are important: to keep impressing people so you can hold your jobs, build your resume with successful project results, and grow your contact network. But it's your contacts - as you/job matchers and references - that are what get you into the jobs.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
    1. Re:Name game. by poot_rootbeer · · Score: 1

      Guess what: There is not a standard definition for ANY of those terms [programmer, system analyst, software engineer...]

      No, not in the general Human Resources community. That's why it was necessary for the authors of the Occupational Outlook Handbook to create their own standard definition for each title.

      Just as architect is a different job than carpenter, so is software engineer a different job than programmer. They're not merely different terms for the same role, though many people currently do have titles which do not befit their actual duties.

  53. If you are smart enough to develop software... by hax4bux · · Score: 1

    ...then you are smart enough to do almost anything else. Go find something w/a future and code for a hobby.

  54. Specialize. All there is to it. by falconwolf · · Score: 1

    In high school I loved 2 things - computer programming and aerospace. I studied Von Braun, I read about the Saturn V, I built homemade rocket engines behind the shed. At night I programmed on the computer - various things, but a lot of them aerospace-y simulators. When college approached, I didn't know which I loved more, space or computers. I picked Aerospace.

    I was kind of like that myself. Though not aerospace or programming. While the high school I started at had a model rocketry club I joined the one I finished hs at when I moved didn't. In hs I started learning to program on my own but I didn't want to be a programmer, instead I wanted to do Computer Engineering. At the same tyme though I took a Marine Biology class and loved it. Back then I wanted so badly to combine the two, Marine Science and Computer Engineering but I didn't know how. Knowing what I know now if I could start over I'd double major, major in both CE and Marine Science.

    Falcon
  55. Agreed. by PCM2 · · Score: 1

    More and more of US technological output is in knowledge only, and software developers are not high enough to qualify as such.

    I, too, have often thought that the people who believe you can sustain an economy on exports of "knowledge only" must be high.

    --
    Breakfast served all day!
  56. Re:Software Engineering is applied Computer Scienc by Joe+the+Lesser · · Score: 1

    No, Software Engineering is Computer Science Lite. Computer Science from any serious University does not just pump out programmers, it pumps out, or tries to, what Software Engineering is built on.

    The proper metaphor is that computer science builds the tools and blocks (algorithms and protocols) that then engineers use on their blueprint for a project, and then programmers implement it.

    All professions tend to program because well it's the language of computers, but you're not getting the proper idea of what true computer science training is about. We make the war machines, you rally the army and get it to the battle on time.

    --
    "I only speak the truth"
    Karma: null(Mostly affected by an unassigned variable)
  57. Paranoid, much? by Lobo42 · · Score: 2, Informative

    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.

  58. Synergy by clubhi · · Score: 0

    Being a good software engineer is a synergy of interest, discipline, and IQ...
    Making money in this field is a combination of being a great software engineer as well as a carefully planned career path.

  59. . . .if you're good, AND . . . by SgtSnorkel · · Score: 1



    . . . if you're willing to constantly be looking out for your next project/employer.

    This field is now a class of itinerant labor. Just like a worker who picks fruit, most employers will consider you an interchangeable cog. If the stock price bobbles or some pointy-haired VP sneezes, you and your whole division can be laid off.

    You will find slightly more stability if you go the consulting route, individually or in a group. (If you're really a glutton for punishment, start your own business!)

    In any event, you need to be constantly hustling to line up more work. Get used to it. Do what you love and you'll never work a day in your life.

    1. Re:. . .if you're good, AND . . . by cduffy · · Score: 1

      Just like a worker who picks fruit, most employers will consider you an interchangeable cog.
      That's only true if you're in a big enough company to have interchangeable cogs. My last several years have been startups; anyone with the talent, drive, and complete lack of a family life can work their way into core-staff status. Sure, the whole company can go boom... but them's the breaks, and if that happens your former coworkers will be joining other employers while remembering your name and skillset; in the mean time, there's quite a bit of recognition (and lots of lottery tickets^W^Wstock options) available for the taking.
    2. Re:. . .if you're good, AND . . . by Marxist+Hacker+42 · · Score: 1

      I did that for the first 8 years of my career. Average time to go boom was 13 months. 4 if the company had gone public.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    3. Re:. . .if you're good, AND . . . by cduffy · · Score: 1

      I'm in for five years on this latest one, and it looks like they might actually come out in the black.

  60. "engineering" is a little too grand by david_bonn · · Score: 2, Interesting
    I've never, ever seen a project where the distinctions between "programmer" and "software engineer" were at all clear. Different people understood different parts of the project. A very few people would understand a much, much more than most. At the other extreme there were people who were handed requirements for little pieces of the product (the process was more like throwing raw meat to a caged, yet still scary animal) and would more or less churn them out.

    I think the title "engineering" is much too grandiose for what most people who build software ever do, and for that matter I don't think most software projects are really "engineered" at all. This isn't a bad thing, really. For there to be a meaningful engineering process involved in building something, it implies a large accumulated body of best practices accepted by people learned in the art. That is true for some software, most notably programming languages, databases, and operating systems. But I don't really think it is yet true for desktop applications, games, or web sites. Only a tiny minority of us involved in the trade are actually doing engineering.

    We might write better code if it was more like a real engineering discipline. I somehow doubt it, though. Software is a little too fluid. Over and over again I've written software to solve a problem that inadvertently changed the problem definition. As soon as users get hold of a new software tool, they often discover things about their own data for the very first time -- some good, some bad. That generates feature requests and more billable hours. The equivalent rarely happens when you build dams or bridges.

    Building software, I think, is much more of a creative trade with more in common with composing music or performing in a theater than with designing headlight bezels for panel trucks. At times, I suspect one reason that there is such resistance to this point of view is that we perceive our field as a "hard" technical field, not an artistic one. It is certainly true that any design process, from composing a sonnet, taking a great photograph, or making a SSTO rocket engine involves a fair amount of both technical knowledge and creativity. The artificial division between those endeavors is pretty awkward for those of us who like to write code, though. I also suspect that one reason that job dissatisfaction, burnout, and just out-and-out cynicism is so high in our chosen field is that most people creating software are managed not as artists, not as highly skilled experts like a team of surgeons performing a risky procedure, but as an army of mechanics.

    There are orders-of-magnitude differences between individual code productivity (I think factors of a thousand or even ten thousand are plausible). That means that one hypothetical American superprogrammer paid millions of dollars per year is likely still much less expensive than an army of average code grunts from India -- even before you layer in the communications costs of managing a larger team, travel costs, and the difficulty of communicating requirements and changes to requirements to a development team literally on the other side of the planet. A lot of that productivity advanage, I suspect, comes from understanding requirements well. You are less likely to get the ten-thousand to one productivity advantage if your requirements are communicated to you indirectly (like through a bunch of jet-lagged product managers who you meet physically once a month and teleconference with a few times a week).

    To go back to the media analogy, we all know that getting into acting, music, or television news requires overcoming almost overwhelming odds. There is no shortage, ever, of starving artists. Yet people expend enormous amounts of energy trying to break into these fields. For average compensations that make churning out MS Access applications look like a great job. I think that's where software is going. There seems to be no shortage of talented people in the media fields (and no shortage of untalented either), yet there really isn't any equivalent to an entry level job.

  61. Re:Too Late by Anonymous Coward · · Score: 0

    You're a fool. Spending increasing amounts on education doesn't make for better workers, although it makes for very content, unmotivated teachers, professors, janitors, and lots more education bureaucrats. There is inadequate funding in places, but consumers (prospective students and their parents) should have the right to send their education dollars where they need to go, not some senator-for-life who thinks all grade schools or public universities in his state should have a federally funded ipod for each student. But the fact is that ever-increasing amounts of federal money in education at all grade levels over the past decades has resulted in shittier schools... and exploding tuitions even in state universities. I find it hard to believe that a doctrinaire socialist such as yourself with such a warped view of the real world could live on his own without the supervision of a wet nurse. It's allowing people like yourself to vote that's going to f*** up the country.

  62. experience by falconwolf · · Score: 1

    Hell, I remember a job ad in 2002 that listed as essential "5 years experience with Windows 2000".

    I remember those in the late 1990s, "5 years experience web programming" or "5 years experience developing website."

    Falcon
  63. American, huh? by Anonymous Coward · · Score: 0

    "I'm American--I deserve a job when I get out, because I'm American. What field should I go into to ensure my future as an American? How can I make the best possible living being an American, because being American is so important?"

    Any response to your whinging would require precisely two words. In fact, there are a large number of two-word phrases that would be appropriate. Why don't YOU fill in the blanks.

  64. Maybe the market will improve by Anonymous Coward · · Score: 0

    I think maybe the market will improve. It seems the dollar is weak now, and increasingly getting weaker in the international market. Therefore, these cheap fucks that outsourced entire IT departments, software development, etc. to save a few % on the costs, are finding that it now costs less to just hire locally. This should improve the local market.

  65. No worries by OSPolicy · · Score: 1

    We've hired Russians, Indians, Chinese, and my current team includes members from Argentina. The American programmers have no worries. In terms of raw skill, it's hard to beat the Russians but it rarely comes down to raw skill. In terms of $/hour paid to the programmer, it's hard to beat the Indians but it never comes down to $/hour paid to the programmer. It's a business decision and intelligent business decisions factor in all of the costs. What are the costs of having colleagues on the other side of the world? What are the costs of cultural translation?

    Just to give one example: we opened a test center in China. The first time we asked them to do release testing, they asked us what the test results were. Hm. We didn't know. We hired them to run tests. How could we know what the results were if they hadn't run the tests yet? Turns out that it's not always a good idea to report that tests have failed when management has already decided that they've passed, so they weren't willing to give us the test results from the software until we gave them the test results from the management meeting. How much is it worth to be able to tell your testers to test something and have them give you the actual test results?

    On the other hand, to use a phrase popularized when NAFTA was coming on line, if you do the work of a Mexican peasant, you get the pay of a Mexican peasant. Keep your skills current, demand to be put in front of customers at least a few times per year, and stay in touch with the field and you'll have no problems. Retire in place and you retire as a Mexican peasant.

  66. What this says... by jjohnson · · Score: 1

    Is that the profession of being a bad-smelling socially awkward idiot savant with a keyboard is dying, while the software developer who can meet with clients and not embarass the business, who can understand the spreadsheet that justifies his time coding (from a sales perspective), who is as good at assembling libraries as writing new code, is where the future of software engineering lies.

    In other words, just like every other profession, you'll have to be good at the expanded requirements, not just the core ones to the exclusion of everything else. The age of rockstar programmer is coming to a close. Someone turn out Paul Graham's lights.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  67. Its the same thing by Anonymous Coward · · Score: 0

    Programmer = Software Engineer

    Here is the news flash. Its the same damn thing. A programmer is the old title for Software Engineer.

    Move along...

  68. There will always be good jobs for good people by GoldTeamRules · · Score: 1
    Period. If you decide to become a software engineer because you love it and are good at it, then you're going to do just fine.

    Outsourcing is a trend like all others (network computer, paperless office, on demand software, etc.) that never fully replace the status quo, they simply augment it. Meaning, outsource is here to stay, but businesses in the US will always have need for quality software engineers.

    The need for good software and bright minds that can solve complex problems is ALWAYS going to outweigh the supply.

    1. Re:There will always be good jobs for good people by sethstorm · · Score: 1

      Meaning, outsource is here to stay That problem can be removed, and if we'd just pour a ton into education (putting a barrier to education does not help).
      --
      Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  69. Well... by spleen_blender · · Score: 1

    The technology industry is by all means in its infancy relative to other established industries, and that being said should always be kept in mind when we see any changes in the "average" so stated above.

    If I am familiar with statistics at all, considering the relative short time in which we have had to analyze the industry we have little grounds to be so attached to what we can consider normality. A niche will be formed for technology just as carpentry and blacksmithing were laid into the niches in which they exist today. I fear that we as nerds believe we are something more important or special than other artisans, practicing a skilled trade.

    I joined the industry a mere 5 months ago out of University. I arrived at my job fearful of an environment demanding only the things I had forgotten from my studies, and in that time have come to love the community and open mindedness of my co-workers. I imagine this is what miners feel with their comrades at work, or a worker at a steel mill. Perhaps when we try to compare our declining positions and salaries as they get closer to more "blue collar" positions, we should look at the other industries we are going toward and see exactly why their salaries are where they are. Is it a supply/demand issue? Is it due to social oppression? And most important, are the times of unions coming again, leaving the developing countries to fill the roll of scabs or is our industry due to fall in line with every other established trade. I am proud to be part of this settling down of the industry, and hopefully along with it many stereotypes about us can be broken down, making the futures of nerds everywhere brighter as their existence approaches normality, and I will always try to raise the bar and would expect nothing less from my fellow nerds.

  70. Re:It's too bad if someone ever fights us by jayegirl · · Score: 1

    "...and have no spine to stand up against the real bullies."

    News flash: you *are* the real bullies. :)

  71. My Pity Party. by Anonymous Coward · · Score: 0

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

    Hate to rain on your parade, but the cheap labor is coming here. Plus plumbing's no more immune to oversupply than any other profession.

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

    If I could do it over again? I'd never have left my parents basement.

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

    Take it from someone who's been hit three times. It's not worth it.

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

    Remember the AC's complaining about the rug being pulled out from under him. It's kind of hard to be happy when what your happy about keeps disappearing.

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

    Lucky you. I have 9/11, Dot com, Y2K, and a couple other disasters (some of my own making) to thank for my situation.

  72. Nail on the head. by Malkin · · Score: 2, Informative
    I'm honestly dubious of anyone whinging about a lack of programming jobs in the US. Is there really a shortage of programming jobs, or do they have the wrong (or insufficient) skills? Or, are they in the wrong geographic area, for that matter? Being a career programmer requires some flexibility, and a lifetime of learning, because technology does not stand still. Not to be mean, but a lot of the people who were knocked out of programming at the end of the .com boom shouldn't have been programmers, in the first place.

    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.

  73. start your own software company by burris · · Score: 1

    Software requires the least amount of capital to start up. If you can hack code in your parents basement or after work, you can start a software company. Write some really cool software. Once you have something working you can get more money. It will take a lot of hard work but you'll love every second of it and who knows, you might make it. Even if you don't you get valuable experience and a portfolio.

    Just do it. Make something cool that people need. Be your own boss. Hire your own programmers in India. Do it now, while you're young and don't have a family.

    1. Re:start your own software company by Jon+Abbott · · Score: 1

      I totally agree. If you can't find a job here, make a job for yourself and a few others. That is what we need in the U.S. -- more productive jobs that produce goods that are marketable locally and to other nations. That, combined with increasing the national savings rate, are about the only things that are going to save this nation against the huge trade imbalances and federal budget deficits we have.

  74. Bollocks by Rix · · Score: 1

    Indian outsourcing is not a threat. The unwashed masses are not swarming to take our jeorbs. Any reasonably decent programmer is quite employable (though only in civilization, don't expect to be employable in Buttfuck, Utah).

    Indian comp sci graduates aren't going to want a lesser lifestyle than their western counterparts. How do they get that? By moving here, and drawing the same wages. Those left to man the call centres and other outsourcing projects are those that couldn't make the cut. They won't be replacing competent programmers.

    1. Re:Bollocks by Marxist+Hacker+42 · · Score: 1

      By moving here, and drawing the same wages.

      So why are H-1b holders, on average, paid $12,000/year less?

      Your logic does not fit the facts, which makes you a bad scientist and an extremely dangerous engineer.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  75. Stereotypes by milette · · Score: 1

    Where can you find software engineers for $2.50 per hour?

    I currently work in the offshore outsourcing field and the lowest rates I've seen are $4.10 for entry-level people in China.

    In India, typical rates for programmers (not project managers or architects) is around $20 to $30 per hour. Russia and FSU, $18 to $25 is pretty typical.

    The days when offshore developers worked from grass huts on 386's is LONG GONE. No, Indian developers don't charge $50 to $150 per hour because if they make $20 per hour they can live like KINGs. (Maybe not with an SUV or million dollar home -- but they can have a nice car, a maid, cook, driver and live in a pretty nice place.)

    Problem with American developers is that they still expect rediculous rates for basic, simple work that can NOW be done from anywhere in the world. Coding, Flash, Graphics, Web Design, etc. etc.

    Want more money? Get more skilled! Move up the food chain.

    The IT industry is BOOMING. Countries like Australia and the UK can't import enough people fast enough, unemployment is lower than ever and salaries have never been higher.

    Want a job where you don't need to retrain continually and get a high salary? I don't have an answer for you. Even as a doctor, the human body doesn't change, but new technologies and medicines are released every day.

    The days where you could go to University and get a job for life are long gone.

  76. Your Experiences are BS by Anonymous Coward · · Score: 0

    >graduated in 1992 with a degree in Industrial Management
    >I quickly got a job doing quality control work
    >So when my department was eliminated during the industrial downsizing
    >that was so popular during Bush I,
    >graduated with a degree in Computer Science in 2002
    >went back to school, yet again, and got a Masters in Education.
    >So now (3 years later)

    Something about your whole story doesn't add up at all. So you graduated, got a QC job immediately, and then got downsized all inside a year (Bush 1 was 1988-1992), then it took you 10 years to get yet another degree even though you had already knocked out all of the basic classes with your first degree? But then it only took you another two years to get a masters in education?

    You're withholding a bit of information from the story.

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

    Bullshit. I work with tons of people who are living proof, myself included. Most of them don't even have the extensive education that you claim to have.

  77. Thinking skills, not coding skills by meburke · · Score: 1

    In over 40 years of working with computers, I've seen the cycle happen over and over again: Code is worthless unless it does something useful. Thre is a demand for applications, but the ability to produce these applications is deficient, so there is a demand for even the worst programmers until employers scale back their expectations. One statistic bandied about is that over 90% of all programming projects are never completed. Why? Because there are too few teams that can produce good products.

    So much code is computer-generated these days that the real talent is in analyzing processes and DEFINING the functions. Once the process is defined, any generator, Foreign Programmer or first-year high school graduate can be taught to code to the requirements. Even some of the hard decisions in programming are falling to AI as long as the analyst can adequately describe inputs and outputs, or functions, or look-feel. There is a reason that some fast, cool code is developed in short lead times in Haskell. A program like Libero http://legacy.imatix.com/html/libero makes good programmers; the program works even if the code is not totally efficient, as long as the definitions are correct and complete.

    Learn to design good solutions and there will always be a position for you. Remember, though, the position that makes use of these skills will probably change drastically over the years as the tools get more sophisticated. (Another statistic bandied about is that the workers my daughter's age (32) will have over 30 career upheavals during their working lifetimes.)

    --
    "The mind works quicker than you think!"
  78. I've seen nothing but upside for coders by Anonymous Coward · · Score: 0

    I spent 10 years at some of the biggest and best-known companies in finance and software, and for the last year I've been doing a wireless startup in Seattle.

    From everything I've seen and experienced, EVERYONE needs good technical people, and they know it. There are many managers and leaders at top companies like AMZN and GOOG spending 30% to 50% of their time working on recruiting. Companies are flogging their own employees for referrals and offering rewards for hires. Startups have trouble meeting their hiring plans, and it becomes a CEO or board level issue. American-based consulting companies are still snapping up people and charging double the hourly rates to their customers. College graduates with Computer Science degrees, a couple of coding internships under their belt and a love of building software can make $70-80K or more on their first full-time job. Are there any other undergrad majors where people expect the same for their first job?

    As for offshore outsourcing companies taking over the good jobs: something like 75% of all offshore outsourcing projects end up as failures. It's really freaking hard to get over the communication hurdles of a 10-14 hour time difference to India/China/Russia. We're using an offshore outsourcing company right now to get some work done, and we're getting some value out of the relationship, but we're not expanding that effort - we're much more interested in filling our open full-time positions and bringing in on-site contractors to supplement our capacity.

    Plus, what other professions give you the realistic option of starting your own new business with a few colleauges, some open source software, and maxxed out credit cards? It's a gamble - but it is possible.

    -Mike

  79. Gotta Know How to Look for a Job by RonBurk · · Score: 1

    I've watched repeatedly as my wife did software job searching in good times and bad. The difference between her and everyone else (many of whom didn't get jobs, or took forever to find jobs, or got inferior jobs) is that she focused on the actual skills required to find a good job.

    She sent out lots of resumes, not just picking a few job listings that looked cool (there's often no telling a pig from a poke based on the job listing, ya gotta interview to get an idea of which jobs are really good). She worked on job hunting every day, not just when the Sunday paper came out. She kept organized, and made job-hunting a project, which means keep a list of where resumes have been sent, when it was time for a follow-up call, etc.

    She networked, which is how most people find jobs. Riddle: an American, an Indian, a Chinese, and a Mexican all applied for the same programming job -- which one got it? Answer: the one who had a friend who worked at the same company. Networking means talking to anybody in the business, or anybody who knows somebody in the business. Networking means staying in contact with your school alums, or coworkers from past software jobs. Networking means talking to folks at your church, your parents' friends anybody who might be in a software company or know someone in a software company is a potentially useful networking contact.

    If I should ever (shudder) have to find a real job again, I will most certainly put my wife in charge of directing my efforts. Skills are important for getting a programming job, but job-hunting skills can put you way ahead of most of your programming peers.

  80. Re:Well, Agreed by andreyw · · Score: 1

    Correct )) Although, nothing wrong with dreaming about chicks and beer (both at the same time even better) - one doesn't exclude being good at the other (although "two chicks at the same time" is not what the interviewers want to hear) =)

  81. The answer in two questions: by realkiwi · · Score: 1

    Is the government wrong, or lying, then, when it implies that software engineers and system analysts can expect to have a good future?

    Has it ever been wrong or lied before?

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

    We are talking about a rather large continent here, which country are you from?

    --
    realkiwi
    1. Re:The answer in two questions: by Anonymous Coward · · Score: 0

      We are talking about two rather large continents here, which country are you from?

      If you're going to be an ass, at least do it right.

    2. Re:The answer in two questions: by sethstorm · · Score: 1

      Has it ever been wrong or lied before? Yes, see Ronald Reagan.

      --
      Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
    3. Re:The answer in two questions: by realkiwi · · Score: 1

      Africa, America, Asia, Australia and Europe.

      I am old school when it comes to continents (yes I am over 50...)

      --
      realkiwi
  82. B1H instead of an H1B by Tablizer · · Score: 1

    just how the hell do you become a software engineer without being a programmer first

    Get a work visa to India, get some experience in a programming sweatshop, and then move back to the US when you get enough experience to be a software engineer. Hope you like curry. (But on the upside, I hear Indian babes dig foreigners.)

  83. Linked List? by Tablizer · · Score: 1

    Unless you're doing embedded programming, I see very little practical need for a linked list in my day-to-day work. If its trivial/small, use an array or a delimited string list of ID's. If its long, use the database or table engine instead.

    I suggest you test their ability to provide a solution, not dictate how they go about it (unless they go off the deep end with a really bad solution).

    1. Re:Linked List? by lgw · · Score: 1

      If you don't understand pointers well enough that you can answer simple linked list questions *as fast as you can write* I'm not interested in hiring you. It's an absolutely trivial concept. I used to think the question so simple that it was insulting to ask, but I learned better the hard way.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Linked List? by Tablizer · · Score: 1

      If you don't understand pointers well enough that you can answer simple linked list questions *as fast as you can write* I'm not interested in hiring you. It's an absolutely trivial concept. I used to think the question so simple that it was insulting to ask, but I learned better the hard way.

      Naked "pointers" for data structures are kind of an archaic concept that are happily being phased out in higher-level languages and databases. Do whatever tests you want, but I won't miss them or care about who knows them. It's almost like hiring an accountant based on how well they can do long division on paper. I'd give them slightly more points, but there are sooooo many other skills that I would weigh more heavily.

    3. Re:Linked List? by Anonymous Coward · · Score: 0

      Are you seriously arguing that someone who doesn't know what a linked list is could be a competent programmer? Wake up.

      Pointers are irrelevant.

    4. Re:Linked List? by lgw · · Score: 1

      I heard the *exact* same thing 20 years ago when I first started learning to program. It's still wrong. (As a strange aside, the first programming job I got actualy tested for the ability to do long division on paper in the pre-interview screening (which was not job-specific). Odd.)

      Pointers and recursion are the elements or programming that good programmers understand easily, and poor porgrammers never really seem to understand no matter how hard they try. If you don't understand about pointers (or recursion), you probably will never be any good at programming. Doesn't matter if you will ever *use* pointers or recursion, if you can't get your head around these concepts you'll be the guy who takes more work to manage than to just code it myself, and you won't ever get better.

      Also, if you never use pointers in your job, your job is probably going to India, but that's a different topic. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:Linked List? by harmonica · · Score: 1

      Naked "pointers" for data structures are kind of an archaic concept that are happily being phased out in higher-level languages and databases.

      Huh? Every reference to a dynamically-created object (so, everything apart from primitive types like int or char) in Java is a pointer. It's called NullPointerException for a reason.

      As for linked lists, they have the advantage of being able to quickly insert or remove single elements without having to copy all elements behind them by one position, as would be necessary in an array list (implementation contains a array of pointers to elements).

    6. Re:Linked List? by Aladrin · · Score: 1

      Exactly. My first thought when I read that he was asking C# people about linked lists was 'Why the HELL would you implement a linked list in C#?!" I fully understand their use and necessity in C and C++, but C# already has datastructures like that and implementing your own would be a complete waste of time, not to mention the fact that you'd have to put it in 'unsafe' mode to do so.

      And while I agree that C/C++ programmers should know how to implement a linked list, unless they are doing something highly specialized, it's insane not to use the STL. And even then you'd better have a damned good reason not to.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    7. Re:Linked List? by mrchaotica · · Score: 1

      But the point of asking them about linked lists is that even if they're using the library, they still have to know why they're picking the particular class they intend to use. How the fuck is somebody going to make an intelligent choice between a LinkedList and an ArrayList when they don't understand the difference between a linked list and an array? If you hire somebody that incompetent, you'll end up with code that has elements inserted/removed from the middle all the time being implemented as an array, reading through 2D arrays according to the wrong axis (e.g. reading "0, 10, 20, ... 1, 11, 21 ..." instead of "1, 2, 3, 4, ..."), and all kinds of stupid crap like that -- assuming that it worked otherwise correctly to begin with, which would be pretty damn unlikely!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    8. Re:Linked List? by asliarun · · Score: 1

      Naked "pointers" for data structures are kind of an archaic concept that are happily being phased out

      Huh? Every reference to a dynamically-created object (so, everything apart from primitive types like int or char) in Java is a pointer. There's a reason why the GP specifically said naked pointers. Unlike C, Java and C# does NOT allow you to create a pointer that points to a user-specified memory location (which is what the GP referred to as a naked pointer). This is because memory management is done by the VM, and not left to the user, and IMHO, this is a GOOD thing. Do not mess with the affairs of raw pointers, for they are quick to anger and you taste particularly well with peanut sauce.
    9. Re:Linked List? by Hognoxious · · Score: 1

      Whether it's pointers in the strict sense of a memory address a la C, or a reference that's (if my limited knowledge of java is correct) an indirect or abstract link that the VM handles automagically for you is irrelevant.

      The point is that someone who doesn't understand the concept of either probably has very limited background knowledge indeed.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:Linked List? by Boronx · · Score: 1

      "If you don't understand about pointers (or recursion), you probably will never be any good at programming."

      This is unfair and misleading. If there's some kid out there having a hard time with pointers, he or she will read this and get the wrong impression. As simple as it seems after the fact, there's a mental leap involved with understanding pointers. If you graduate without making the leap, you've got problems, and so does your school, but many who haven't made the leap today will tomorrow.

    11. Re:Linked List? by harmonica · · Score: 1

      I know the difference (grew up with Pascal myself), but I wasn't aware that "naked" is the term for it.

    12. Re:Linked List? by Doctor+Faustus · · Score: 1

      There's a reason why the GP specifically said naked pointers.
      Because he or she wasn't paying attention? We were originally talking about linked lists in C#, which you would do with object references.

    13. Re:Linked List? by Doctor+Faustus · · Score: 1

      If its trivial/small, use an array or a delimited string list of ID's.
      Sure, you could, but the linked list version is usually simpler if you don't know beforehand exactly how much data you're going to have. Especially if the data is small enough to recursively follow the list, it can be a marvelously lazy way to solve a problem.

    14. Re:Linked List? by Aladrin · · Score: 1

      The question was how to implement it, not what it does, how it should be used, or what it is best at. The question, as stated, was useless.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    15. Re:Linked List? by lgw · · Score: 1

      That's very true. In fact, let me restate my point:

      Until you make the difficult mental leaps required to understand pointers and recursion, you probably won't be good at programming.

      Too many schools today don't force their students to make these leaps before graduating, so the degree provides no more than I could teach a bright engineer in a few weeks on the job.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    16. Re:Linked List? by mrchaotica · · Score: 1

      You would have to know what it does in order to implement it, so the question wasn't useless because it still tested that knowledge (albeit in a roundabout way).

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    17. Re:Linked List? by Maxo-Texas · · Score: 1

      I liked a sig I saw here. It said:

      To understand recursion, first understand recursion.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    18. Re:Linked List? by Tablizer · · Score: 1

      I still think that using one particular knowledge bit as a wide litmus test is a mistake. A battery of tests with variety is better in my opinion because people vary so much in the way they think.

      I heard the *exact* same thing 20 years ago when I first started learning to program.

      And their prophecy turned out right.

    19. Re:Linked List? by Tablizer · · Score: 1

      As for linked lists, they have the advantage of being able to quickly insert or remove single elements without having to copy all elements behind them by one position, as would be necessary in an array list (implementation contains a array of pointers to elements).

      If one didn't know how to do it with pointers, if it was a small list, then shifting around array elements is going to be relatively quick, and an indexed database table can be used for larger lists (most custom biz apps use a database of some kind already). One can live happily without knowing about linked lists.

    20. Re:Linked List? by Tablizer · · Score: 1

      Are you seriously arguing that someone who doesn't know what a linked list is could be a competent programmer?

      Yes!

    21. Re:Linked List? by Tablizer · · Score: 1

      Sure, you could, but the linked list version is usually simpler if you don't know beforehand exactly how much data you're going to have.

      If there is a reasonable chance of it being big, then use the "big" implementation alternatives mentioned. Of course, we'd have to look at the usage scenario. Often there are "natural limiters" such as the GUI screen real estate. Nobody is gonna buy a 800000 x 600000 pixel monitor anytime soon.

    22. Re:Linked List? by Doctor+Faustus · · Score: 1

      Right. I just used one in the last couple of days for reading columns in a spreadsheet. I don't know exactly how many there will be, but it's not likely to exceed 2-3 dozen.

    23. Re:Linked List? by Tablizer · · Score: 1

      Right. I just used one in the last couple of days for reading columns in a spreadsheet. I don't know exactly how many there will be, but it's not likely to exceed 2-3 dozen.

      If MS used database technology instead of pointer doodads, perhaps Excel would not be limited to 68000 rows.

    24. Re:Linked List? by harmonica · · Score: 1

      One can live happily without knowing about linked lists.

      Sure, but if a developer can't be bothered to learn about a very simple concept from "Data structures 101", will he be able to deal with situations that require non-trivial solutions? Doing the research, comparing approaches, implementing and testing one? I'm not optimistic. I'm not talking about over-engineering things, which would be the other extreme.

  84. exponential growth in programming by falconwolf · · Score: 1

    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.

    I've been thinking of doing something like this, though I worked in programming in college I really thought about going into photography. Of the photography students I talked with in college, most wanted to create a website they could use as part of their portfolio. Some also asked about software to help run a business. So what I was thinking was stitching various OS software together, from accounting to image editors, to create a sort of turnkey solution for photographers. One package would be installed which would call up any function. A person could edit a photo, then enter it into a database, and printout a bill. All without quitting one app and starting another. I'd use the software myself as well could sell it to other photographers.

    Falcon
  85. THE SKY IS FALLING by Anonymous Coward · · Score: 0

    Cmon people get a grip. Programming jobs aren't that impossible to find but you have to sell yourself. The industry has changed, but not really that much. Many US companies don't want to be hassled with overseas development, most companies aren't organized enough themselves to manage a product overseas.

    I think a major problem here is America lacks required education on how to properly look for a job so many people wind up going for whatever they can get. Yea ok some jobs are more plentiful than others and knowing that helps when picking a career. Are you the talky networking type or do people just bother you. More importantly than picking a job you 'love' or that pays well is picking a job that actually fits your psychological profile and your basic lifestyle because the reality in life is that picking the things you 'love' is difficult since love is merely a feeling. How are you going to pick a career you love, when you haven't done it yet for 10+ years. Many people start 'loving' a career and end hating it. I'd guess that rarely is it actually the career you love or hate but rather your exact experiences in that career. For instance the slow passing of time at some crappy job can instantly be hastened by having enjoyable co-workers or made even longer by that loud annoying country music and endless office gossip.

    We live in a global market and the US has put itself literally at the center of that market. Since we have no means to control our worth vs countries that may or may not have civil rights laws or slave labor capitalism will fail us.

    Face it's not that American businesses are traitors it's that the Indian's and Chinese are simply working harder for less money and in a capitalist economy the money has to go to the the guy who can get it done the cheapest. It's only natural that businesses use the most profitable means to run their businesses as this is not socialism. .. well not yet at least.

    So, you know your in a global market, think like it. Position yourself in unique markets that use your 'Americaness' to your advantage. Within the fields of programming there are still many types of businesses you can focus on to better ensure your job security. When appling for a job research the company and find out how likely they will be to outsource your job. Target companies you want to work for and collect the necessary skills and THEN apply. Don't just send resumes out like a desperate man trapped on a island. HR can smell the desperation and they don't like it.

    If you prefer the easy going life of a less globalized job then programming may not be for you.
    You should also spend some time writing your congressman and telling them you want some way to balance foreign labor such as value added taxes or tariffs. You may pay more as a consumer, but you will likely wind up with better products and better jobs.

    We need to move away from this idea of a low cost disposable society instead we should focus on quality goods and services but our nations economic model literally does mesh with that idea of anything but short term gains and insane profits for businesses. You can bet a lot of the shortcoming of software is attributed to the lack of programmers being closely coupled with the business. Look at products like Quickbooks that have more or less just gone off the deep end of reasonable use and now support their business model with BS upgrades and updates and tax codes.

    If you want a programming job in the US you need to focus on a particular field or application and get very good at that rather than a broad set of certifications. You also need to target your applications for only the job types your good at and even apply to companies you know have positions you want even if they aren't currently looking. Being targeted usually pays off and applying too often usually lowers the quality of your application such as resorting to a generic introduction or cover letter instead of something truly inspired by your interest in the company and the position.

  86. Ok genius by Anonymous Coward · · Score: 0

    What the hell. Why does a corporation or employer have to train people? Maybe the young programmers after these jobs should offer to do it for a free considering it's education. What obligation does an employer have to people to train somebody who's going to demand a massive salary? I'll tell you what you'll be bitching about next is that young programmers who were forced to learn COBOL by "el corporaciones" now are being discarded unless they quickly learn Java. What about that? "you can't get there from here"

    I understand that marxists have difficulty thinking broadly and analytically .. but come on.

    Since you think marxism will save the universe ..give me the date by which the economy will collapse, crime reaches 4 times the current rate, and people start starving (unless Marxism is implemented and people are denied the ability to trade with each other).

    Instead of crying about crap why not realize that China and India will soon lack enough workers to supply their infrastructure and peopel and will need American manufactured/designed products such as advanced pharmaceuiticals, airplanes, and other stuff. The quicker people realize that the up & coming China will soon be a market the better.

    1. Re:Ok genius by Marxist+Hacker+42 · · Score: 1

      Since you think marxism will save the universe ..give me the date by which the economy will collapse, crime reaches 4 times the current rate, and people start starving (unless Marxism is implemented and people are denied the ability to trade with each other).

      9/11/2001- we're six years into WWIII now.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  87. is stability required? by falconwolf · · Score: 1

    it may also reduce stability. Adam Smith didn't have the math to study stability.

    Stability is neither needed nor wanted. What is needed is Creative Destruction. Adam Smith understood that. For instance he was against patents, instead he believed whoever could make something better or more cheaply should be allowed to do so. Competition in an open market would improve people's lives. However it took Joseph Schumpeter to introduce Creative Destruction, and he thought it would lead to socialism.

    One reason medical costs are so high is that the certification process favors citizens and domestic drugs because different countries have different medical rules. (But that may change.)

    It's almost the opposite in Europe which means Africa is in trouble. After training medical personnel leave Africa and go to Europe because they can make more money in Europe. They are also treated better.

    Falcon
    1. Re:is stability required? by Tablizer · · Score: 1

      Stability is neither needed nor wanted. What is needed is Creative Destruction.

      Just see how far a politician gets on that platform. Obviously you've never had a family.

  88. do what you love by falconwolf · · Score: 1

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

    While I agree that people should do what they love, they don't always earn a lot. They may be happier but still be poor. Many artists were like this, they died broke, it was only after death that they became famous. The ones who did live comfortably had wealthy patrons.

    Falcon
  89. immigrants by falconwolf · · Score: 1

    Of course, my own reasonable success tints my vision pink. But I'm yet to meet a person born-and-raised in this country (immigrants are often impeded by coming here late), who loves what they do and is not well-off...

    Actually what most people don't know about immigrants is that they, including illegals, are more likely to start a business than those born and raised in the US.

    Falcon
  90. sovereign is the keyword by Maljin+Jolt · · Score: 1

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

    Being American or not, it depends on your attitude to personal sovereignty. If you plan to spend your life as a slave employee your life will depend on too much events you cannot control, not just offshoring. Anyone able to point and click can take a "software engineer" position, just like anyone able to handle shovel could take a "machine engineer" in steam age.

    But if you decide to take your own responsibility of yourself, good knowledge of programming can help you to start your own enterprising from almost the total zero of capital investment. Because with just an idea, you can make a real product without any other resources than yourself. This is not possible in any other industry with the exception of artwork and sex market.

    Remember, employment does not lead to big success, for sure. Enterprising does, sometimes.

    --
    There you are, staring at me again.
  91. Re:Software Engineering is applied Computer Scienc by dodobh · · Score: 1

    Craftsman vs programmer? You need engineers to build buildings, but you need artists to do the really great stuff.

    Software engineering works well for long running projects with slowly changing requirements, but you need a craftsman for projects where requirements change fast.

    --
    I can throw myself at the ground, and miss.
  92. Programming is a WORLD in itself by unity100 · · Score: 3, Insightful

    and just like the real world, programming is in fact something that comprises of MANY fields and areas. These fields are just like jobs themselves.

    For example if you are a C++ programmer (or the language you are best at), you are like a mechanical engineer. if you are very good, you will find a very good job. if you are just ok, you will be just another 'engineer' in some obscure manufacturing plant or technical drawing room somewhere. if you have just jumped in the field for 'cash' or because your parents pushed you in, you will have problems finding a job.

    if you are an assembler programmer as expertise, you are just like a painter. it will be VERY hard for you to find work, but if you are good, you will find work that noone can find, and it will be solid as hell, you will have to turn down many people. but, you have to be real, real good.

    if you are a PHP/MySQL developer as expertise for example, you are like an industrial engineer. if you are good, you will find very good salary jobs. and always think of leaving and setting up your own shop. if you are just ok, then you will still easily find jobs, although not as good paid, but you at all times will be able to take on work via the internet and do freelance.

    it all depends on which profession you choose. MANY cs, software engineer grads, programmers scorn php/mysql for example, even at times arguing php is not even a language (it may be, or it may not be thats not important) but this combo is whats hot on the net for a few years now, and even now the demand is nowhere near satisfied and increases. judging by the amount of free/low cost software enabling individiuals, ordinary people, very small businesses (heck, even ma&pa shops) are enabled to come on the internet and create businesses, communities, services and stuff through the php/mysql road says that the more the supply of programmers the more people will be coming in by that lane because prices are kept cheap.

    you just have to choose your field accordingly. its just like choosing a business. dont go choosing a university/college that doesnt have good reputation and then learn asp, .net programming and stack up msces and expect to get a job in a microsoft shop - because of the tradition these shops tend to be rather picky, and even if you are good you might have hard time just because your college is not well known.

    on the other hand of the spectrum check out php/mysql developer ads, even at slashdot. they do not even require any kind of bs grad. they gather up the exact specific requirements for the job, and EXPERIENCE. because this field and what it should do and what one needs to do stuff in that is well known and defined, and when you get such people you get your work done.

    therefore its all choices. programming, it is a world in itself, with MANY professions. it doesnt matter a bit if you say you are a cs grad. its like saying that "i am a human", in the midst of 7 billion people

    what really are you ? a LAMPer ? a .NET junkie ? a C++ nut ? an Assembler monkey ? Database freak ? just decide on that, and start working towards a position.

    1. Re:Programming is a WORLD in itself by Anonymous Coward · · Score: 0

      Why is this luser consulting a GOVT handbook
      for something that's a personal decision?

      If its not a personal calling you'll be leaving soon.

    2. Re:Programming is a WORLD in itself by unity100 · · Score: 1

      just what are you trying to say, i have no idea.

  93. Re:You can't get there from here; raise exception? by Anonymous Coward · · Score: 0

    Here's a way: get a second degree that ties into programming.
    When computer science isn't enough by itself, add electronics/art/english/law/whatever.

    Two years ago I began mutating into what's called an embedded systems programmer. I work with digital logic, design circuits, write software for microcontrollers (C/assembly), programmable logic (HDL) and microprocessors (such as z80,sparc,arm).

  94. Also Consider the Occupation Supply by EconIT · · Score: 1

    Occupation statistics, such as the BLS Occupation Outlook, can be somewhat deceiving because you are only looking at the demand side of the equation. These data do not take into account the supply side which includes things such as college graduates and retirement. Obviously, differences in the regional economy will also cause these stats to vary.

    For example: in Pittsburg, over three years, the regional economy has demand for 3,315 programmers but has a supply of 3,508. So while the programmer occupation is growing, there are very few job openings. Or at least, they are filled right away by the very best since this is an employers' market.

    Compare this to Computer Software Engineers, Systems which has a demand for 2,781 but a supply of 2,606. Not only is this occupation growing, but there is a shortage of workers in the Pittsburg region. Just scanning some other metropolitan areas, you will see the same trend.

    Source: Chmura Economics and Analytics (disclaimer: I work for this company)

  95. Software creators are like baseball players! by scottsk · · Score: 1

    The best analogy I can come up with is that software creators (whatever you want to call them) are like baseball players. In major-league baseball, there is a shortage of talent. There is NOT a shortage of players. No MLB team has ever had trouble suiting up 25 guys for a game, or finding 5 starting pitchers. But finding players who produce results is difficult, and there aren't that many of them that lead a team to the World Series. These are the guys who make big bucks as free agents, get traded for, etc. Software is the same way. The toolsmiths, the people who can create software that produces results, are in big demand and already have jobs and aren't available because they're locked up in a long-term contract with a good employer, and they're probably making the tools other people use. The so-called AAAA players are a dime a dozen - they are lights out at AAA and have nothing to prove there, but when they're called up to the majors they get their heads beaten in by MLB talent. They have two-digit ERAs or hit under .200. These are the coders who take a "Learn C# in 24 hours" course. In baseball, there are only so many Cy Young caliber pitchers in any era, so there's a fixed quantity of them. You can't make more. Good toolsmiths are the same way. At least that's my reflection after a decade and a half or more in the computer field. This is why there is both a talent shortage and a glut of people at the same time. When teams (employers) talk about a talent shortage, they're talking about hiring a Roger Clemens or John Smoltz, and when there's a glut of people, there's a glut of Buddy Carlyles and Mat Redmans. I do not mean this in a bad way, or to put anyone down for their ability. It's just a fact.

  96. More than just software by TOADLLC · · Score: 1

    I agree with Tom Peters(http://www.tompeters.com/) that says we are in a period of "renewed individual responsibility". If you are seeking a career in software, why not also choose a "domain" to focus on. Almost every industry will continue to be touched by software innovations. By having some expertise in a specific field in addition to software engineering skills, you become a double-threat. You can't predict where the road of life will lead.

  97. The profession's fine, if you're underqualified. by Anonymous Coward · · Score: 0

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

    Well I'm a bad ass car washer, stock shelver, and oil changer. Where's my job? What's that you say, I'm overqualified?

  98. I second that.. by Anonymous+Meoward · · Score: 1

    I can't help but agree with you. I recently left a job because of this very issue. Basically, my former group was in charge of a very technical project (not "just" IT, but R&D in the embedded systems space). The upper level mgmt behaved like cost accountants, assuming that a developers were 100% interchangeable.

    You can see where this is leading.

    But, there were some interesting side effects. First, the offshore teams (from competing firms no less) were in charge of the project from the beginning, and the experienced locals were brought in to clean up the mess. The end result was that the least experienced people were in charge of the areas that required the most experience: design and architecture.

    To be fair, many of the offshore folks (who were rotated to our US lab on a regular basis) were in fact really really good. One guy in particular struck me as an insane genius. But they were the exception, sadly.

    --
    --- The American Way of Life is not a birthright. Hell, it's not even sustainable.
  99. Re:Jobs for the elite - none for the rest - job op by DaveV1.0 · · Score: 1

    OK, let me see if I have this straight.

    Your company needs programmers. It will only hire programmers with experience. Every job for programming I have seen requires a minimum of two years work experience.

    How does one get work experience if companies will only hire people with work experience?

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  100. Don't disparage foreign programmers unjustly. by guidryp · · Score: 1

    I see a lot of insults leveled at Indian programming teams and they are largely unwarranted IMO. I have been at my current (telecom) company for over a decade we have always used Indian Contractors. The results have NEVER been stellar, BUT we also bring many of the Indian contractors over here to work and they are EASILY the equal of their North American counterparts as individuals. There education is solid and they are motivated. Anyone disparaging the quality of the people hasn't met many in person.

    The poor results of Indian outsourcing is largely due to project management difficulties, made more difficult by geographic separation, time zone difference and second language proficiency. Even managing between Canada/USA causes many issues and delivers poorer results than doing it in house.

    But this is where it is going regardless. My company is rapidly outsourcing the bulk of staff to China/India, which I think will lead to long term failure due to project management issues and possibly loss of intellectual property.

    I am in the process of training myself in new skills for eventual departure from my current company.

    Do I recommend this profession. Absolutely not. IMO, there is place for the North American Computer Scientist, but only for those who love it enough to ignore my recommendations. You have to love what you are doing, you have to always be prepared to sell yourself for a new position because there is no such thing as a stable job in this field (IMO). That can be alright when you are younger but as I hit middle age some stability would be nice. If I had it all to do over again, this is not the field I would have entered, even though I was the kid building electronic circuits and reading memory maps of my Vic20 so I could poke stuff into memory. In many ways this is what I was meant to do, but I think it would have been more rewarding as a hobby.

    Knowing everything I do now(about the market and myself), what would I have chosen? I would have become an optometrist and tinkered/coded as a Hobby. :-)

    1. Re:Don't disparage foreign programmers unjustly. by DaveV1.0 · · Score: 1

      I have been working at a major Telecom for two years doing production support. 90% of the problems I have to deal with stems from poor programming by the our almost exclusively Indian development teams. Software that is tested by our almost exclusively Indian testing teams.

      In fact, the longest period of stability for the systems occurred during a change moratorium, during which only break fix changes were allowed. After the first week and a half, the break/fix changes were completed and the systems were stable until the first change after the moratorium. That change caused a serious failure 4 hours after it was put in. The failure was related to the code.

      From what I have seen, the place for the North American Computer Scientist is fixing the mistakes and dealing with emergencies created by the Southeast Asian Computer Programmers and Software Testers.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    2. Re:Don't disparage foreign programmers unjustly. by Anonymous Coward · · Score: 0

      Chances are you are an asshole and don't know it.
       
      No, my wife is always reminding me.

  101. Mod Parent Up by asphaltjesus · · Score: 1

    Hear! Hear!

    Between the death-trap phrase "find your passion and the rest will take care of itself" and the anecdotes for and against, this is a point that is lost, over and over again.

    --
    Got Trader Joe's? friendwich.com RSS feeds work now!
  102. the clueful are always in demand by darkuncle · · Score: 1

    I'm a sysadmin (spend most of my time actually doing storage architecture, capacity planning, acceleration and other infrastructure stuff for Internet companies), and the job market is better now than I've ever seen it. I'm not a programmer (or software engineer, if there's a difference) by trade, although I do a fair bit of programming from time to time. My experience has been that those who have the ability to think methodically, take an analytical approach to troubleshooting and generally leverage past experience to new situations will _always_ be able to find work. Combine those skills with the pragmatic approach of a generalist (most sysadmins know how to do a little of everything (see http://darkuncle.net/sysadmin/what_is_a_sysadmin.txt)), and you have a combination of aptitudes, interests and skills that will serve to make you at home in almost any environment.

    But mostly ... do what you love to do first, and then worry about employment opportunities. If you're doing what you love, you will always be happy to get up and go to work in the morning, even if you have to scramble to pay the bills sometimes. OTOH, if you choose a career based on employment opportunities or median salary, you will end up hating what you do, because money isn't enough to compensate for a lifetime spent doing something that doesn't interest you (at least, not for hackers, who by and large require intellectual stimulation).

    To thine own self be true.

    --
    illum oportet crescere me autem minui
  103. Computer Security / Information Assurance by Anonymous Coward · · Score: 0

    If you're looking into the computer field and you want something that will have definite job security, look at Information Assurance or Computer Security (depends what your local University calls it ) not all Universities have programs but if you get a masters in a security field you'll be fine. It's the one thing that the government and private industry aren't dumb enough to export.

    I mean job security, computer security, its got security right in the title, how can you go wrong? :)

  104. You just have to be good. by tthomas48 · · Score: 1

    As people have said, you just need to be a good programmer who loves their job. I have a BA in Theater and yet am a Senior Software Engineer. A lot of people got into this field because they saw dollar signs, or because they like to play video games. Most of those of us who are still here are the sort of people who go home and code at night. In my free time I've build an MTA, POP3 server, webmail client, CMS, weblog, and more. If that doesn't sound like you, you're probably what they refer to as a "programmer" in the article and you're going to have a hard time finding a job. Otherwise you'll be fine. It's very easy when interviewing to figure out who the good junior developers are. Even if you don't know every answer you'll be able to come up with some sort of working solution. And that level of thinking is really what makes the difference in hiring.

  105. The future of computer professionals by Efialtis · · Score: 1

    We are in the middle of a transition at our work place... We used to have "Software Testers" and "Programmers", but now we have "Software Test Engineers" and "Software Development Engineers"...
    I have been in the field for over 15 years, and I predict that we will see other changes as well in the next while...
    Software Test Engineers and Software Development Engineers will become Software Engineers, and they will work in a variety of "sub categories" like Test and Development.
    There are other simplifications that I see coming...we have managers for Test, Development, Product and Project... Within our company we have a Product which contains several Projects. So you have one Product Manager (for this product) and several Project Managers (for this product). In each Project we have the Designers, Developers and Testers...
    This is where I see simplification. I don't think we need managers for Test, Development and Design...what we need is a single point of management over all 3 aspects which then becomes "Development Manager" and they are over the Software Engineers, some of which are Designers, some are Developers, and some are Testers.
    This is in line with the various Agile programming methodologies...

    --
    --E--
  106. Blue-collar cities... by sherriw · · Score: 1

    My city is as blue-collar automotive as you can get. Unfortunately the local university churns out hundreds and hundreds of CS grads every year. The market is saturated and a $20/h job is rare and coveted. I'm thankful for my current job doing online software in a niche market, but I've not quite broken the $40K/yr barrier yet... and I'm actually a very skilled and experienced developer. I just have no local options. So, I'm learning new skills and pushing my career toward a project management direction as fast as I can... to give myself more options as far as salary, and industries I can work in. If you aren't in the executive/management team, you're out of luck and at risk of being outsourced. At least if I was an experience project manager I wouldn't have to stay in the sofware/web development market.

  107. Does language differentiate engineer/programmer? by walterbyrd · · Score: 1

    Is there such a thing as a "software engineer" who works in PHP or BASIC? I've never heard of such a thing. I guess, to be a software engineer, you can't work with a scripting language?

  108. Do yourself a favor by Anonymous Coward · · Score: 0

    Yes! Please take heed of most everyone else on this post and stay out of the sofware industry! It will only serve to create more demand for my skills and drive my already good salary even higher!

  109. You're not testing what you think you are by nessus42 · · Score: 1

    You do realize, don't you, that you are not testing what you think you're testing. You are testing someone's ability to program under extreme stress, not their ability to program.

    I graduated from MIT, got A+'s in all my programming and software engineering classes, have written software that operates an X-ray space telescope, taught myself C++ in a week by reading Stroustrup from cover to cover, scored in the top 5% on the computer science and general GREs, and have derived the linear algebra of coordinate frame transformations on my own from first principles because I didn't happen to have a good textbook handy.

    On the other hand, I'd likely fail your test. I'd be lucky to be able to remember my own name if you asked me to write it down on a whiteboard during an interview.

    |>oug

    1. Re:You're not testing what you think you are by FireHawk77028 · · Score: 1

      If you cannot program under stress... why would anyone hire you? How are you going to perform when your boss is popping in your office every half hour asking if you fixed the [insert some error] that client B is experiencing preventing them from doing their job which is costing them 10k an hour. Which would cost your company the nice contract they have. Which of course could mean they no longer have money to pay you.

    2. Re:You're not testing what you think you are by nessus42 · · Score: 1

      (1) Stage fright is completely different from deadline stress. For instance, I've done interview coding, but I told the interviewers to give me pencil and paper and leave and come back in a while. I got the job, as I was the only one who could solve the problems at all, much less at a whiteboard. (2) Client B never gets a code release on that sort of time frame any place I've ever worked. Code released publicly has to go through code review, QA, etc. Internal clients, on the other hand, are generally reasonable people, and don't threaten to take away all their business if you can't solve the problem on some crazy deadline. (3) Most bugs are very much more complicated than could ever be fixed on such a tight schedule. (4) My code is generally much more robust than that of most programmers, so I'd likely save the company from that problem in the first place.

    3. Re:You're not testing what you think you are by mcmonkey · · Score: 1

      On the other hand, I'd likely fail your test. I'd be lucky to be able to remember my own name if you asked me to write it down on a whiteboard during an interview.

      No, I think he knows what he's testing. And I don't think he's sorry someone like you would get weeded out of the hiring process by such a test.

      An interview is not a theoretical exercise in what you have done or what you could do. An interview is a practical exercise in helping to determine what you will do.

      If you can't remember your name under the pressure of an interview, how will you perform under a deadline? And keep in mind, companies hire people to do actual stuff, not just make widgets. How would you perform under the pressure of working with bio/medial technology, knowing the loss of a data point on a single device failure may prevent the recall of defective product leading to real people suffering real damages?

      I do not doubt any of the accomplishments you list, but to an employer, it's all a big "so what?" Knowledge in your brain is of no use to anyone. It's what comes out of your mouth and from your finger tips that's interesting.

      If you happen to have opportunity to wander up the street to Harvard, perhaps we'll show you how real work gets done. ;)

    4. Re:You're not testing what you think you are by nessus42 · · Score: 1

      Actually, I do work at Harvard, on bio/medical technology. My code tends to be very robust.

      I've worked fine under deadlines. In fact on software that had to work by the time a Delta II rocket was launched. Deadlines don't get any firmer than that. Deadline pressure is not the same as stage fright.

      Anyone who has graduated from college with good grades should be able to work under deadline pressure. Working under stage fright pressure is something that you would work through in graduate school while teaching classes.

      In the real world, however, I've never had to work under stage fright pressure, except to give talks. And in those situations, I'm very rehearsed.

      |>oug

    5. Re:You're not testing what you think you are by megaditto · · Score: 1

      If I were you, I would have asked for a 15-minute "timeout" explaining how I am all shy around strangers and whatnot...

      The key is being pro-active during the interview instead of locking up and saying "No I can't do that." At the very least, explain why you cannot do something right now, and offer a reasonable alternative (which could be just about anything, from giving you more time, to giving you the access to a manual, to letting you submit the program in pseudocode, to almost anything else).

      --
      Obama likes poor people so much, he wants to make more of them.
    6. Re:You're not testing what you think you are by nessus42 · · Score: 1

      That's precisely what I did at an interview where I was asked to program at the interview, and I got the job. See another comment I made in this subthread for more details.

      Unfortunately, companies such as Google don't take no for an answer when they ask you to code right at the whiteboard.

      |>oug

    7. Re:You're not testing what you think you are by XenophileJKO · · Score: 1

      Well what's funny is that not only was it an easy test... but I gave them a pencil and paper.. "do it in whatever language you are confortable with (or pseudocode) and come get me when you are finished," I said. I also included a very short design section where I ask people what a database schema would look like and what an GUI would look like to get an idea how they design and had 10 general c# questions. I prefaced the questions with, "I don't really care if you know c#, but this gives me an idea of how deep you have delved into it." I also said.. "take as long as you would like. I am not in any rush," and left them alone in a private room.

      So I certainly didn't tried to keep the anxiety as low as possible. As a longtime programmer, I certainly knoe this profession is not know for having the most extroverted people.

    8. Re:You're not testing what you think you are by XenophileJKO · · Score: 1

      Probably should have tested myself on grammer and spelling....

    9. Re:You're not testing what you think you are by ClosedSource · · Score: 1

      "How are you going to perform when your boss is popping in your office every half hour asking if you fixed the [insert some error] that client B is experiencing preventing them from doing their job which is costing them 10k an hour."

      It would be simpler to just ask: "How are you going to perform if you work for a badly managed company"? Answer: "don't".

    10. Re:You're not testing what you think you are by DrCode · · Score: 1

      Under real working conditions, you simply search the internet for things you don't know or remember. For example, when I forget my name, I just google myself.

  110. you can get a programmer anywhere. by Anonymous Coward · · Score: 0

    I believe it and the reason is pretty simple.

    Programmers are paid to implement a design, and essentially do what they're told. Programmers can be hired cheaply overseas and are therefore on the down swing. For companies in the US, it is important to have someone to turn business requirements to a easy to follow design, a language barrier challenger here could be very detrimental to the product life cycle.

    Obviously there are other reasons including the ones mentioned in the article, but thats the most obvious by perhaps over looked one IMHO.

  111. In the USA: practically all IT jobs are doomed by walterbyrd · · Score: 1

    Whenever one of these discussions ensues, there is always a boat-load of these sorts of posts:

    "*I* am doing well right *now*. Therefore, everything must be great for everybody, everywhere, unless they're incompetent. Also, everything will be great in the future as well."

    Frankly, that sort of evidence is totally anecdotal, and the view is totally myopic.

    Trying looking at the big picture. Look at the available evidnece, and use a little common sense:

    - What costs $50/hour in the USA costs $5/hour elsewhere. Do the math.

    - Employers are breaking their necks to outsource everything they possibly can.

    - Whatever barriers that *presently* exist to offshoring, are being torn down, or manuvered around, fast.

    - Most of the outsourcing does not make the news. I see 20 person departments being offshore outsourced all the time. And everytime, most people thought it could never happen to them.

    IT salaries are down, jobs are going away. We have seen this happen in other industries. Pull your heads out of the sand and look towards the future. Sure there will be *some* jobs that can not be out-sourced. But, when you take a realistic look at the supply/demand equation, it's a grim outlook for practically all IT workers in the USA.

  112. Re: Maybe the businesses need to feel fear. by sethstorm · · Score: 1

    On the other hand, to use a phrase popularized when NAFTA was coming on line, if you do the work of a Mexican peasant, you get the pay of a Mexican peasant. Keep your skills current, demand to be put in front of customers at least a few times per year, and stay in touch with the field and you'll have no problems. Retire in place and you retire as a Mexican peasant. However, that does not give businesses the ability to act on terms of $DEITY, and cut out the US worker. Thankfully there won't be a long time until businesses start feeling the thunderbolts.

    It's a business decision and intelligent business decisions factor in all of the costs. Regulation can fix affect that one, and thankfully it has a good chance of telling businesses that their free job exportation will soon come to a close.
    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  113. Simple Economics by laxisusous · · Score: 1

    When the supply goes up (CS departments churn em out by the millions) faster than the demand (IT departments increase the number of servers, but also use efficiencies to use less employees) then the price drops. Look at the pay rate data. Computer professional pay has been flatline for some time. Just because there are more employees doesn't mean the market is better. There are a ton of Psych majors too, but I wouldn't recommend getting into that "hot" field.

  114. for what $9 bucks an hour? by Robert+Oak · · Score: 1

    That's pure fiction coming from the dot con era....you cannot code your way out of labor arbitrage or magically change the laws of labor economics. Not when corporations are hell bent on labor arbitraging your job and they really don't care about "good" frankly, they care about cheap. Watch Senator Durbin's video introducing S.1035, which reforms the H-1B Visa program and tell me this guy who got dumped off in favor of two H-1B Visa holders isn't an expert in his field. Of course he is! http://www.youtube.com/watch?v=o8Tsqk6jJoY

    --
    http://blog.noslaves.com
    1. Re:for what $9 bucks an hour? by cduffy · · Score: 1

      That's pure fiction coming from the dot con era....
      Then why am I employed and constantly getting job offers, and needing to tell people "sorry, I don't know anyone good who's looking for work I can refer you to"?
    2. Re:for what $9 bucks an hour? by Robert+Oak · · Score: 1

      sure and your rate is? your skill is? you age is?

      --
      http://blog.noslaves.com
    3. Re:for what $9 bucks an hour? by cduffy · · Score: 1

      sure and your rate is?
      Between $75-$200/hr for consulting clients (not taking those on right now -- the salaried job eats up all my time), or starting around $65K/yr excluding additional non-cash pay for salaried work. In the latter case, I need to like an employer quite a lot to consider working for them at that rate.

      your skill is?
      I'm one of the better Python developers I know, a reasonably competent Asterisk admin, a SCM wonk, a sysadminny type, an interface to the open source community (hey, some companies need that!) and a general troubleshooter and geek-of-all-trades. I also do some security design miscellany, some systems design, and quite a bit of other miscellany; once upon a time I maintained a lot of other peoples' C and did a significant amount of packaging, but all that's been some time.

      you age is?
      Younger than I am old, but no longer quite that young. I'd buy the "old geeks can't find work" argument if I actually knew any old geeks who were competent but unable to find work -- if I did, I know plenty of employers who care more about skill level and getting things done on time than they do about a few gray hairs. That said, the only competent old geeks I know are to the best of my knowledge either happily employed or happily retired or bumming around starting new businesses whenever something strikes their fancy.

      So, I've answered your questions... now, what's the point you're trying to make?
  115. In January of 2000 by SimplyFearless · · Score: 1
    I was asked to give a speech at a local University, to a mixed audience of freshman and high school seniors. The topic requested was "Why You Should Be A Computer Science Major".

    After some soul searching I politely declined.

    The reason is simply because I could not, at that time and to this day, offer any real prospect of anything like the level of success I have been lucky enough and skilled enough to realize in the broad field of Computer Science.

    One measure of trends you may wish to review is the count of Computer Science PHD's graduated in the USA each year, by college of study. What you will find is a dramatic downward trend for anything Computer Science or Software Engineering related. With a corresponding upward trend in other fields requiring the same basic personality traits and intellectual capability.

    That is, broadly speaking, a massive number of people before you - at the PHD and MBA and also BS / BA levels, have made a conscious and well reasoned, well researched choice to NOT pursue a career involving computer programming or computer engineering.

    What they have chosen is very enlightening, but I will leave that as a separate discussion area. The short version is that you can be very successful in a variety of fields other than Computer Science.

    The reason is that foreign governments (India, China, Taiwan, Indonesia, Japan, Russia, etc. etc.) have actually targeted Computer Science as an area in which they want to advance their citizens. They do so by means of educational opportunities and also solicitation of multinational corporations to employ their "educated" citizens.

    Second check, just to be sure you are sane, I strongly suggest you compare the ongoing skills maintenance cost for any Computer Science skills in dollar for dollar terms. Do this comparison as a simple list:

    - Cost for X training in the USA.

    - Cost for X training in India.

    - Cost for X training in China.

    - Cost for X training in Russia.

    For X substitute a limited set of comparison items such as:

    - Oracle (DBA roles, Data Architecture, Data Systems, eBusiness etc)

    - Microsoft (System Administrator courses on Vista, SQL Server courses, Advanced Administration like Active Directory mastery level courses). - Linux

    - Telecommunications

    The results you can reasonably expect will probably look something like:

    - Full Oracle Certification in USA: $35,000 to $45,000

    - Full Oracle Certification in India: $1,700 to $2,100

    - Full Microsoft Certification in USA: $23,000 to $29,000

    - Full Microsoft Certification in India: $800 to $1,100

    Now, if you are systems engineer, you need to stay current with technology. To do that you need to be at the same level as someone who is certified, if you dont actually get the full certifications. The same vendors offer exactly the same training and certifications at vastly different prices depending on where you are in the world. Yet your income will decrease over time compared to people in other nations. So, the projection is that your costs go up and your income goes down over the term of your career - say - 40 years.

    Third check. India and China and Russia all prohibit or strictly control or outright forbid any non-citizen from working in their country in the field of Computer Science. They simply protect the livelihoods of their citizens by forbidding foreigners from competing with them. Our USA government does nothing of the kind, but actually has just created entirely new kinds of visas so that foreigners can come to the USA and work indefinately. Presumably at the request of Corporations.

    The simple fact that at least 42% of all outsourced projects specific to Information Technology have utterly failed, and that another 18% have fallen short of their goals in terms of cost or budget, seems to be of no serious concern to these corporations - at least as far as cost per man hour they are willing to pay for competent workers.

    1. Re:In January of 2000 by DuckDodgers · · Score: 1

      How did you research which fields were receiving the students formerly pursuing Computer Science? I'm very curious to see what other areas these people have entered.

      Perhaps I'm foolishly optimistic, but from my research there are many thousands, perhaps tens of thousands, of good computer science jobs available inside the US. The problem for Computer Scientists is two-fold. For new graduates, a disproportionately small number of employers are willing to hire people without work experience. Once you have a few years of work under your belt, from what I have seen finding new work is easy. Getting your foot in the door is hard.

      The second problem as you mentioned, is staying current with trends and technologies. My friends who teach and who are medical professionals have some token requirements for continuing education, but most can meet the requirements with one or two seminars per year and the occasional class or correspondence course. With software development and IT in general, more work is required.

    2. Re:In January of 2000 by DaveV1.0 · · Score: 1

      At the costs you mention, it would be cost-effective to go to another country, such as India, to get one's certifications.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  116. Re:Regulation can allow you to cross that bridge. by sethstorm · · Score: 1

    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.

    Offshoring as a way to find new talent and staff projects that need staffing is here to stay. Or one can just find a regulation that tax credits a US citizen, penalizes the current FTA countries, and the most you'll get is something manageable(state-state).

    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. Well-crafted regulation keeps it here, where it should have been in the first place.

    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. The only boom that made being a citizen a penalty for all the wrong reasons. There's a good chance that will be corrected to being "not a citizen", where a citizen can get education towards their field of interest w/o the huge debt, and be able to make cost-free transitions if needed.
    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  117. computer science != engineering by Anonymous Coward · · Score: 0

    > I think the title "engineering" is much too grandiose for what most people who build software
    > ever do, and for that matter I don't think most software projects are really "engineered" at all.

    I would agree with this. I've never really considered computer science to be a true engineering discipline, despite its classification at most universities (including the one I went to). It's more a sub-branch of mathematics, or an art as the previous poster said.

    Every other engineering discipline involves constructing things out of _real_ materials, subject to the laws of physics and/or chemistry. This is why engineering schools typically have the hard sciences as part of their core curriculum. Software is subject to none of these laws. So why not move CS into the category of "arts and sciences" so that more people have the opportunity to take it?

  118. you're way below market value by Robert+Oak · · Score: 1

    that's a starting salary for a very junior BS graduate. That's the point. Python is a scripting language, not exactly the same thing as software architecture and it's a little hot right now, and you are young. So, while you're trying to claim that your experience is the norm, the statistics say something completely different. You might consider the phrase, "There for the Grace of God Go I" and try to stop claiming that Senior engineers magically "suck". They do not "suck" in the least, and their stories are potentially your future. They are telling you some very serious labor issues that are the corporate agenda and you might start paying attention instead of trying to "poo poo" their experiences...for their experiences will not doubt become yours as you get a few grey hairs.

    --
    http://blog.noslaves.com
    1. Re:you're way below market value by cduffy · · Score: 1

      that's a starting salary for a very junior BS graduate.
      So? It pays for the mortgage and the wife's private school, and that's before the stock component and associated potential future gains. Just because a very junior graduate started at this pay grade seven years ago doesn't mean that that's what the fair market value should forever be fixed at -- and as long as I can keep food on the table and a roof over our heads, I'm fine with that. (It's certainly not starting salary right now; starting salary presently is in the $40-50K range, which is also enough to pay for housing, food and the like -- and thus adequate for anyone motivated by love of the profession rather than the pay). I've got a friend who has said on occasion that he could find me work for much, much more than my current pay -- but I'm working where I am because I like it; the flexibility is significant and I'm doing something important; thus, to the extent that I am working below market value (rather than working in a market with more competition, which -- hey -- legitimately happens), it's by my own choice.

      Sure, starting at $40K isn't starting at $80K -- it means that, $DEITY forbid, both members of a two-parent household might need to get jobs! Oh, how horrid! American society has only been moving that way for the last decade or two; it's not like that's anything specific to the field. It might also mean that people might be financially motivated delay parenthood or to stop at one or two kids -- which is a damned good idea anyhow.

      Python is a scripting language, not exactly the same thing as software architecture
      The media company running their business off a bunch of (Python) code I designed and developed that's encrypting the movies, scheduling the ads their customers see, generating their web presence, managing communication with their DBMS (built around a schema I also developed) and communicating with the dedicated client software on the other end via a protocol I also designed doesn't view Python as "just a scripting language", nor my skillset as excluding architecture and design. Python is "[just] a scripting language" every bit as much as Java is "just an updated Z-machine" or C is "just portable assembler"; it has all the power of any serious conventional language, and attempts to diminish it thus need to be a little more serious than naming it "[just] a scripting language".

      try to stop claiming that Senior engineers magically "suck"
      ...and where exactly did I claim that? I said that all the competent senior engineers I know are either happily employed, retired, or bumming around starting new businesses whenever they so fancy (and, obviously, are sufficiently financially independent as to be able to do so). As for the incompetent ones... well, I've met a lot more incompetent junior engineers than senior ones, and I'd thank you to respond to what I'm actually saying rather than what you'd prefer to think I am.

      My larger point is that software development is a fine profession for people who aren't in it for the money. I still hold that this is true, even if the amount of money in the field continues to drop. People can live their lives giving haircuts as a profession; people will damned well be able to make a reasonable living writing software for the foreseeable future.
    2. Re:you're way below market value by Robert+Oak · · Score: 1

      Just validates what I am saying and this is about jobs, careers, living and by labor economics alone the original post about the US losing a major industry stands true.

      --
      http://blog.noslaves.com
    3. Re:you're way below market value by cduffy · · Score: 1

      Connect the dots again, please -- I don't understand how you're getting from the data points to the intended conclusion. Adjusting prices to compete with the rest of the world is hardly losing an industry. Losing a monopoly, sure, but that's inevitable.

      (Not that I mean to deny the historical existence of a very substantial European software development market, but nonetheless the US has relied quite a bit on having a head start. To be sure, that's going away -- but it doesn't mean the American software industry is dead or even troubled).

    4. Re:you're way below market value by Robert+Oak · · Score: 1

      If you do not understand why you validate this fact then I suggest a labor economic course or even a basic macro economic 101 course.

      --
      http://blog.noslaves.com
    5. Re:you're way below market value by cduffy · · Score: 1

      What is "this fact"? Which specific data points are you using?

      Claiming that some subset of the set of concepts taught in macro economics 101 (which I'm well familiar with) supports your thesis in conjunction with some unstated members of the cloud of data thus far discussed is no argument at all, but merely handwaving. You've made any number of assertions throughout this thread, but have yet to even clarify which one represents the larger point which you suggest should be clear on its face.

      It may well be that the overall thrust of your argument is something I don't dispute in the slightest -- but I won't know unless you tell me what it is.

  119. Would you do it for free? by Anonymous Coward · · Score: 0

    It's obviously no if it's your job, but the question is really more about what you like to do. If your job had nothing to do with programming, would you take it up as a hobby? Are you interested in it? Because those are the people who get ahead and become the engineers and high level analysts.

    There's no romance in this job, as there isn't in a lot of jobs. You aren't a hero if you make the software work and in many cases, they ask you why it took so long and why it's so poor quality when just getting it out the door by their date is a monumental task which the people who are asking for it have no inkling of what they are asking for. There's long hours and you don't get a lot of time to do other stuff. The pay is not bad, but if I broke down how much I was paid by the number of hours I work, it's not great. $80k per year... great. If I work 80 hours a week I'm getting paid the same as a $40K office worker with half my education and nowhere near the same amount of stress.

    Which is why I ask if you'd do it for free. Do you like analyzing and solving problems? Do you like writing code? Do you get fidgety if you are away from your computer for too long? If so, you get to do all those things and get paid for it instead of spending 8 hours per day at a job you hate. You spend right around a third of your life working... you should spend that time at something that you like doing, because it would be a shame to hate a third of your life.

  120. Begging the question. by mcmonkey · · Score: 1

    But why would they hire an AMERICAN diamond-in-the-rough, if the Indian diamond -in-the-rough is 1/10th the cost? There's no way to get a foot in the door against absolute advantage.

    OK, one employee vs. another with the same skills and 1/10th the cost? Yes, that's rough. It's also fantasy.

    First, the cost is not 1/10th.

    Second, the increasing shift of industry to countries like India has led to higher standards of living, higher wages, etc. (This is why countries like India are seeing a wave of outsourcing of their own to countries with cheaper wages.)

    Third, you still need to supervise your diamond-in-the-rough, you still need project management. And while the internet helps, there is still a real cost for geographical diversity.

    Forth, ultimately there are no short cuts to success. You get what you pay for. TANSTAAFL. If the companies business plan is all about saving money through outsourcing, you're better off not getting the job and saving yourself the trouble of going through the lay-offs.

    I'm not putting down Indians--they're no worse than Americans. But, in general, they're no better than Americans. Employee costs aside, if the boss can't get the job done with the workers right outside his office, how is he going to manage workers on the other side of the globe?

    1. Re:Begging the question. by Marxist+Hacker+42 · · Score: 1

      All of which are good points for why this won't work in the long term. NONE of which will show up on the quarterly report for the stockholders. Guess which one makes the decisions when it comes to a publicly traded company.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  121. Re:Jobs for the elite - none for the rest - job op by thomasa · · Score: 1

    By Elite do you mean those who are willing to work 60 hour weeks consistenly?

  122. Re:You can't get there from here by DBA_in_ohio · · Score: 1

    Young Americans can't even get into entry level IT jobs, in many cases. They're competing with large, low-cost outsourcing firms which use foreign guest workers. These foreign guestworkers, regardless of federal laws and regulations, work for significantly less than prevailing wages and work many more hours than is typical of even workaholic American IT workes. Together with offshore outsourcing of many entry level programming jobs, the entry point for Americans into IT is being closed off. In addition, every year, more Americans are being forced out of IT through offshore outsourcing and expanded H-1b and L-1 foreign guest worker programs -- used by many corporations as *worker replacement programs*. I've seen it and lived it. There isn't an end in sight. In fact, I'll know in another few months whether my job and my co-workers' jobs will be headed to India. I'm a software enginer -- a DBA working for a "big name" international corporation using the newest, most advanced and costly software and hardware. I've got more than a decade of experience. My colleagues are similarly skilled and experience. We're ALL of the opinion that corporations prefer to offshore or use imported guest workers in preference to Americans or green card residents because they can pay so much less.

  123. obviously not by Robert+Oak · · Score: 1

    what is supply/demand, rate of return, opportunity cost? I don't think so if you cannot figure it out from what I already said.

    --
    http://blog.noslaves.com
  124. Fuck you, asshole. by cduffy · · Score: 1

    I aced AP econ in high school, and went on to minor in business. Do you ask people with whom you're debating object-oriented design if they can tell you what a pointer is? (And the correlary: if someone asked you that, would you dignify the question with a response?)

    See, it looks to me like you're arguing that there's downward pricing pressure impacting the market for American programmers, but I'm taking the position that while that may be true, it's not sufficiently so as to constitute the death of the profession. However, while I'm guessing that that's what you're trying to get at, it's hard to say -- because most of your actual communication consists of claiming that I've stated that older engineers "suck", arguing that working with Python is inherently unlike systems architecture, and inquiring as to my age, rate and skillset (while only making a single economic observation about the data returned -- and that with precious little context).

    I'd like to have an intelligent debate -- but that's not going to happen if you have nothing to offer but handwaving, evasion and insults.

    1. Re:Fuck you, asshole. by Robert+Oak · · Score: 1

      I think your education level speaks for itself because you cannot answer the question and your subject title.

      --
      http://blog.noslaves.com
    2. Re:Fuck you, asshole. by cduffy · · Score: 1

      I ask again: If someone interrupted a discussion on OOP to ask you what a pointer was, would you dignify the question with a response? "Can not" and "will not" are entirely separate things.

      I'll answer your pop quiz out-of-band -- phone me at +1.512.394.3516 should you be so inclined. You can be better assured that I'm not cheating under those circumstances, as well, and may provide an opportunity to clear up any miscommunication which might have added to our disagreements. That said, I will not stoop to being quizzed on such rudimentary knowledge in public.

  125. Getting There From Here -- With Co-op by JonSimons · · Score: 1

    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

    Allow me to take this opportunity to flaunt Northeastern University's co-op program. At NEU, 6 month co-ops are incorporated into our undergradute (and graduate) curriculum. After your sophomore year, you essentially take classes for 6 months, and then work for 6 months, and alternate until you graduate. It's a great program -- companies get to hire help cheaply, and students gain experience working with real technologies in the real world. It is a perfect solution to the catch 22 situation that "you need experience to get a job, and you need a job to get experience."

    By the time I have my bachelor's degree next Spring, I will have 18 months of industry experience. I worked with low level embedded systems at my first co-op (loved it), decided to try something new for my second co-op, and ended up writing backend applications for Wall Street (that was interesting), and now I'm on my final co-op for a Big Company out in Silicon Valley. I am completely confident in my ability to find a job after I graduate, and that confidence is absolutely due to NEU's co-op program.

    And oh yeah, I'm getting a kick-ass education, too.

  126. Creative destruction by falconwolf · · Score: 1

    Stability is neither needed nor wanted. What is needed is Creative Destruction.

    Just see how far a politician gets on that platform.

    Going back to FDR, none has.

    Obviously you've never had a family.

    Yes, I grew up in a family with two sisters. I also took care of one sister's daughter for about a year. But obviously you don't think Sony has any employers who have families. Sony was a master of Creative Destruction. As were many other Japanese companies, that's how they became so big. Heck MS owes a debt to creative destruction. The release of Word and Excel was an act of creative destruction. Now it's Linux's turn.

    Falcon
    1. Re:Creative destruction by Tablizer · · Score: 1

      The release of Word and Excel was an act of creative destruction.

      That's a good description of what it did to my spreadsheets.

  127. Excellent analysis..... by BarnabyWilde · · Score: 1

    ...and says it like it is.

    Thank you.

    Thank you.

  128. Please choke on your own stupidity and die by Rix · · Score: 1

    The US is a backwards, provincial cesspool of yokels and morons. On the internet, unless one specifically says otherwise, they're not talking about that shithole.

    Immigrants aren't payed any less in mainline western societies.

  129. Forget Computers and high tech... by cynon83 · · Score: 1

    ... big corps have whored it away overseas. Stick to plumbing or being an electrician. At least then you only have to compete against illegal immigrants.

  130. Believe the outlook? Yes. by Duncan+Buell · · Score: 1

    The jobs that are disappearing are those which require someone to sit in front of a screen, in a cubicle, for 30 years until reaching retirement age. The software and systems analyst jobs that are not going to go away are those that require an expert technical person to be able to go back and forth with a nontechnical person about the technical specifications needed for a software or SW/HW project. That does, I believe, require knowing how programs are written and run, but it is not programming per se. It also requires discipline knowledge in something other than computing, because I don't believe one can be ignorant of X and implement/modify/adapt a software package to do X.

  131. Software Engineering & Programming Careers by rabenja · · Score: 1

    Successful automation implementation has more to do with effective communication and problem understanding than it has to do with coding prowess. My opinion is that if you plan on a bit-twiddling career, a career making video games or a career with a software giant you might have cause for gloom. On the other hand, if you would like to contribute to the small and medium businesses' success with their required custom automation to support whatever the business is, you have a great future. Here, the value is in the ability to translate a problem solution into automation where it makes business sense. Outsourcing makes no sense. I have had a heck of a time finding qualified Java developers to work on my projects. Stay away from Microsoft and you probably will do better.

  132. American Programming IS Software Engineering by tjstork · · Score: 2, Interesting

    Culturally, very few "programmers" exist any more that merely get a detailed stack of requirements and just write code for it. Now, you have to be an entrepreneur, and you have to be creative. Fortunately, those of us who survive in the USA are either educated or innately creative, and so, for now, we can do that.

    I guess the real question, though, is what field isn't going to be exposed to overseas competition? The only thing I could think of would be a Great Lakes Ship builder, or other professions protected by the Jones Act, but there aren't that many of those jobs out there, any more. Or, you could be in the military!

    --
    This is my sig.
  133. I'm sorry, but ... by KlaymenDK · · Score: 1
    When you write that you prefer a CPU over a human for reasons of predictability, it's what I too have been saying for years.

    These books sound very fascinating, and I will make a note of them and see what they're up to. ... but ... you claim to have read some of these, and that they've helped you ... yet you still saying:

    I am introverted myself and found the course very helpful. Hmm? Should that not be "I *was* introverted"? I really don't mean to be offensive, but the change does not seem to be that, um, deep-rooted if you're still using your old self-image like that. Or have I misunderstood?
    1. Re:I'm sorry, but ... by Maxo-Texas · · Score: 1

      Introversion is a quality like "white skin" or "blue eyes".

      People who are introverts (75% of the population) expend energy interacting with others- especially new people.
      People who are extroverts (25% of the population) gain energy from interacting with others.

      My training allows me to get along with people- but it doesn't change the fact that large masses of strangers wear me out.

      The training is more about things like:
      How to handle worrying so it doesn't kill you.
      How to carry on an enjoyable casual conversation.
      Getting experience talking in front of large crowds of people (which makes talking in small crowds easier).
      etc.

      The Les Giblin book focuses on:
      Smile
      Know their name.
      Only allow yourself to disagree 1 time out of 10 opportunities-- this makes you save your disagreements for situations where it really matters and builds up a relation with the other people so they will listen to you that one time.

      Dale Focuses on
      Memory (so you are confident)
      Talking in front of groups (same)
      How to teach and train without criticizing or condemning (I saw some miraculous things in class from this with others in their relationships with their spouses).
      etc.

      I use my training at work and home daily and I can say my happiness, success, and satisfaction have improved out of proportion to the effort I expended learning it.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    2. Re:I'm sorry, but ... by KlaymenDK · · Score: 1

      Right, so I misunderstood you. Thank you for your clarifying post. :)

  134. Nurses get paid more than CS grads anyway. by oldCoder · · Score: 1

    In the US, a Registered Nurse makes significantly more money than a CS grad. So why bother with all that math? Just so you can work sitting down? Ye Olde Coder

    --

    I18N == Intergalacticization
  135. The best way to get job prospects... by DrCode · · Score: 1

    ...Work for a company that goes bankrupt. Then, all your former coworkers and managers (which I assume you were on good terms with) will spread out to a variety of different companies, and you'll now have loads of contacts.