"Logan's Run" Syndrome In Programming
Ian Lamont writes "InfoWorld has an interesting analysis of the reasons behind the relative dearth of programmers over the age of 40. While some people may assume that the recession has provided a handy cover for age discrimination, a closer look suggests that it's the nature of IT itself to push its elderly workers out, in what the article describes as a 'Logan's Run'-like marketplace. A bunch of factors are listed as reasons, including management's misunderstanding of the ways in which developers work: 'Any developer can tell you that not all C or PHP or Java programmers are created equal; some are vastly more productive or creative. However, unless or until there is a way to explicitly demonstrate the productivity differential between a good programmer and a mediocre one, inexperienced or nontechnical hiring managers tend to look at resumes with an eye for youth, under the "more bang for the buck" theory. Cheaper young 'uns will work longer hours and produce more code. The very concept of viewing experience as an asset for raising productivity is a non-factor — much to the detriment of the developer workplace.'"
Eventually people do tend to get promoted beyond programming positions.
I have no idea if I'm an outlier, but with a blind preference for intellectual depth, rigor, and creativity, I tend to see what I figured was normal: more experienced candidates often come out ahead. Not always, but often. More experience unsurpisingly equals more age. The best are often bringing decades of experience, MA or PhD level credentials, and the ineffable things that come from having been there and done that in a lot of different trenches. They often cost more (though not all that much more), and they're worth it.
I know the corporate world at large has this patrician idea about pay related to seniority - whereas I come from the pay-for-value mindset. There is a good observation in the article about older folks making more and therefore being victims of cost cutting. I'm sure this happens as well, but in my world the observation is meaningless. A senior software engineer will get a good salary - more than enough to support an upper middle-class lifestyle (albeit not at the level of an attorney or an anesthesiologist), regardless of their age. If they ask for too much, they will be unemployed; if they tire of unemployment, they bring their compensation demands back in line with their value. I find most people have a very good grasp of the labor market, especially with the advent of widely available salary suvery data.
I have a couple of friends in their 50's who joke about becoming obsolete. I associate this with actually getting tired of keeping up with an industry that reinvintents itself so often, and therefore, not keeping up. There's a trap there, too: a kind of local maxima where, for a while, being an expert in Cobol or IBM mainframes is not only easier than learning Java, but will pay more and more, as you become more and more rare. Until one day you look for your next job and it just... isn't there.
Historically IT has suffered from a lack of technical depth at the top. Companies wanted wise old hands with management experience in charge, even if those wise old hands needed an assistant to print their emails every day (true story, multiple companies). As the next generation rises through the ranks, you will have more middle management, SVP, and ultimately COO, CEO, etc types that have real first-hand knowledge of technology. Eventually the corporate world will lose some of its notortious and costly blindness towards talent, and both hiring and strategy will become more objective and less bullshit-driven.
Tired of Political Trolls? Opt Out!
Not only are younger coders generally cheaper, they also generally are more into the "new technologies" -- as a programmer gets older, it becomes almost a second job to keep up with the new technology as it comes out, and at some point I suspect that many just decide it's easier to get off the carousel and go find something else to do.
As an example, if you've been coding in COBOL for 20 years, Java can be an awkward language to learn. However, many new grads in the last 10 years learned Java as their first language. As such, even though the senior coder probably would perform better in the long run (due to more experience with designing efficient algorithms and more knowledge of internal business processes), management would likely hire a couple of recent grads rather than pay to have our COBOL programmer trained in Java.
Modding "-1, Troll" is not a proper response if you disagree with me. Try reason.
As others have already noted, the career path of technical people often moves beyond "just programming" at some point. By the time folks have reached 40, they've (hopefully) got a good sense of how to make good decisions about what products and features to develop and how, not just how to write efficient code.
While some of the technical leaders in my area do write some code, the bulk of what they are needed for is making decisions about what we ought to be doing, and providing guidance for the younger programmers or ensuring quality communication with other lead developers.
And it's present in many industries/areas. No one wants anyone over 40 for rock, screen writers are ignored if they're over 40, since "They don't know what it's like to be a kid."
The list goes on.
In programming, I think it's foolish. People are getting caught up on the techniques, and not the theories. Unfortunately, techniques become quickly dated, and irrelevant, while theory always will be useful
..........FULL STOP.
The summary says that it's not merely age discrimination, then goes on to say that they hire younger workers because they are cheaper, without bothering to account for experience.
That is age discrimination.
What a horrible, stupid summary.
the problem with having older programmers like myself is that they are fully tired of being jerked around
by incompetent management. if you've worked in 20 shops, and run a few yourself, you're alot less
likely to happily pull an all nighter to try to get the release out the door. you understand
that this all could have been taken care of months ago, and you went to some pains to point that
out then.
the other kind of older programmer has just given up. they know better, but they understand
that bitching isn't going to solve anything and they need the health insurance. they look alot
less capable then they are because they just agree with everything and try to get out the door
by 5.
younger programmers dont know any better, they will believe whatever you say
"Elderly?!?!? I'm 41, you insensitive clod!"
Now get out of that igloo and back on the ice, Gramps. Polar bears gotta eat too.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
Kids today have it easy -- context sensitive development environments, online documentation, etc. etc.
Why, when I was your age, we had to chisel bluestone megaliths using only hand tools, and then haul those four-ton stones into a circular pattern, just to calculate date() ...!
-kgj
Across every industry I've been involved in, a good piece of advice from an old business mentor has held true:
When you pay an expert $100 an hour, you're not paying them for the hour. You're paying them for the years of experience they have plus an hour of their time.
This also dovetailed well with what a mechanic told me when I was trying to lowball him: "When you pay peanuts, all you get is monkey business."
Is the younger generation of programmers really that arrogant to think that older programmers don't know and learn new languages and coding trends? it is my experience that the best coders out there are those over 40. Not only are they on top of technologies that are current, but they understand why those technologies came to be and what they helped to improve. Many of them learned on the job, in a budding industry.
Just a few days ago there was a post right here on Slashdot asking how easy it was to cheat in CS. Based on the forum discussions, a significant number of students today get programming degrees and can't produce a lick of decent code.
This is NOT to say that there is not an abundance of exceptional young talent, there is, and they deserve good work and decent pay, but this is in defense of those who helped pave the way.
Life takes interesting turns, but the most interest is when you're off the beaten path.
I'm 59, and have been programming professionally since I was 20. The two best things for my employment are:
1) Young, inexperienced programmers.
2) "Experienced" Indian programmers.
Why is that? Because they both fuck up constantly, and thus give me lots to fix.
Young and inexperienced programmers are a delight to work with. It's great to see them come into a project all cocksure, only to be crushed by the demands of the real world. They'll spent countless hours putting together shitty software, which will always fail. Then management calls me in, and I fix their code. Mostly this means rewriting it all from scratch. Regardless, I make about four times what they do. Then again, I deliver working code.
"Experienced" Indian programmers and "software architects" are the next best thing. They're like the young and inexperienced programmers, but their fuckups are much, much bigger. That means the customer's desperation is much greater, and I can make more money. What's best about these guys is that they often haven't produced even a line of code. They just spew out UML diagram after UML diagram. I look at the diagrams, talk to the users, and it becomes obvious what should be done. I sit down, implement the software, satisfy the customer, and collect my money.
If you read this article and are thinking about your career, then you are young. If you are thinking about a naked Jennifer Agutter, then you are old.
I was once young enough to work 16 hour days. Now I know better. That is the entirety of the "problem".
Literalism isn't a form of humor, it's you being irritating.
... you should have finished the Perl script that does your job / earns your living. Unless you promoted yourself to management, in which case I pity you, fool.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
The phases of programming (and lots of other things) are:
- Disgruntled
- Jaded
- Bitter
- Postal
- Indifferent
The Systems Development Life Cycle can be thusly described:
- Wild Enthusiam
- Beffudlement
- The Disaster
- The Search for the Guilty
- The Punishment of the Innocent
- The Promotion of the Uninvolved
(yes - 45 year old programmer who is now a pointy haired bossman)
Brawndo: It's what plants crave!
The bachelor's degree in management exists (the Bachelor of Business Administration, known from the expression "The limit as GPA approaches 0 of the Computer Science Student is the Business Student"). But to get an entry level boss job without experience you usually need the MBA. Knowing the owners/board members/executives doesn't hurt either.
Why are bosses paid more? Well, because they're bosses. They're making the decisions on salaries.
Fact is, positions where you _do_ something will always be at the bottom of the hierarchy. To be a "higher up", you have to be higher than someone -- those who report to you. So unless you want to be on the bottom forever, basically just doing what you're told and with no real input into any corporate decisions, you have to go into management. Or into business for yourself.
Militaries make this explicit: you can be the best infantryman, combat engineer, tank driver, or whatever, but it doesn't matter; you're still an enlisted person and you still have to grovel to the most junior officer (manager) in the service. It's the same way in the corporate world, they're just less obvious about it, and there's more mobility from grunt to manager in most cases.
Congratulations, Anonymous Coward! From now on, whenever I see a resume with the name "A. Coward" on it, it's going straight to the trash.
We just filled a senior level programmer position with someone in their 50s. This person had a great resume, and did an awesome job in their interview - blew pretty much everyone else we looked at away. I'd say he's easily 1000X better than the last young intern we had (now a grad student in CS). I'd say most of the programmers here are in their late 30s to mid 40s. A few are older (50ish). I'm a young one here, a "senior" software engineer by title at the age of 30.
We're actually considering going after some young blood and spending the effort to mentor them because we have such a hard time recruiting older developers.
I have observed the opposite. The young 'uns want to go home early so they can party and come in late 'cause they partied last night... And at home, when I'm punching in some extra hours, I only ever see old farts still on-line.
I was once young enough to work 16 hour days. Now I know better. That is the entirety of the "problem".
My friend Amy, whose dad would be a year younger than me had he lived, is amazed by my ability to come home from work, drink with her until the wee hours, and get up and go to work the next day. Perhaps that's because I was never stupid enough to work a 16 hour day -- I don't live to work, I work to live. I've been like that since I started working at age 16. I'm 57 now and look ten years younger than friends who are ten years younger than me.
Hell, I once passed up a promotion just to not have to work overtime. Money is just a tool, and one should never let his tools get in the way of what you obtained the tools for in the first place.
Free Martian Whores!
(Disclaimer: I'm a systems guy, not a programmer, but a very similar truth holds for us as well when it comes to age discrimination.)
I'm only 35, and I'm starting to see this creeping in on me also. Here's a couple of random observations I've actually (not anecdotally) experienced:
I only see a couple solutions. A concerted effort could be made to make managerment aware of the actual cost of a project vs. the salary differential. I doubt that will work. You can also become one of those consultants, and get paid loads of money to clean up messes. However, that's not for everyone...it requires tons of hard work, business savvy and is not at all stable. Try raising a family with no health insurance and a non-guaranteed income stream, especially in a high-cost-of-living area.
I admit that I'm pretty lucky. I've managed to land at companies that don't seem to mind paying a little extra for someone who really knows their stuff. The price of admission for jobs like that is the willingness to invest in yourself constantly. Taking classes or buying software/hardware/books for training, even on your own time, is the best way to keep current. That way, companies get the best of both worlds...someone who knows the latest tech, and knows enough not to implement something half-baked because they want their weekends free. :-) Unfortunately, that stereotype of the COBOL guy sitting in the corner has a little bit of truth to it, and it means we end up gettting painted with the same brush.
One other choice would require a much different mindset than there is now...accept a lower salary and make up the difference by saving and investing carefully. I've been doing this anyway, because I know there will come a time where companies stop paying for IT talent and I'm going to be forced to take a huge paycut. Everyone I know, young or old, spends money like their income is never going to decrease. Live within your means so you can last through the bad times that are coming with the next wave of globalization.
While some people may assume that the recession has provided a handy cover for age discrimination, a closer look suggests that it's the nature of IT itself to push its elderly workers out... inexperienced or nontechnical hiring managers tend to look at resumes with an eye for youth, under the "more bang for the buck" theory. Cheaper young 'uns will work longer hours and produce more code.
I think I just read the definition of age discrimination.
A better way to summarize the article would have been: "While some people may assume that the recession has provided a handy cover for age discrimination, a closer look suggests that IT managers use age discrimination with no excuses from the recession.
I am somewhat older and charge an appropriate rate for experience. During this process of aging I have been told I am worth 2.5 times a less experienced programmer, but they can get the less experienced programmer for 1/2 my rate. Now do you really think I even want to work for that company when their management considers the younger programmer a better deal. DPHB at work ... (Dilbert( Pointed Hair Boss) reference.)
... It makes for repeat business later... All ya can do is warn 'em.
Sadly the differential in requested rate in the down economy is less and they often still get junior contractors in and I get a shorted but much more lucrative contract to clean up the mess. Unfortunately if you just fix a bad design to work, then they're left with a bad design. And the DPHBs that cycle this way aren't interested in the real fix to the problem. So
Big Tip: Take your girlfriend or wife or sheepishly wander in on your own and pick up some men's hair color or spring for the bucks to get a better job done at a salon. Then trim all but the most recent 5 to 10 years (depending on prestige clients) from the resume. Make sure all relevant experience is mentioned somewhere even if just a skills list. They can't actually ask you your age.
Gramps can eat the polar bear, use the skin and bones to make a boat, and come back and kick yer butt.
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!