Old Folks Can Code, Too
Ethelred Unraed writes "Wired News has a story about how "older" programmers and engineers--over 35--are having difficulties finding work, even though their skill level is as high or higher than the young guns out there. " We've heard this numerous times before, but it's still an interesting, albeit strange, phenomenon. I would say part of it has to do with the lack of lives that many of the younger folks have (I'm including myself). What do you folks think?
Let me start off by saying that I'm 26.
Now... At a previous job (a jr. H.S.), I've worked with people half my age. It was their job to design a web site, and mine to channel them. They were eager, but knew less than necessary to be dangerous. And I was an old fogey to them.
At the current job, as a S.E. I work with people who have been with this company longer then I have been alive. Some have trenchmind and are severely threatened by younger workers who have new and in-demand skills. These folks are scared of being discarded, and rightly so. They've given their lives to a company that would drop them like a bad habit, if they see profit in doing so. After working your whole professional life in a niche, there's no where else to go, and retirement looms real large at 55+... Fortunatelly, the mentally hamstrung are a minority within the set of older developers.
Here's the point of the post, older developers (not 35+ but 45+ in my case) have so much domain knowledge, so much experience, and so much professional common sense that they are effectively priceless to the company. Even if the company doesn't see it that way. These guys (and gals) have decades of experience that can not be replaced with OOP, CASE, RAD or any other buzzword.
They serve as sages, mentors and wells of knowledge to us, the junior developers. They are responsible for system architectures, legacy system migration and evolution guidance and sanity checks for the rest of us.
They do not pull the 60+ hour weeks, nor should they have to. After I beat my head against a problem for a week, and can't account for some old quirk that makes no sense to me, all it often takes is a couple of questions to one of these guys, and the light dawns. They know where we came from, and they're better judges of where we're going then we are.
Older developers are invaluable to those of us who work in legacy and mixed environments. These systems were designed from a different perspective. Their implementations were limited by storage and performance, and we often can not even think in these terms.
Just try to do Y2K work knowing C++ and Java, without the aid of the COBOL guru who nursed the system from punch cards...
-- What you do today will cost you a day of your life.
Maintaining a successful career as a programmer is not an easy thing. It is not like being a plumber, where you learn your trade and then perhaps do a little studying from time to time. You have to be careful and you have to be observant.
I found myself oh so close to trouble recently because while everyone else was moving towards Windows and the internet, I was spending my working time as an OS/2 programmer. Why? Well, they paid me gobs. It almost killed my career, though, as I found when I finally got fed up with that place. Recruiters looked not at my ten years experience, but at my relatively weak Windows experience. Fortunately, I was able to leverage what Windows I had and some application domain knowledge into a new job that, while is lower paying, will give me a killer resume.
The lesson? Money isn't everything. It is really easy to get sucked into high paying jobs that are death to your career. It is also very easy to become complacent, and say to yourself that you'll start looking for a new job in a few months.
Before the anti-Windows flames start, let me say that I am busy practicing my Linux programming at home. Which brings me to another problem. Off-time experience is no experience from the standpoint of most employers. You can be the biggest Linux expert in the world, but if you can't point to a job where your title was "Linux developer" or a test you passed with "Linux" in the title, many prospective employers won't want to hear from you.
(Actually, I suspect most Linux shops are better about this. My experience was with Windows, where I'd written much in my spare time only to be confronted with questions on my lack of Windows experience. However, as Linux grows in popularity, you'll find more "old-school" employers who think exactly like that.)
So even if you think you know technology "X", go take a class in "X". Sure, you'll be bored, but you'll have that all-important piece of paper saying you know it. Get any certifications you can, even if you think that tests are a poor indication of ability. Many employers don't, and that is what is important.
Another big cause of this problem is the way salaries top out for programmers. When I was younger, my salary grew with leaps and bounds. Now, I am pretty much near the top, which means most companies are loath to pay more. That can be hard psychologically if you've gotten used to the hefty raise every year. One way around it is to become a contractor, though that has its own pitfalls. (Biggest one: no one will pay to train you.)
Finally, don't wed yourself to a technology. Don't think of yourself as a linux programmer. Think of yourself as a programmer who is doing linux right now. Believe me, you'll be better off, regardless of how superior linux is, both because superiority is not a guarantee of survival and because something better may well come along. Lots of OS/2 programmers felt the same way. Stick your nose into lots of things, even Windows. (You'll need to hold it, believe me...) Take lots of classes. Try to get your employer to assign you a variety of tasks. And above all, keep a keen eye on those technological currents, even when you've settled down with a wife and a mortgage.
The cake is a pie