Are Engineers & Computer Programmers really thrown away after 5 years?

I heard from engineers and some computer programmer types that while they could get hired easily out of school, they eventually got canned after about 5 years as the employers wanted new grads with new skill sets.

Some things make me question this: Why cant the engineers ‘update’ their knowledge? Also, since when do most universities have the most up-to-date educational materials–usually it takes awhile to seep through.

So is this true? Are Engees really canned?

As if they teach you anything useful in school.

I haven’t experienced this. Typically it takes years of real world experience before companies will hire you, they want someone with skills, they don’t want to have to train.

When I graduated in '93, I couldn’t get hired due to lack of experience. I eventually got a job doing Macromedia Director-based CD-ROM development and when I got laid off in 2001, I found I had six years of worthless experience.

FWIW,
Rob

I can only speak from my experience working as a technical writer in high-tech companies alongside engineers. So I’m an observer, really, but I hope an impartial one.

The answer to your question isn’t easy, and if I had to sum it up, I’d have to say “yes and no.” I’ll add that the phrase “thrown away” in your subject line isn’t the term I’d use, and the whole question ultimately depends on the company. Some companies like to hire new grads–the advantages are that they’re usually well-trained on the latest technology, they’re enthusiatic and willing to put in the long hours that many high-tech companies demand, and they usually lack real-world experience, so (let’s face it) they’re cheap to hire. There are disadvantages to hiring new grads as well, of course, but many companies seem to feel the advantages outweigh the disadvantages.

There are exceptions too, and I’ve worked with a number of long-term engineers who have put in ten to twenty (and sometimes longer) years as engineers, sometimes with the same company. They keep current with the latest skills and technologies, they’re happy, they don’t expect (or want) to be promoted to management positions, and they’re great mentors to younger colleagues. Some companies realize this and don’t mess with success. Some companies want these types, and actively look for those who are job-hunting. And as your OP notes, some wouldn’t touch these folks with a ten-foot pole.

Still, there are those who figure getting hired as an engineer is a great way to start at a company. Their aim is ultimately to get into something more secure and less vulnerable to technological change. While positions in tech support, product support, and suchlike would seem to be a natural fit for a gregarious engineer; I’ve also known former engineers who now fill positions in HR, in Marketing, in Training, and even in technical writing. Their engineering background usually serves them well in these fields, though sometimes additional training in these fields is needed–the engineers I knew in Marketing had to learn to turn down the technobabble and the engineers I knew in HR had to learn a few more people skills than they had. But these are the kinds of things that many (though not all) engineers end up doing if they get tired of designing and programming, or if the company gets tired of them doing those things. While some may be downsized (a word I hate, but a useful one nonetheless) if they show little interest in keeping their skills up-to-date and/or moving into other positions in the company, many are not simply “thrown away,” but moved into other areas they would like to explore where they are still useful to the company.

Just my experience talking, but I hope it helps answer your question.

I have been in the IT industry since 1979 and have been a manager since 1988. I have never heard of disposable programmers in my experience.

However, when I was a senior in college at the University of Michigan, a graduate teaching assistant named John Saylor told me that the half-life of my knowledge would be 5 years, so I’d better plan on spending a lot of effort staying up to date for the rest of my career. I have definitely found that to be true.

I can’t comment specifically about **sweeteviljesus’s ** experience but I will say that some people do hitch their wagon to a particular technology that later loses its luster. There were a lot of PowerBuilder developers out there, tied to a specific product that today I think it still alive but not thriving. People do this with Oracle but it seems like a safer bet. You might say the same about .NET. I was one of the Ada programmers in the 80’s that jumped ship in the 90’s to C, C++, and eventually Java.

If you have a good foundation in software development it’s not impossible to transition to new technologies and stay in demand in the job market. I have often hired people into positions where 5 years of experience was considered junior, although it has always amazed me in this industry that guys with 5 years sell themselves as “senior.”

As a hiring manager, I have always had the philosophy that I would rather take a good, solid developer with some miles on him and teach him a new language, than to just grab somebody handy who learned the latest techniques in school last year.

I went to college to study Electrical and Electronic Engineering. While the electronics part of what I learned would be largely out of date by now I bet the electrical stuff would not have changed much. This is after 20+ years, laws of physics y’know.

I have been working as a programmer now for ~12 years and have gone through three generations of the main development tools. So I guess I have been updating my knowledge, gradually. My employer has been hiring people with more up-to-date skills* but they prefer people with experience to ‘school leavers’.

I any case though there are quite a few graduates here** none of the coders studied IT. To my knowledge there’s a physicist a biologist and an astronomer. . .

I have a friend who only ever learned COBOL (CICS?) the only reason he isn’t still working is that he’s a lazy, contrary sod.

  • Mostly Java, but there’s a possible C# position if you want to apply.
    ** I’ve got a mere HND

I’ve been working as a software engineer for the same company I got hired into right out of school 14 years ago. Over the years I guess the company has been satisfied with the way I’ve been able to update my skills; I’ve been promoted many times.

So what you heard is certainly not always true.

I should point out that my college degrees are actually in physics, not CS.

Ed

Speaking from my own experience, I’ll say it’s mostly not true.

I’ve been doing computer networking for roughly 15 years, and I don’t think I’ll stop doing that anytime soon. Of course, this is a niche where standards move a bit slower than other IT fields - IP was basically designed 40 years ago.
True, I’ve moved my focus - I started with a lot of practical work, mounting hubs (switches were new-fangled and unreliable back then), pulling cables, taking client calls, that kind of rot. These days, I’m spending most of my time planning and designing - and the troubleshooting has certainly become more esoteric, as the new guys get the easy problems and hand what they can’t tackle up the line.

New grads may know the technology, but they’ve rarely done anything but toy problems. Particularly in the network world, solutions do not always scale that well - what works fine in a 5-node lab can easily break in a 50-node network. And you’re almost always forced to take over an existing infrastructure that may or may not resemble the examples you worked on in class.

There is a grain of truth to it, though: A lot of people do wash out in 3-5 years. If you don’t show capability of taking on bigger projects and harder tasks, or if you put all your eggs in one basket, skill-wise, your marketability decreases.

From what companies did these engineer and computer programmer types get canned, and what were the circumstances?

I find it difficult to believe that a fresh grad, even with an updated set of skills, would take less time to train than someone who’s been in the organization for five years, rusty or not. Experience beats schooling, and, in general, the core curriculum wouldn’t change that rapidly.

Not saying this would never happen, but it’s likely to be a fairly unique set of circumstances.

Not an engineer nor programmer, but have some observations about the former from having worked with many.
Recent graduates can do well if they don’t mind doing some of the grunt work and carry water for older more experienced practitioners who are possible mentors. Attitude is pretty important. It doesn’t pay to be a prima donna or uppity with managers who lack technical knowledge. Some background in law and a professional licence increase retainability as some are required to testify as litigants. There are niche industries where skills obtained on the job make an individual virtually bulletproof.
Can’t say that for programmers, I know too many whose jobs have been offshored regardless of higher degrees or seniority.

Not in my experience either.

I got a two year degree in mainframe programming in 1988. My main language is COBOL, which has been defying predictions of its demise for longer than I’ve been programming. I’ve had twenty years of continuous employment at companies of my choosing at ever-increasing salaries, eight years at my current job. My previous employer, a large mutual fund company, was willing to train me as a Java programmer rather than hire trained Java people from outside the company.

I have always been an in-house developer, so my knowledge of my employer’s business has been as valuable as my coding skill. Things may be quite different at software firms.

This is a good observation. My experience has been that software firms want very different coders than in-house places do.

That said, I don’t really agree with the OP. Most jobs I’ve had have many senior programmers who’ve been in the business for 20+ years.

But skill set is important. I’ve been doing software development for about 17 years now, and I continually update my skills. I’ve gone from SQL/DB coding to C to C++ to C#, with a little Java and VB mixed in, and my latest venture is getting into mobile phone development. Ya gotta stay up to date, or you won’t get jobs.

This is absolutely false.

If nothing else – think about it. Almost by definition, what a programmer learns in college is not going to be a rare skillset, thus not as marketable. If many tens of thousands of your follow friends all learned the same thing, it’s not all that marketable.

Experience really does count, although if an employer is willing to hire an entry-level person, there is a much greater tendency on part of interviewers to prefer to train someone new, rather than re-training someone who had worked in other fields, which can be construed as age discrimination.

All the skills I use in my daily life, I didn’t learn in college. They taught me Java, but that’s about it. All other languages and tools I use, they didn’t teach. Even with regards to Java, didn’t teach me patterns (at least not very well–they left it at “think of objects as real-life objects, like Cookie class, Cookie Cutter class, Kitchen class, etc”), version control, good coding practices such as “constant”.equals(var) rather than var.equals(“constant”), ant, Jetty/Tomcat, and so on. Also the Java 1.2 I learned has very little resemblance to modern 1.5. They might as well not have taught me Java at all.

It is more accurate to say that programming evolves so fast that what you learn now isn’t applicable 5 years later. That’s just the nature of the beast.

I get the impression from the OP that these fellows were hired at the height of the dot-com bubble, and that when the bubble burst, the market they had been pursuing just fell out from under them. The glitch here wasn’t getting fired; it was likely them getting hired in the first place: A person with the same qualifications graduating right now might not have gotten hired at all.

I’m a mechanical engineer working in aerospace (I’ve also worked in automotive, construction equipment, ag equipment, consumer products, stress analysis conslutting) and what the o.p. says is definitely not true in general form; I’ll take a 10 year veteran who can sit down and start digging into work his first day over any three new graduates who will need their hands held on the way to the bathroom for the next year and a half before they can even start to be productive. And, to echo SmackFu, it isn’t as if you come out of school equipped with all these great skills employers need unless you’ve otherwise gained them through co-ops and internships; engineering school will teach you the basics of what you need to know in mechanics, electrical theory, programming, or whatever your discipline is, but they’re not vocational schools and they’re not going to teach you the nuts and bolts stuff like how to scope bills of material, make sense of an interface control specification, or parse some semblance of usefulness out of a poorly documented application programming interface. I think the most “useful” (i.e. practical) things I did in school was in a controls lab learning how to program PLCs using Relay Ladder Logic and State Logic. Guess one of the few technical things I’ve never been required to do in my entire career?

On the other hand, I didn’t get any training on a commercial finite element model preprocessor, how to apply a strain gauge, or how to read instruction manuals written in Polish, and of the computer languages I learned in school (FORTRAN, Pascal, C, Ada, Lisp, QuickBasic) the only one I use now with anything approaching regularity is FORTRAN, and that only for reading legacy code; all of the (admittedly limited) app scripting and CGI work I do is in Python, Perl, and PHP. A friend of mine who works at a major computer game producer in the Bay area was recently complaining that the new grads they get don’t even understand how to design a compiled code and deal with hardware memory allocation; they’re all so used to writing JIT interpreted code that they think of hardware as just being another abstraction, and then get a nasty surprise when trying to program graphically intensive rendering algorithms in C++ for a dedicated platform.

There is, however, a problem with older engineers–and by older I mean 20+ years–in that they tend to be more inflexible about learning new skill sets. There is a distinct advantage for youth in this case; they older guys who started out making drawings on a board and then transitioned to AutoCAD or MicroStation had a really difficult time adapting to parametric solid modelers like Pro/ENGINEER or SolidWorks. (On the other hand, the young turks don’t bother to learn a damn thing about producing detail drawings or manufacturing capabilities, so they end up making elaborate solid models that can’t possibly be manufactured from the nonsensical production drawings they shat out.) I expect the same is true in programming; guys that came up doing functional programming in COBOL, FORTRAN, and C did not convert well to object oriented programming methodology in C++ or Java, which is why the exciting jobs in programming tend toward the younger, though there are always niches for people maintaining obsolescent but irreplaceable legacy code.

And I’ll tell you right now we’re desperately trying to hire people with long experience (15+ years) in rocket propulsion, aerospace structures, flight ordnance,
embedded avionics RTS programming, et cetera, but because the field has seen retirements and engineers moving over toward more sexy work with better opportunities for stability and advancement, it is hard to find people with the proprietary skills needed at any salary. The joke is that we don’t actually let anyone retire; they just get to spend a little more time at home but get yanked back in on the consulting leash; we have more emeritus walking around our halls than any three Oxford colleges, and when one of these guys finally retires for good or (more often) keels over it is a mad scramble to find someone who can pick up the slack and try to do half the job. Pretty soon we’re going to be outsourcing this stuff to India and Russia 'cause we don’t have the continuity of legacy skills to do it ourselves.

So, I think the only engineers and programmers that find themselves unemployable after five years of work (in an otherwise employment-rich market) are those who spent five years not acquiring any real skills. We have those, too: we call them the PowerPoint Engineering Group, i.e. Systems. :wink:

Stranger

I can just throw another anecdote on the pile: I’ve managed to be continuously employed in IT for 30 years. The skills I had coming out of college (with a degree in CS) are long obsolete, as are the skills I replaced them with 25 years ago, and 20 years ago, and 15 years ago…etc.

So if you’re fortunate to find an employer who values your experience and is willing to pay you to keep your skills current, you’re in good shape.

However, more and more employers say: screw experience, we can find somebody in India who’ll do it for 1/3 the salary – experience is overrated.

I’m a civil/environmental engineer. In my field, the opposite is true for most engineers. New engineering grads generally come out of school with all of the theory, but with no real understanding of what an actual engineer does.

It takes about five years experience working as an engineer to become competent enough to not need constant hand-holding. This is about the time that most engineers in my field get their professional engineer’s (P.E.) license.

At that point, you can basically write your own ticket, and you will never have trouble finding a job. Civil and environmental engineers are in very high demand, especially if you are licensed.

You mean procedural. Functional programming is completely different.

My experience has been the opposite: I get bored and leave every few years, but almost every single ex-boss has called and asked me back. (And I have even gone back to a few places.)