What's the Shelf Life of a Programmer?
Esther Schindler writes "Why is it that young developers imagine that older programmers can't program in a modern environment? Too many of us of a 'certain age' are facing an IT work environment that is hostile to older workers. Lately, Steven Vaughan-Nichols has been been noticing that the old meme about how grandpa can't understand iPhones, Linux, or the cloud is showing up more often even as it's becoming increasingly irrelevant. The truth is: Many older developers are every bit as good as young programmers, and he cites plenty of example of still-relevant geeks to prove it. And he writes, 'Sadly, while that should have put an end to the idea that long hours are a fact of IT life, this remnant of our factory-line past lingers both in high tech and in other industries. But what really matters is who's productive and who's not.'"
And they find older people around them to be outdated and archaic?!
This has never happened before
Depends on the programmer!
Bah. Continence has nothing to do with being a good programmer.
Have you kept them out of the sun and filled them with preservatives such as redbull?
Shelf life is far longer that way.
Do not look at laser with remaining good eye.
Older workers, regardless of the industry, come in (err....well, broadly) two flavors, those that are open to new tech, ideas, whatever, and those that are adamant they stay within their old niche. The latter is, in some sense, understandable. That niche is one that has rewarded them in the past. The problem is that it may not reward them in the future.
The ones that are open to new ideas also fall into the trap of glomming onto the latest whizzy technology to come down the pipe. That will result in no sense of perspective.
What is needed is a happy mix: developers who will evaluate new tech and adopt given experience, and who will also keep past tech that still has the right punch.
This necessarily weighs older developers more than younger, you cannot teach experience. I say developer because programmer is too, what, blinkered. If you are good at development, you know your industry. If you are good programmer, it is hard to say what you are good at. Programs do something, and that something is not in a vacuum. To be a good developer, you must understand much more than being a good programmer.
Why is it that young developers imagine that older programmers can't program in a modern environment?
Although I'm fighting anecdote with anecdote, I've never seen this happen. The only people I and my young coworkers assume can't program in a modern environment are people who have shown that they're unable to program at all.
I'm 50, and with 30 years' experience, growing up with the Software industry, I do fine.
I learn better today, than I did at 25.
Back then, I just knew how to do stuff.
Now, I also know WHY it works. Right down to the bone.
My years of experience and nonstop training (self-training, when my company didn't want to foot the bill) has paid off in a big way.
However, I have absolutely no illusions at all that I'd have much of a chance in the job market.
In the day of the "brogrammer," there's no room for gray hair. I'd have to start my own company (something that I'm quite prepared to do).
I get paid to manage younger programmers. I code for fun.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
But what really matters is who's productive and who's not.
Your so naive grasshopper. Management is taught that a good manager is one who is able to manipulate their subordinates to make themselves look good. Old timers are much harder to manipulate because they typically have too much experience in this area.
After working for 40 years in IT and 27 years teaching CS at Northwestern part time I would say that a lot of the young programmers don't have a real sense of programming. They feel that knowing a particular framework is programming, or using a particular package is programming. But the deep programming comes from the Data Structures and algorithms used and the patterns used. There is an art to programming much of which comes with time, experience and study. So you may not be fashionable if you don't have all the latest acronyms on your resume but if you don't know the DS and Alg. you are just window dressing.
I'm a 25 year old, I use SQL all day and used C for my personal projects and as part of my computer science course. (And not just hello world, but UNIX threading / network programming / signalling and network stack emulation.)
I also work with a 38 year old who is a much better coder than myself, not in all ways but certainly in all but a few niche areas, and a 42 year old who does fit the stereotype of old people being afraid of new technologies (but who will readily learn if he wants to).
That's our dev team; a 25 year old, 38 year old and 42 year old.
Basically these stereotypes are just bullshit. I cringe just as much hearing about how "younger programmers can't do this" as when I hear how "older programmers can't do that".
// MD_Update(&m,buf,j);
As an over 40 programmer with more than 20 years experience, I find your post offensive on a number of grounds.
I have a smart phone. More than one kind actually, and I've developed software for most of them over the years. Thank you.
I know from experience that solving problems requires that you understand what needs to be done first. I know that those who jump in without enough information end up working many times as hard as they need to. Sometimes you can get lucky and hack your way into a solution, but more often than not it will cost you dearly to maintain. You apparently don't get that.
I've programed in Java and I fully believe that it is a valuable tool for the problems it is suited for. I also know that many software developers leave school not knowing any other tool so Java gets used places where it doesn't belong. Good programers have developed many tools over the years and knows the limitations and proper applications for each. You are a one trick pony good for only one thing, but you THINK you know everything. Smart guys listen to the old farts and try to learn from others mistakes.
I've been doing Linux since you had to compile kernels to fit on a floppy, and back when getting X-Windows started involved actually editing text configuration files. I doubt guys like you know anything about this now that installing Linux is hitting return a few times. You can thank guys like me for making your life easier. You are welcome!
You may be some hot shot with computers (although I doubt it) but I've seen your kind come and go. I clean up the mess they leave, not because I'm smarter, faster or some hot shot computer guy myself, but because I can and will learn. Your kind won't stop and listen, won't learn something from the prattling on about all the past failures (and some successes) I've lived though. You haven't done anything of importance yet but you refuse to listen so you can avoid the same mistakes I made when I was your age.
You sir, need to read "The Mythical Man Month" and think about how software development hasn't really changed all that much. Sure, we may be coding Java and not assembly or JCL but at its core, the really hard part about software development hasn't changed all that much. Yea, I started coding procedurally in C back when K&R where still writing their book, but now doing Object Oriented in Java and C++ is really not that different. I've done waterfall development and now Agile in an effort to "revolutionize software development" but experience proves to me that there is no silver bullet. The hard parts of software development remain the same. But you would already know that if you'd listen to us old farts from time to time.
Go ahead hot shot. Dive in and beat yourself to death. We've seen this kind of thing before, heck, some of us had the same attitude and already made the mistakes you are going to make. We will just stand here and wait for you to come to your senses and start asking for help. Until then, good luck.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Aha! So that's why management is full of shit!
Why, without your clothes, you're naked, Miss Dudley!
By the time you've reached a position of seniority, you should be prepared to manage.
Why?
Skilled and experienced people can contribute in both technical leadership and training/mentoring roles, to the extent that they aren't really part of the same thing anyway, without getting involved at all in "management" in the common senses of project management, product management, being someone's "manager", and the like.
Moreover, being a good manager in any of those senses has very little to do with technical competence. Being good at the job and being good at managing people who do the job are no more the same thing than being a world class athlete and being a world class athletics coach.
A false equation of seniority and management is one of the biggest dumb ideas holding back our industry, and it needs to die. Unfortunately, as long as we keep promoting geeks with no aptitude for management into management roles, they won't understand what's going wrong well enough to stop it happening...
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
And I'm vastly enjoying when the sharp, young programmers have their exciting new idea, and I ask them about a specific issue with the approach. They google, check the top few links, and respond with some trite answer. Then I get to walk them back to the thread and walk them through the *REST* of the thread, and to the real answer, which I *wrote* 10 years ago.
This happens to me at least once every six months: it's a tremendous advantage in the open source world when you caught the open source project early and helped bring in lessons hard-won over the last 20 years, such as not inventing yet another replacement for "make" or inventing a new value for "successful" operations.