Software Engineering Is a Dead-End Career, Says Bloomberg
An anonymous reader sends this quote from an opinion piece at Bloomberg:
"Many programmers find that their employability starts to decline at about age 35. Employers dismiss them as either lacking in up-to-date technical skills — such as the latest programming-language fad — or 'not suitable for entry level.' In other words, either underqualified or overqualified. That doesn’t leave much, does it? Statistics show that most software developers are out of the field by age 40. Employers have admitted this in unguarded moments. Craig Barrett, a former chief executive officer of Intel Corp., famously remarked that 'the half-life of an engineer, software or hardware, is only a few years,' while Mark Zuckerberg of Facebook has blurted out that young programmers are superior."
I did a Masters Chemical Engineer (didn't finish), and a bachelor in CS. In both older students and alumni warned that you should get out of tech jobs and move into management within 10 years after graduation.
The first time I heard that must have been in the 1992-1994 timeframe
Really explains a lot about Facebook as well, actually!
Our own bloody fault, should have gone into football instead of engineering. Common good and all that.
Unless you are one of the recognized leaders of your field, you become "obsolete" to your employer after about 15 years even if your skills are not. Why keep a stubborn old programmer on board, when you can replace them with a younger less stubborn programmer at lower pay.
It's important to have an alternative career path. For example, I went to college for Computer Science, but have always been interested in computer security.
I took the computer programming skills I learned and put them to use in the computer security field instead.
I don't write code anymore, and I'm ok with that. Instead, I figure out what security issues others created in their code, without even having the source code in front of me.
Unfortunately, at least when I went to college, they never taught secure coding techniques. I had to learn all about that on my own.
Got my first software-development gig at 25. Been doing it full-time since then, and now I'm 58. Still going strong.
What are those Bloomberg assholes smoking?
you could say that about any professional career... I am sure doctors are pretty dead end too...
I guess unless you can hedge fund your way to making billions by exploiting millions... you are in a dead end career.
...it won't end well, now, will it?
People don't just magically stop having bills after 35, individuals are getting married and starting families later in life, and software / tech careers are becoming the linchpin of what's left of the American middle class.
Effectively cut them off from their career fields at such a pivotal point in their lives, en masse... see what you reap. You may not be doing much hiring of any kind when they're done shoving your dumb, pathologically stock-price-obsessed ass effectively out of society.
Software engineering as a private sector job is fairly new in the grand scheme of things. Programmers that are 40+ years old probably aren't even all that common, certainly nowhere near as common as programmers younger than that. I am not so sure programmers starting today will face quite the same challenges having grown up in the midst of the technology revolution. Furthermore, in ANY job you probably will see the older workers doing much more management compared to younger workers. I don't get how this is supposed to be news. Sounds like pointless fear-mongering to me.
I think what they're really saying here is:
"Programmers in their 40s have wives, kids, and hobbies, and that means they won't put up with the 50-60 hour week bullshit we can get the 20-year-olds to eat." Also, they expect raises and vacation, and we just can't have that.
Work isn't your life. Work is what you do to pay for your life.
---
ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
First, the jobs move overseas and we get told it's a "good thing":
http://blog.douweosinga.com/2003/10/why-jobs-moving-overseas-isn-so-bad.html
Then, there is complaining that the industry can't find any programmers:
http://www.xconomy.com/seattle/2011/05/23/tech-talent-shortage-one-of-this-years-major-storylines-illustrated-in-national-study-by-job-search-site-dice/
Next, the industry tries to figure out where all the programmers went:
http://www.google.com/search?q=shortage+of+programmers
Finally, they realize they've castrated themselves and simply claim it's a dead-end career. Nice.
Join the Slashcott! Feb 10 thru Feb 17!
I spent over 15 years of my life as an electrical engineer before I decided to make a career transition into application software development. I went back to school for a mscs and recently got my first entry-level software engineer position, 4 months before (and 4 credits shy) of graduation. I did it at age 41. That flies in the face of the Bloomberg schmuck's article.
Mark Zuckerberg of Facebook has blurted out that young programmers are superior
And his great achievement as a programmer, that gives him the right to judge programming abilities, is ...?
May Peace Prevail On Earth
Say what? I started programming in the mid '70's. There were already "software engineers" and "computer scientists" back then. Computers were around long before "personal computers" and needed programming.
The only way I get work as a programmer now is as an consultant. It is not because I haven't kept up with tech, languages and tools. Around 10 years old head hunters started telling me it would be easier to find work for for me if I rewrote my resume to hide my true age and years of experience.
The majority of my clients are through referrals, they've never seen me in person and have no idea how old I am.
This is going to sound "ageist" but ... the only advantage young programmers have is that they're willing to work 20 hour days and 7 day weeks for months at a time. And do it for less money.
http://norvig.com/21-days.html
So you need about 10,000 hours of working in a field to become an "expert". If you believe that article (and I do). And someone who is an "expert" has, hopefully, seen enough mistakes and errors over those 10,000 hours to be able to head them off when they show up again.
That's what you're paying for when you hire the experienced programmers. The knowledge of what errors people usually make and why they make them.
So you get code with fewer errors and fewer re-writes to take out the errors that never got in in the first place.
I took over as a developer on a project lead by a "hot young developer" (how the management saw his skill set). He and I graduated around the same time. Guess what? Dude didn't even know what primary or foreign keys were. He also had no defaults, not null or unique constraints. Most of his code was a steaming pile of dog crap expressed crudely in Java. When I got on the project and saw the code, my eyes felt like they were on fire it was that bad.
But hey, he's got the "latest skills" right?
Repeat the same story with PHP, Python or Ruby replacing Java and you get a snapshot of where this leads.
Depends.
Have you been keeping up with new technologies and languages? Are you as proficient in them as the new grads who studied them in school and have two high-selling smartphone apps? Then you'll do fine.
Are you still insistent that the best way to do anything is in C? Are you completely crippled by the thought of doing anything over the internet? Then you're screwed, and probably deservedly so.
This article only somewhat reflects reality. There's a huge amount of respect and jobs for people who have been in the field for a long time, but ONLY if they're also current in their knowledge. This is a field you just can't stagnate in.
As a study that was linked to right here on Slashdot not long ago shows, ageism in software development is nothing more than arrogant bullshit.
And Zuckerberg is nothing more than a PHP script kiddie who both got lucky and cheated others to achieve his success. His word is hardly to be taken seriously.
Subject says it all.
Contact me if you want to see my resume.
Interviews have been coming at a steady rate so far, and in one shop I'd be one of the younger people if hired.
In Liberty, Rene
I have to agree... While I'm not 40, yet, I'm getting closer (37), and I haven't had much trouble finding work at all since the .com bust around '01. I've done a lot of programming work and have kept up with the trends... though it's impossible to have an in-depth knowledge in everything, awareness is very useful in decision making. Beyond this, I have dabbled in the more trending languages (Python, Ruby) and one of my favorites is the language of the day (JavaScript). You have to spend a fair amount of time reading/learning/tinkering. That's the only way you can stay marketable in this field... You can't rely only on everything you knew 10 years ago to get by today.
Michael J. Ryan - tracker1.info
TFA points out that it takes *longer* for the older programmer to find the job. This has nothing to do with how many older guys are out there.
It takes longer for most older people to find jobs. It has nothing to do with being a programmer or not.
And whatever Zuckerberg says can probably be ignored, because you just know he's the type that, when he's getting on a bit, will be saying that age and experience are what counts.
Zuckerberg runs a big company. He might have spent a few years coding, but he isn't a programmer anymore. I doubt that he put in enough time and sweat behind a compiler to be anything more than a clever amateur, so his opinion on the topic counts for zero. So basically, you have a college kid's level of experience in computer science making sweeping statements about who is and isn't a skilled expert in the field.
Once he is an expert in the field of software engineering, I will listen to what he has to say on the topic. Looking at the quality of his software, it is pretty obvious what dismissing experience gets you.
HA! I just wasted some of your bandwidth with a frivolous sig!
Hold on there. People skills are important if you're ever going to be a successful manager. I've worked with plenty of developers over the years who've been promoted to management positions, and they have development skills that are out of date to go with bad people skills. That's basically the worst of all worlds. Every project I've been on with guys like that has been an uphill battle.
You have to be the sort of engineer who genuinely cares about the success of others on your team above your own personal success. (I've seen one too many technical managers who covered their own tails by tossing one of their employees under the bus...only to discover that employee had critical knowledge about a project that sets the whole team back in the long run.) You have to be the sort of engineer that is interested in time management, personnel skills, putting people in the right place to succeed, and getting the right people to work together to achieve the best results for both of them. Yeah, I know it sounds corny, but it's the truth. You have some of those concepts pounded into your head when you do an MBA with a focus on management because you're stuck doing a pile of Industrial Psych courses (depending on where you go) and you have to take them seriously. If you're coming into a team without a lot of technical background, those are the concepts that your employers will grill you on in your interviews...not whether or not you know what a regular expression is or what SOAP stands for. You have to be able to see personal friction between your team members and deal with it before it gets out of control...not just wait for it to become a problem then fire someone. You have to be enthusiastic about process improvements, and not cling to doing things the way you personally feel comfortable with. A whole lot of managers with technical backgrounds have that problem, and it never turns out well.
If you, as a developer, don't really embrace those traits as well, I'd think your best bet is to go back to school. Start a coffee shop. Start your own business. Marry a doctor. One of those things. Don't be a manager, it won't end well for you.
If they want a newbie that knows a lot of abstract book-learnin and bangs his head against the wall for a week on a problem that I can solve in 10 minutes let them continue the illusion that they are saving money.
I will be over here doing great work, advocating the high value practices of the industry, and getting higher and higher salaries from smart employers.
For that matter, forget even thinking about those longer hours and just pay your coders by the line. That will get you ahead.
That's odd. Most architects I've worked with have the very unenviable job of having to listen to "the business" hand them a flurry of requirements, and they've had to write them down in ways that make as much sense as they can make of them. Doesn't matter if its an Agile shop or Waterfall, it's all having to wade through a pile of demands and ferret out the useless ones or the impossible ones or the infeasible ones and line up the ones that actually make sense so the developers know what they're doing. The ones I've worked with that actually write code usually are doing so to kind of prototype what they want because they aren't able to properly explain their requirements.
Frequently, you have business people asking for things like "Can you make it so it doesn't go into weird modes?" Now how do you explain that to a 25 year old software developer or QA engineer tasked with writing tests for that? What defines "weird"? What do they mean by "mode"? That's the sort of situation architects deal with. They end up in long phone calls with business people and customers who don't have the technical vocabulary to put their requirements in a state where you can transcribe them into requirements, stories, or whatever.
The way you can determine if an architect isn't worth his/her salary is if you sit down to read his assessment and requirements document, and it looks like a bunch of random demands without a point. You can tell that person just transcribed everything word for word and didn't clarify anything. At that point, that architect has become a phenomenally well-paid office assistant.
Personally I believe the bigger issue is the pressure offshoring has put on the market.
The jobs that used to be handled by junior programmers are now offloaded to offshore service providers. So the junior programmers, who just happen to have played with the latest toys and tools while we were busy writing useful code with the previous generation of tools, are readily available at a cut throat price.
So the work that used to be handled by the intermediate programmers now gets passed off to the new grads who used to be the juniors. In the meantime, the intermediate programmers are now ready and willing to undercut the senior programmers for their former job of designing systems and collecting requirements. Sure they don't have the experience of the senior programmers, but they're cheaper, so they get the job.
Which leaves the senior programmers on the short end of the stick. Thanks not only to the pressure of offshoring but the increased use of effective template-based designs, tooling, and frameworks that put to shame older tools like CORBA, and suddenly the only experience the senior programmer has that's actually relevant is their business experience.
Their degree is out of date. Their tools are matured with a wide range of skillsets available for reasonable or cheap prices.
But one thing experience teaches you that nothing else can is an intuitive grasp of how the frameworks and tools function and what they are probably doing inside all that obfuscated and hidden code. Because we used to have to write the code the frameworks implement by hand.
Unfortunately, despite the speed with which senior developers can debug problems thanks to their intuitive grasp of "the machine", there just aren't enough "tough" debugging problems to justify keeping them around in anything but the largest of teams and companies.
Still, senior developers can find work. If they're willing to retool, retrain, move, and take a pay cut that may well mean they're making less in real, spendable dollars than they did twenty years ago. And if they're real, real lucky.
I do not fail; I succeed at finding out what does not work.
Consulting or professional services. No, really.
As much as product-oriented software houses may prefer to have younger programmers for whatever reason, people who have been in the industry for a while have a lot of breadth and depth in terms of domain expertise and the like.
In terms of actually helping to implement the things in the real world, companies tend to find themselves needing a broader context for these things. With the added benefit you can roll up your sleeves and write code as needed.
Sometimes a developer only sees things from a given perspective, which doesn't always translate into the ability to help businesses actually do things. Not all developers have yet learned how to interact with non-technical people.
Having 'graduated' from a software development company several years ago, there's a market for people with a good general grounding in computers who also have some domain expertise in one or more areas.
The 'grown up' skills like being able to conduct yourself nicely in meetings, work with actual end users and not be a condescending prat, and be able to see the big picture of why someone is doing something are quite marketable.
There is life after code. It can be quite rewarding. That good, solid technical grounding is still a valuable skill as long as you have some of the soft skills to back it up.
Lost at C:>. Found at C.
remember, 2 entry level employees cost more than 1 employee at twice the salary. Benefits and overhead cost quite a lot and they are generally on a per headcount basis.
"In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson
forget even thinking about those longer hours and just pay your coders by the line. That will get you ahead.
It will certainly get you ahead in the contest for needlessly long, verbose code....
Comment removed based on user account deletion