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!"
They're all in sanitariums, driven insane by debugging assembler for countless hours.
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.
40 year old programmers are recycled into yummy treats called "cheetos" and fed to proto-programmers. It's the circle of life.
My amazing wife - Artist, Author, Philosopher - Laurie M
Ah that's what you do after 40 eh?
... or possibly, there just aren't that many programmers over 40. Most educations aimed at programming started approximately 15-20 years ago or less. If you were programming before that, it wasn't very likely that you had been educated for programming, but for something else...
I have a really elegant proof for Fermat's last theorem. If this sig was only a bit longer...
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.
You ever hear of Mountain Dew? It's old programmers, I tell you! Mountain Dew is old programmers!
Silicon heaven, of course.
(No such thing as Silicon Heaven? Preposterous! Just ask the collection of HP calculators nobly enshrined atop the PDP-11 in my basement!)
Fortunately you are almost 40 and won't have to be wondering in suspense for too long, but you can start saying your goodbyes to your friends and neighbours. Just tell them your going on a trip and you don't know exactly when you'll be back. We don't want to attract too much attention to our operations. At the stroke of midnight, we'll be dropping by. You can bring a couple boxes with you if you like, though you'll be well provided for even if you don't.
SSL Certificate
I'm 41, a former programmer, and thats where I am - getting my MBA (and currently managing development outsourced to India). A good friend of mine has left the development world and gone back to Law School. Not an uncommon story.
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
... they're just cast into void*
Lost: Sig, white with black letters. No collar. Reward if found!
I can't speak for all old coders, but I got kind of tired of coding just for the sake of coding. You can only do an implementation of a queue so many times before you ask yourself why you're writing it. I started a company with another guy, and we are a solution provider. Part of my time is spent with customers, and part of it coding. I much prefer this way of doing things because I can produce better results and my customers get a better product. Maybe all the old coders move on to smaller companies where they can be closer to the end user.
If you don't want crime to pay, let the government run it.
Relax, all the old coders (like me) are still here fixing the crap the youngsters keep trying to pass off as working code.
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.
Younger IT workers are cheaper, and more familiar with newer technologies at the same time!
As a bonus, they can make the same old mistakes all over again!
"We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
...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.
As you get older, your brain changes configuration. You don't want/can't learn as fast, or don't care about the details anymore.
Actually, as you get older you realize that school habits are not applicable to the real world. Jobs are not like a quiz, you shouldn't be pulling details from memory, that's why we have reference manuals. Do I need to memorize the the run-time complexity of 10 sorting algorithms? No, what a waste, I merely need to have Knuth Vol 3 Sorting and Searching with a post-it note on the page with side-by-side comparisons of various sorting alogorithms, their run-tme complexity giving various types of data, info on optimal and degenerate data, etc.
Learning is not about memorizing lots of trivia. It is about filtering important info from the huge volume of crap and trivia. Learning was once described to me as the *selective* loss of information. You have to think about that for a second. We're bombarded with info, overwhelmed with it, we have to discard some of it. The better strategy is to discard info on a selective basis, the trivia, rather than discard info randomly. What some consider "not caring" is what others would consider "being selective".
He also taught us incredible lessons. In 8 hours a day, 40 a week, he was able to get all his work done. And he did finally hit it big, and 2 years ago bought his dream house on the beach. As a spot of bad luck that beach was in Gulfport MS, so he'll have to rebuild, but that's not really the point.
The best lesson he taught us was "embrace new technology -- because that's what your job really is." As a result he embraced Windows when it came out, Java, Open Source, XP, and was incredibly relevant, even at the the ripe age of 55. Of course he embraced some things that did not become important. He became a Notes developer. He spent a month becoming an expert on XML, and I know it never really became useful for him. What he knew, and taught us -- there is no point in this profession where you can stop learning. For some people, when they realize that, they decide they want to move to management, where learning actualy hinders your career.
The reason you don't see many old developers is because they can't/won't learn new tricks. All you guys out there who won't learn Ruby? You're days are numbered -- not because Ruby IS the next great thing -- but because it MIGHT be. As a technologist, if you want to keep working with technology, you have to embrace the fact that technology changes.
My last comment is thanks Leo! I know you'll see this, and I just wanted to let you know about the debt that we all owe you, and hope that some day I can pass on the lessons you taught to me to other young developers.
Nothing great was ever achieved without enthusiasm
the first thing that popped into my head :
... about your programmer, he wasn't feeling so good anymore, and city life would be just mean. So Daddy put him in the car and drove him out to this WONDERFUL farm, where he could play in the sun, and see cows, run around having fun all day long. He seemed really sad at first, but Daddy said he REALLY enjoyed it there, we might be able to visit him eventually, once he is back to his old self."
"Well billy, you see
--Ne auderis delere orbem rigidum meum, non erravi pernicose!
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.
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.
It's more like when you reach 40, your life clock (that crystal on your palm) turns from red to black and you're on Lastday. At the end of the day, you go to Carousel, where you float into the air and explode. If you're lucky, you come back and get to do it again.
Since you're near 40, I'm sure you're thinking of running. Don't bother. There are Sandmen who will stop you, and then you don't get to go on Carousel for a chance to come back.
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.
A programmer in their 40's or 50's would have probably gotten their start in the late 1970's and early 1980's. PCs were barely in their infant stages at that point, and they weren't a whole lot of them around (relative to today). Most computers that were in use in the 1970's were mainframes and minicomputers. That's not to say that there weren't programmers, but there were far fewer of them in those days. The number of people that would have been programmers in that era is relatively small.
Some of them have no doubt died off. Others may have changed professions. Some will have worked thier way into management. Others may have started their own companies.
Still others have retired. Take a look at Microsoft. They've probably had more programmers come through their doors than almost any other company in the world. They've also made more millionaires out of employees (especially from the early days, and those people would be in their 40's and 50's today) than just about any other tech company. Many of those people (not just from MS, but other companies in similar situations) may have taken early retirement.
I wouldn't be suprised to discover that a fair number of them went on to teach. If you were there in the beginning of the tech revolution, you probably have something useful to pass on to the next generation.
Then I suspect that some are still working, but because there are relatively few of them compared to the younger people (those who got their start in the past 10 years) you probably don't encounter them as often.
My father started programming back in the 70's, working on UNIX tools at Bell Labs. He stayed with them through several different companies until he was finally forced into early retirement from Lucent last autmun at the ripe old age of 57. He's by no means rich, but by being careful with his savings, and the retirement package (usually only the old-timers have these anymore), and the severance package, he had enough money to retire to Florida.
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