Where Do All of the Old Programmers Go?
full-of-beans asks: "I work as a software developer for a large UK based international organization. Most of my colleagues that program are under 40 years old. Those that are over 40 tend to be in either Management or IT Support! I was wondering were do all the old programmers go? They can't all end up in management. I know we don't get paid enough to take early retirement. Is there some other career that tends to attract 40+ year old programmers, if so I'd like to know, because I'm not that far of 40 myself!"
Seems to be the only other choices. Private industry, since globalization and commodity coding offshore, has no place for old programmers anymore. They cost too much in salary and benefits in comparison to a young person just out of college, preferably India Institute of Technology, where they train the next generation of yes men.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
1. Your employer is the largest (fill in the blank) anywhere.
2. Your employer can't fire you. Civil servants basically can't be fired unless they do something completely crazy like "go postal."
3. The pay's not great, but the people are pretty laid back. And most of them are over 40.
So I decided that, since I'm an argumentative armchair law nerd, I may as well get paid for it.
But mostly, I want out of IT because it's generally unstable and I don't find the work to be satisfying. The contributions I wish to make to the world do not lie in software development, and so I'm getting out.
"I have never won a debate with an ignorant person." -Ali ibn Abi Talib
From Google:
...
Old programmers never die, they just lose their memory
OLD PROGRAMMERS never die, they just byte it
OLD PROGRAMMERS never die, they just decompile
OLD PROGRAMMERS never die, they just get bugged with life
OLD PROGRAMMERS never die, they just go to bits
Old programmers never die, they just branch to a new address. -
Old programming wizards never die, they just recurse.
Old PROGRAMMERS never die, they just can'tC as well.
...for large companies. By that point in your life you've learned enough to know that big companies move slowly and make dumb decisions. By age 40, you've either moved into management to participate in the stupidity, or you've left for a small company or consultancy. At least that's the way it's been for me and my friends.
I love programming and will write code until I die. It's fun (in a perverse way) to come in to various companies, fix their WTF code and look like a hero.
The conception seems to be that by the time you're that age you're either a burnout or a VP. There is no place in peoples minds for a Senior Scientist type programmer role. I believe that there is some truth to this - many 50 year olds are no longer so flexible or agile of mind - but it doesn't apply to all.
Which is too bad. I happen to be in a highly specialized field, so I have some value. But for a while when I was trying to find something one could call generic, people wouldn't touch me with a 10 ft phone call. (It wasn't just me, I knew others my age range that got the same kind of non-response).
This is really stupid on the part of recruiters - they miss a few nuggets because they won't even look. I ran a dev shop for 15 years, and I coded more than the 3-4 people working for me combined. Maybe it was that I new the system better...
Then I changed jobs, was put in charge of a group of 6 using perl & XML & Oracle. Guess what? I coded about the same as those 6 put together, with a much lower error/bug rate. BTW, coding perl was new to me then, I'd barely even heard of XML, and Oracle was someone who predicted things...
Am I egotistical? No, I know lots of folks smarter/better/faster than me. Some of them young whippersnappers are just damn brilliant. But I also know many who aren't as capable.
/Oldus Goatus
As others pointed out, there aren't that many older types. When I was fresh out of college (late 70's) there wasn't anyone I even knew outside of work who'd ever even seen a computer, or worked with them, etc. Radically different from today. Hell, my degrees are in physics!
I will admit, my ability to learn new things is slowing down. And there are some things I'm thinking I just won't pick up. Maybe I'm beggining to burn out...
Flatus Emeritus
Stupidity... has a habit of getting its way.
I had the priviledge to work with an older programmer -- and he was amazing.
I had the good fortune to run into several people like that in my career. One of them went to work for IBM the year I was born, and he knew not only the current state of the art, but how we got here, and what was tried and discarded along the way.
My old boss at the first graphics hardware company I worked for, got into the electronics industry when the field was still known as "radio". For fifty years, he kept up. I learned more from him and people like him in my first year at work, than I'd picked up in all my formal schooling.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Maybe it's conducive for one who programs computers to have a yearning for a different job and once they have enough financial backing, they take the plunge?
It's true. I've been a software engineer for 11 years and I frequently dream of a glamorous career as a truck driver. Once I get my house paid off, I'll buy some driving lessons, and then -- it's owner/operator time.
If that's true of you, you have only yourself to blame. Age has nothing to do with it. I'm pushing 40 myself and I still make it a habit to regularly devote time to playing with new technologies that might end up turning into something useful down the road. And once familiar with those technologies, I look for places to apply them. Yesterday I spent most of my day working on a real-time streaming AJAX UI for a multi-user financial application, hardly a technology that went out of fashion with disco and bellbottoms.
There are a lot of capable young IT workers out there. I have the pleasure of working with a bunch of them at one of my jobs right now. But there are also a lot of boneheaded young IT workers who are only in the business because it looked like a lucrative thing to major in, and who will be sick of the whole thing and looking to switch careers by the time they're 30. I've worked with some of them too. Trouble is, employers can't always tell the difference between the two. Meanwhile, as a going-on-veteran-status programmer, I have a resume with lots of references from past employers who can confirm that I'm worth what I charge. There are lots of companies out there who value a proven track record, and I doubt that'll change any time soon. Only time can give you a track record of any kind.
In my observation, it's far more about your attitude than your age. If you can maintain an attitude of, "Wow, that's neat, I need to learn more about that and try it out," you'll probably do quite well no matter how old you are. If your attitude is, "I've learned how to do X, and that's what I do, so don't ask me to do Y," then yeah, familiarize yourself with the employees-only section of your local fast food joint, because the demand for X will dry up at some point.
I work in a coding shop where the average age is over 40. We work in an industry where bugs have more significant repercussions than in most. Management responds to this by making sure to hire people who have had a chance to learn how to write quality code, and how to compensate for their own weaknesses, whatever those are.
When faced with a choice between a bright recent grad from a top engineering school with great interships and a can-do attitude vs. a forty-something engineer who's been around the block, worked on various architectures, at various levels of the system, held various roles in a team, and had to pick herself up and dust herself off after a failure or two (and who wants more money than the new grad), my VP will take the experienced programmer almost every time.
I'm under 40, and I love having all of this wisdom around to learn from. Our best, most productive coder is over 60, and he thinks so clearly and with such accumulated wisdom at an architectural level than he can see problems during the first design sketch that a clever new grad would figure out only while thinking over why he was unemployed after his product failed in the market. The young men and women on our team are very, very sharp, but brains is no substitute for brains and experience.
Some of the postings in this thread comparing experienced and inexperienced developers remind me of an article I came across a few years ago by Gerard Holzman titled "The Logic of Bugs". In his article, Holzman states, as one of his first points, the following:
Bugs can adjust to the level of experience of the programmer. One common misconception is that experienced programmers make fewer mistakes than novice programmers. Experienced programmers and novice programmers make roughly the same number of mistakes when writing the same amount of code. The mistakes made by the experienced programmer, however, will be more subtle than those of the novice programmer. The more complex bugs that the experienced programmer can seed into the code are often harder to find than the simpler typos of less experienced colleagues.
Holzman is an extremely distinguished researcher, and I found his comment so counter-intuitive that I approached him and asked if there was any quantitative research behind such a bold statement. He said it was based his many years of observation in the industry.
I googled and found the pdf for Holzman's article at: http://spinroot.com/gerard/pdf/FSE2002.pdf. In the article he also makes the point that developers and writers (say for the New York Times), have similar defect rates in their finished products!
FREE - Java, J2EE and Ajax Audiobooks for Software Developers - www.DeveloperAdvantage.com
Programming is a skill, not a career. Programming is like mathematics. There are few "programming" jobs out there just as there are few "math" jobs out there, but there are a lot of jobs which heavily involve programming just as there are jobs which heavily involve mathematics.
Another way to think of programming, is as a proficiency with a certain set of tools, like hammers and wrenches and pliers for example. It doesn't matter how well you know how to use these tools, because there's no jobs out there which simply need you for your knowledge of these tools. Most jobs out there require you to know how to apply these tools in a given scenario in order to accomplish a goal or solve a problem.
So to answer the question, "programmers" stop being "programmers" as soon as they realise this, that programming is only a skill and not a career. Once this has been realised, they take their knowledge of programming (which is essentially telling a machine to solve complex logical problems for them) into another arena. Law, Science, Administration, Teaching, etc. They don't stop programming, they just stop being simply "programmers" and instead become IP Lawyers, Data Modeling Scientists, Systems Administrators and Professors of Computer Programming.
Reinvent the wheel only at either a lower cost, greater effectiveness, or your own personal enrichment and satisfaction.
My father is a 50 year old programmer - and I doubt anyone will employ him again when his current job downsizes (as I'm sure it eventually will) - this is because there is a (stupid) perception amongst people doing the hiring that all programmers should be 20-something recent graduates ... the idea that computers are only understood by teh young has become a cliche in our society.
James P. Barrett