Ageism in IT?
Embedded Geek writes "It's hardly a new topic, but BBC is running a story about ageism hitting Gen-X, especially in IT. As a 34 year old coder, I was horrified to hear a quote from a *hiring manager*: 'In the IT sector (and coding in particular) younger minds generally work faster -- I would rather employ a keen teenager who code programs computers quickly than an older person.' It didn't help that the person is 32 years old. My kneejerk reaction, the same one anyone else over 30 would have, is that the guy is a buffoon (I'll withhold my preferred, spectacularly vulgar, term). The problem is that I do not believe his idiocy is unique - I have definitely felt the vibe when interviewing. It's frustrating, since Gen-X is finally shedding the media hyped 'slacker' stereotype only to run headlong into this garbage. Have any other Slashdot readers seen this? What is the youngest you can be before some PHB declares you fit for the scrap-heap? Other than stocking up on hair dye and botox, what steps can I take to prepare for the future? Share your war stories here." Ask Slashdot handled this topic over two years ago. Of course, this behavior could be explained away as economic concerns, as the decision to hire younger (and typically cheaper) employees can directly affect the bottom line. However, one has to wonder if the decision to go with less experienced programmers also affects software quality, in the long run. What are your thoughts on this subject?
I don't think that the ability to learn is determined at all by age. I believe that nearly anyone can learn how to code at nearly any age. But I would liken this ability to that of playing a piano.
Sure, an older person can pick up the ability and wield a certain prowess and even artistry. But no one, to my knowledge, would argue the fact that a person who learns to play the piano in childhood has a certain "feel" for it that people who pick up this ability later in life can never attain. It's not that the older person can't play sonoriously with rhythm and emotion. But the younger player has a certain reach that will never be known to the older guy.
Andy Hertzfeld (of the original Macintosh development team) claimed that he used to be able to track and house far more complex contructs of thought, and more of them, in his mind when he was in his early 20's than he ever could at the time he was giving the interview (I would guess he was somewhere in his mid forties at that time). He called this ability "the gift of the young".
But in the book Hackers: Heroes of the Computer Revolution [barnesandnoble.com] Steven Levy described how Ken Williams, the founder of Sierra Online [sierra.com] felt a missionary zeal in converting people to the belief that learning how to program a computer could change your life. Ken met Bob and Carolyn Box, who were an older married couple in their fifties. Bob was "...a former New Yorker, a former engineer, a former race car driver, a former jockey, and a former Guinness Book of WOrld Records champion in gold panning." When they both tried to get a job working for Sierra, Ken told them to "put up something on the screen using assembly language in thirty days". According to how the story is told, they both became very able assembly language programmers. Roberta Williams (Ken's wife) considered the Boxes "inspiring" and felt that learning how to program "rehabilitated their lives".
Of course that was a long time ago, and thus far I have spoken only of the abiltity to learn and to become an able programmer. To get slightly more "on topic"; as to whether there is job market opportunities for older folk, there is no reason an employer should discriminate on the basis of age, though I'm sure that many do. But as for the pure concept of programming I myself only picked up some ability in C++ (on my own, not through any school) when I turned 30 as I realized I was getting older and it was basically "now or never". I still enjoy learning as much as I can about it, and consider it a wonderful intellectual exercise, though I have no concrete plans of doing it for a living. I've already got a stable professional life and see it as a very enjoyable and rewarding hobby.
Quod scripsi, scripsi.
Or a new bunch of people becoming old enough to experience it. I'd feel worse about it if the people who are starting to experience age-based discrimination weren't the ones benefitting from it a few years ago.
'I ain't a liar, baby, and I ain't proud I just want what I'm not allowed.' -- Violent Femmes, 36-24-36
Give me a seasoned vet who has the depth and breadth of experience to have learned all of those "only happens once every x years" type of lessons over some young, fast coder who has yet to learn these lessons.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
Its easier to sqeeze 80+ hrs out of someone with out kids, house and a wife.
With all these old folks posting on Slashdot? Don't they know it's a site for young people? Sheesh, go hang out on cnn.com, grandpa.
Ya know, you don't actually have to work for people of such obvious short-sightedness. In fact, I would think that hiring practices such as this would tell you the average chances for success the company would have.
US Democracy:The best person for the job (among These pre-selected choices...)
15 years old of course, before they get interested in sex, and start developing a mind of there own
As a respectable web pornographer I would have to say that when we consider subjects for our titalating erotic material, or as the 31337 call it, pr0n, we do choose to go with the younger crowds. Anyone over the age of 30 is typically considered outdated and useless. Unless of course you are visiting one of our spectacular granny sites.
postmodernsideshow.com
I think basically what it comes down to is quality. With the recent declines in the dot com sector, employers have chosen to sacrifice quality programmers for cheaper/faster ones.
Attaching age to that is an unfortunate sterotype that comes along with being in IT or almost any other profession for that matter.
It's the way of business.
Perhaps your luck will change when/if the economy bounces and employers have more to spend.
I have often regretted my speech, never my silence.
-Xenocrates
I think what may really be happening is that younger people can devote themselves to a subject with an intensity that older people simply don't have to spare. I know I have often wished, in my studies, that I could be eighteen again and essentially have two-thirds of my time to waste totally, instead of squeezing dribbles of time out here and there for my own projects. I certainly know I spent a lot more time studying new technology back then.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Cliff, himself probably around 30, cannot spell the word "hire" correctly, while most teenagers probably can.
As you get older, you need to make sure to hone your skillset so that younger, less experienced workers cannot do what you do; whether it's significant project management experience, teambuilding, extreme expertise in an area, or something else, you need to make sure you are uniquely valuable, and that your years of experience add to your value-for-the-money, not dilute it.
Managers look at ages 18 - 25 as people they can abuse. They are inexperienced so they won't stand up for themselves, and usually aren't married so they can work them 60 hours a week for low pay.
Religion is a gateway psychosis. -- Dave Foley
Personally after seeing my dad get layed off from Martin Marietta in the early 90's because he was too old, I have no trust in any companies williginess to keep older employees. So with that said, even though I'm a better then average IT person, not a GOD but good, I'm on a path to management. My goal is to have a good technical background, but to have a better management one so I can have a job even when someone wants to hire a 20 something person because young people think faster, work cheaper or something.
Programming is a skill that depends on both quick thinking, and a base to stand on.
Younger people tend to pick up new skills quicker, and improvise without much effort, whereas older programmers may not learn new things very quickly, but will have more of a mastery of their respective language.
If I were a hiring manager, I would probably stick with experienced programmers if it were a mission-critical app, but someone younger if I were, say, trying to create a new game engine.
i use linux and windows oh god how can i have an opinion
I seriously doubt that people can't learn just as fast at an older age. I'm 46, and think I'm smarter now than when I first starting programming computers in '75. Age also tends to give one experience from which to draw on. The accumulation of previous experience comes in handy at the oddest times, I've observed.
I have no doubt that there are mentally vacuuous hiring individuals who think that younger is better however, and that is a problem. If I encountered that, I think I might send the CEO of the company a paper letter explaining what I heard at my interview, and why I wasn't going to work there.
This is totally insane. I'd much rather have an older, _more experienced_ coder, who may be slower (tho I don't believe that to be true) than some fresh out of college coder.
As someone _in_ college, looking at the vast majority of my classmates (actually, as vain as it sounds, _all_ my classmates) people coming out of college don't have any business going anywhere near critical code. You don't become a good coder by going to school, after all, you become a good coder by writing a metric shitload of code and thus getting real-world experience.
I believe I'm so much better than my classmates because I've been doing this since I was 9, and have 11 years experience writing code. And no, I _don't_ spit out as much code as I did back when I was 10 or 11, and poured out code all day long to do whatever dumb little project I worked on then.
But you know what? I code less now, because I use my experience to sit back and think about what I'm going to code, and end up not only writing higher quality code, but less code to get the same job done, as I did back when I was a dumb little kid!
Bah, I'm just ranting now. Think I've made my point at least 3 times by now. ~,^
I'm 21 and am lazy as fuck. I write a Perl script every six months. Don't hire me. I hope by the time that I'm 30 I'll be writing code much more frequently. But for now stay away and let me mature.
It all comes down to moola. You can have a well experienced older coder, and one a young kid that can code well....
First of all, the kid is probably half (or less) the cost of the older guy.
Second, you can try to lure the kid into staying in the project for a long time, thereby helping maintainability.
But on the other side of the fence, older coders don't want to be in management, so they'll always be your gruntwork force. If they wanted to be in management, they woulda tried a long time ago.
Surprisingly, though, most techies have no interest in going into management...
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
There are two sides to every coin. I'm a manager of five developers and six support staff.
In my experience, younger people tend to work like dogs until it stops being fun for them. They will pull all nighters all week when you're trying to launch a product, won't need to leave early for soccer and little league games, and won't get in trouble from their non-existant wife for leaving a few minutes late.
On the other hand, older coders tend to work at a more steady pace, have fewer errors, and spend their time thinking about something before they start jamming out code. They also are more reliable at showing up on time, not burning through vacation and sick time the second it becomes available, and following through with their committments.
It isn't really fair what that manager said, but I think they might have experienced some of what I just mentioned above. Although things like that generally aren't to be said "out loud" behind closed doors you'll hear many people talking about things they have observed managing people.
What's the best solution? A balance of both, in my experience. You need an effective mix, an although young people can be great coders and older people can be off sick, those are the general trends I've seen in seven years being a manager.
You have to remember that you are there to solve your employer's problems. If he's looking at someone to produce 1,000 lines of code per hour then you wouldn't be interested in the job anyway. You want to work somewhere focused on quality over quantity, and that is probably more biased to older more experienced developers in many cases than younger folks.
Case
Being a fairly young IT worker, I see alot of the opposite. Older IT workers are given preference despite their experience and knowledge being similar or worse. *Especially* for any position that involves ANY sort of supervision or departmental representation.
When available at a price within budget, a qualified person with maturity will get the job at a company worth working for. Why? Because every survey shows older workers are more loyal, more stable, and more willing to commit. I was at the hiring end for 10 years, and I endorse this point of view. When youthful energy is needed, hire on a contract basis, then get them out the door. Between the ages of 20 and 30, most intelligent people are looking for the very best gig they can find, which means they'll dump you in a second if need be. The older worker typically is not quite so quick to move, and gives you all the other premium character traits one associates with maturity to boot.
Fear not.
It's only funny until someone gets hurt. Then, it's hilarious.
When I was fresh out of college (a little while back) I ran into something related. My boss definitely preferred me for the fact I was youngest and he probably perceived my general energy as also being faster at programming. But I also ran into another problem. Here's an example:
It's a late Friday afternoon and we've got plenty to do, but with plenty of time. The boss tells me he wants the work done for Monday morning instead of the extra week we were originally told we had. The older developers with families told him they weren't staying late Friday, they were going home. I told him the same, but he replies, "Why? You don't have anything better to do." Apparently since I was young and didn't have any family I had no reason not to work more. I was fuming and I didn't work late. He tried to pull that crap a few more times after that.
So not only are younger minds quicker, but apparently they're also easier to manipulate and take advantage of.
Developers: We can use your help.
Somebody who is young and inexperienced but dedicated may be able to crank out a lot of code quickly, but at least in my field, (embedded systems) there is no substitute for having seen and solved a wide variety of problems. You gain a much better feel for what is the best approach to solving a problem, and how long it will take.
Would you really trust a 16 year old to code and deliver a critical app?
My rights don't need management.
When those young, fast and inexperienced coders give them brittle, unmaintainable code that soon collapses under it's own weight, they will call in us old seasoned consultants to fix the problems at a premium price.
A manager that can't distinguish quality of work from quantity has no business making hiring decisions in this industry.
Disclaimer:
What precedes is not meant to reflect generally on young programmers. There are both brilliant and useless coders at all ages.
Trouble making decisions? Just flip for it.
Senior members are far more respected in the field of law, because it is understood that the older a lawyer gets, the more experience they have; concordantly, the more experience they have, the better a lawyer they are.
What does a lawyer do? Pretty much the same thing as a programmer. A good, experienced lawyer will have a specialty area of law, but be able to learn about new legal arenas as the need arises; likewise, an experienced lawyer will know the ins-and-outs of a specific arena in the legal system, including exceptions and loopholes a younger, less experienced lawyer might miss.
Same goes for programmers. An older programmer, generally speaking, will be more sensitive to over-using resources, will have a better grasp of programming methodologies, and will know about many more former bugs and programming mishaps than a fresh-out-of-college CS grad.
--
I Hit the Karma Cap, and All I Got Was This Lousy
As I get older I find that I am less able to code at the same pase that I did 5 years ago. But the quality of my coding has improved and I am able to produce out far more optimised and stable code then I did when I was younger. Experience has its advantages. Comparing the real time of coding is more important. Before I would spend 40 hours coding and 80 hours debugging. Now I do 65 hours coding and 8 hours debugging. As my experience increases I learned to take the speed down while coding and carefully work out the problem and make sure it workes well. While I was younger I would Code to get it working then try to put in patches to fix any bugs (which sometimes required a rewrite). Depending on the job and its needs I would use different languages to get the job done. Usually when time to code is an issue I normally write Python. While speed of the appication is the issue I would go to C or C++. If you are ranking your programming skills on Lines per Day then go ahead and higher a young whipper snapper. But if you want a good solid application hire the skilled and matured programmer.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
I've been in the consulting world since I was 22 (started working in IT when I turned 20). I'm now 27 and I find that age-ism is the worst form of discrimination, especially among consulting clients. Since I have a well-established beard, I usually pass for 35 and that seems to give my clients the impression that I'm better qualified than one of my peers, who is exactly at the same point in his career. All of my bosses during my consulting career have always told me never to tell my true age to the clients for fear of losing business. This is especially true since the dot-com bust when all of the "young dot-commers were shown to be the frauds they are." This deception sickens me, but I have truly seen a huge difference in terms of instant credibility and career progression when people think that I'm significantly older than I actually am. (I'm starting to get a few gray hairs, so most people now think I'm in my late 30's-early 40's. Also, I got married young and have 2 kids and this reinforces their beliefs.)
I guess the whole point of my commentary on my situation is that people do discriminate based on age and you can either play along and help yourself out (and sell out in the process) or show your true self to the detriment of your career (and possibly of your consulting company's, if you're in my shoes.) That may not be politically correct, but it's the way of the world. Also, I think that it's not as bad to play along with the game to your benefit, as long as you yourself don't start judging people based on age, picking up the habits of those around you.
Why do I h8 apple?
I think it is all relative, and in these times it could come down to the bottom line. Someone with 10 years experience is going to cost more than someone with 3. The risk may be worth it. We are just experiencing this now because over the last 10 years, there weren't too many "old" programmers out there, we were all relatively the same age. Now there is definitely an age gap.
My beliefs do not require that you agree with them.
Of course, this behavior could be explained away as economic concerns, as the decision to higher younger (and typically cheaper) employees can directly affect the bottom line.
I am outraged that the widespread discrimination against short folks has taken another, worrying, twist: even in evaluating programming skills!
Sigged!
The older you get the more you are likely to favor things which you've already experienced. Familiar things, while familiar, tend to not allow you to expand your mind in new ways. Yes, neurons grow faster in younger people, however scholarly old men can tell you that a mindset appropriate to intellectual growth can sustain a lifestyle of constant improvement.
Many make the choice to simply not improve in any dramatic way due to the belief that trying many different things is a childish trait of chasing fads. Whereas constantly new stimulus is very important for keeping the mind sharp.
The mind is a tool, use it as you will. And if you don't, don't be suprised that it doesn't seem to be working like it use to.
My intuition tells me that people looking to hire programmers for mission-critical applications (database, infrastructure, medical, etc.) are going to be far more interested in older, more experienced programmers than game companies or in-house applications.
:)
A young programmer might be cheaper, might have more energy and drive, and might in fact produce more code -- but they may not produce the right code for the task. If your requirements are to bang out a rendering engine so you can get your game to market before BubbaSoft, then you want cheap programmers who are desperate/naieve enough to work 90 hours a week, and if they make a few mistakes so you can see through the corners, or your weapon can be slighly embedded in a wall texture... it can be fixed in a patch, noone will care.
OTOH, if you're looking to upgrade the medical database that's been running on a VAX for 30 years, and you really need to move it to a linux/oracle system before your VMS tape gets eaten by mice... you might want someone who's been doing this for a while so the mistakes they make are less likely to cost you 5 years of records.
I'm 34 myself, and I remember the stuff I wrote when I was 24. Yes, I churned out a bit more code, but boy was it ugly by comparison. What managers should remember is that programming is like writing, or composing... the more experience you have, the more elegant solutions you can find, and the more naturally you can express them. Young people don't worry about things like maintainability, or how some other fellow is going to figure out what they did. Some do, but most don't.
Of course, that's my opinion, and being an Old Fart (TM), I might just be biased.... or maybe I just can't remember it right...
Why hire young?
Younger IT workers will often put in absurd unpaid overtime, where most older workers won't.
Younger workers just out of college will often take a job at a low salary for the experience. Older workers won't.
Younger workers are often have more exposure to cutting edge tech than older workers who cut their teeth on cobol, jcl and basic.
Younger workers have lower expectations about benefits, perks, salary, etc than older workers who can remember the 'good old days' of 5 years ago.
Older workers are more likely to have children, families, in short lives. Younger workers are more likely to drop everything and fix that server at 3:00 AM.
Older workers have seen many managers pull many tricks, know how to spot them and how to deal with them. Younger workers are generally more pliable.
=brian
Some of the bad thing that older engineers are guilty of (and please do not flame, I know I am generalizing):
Now for the handfull that feel offended by what I just said (and can back that up):
I think the term "developer" says more about what qualities you should be looking for in an employee than does "coder". In large, mission-critical projects, you don't want someone that is able to crank out thousands of lines of code per day, but someone who sees both the big picture and the details. Someone who has broad experience, has done sysadmin, network admin, assembly, higher level languages, design, testing, debugging, redesign, refactoring ... and still lives and breathes for his profession. Someone who started programming at an early age, has 10+ years of experience, and still has a passion for his work, is IMHO the best developer.
"And you are dying so slowly, you believe to be living" - Bertrand Besigye
I think coding is definitely a life-long learning experience. What you think about your year-1 code at year-2 is always "what trash." Always. Same for you at year three when looking at year two. Lather, rinse, repeat. And it's true because you're always refining your art.
A good analogy, IMO, would be just about any other "art." Do you want a first-year apprentice repairing your shoes? Sure, I guess, if speed is your goal. If you want it done right, you might want his boss with 20 years under his belt.
So why are they opting for the first-year apprentice? Well, who expects to be employed at a company ten or twenty years from now? Quality takes time to become obvious. Why should they shell out the extra money (time is money) for something that won't be obvious until after they've gone? They have a bottom line to meet and whether or not they're there in six months -- nevermind as many years -- is whether or not their numbers are lower than anyone elses. Investors are a fickle lot.
This trend is nothing more than the fallout of a society that no longer has it's citizens displaying one, two, maybe three companies on their resume. It is short-sightedness and I'm afraid there isn't anything you can really do about it.
My
Limekiller
Reading up on the IT industry, most recently in the Economist, I would have to say that that decision would kill the company.
"Wow, he thought hard about that one," you say, but I am actually refering to the belief that the sector is becoming a commodity. The industry is maturing and users want quality more and more over new-fangled products that mess up all the time. As programs and hardware get faster and faster, they are over-reaching the public's willingness to spend for speed. Instead, we are happy with an old 1 gig processor, but will pay for smart and well written programs.
So basically, if the management wants inexperienced programers, let them. They're sure to put out bad software that fails. Then these programmers will be back on the streets looking for another job, while you have found a company that excels.
One more reason to keep an eye on your money.
I was RIF'd in May 2001 just after the dot-bomb collapse, and was unable to even secure an interview. In the two years that followed, I netted only two interviews although I have over twenty years in programming. I know this had a lot to do with my age, since it was communicated to me through recruiters and other sources that longevity in the field directly translates into dollars. They see that hiring younger necessarilly means hiring cheaper.
Read the paper - it's all in there.
"Stop whining!" - Arnold, as Mr. Kimble
I'm a programmer. Or a software engineer. Whatever. (I prefer hacker, but not all potential employers will appreciate what I mean by it.)
I understand one place where the ageism comes from.
The specific example cited above is just stupid, but there is a reasonable reason to prefer younger techies.
Remember Sturgen's Law, 90% of everything crap. This includes techies. Sure, you may work at some company that only hires smart techies who care about their work. But many companies (especially larger companies) are stuck with what they can get. If you need 200 programmers to write insurance and banking application, chances are that many of them are going to suck. Some are actually bad. Some want to be good, but need time to get there. Some just don't care.
As a result, you take steps to make the most use of these crappy techies. This is part of the reason that some companies have overly complex planning, design, and revision systems. Sure, it prevents a truly skilled and inspired person from being really efficient, but they can help keep those people not so blessed on track and getting work down (however slowly). (By way of an example, a friend complained that he was on a project to do some file conversions. It would take him one or two weeks to whip it up in Perl and carefully test it. Instead there were two dozen people working on it for six months. A waste of skilled, dedicated manpower, but in the absence of someone my friend, probably the only way to get it done at all.)
Now, all that said, maybe the better solution is to fire all of the not-so-good techies and invest heavily in the skilled ones. After all, the skilled ones can often replace many less skilled ones. Ultimately this is a financial decision (which is the better payoff for investment), and I don't know the answer. Personally I would go with fewer and better techies, but I don't get to make that choice.
So, some companies, especially large ones, take steps that optimize for the non-so-good techies, even if those steps harm good ones.
Ageism is just such a case. The more general case is a refusal to hire someone who doesn't have either 5+ years of experience in the technology they'll be working with, or just graduated with education focusing on the technology. The reason, many of the not-so-good techies aren't too keen on learning new things. After all, many of them just want to do their job and coast on by. Even if trained they'll take a long, long time to get up to speed. However, if a not-so-good techie already has real experience or just graduated with that experience they start up time is (in theory) much lower. Ageism just takes the reasonable fact that many techies will not learn new tech and applies it in a very conservative way to hiring. Of course, this bones the good techies who learn quickly and like learning. It leads to silly cases where a company will spend a full year failing to hire someone with experience in FooTech instead of just hiring someone and allocating time for them to learn.
Of course, all of this is just one of the reasons for ageism. There are others. I just wanted to offer up an explaination of one on the possible reasons.
Another popular reason for ageism is that fresh college grads are used to working long hours and don't expect alot of money. In this economy they're even more desperate, I know several recent grads willing to take extremely low paid jobs to gain needed experience (Which working as a waiter or a receptionist doesn't give). Unfortunately this can lead to situations where people get burned out and knowledge leaves the industry. The lack of long term stability means fewer people are willing to enter the industry. Older employees expect to be treated like the professionals that they are, they want reasonable professional salaries and reasonable working hours (you can raise the hours, but the salary better match). I think it is often a reasonable investment, but companies are often only as smart as the dumbest link in their chain of command (thus, ageism might come from the top, or from a HR person).
Search 2010 Gen Con events
...the crystal attached to the palm of my hand keeps blinking red!
The shop I'm at now has a surprisingly older crowd of coders. They also have a distinct policy against hiring anyone without experience.
I have no doubt (having seen it in interviews myself recently) that there is a trend towards hiring younger staff, fresher faces, cheaper assets/liabilities. But no all shops are like this.
For the most part, I've found that places that were hit fairly hard in the past two years but are coming back, are more likely to hire experience and not just warm bodies. Your skills will come into it when they realize they don't have time to train the younger crowd.
I'm 32 now and sitting somewhere in the middle between older and wiser, and younger and faster. I'm just hoping I don't have to wind up in the market looking for a job anytime soon.
cheers
Today there are 8 year olds making happy meal toys for the latest Disney flick promotion for pennies a day. Tomorrow they will be banging out Java code on some crappy hardware 1 step up the econommic ladder from the 6 year olds out back getting toxified smelting the machines that actually don't work for scrap. One needs to distinguish themself to demand more pay. Articulate why your work is not grunt work that can go to the cheapest resources and you have real job security. There is always someone out there willing to work cheaper. There is only one that delivers the most value.
When the people fear their government, there is tyranny; when the government fears the people, there is liberty.
In IT terms I am an old fart. 46. But it seems like yesterday I was the kid who had to prove himself in a mainframe world full old men. I don't know where all the old men went, probably died of the cigarettes they chained smoked. I do remember a lot of old geeks, who although they lacked washboard abs (ageism is about sexual attraction not programming skill), they could code the hell out of anything in assembly language. Now I am old. I adapted to the Internet in 1993. I marvel what some kids do not know. Too many years on ritalin? And there's the bright ones. GenX got a raw deal, mostly because it hit recessions on both sides of college and the baby boomers before me want to deny them the same excesses in life we enjoyed. Hell we demanded beer at age 19! There is always someone who is a faster coder. There's always someone slower. Most of the times its about persistence against all odds and just getting the job done.
My son and I started taking drum lessons 8 months ago - together. There is no comparison. While he may be more technical and able to do the marching snare roll, etc. I rock all over him on a kit. We both put in the same amount of practice time.
But I love the looks I get from the middle age women as I walk out of the lesson room. Which is probably the root of the problem. Most middle age folks don't think someone their age *should* be learning new skills and definitely not having fun!
Didn't we just see a story about how hard it is for a kid to get into programming nowadays? Gen-X kids grew up in the eighties with simple computers that were ideally suited for learning programming. Turn the thing on, there's the BASIC prompt. Learning to program in your formative years helps you a lot. You learn how to think (even if you have to unlearn a few things that BASIC teaches you).
My first computer was a ZX81 I built from a kit when I was 12. Which meant that my first language was BASIC and my second was Z80 assembler (since BASIC was so atrociously slow even for 1982). I would POKE the machine codes into memory, and that got so tedious I wrote a BASIC program to help me do it. It started with 10 REM AAAAAAA.... You would type the assembler instruction into a field, hit a key, and it would poke the correct values into memory starting at address 16514 (where the A's started). A bunch of my friends in school did similar stuff. The occasional kid might be into that sort of thing now, but there isn't much of an incentive to learn programming now because computers are much better now and so much good software has been written already.
I bet the stream of really good programmers entering their 20s will continue for a while and then dwindle. If you spent your time as a kid playing with a GameBoy, your mind has already calcified a bit by the time you start programming.
Any manager who focuses solely on the salary of his programming staff is an incompetent fool who should be fired immediately.
Ask any experienced programmer where the biggest costs lies, and they'll tell you it's fixing (or worst, working around) the crap left from rushed or ill-informed decisions made earlier. This isn't just the cost of paying programmers to maintain the broken infrastructure, it's the lost opportunities as the people who know your code are prevented from working on new functionality, the delays in responding to changing demands, etc.
We all know that the marketplace often doesn't give us enough time to do things right... but a lot of mistakes can be avoided if you just have somebody on the team who has already done something similiar at an earlier job. Or arguably more importantly, somebody who has seen the same brilliant idea fail because the nasty problems don't appear until you're committed to this approach.
But I guess that's why we're told we have a "negative attitude." I've actually heard some people say that they'll never hire somebody who says something "can't be done." They make no distinction between professional knowledge (e.g., recognizing a problem as NP-complete with no known "good enough" approximations), professional experience (e.g., having worked at three other sites where the same approach was unsuccessfully attempted), or just a bad attitude.
The other cost that's often overlooked is that specialization is dangerous. You don't want to hire one person to fill a half-dozen separate positions, but having people on your staff who can cover others can be a godsend when your regular sysadmins are all away (e.g., one on vacation, the other home sick), or the DBA is on vacation, etc.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
For what's it worth, I have noticed a slow but steady decline in certain aspects of my congitive ability, especially memory (from near photgraphic to pretty decent), ever since I turned 23, and I'm only 27. Of course, experience helps make up for the decline. Experience, in a sense, is a mnemonic device. It lets you skip the working through of problems from scratch because they have at least one known solution familiar to you. The problem is it might not be the best solution at this time and a younger mind working through the problem for the first time might see something you didn't, however, experience, on the whole, out-weighs pure ability except in extraordinary circumstances. That being said, I have been managing various IT groups since I was twenty, and I have had people tell me I'm too young, in the past, for certain positions for which I interviewed. So, the opposite kind of ageism that the post examines also happens and is the norm. This trend of ageism is more conspicuous because it actually reverses the norm. I realize what I said about experience reinforces this sterotype (that's probably why it got started), but really the best solution is an in-depth interview, not trying to judge people based on external cues. Nothing is better than engaging in conversation with a person to find out how good (s)he is relative to yourself, of course. The problem is you can't do that for every resume that you get. Ergo, baseless generalizations on age in order to save time.
We work predominantly, but not entirely, in Internet services. It has to run, all the time, and when it crashes, it better log something meaningful, get off its lazy ass, and get back up and working yesterday. Young kids who have little to no professional programming and development experience don't know much at all, if anything, about fault tolerance and high availability. Nor do they usually fully grasp the importance of error checking and reporting, defensive practices like design-by-contract, CM, QA, etc. I want folks with battle scars. Occasionally you find a youngin' who's dealt with that already, and they work out great, but most haven't.
Now that's not to say that I wouldn't hire a youngin'. I'd hire a recent college grad with at least some of the prerequisite skills and a good attitude to start off with maintenance work and small projects. For example, fix some bugs, do integration testing and explain why the bugs are bugs and what caused them. Sooner or later they can actually explain what happened and how to fix the problem, and then they're off.
As for learning ability, I, frankly, haven't noticed a real difference in the ability to learn between the young and old when it comes to languages, specs, etc. If anything, I've seen older people pick stuff up faster.
It's not about having a quicker mind, I know plenty of people who are in the late-30s, 40s, 50s, etc who are plenty sharp and on the ball. Having a wide experience base gives you more to draw from when envisioning a solution.
What I found out from several of the companies I've worked for is that they don't want you to have a bunch of social ties and responsibilities. Have a wife, kids, or aging parents? Don't call us, we won't call you. We'd rather hire someone who's brand-new in town with no social life and that we can work 80+ hours a week until they burn out. This is a technique that's been employed by the likes of MCI, Qwest, Enron, WorldCom, etc.
They don't like people who are older because we are typically married, have kids, and aging parents; all responsibilities that take time away from the 80+ work week. It also means that you have experience and typically want more money. Again, they'd rather hire 2 22-year-olds at $30K/year each rather than spending $60K on one person. 160+ hours of effort a week from the youngsters, or 40-60hrs/week from one person with family responsibilities? Which do you think a company would choose?
Is there ageism in the IT industry? Yes. Is it going away anytime soon? Hopefully when the corporations realize that experience counts.
If "disco" means "I learn" in Latin, does "discothèque" mean "I learn technology"?
I think the idea that younger minds are better, faster, more flexable, etc., is simply a smoke screen. The issue I've run into is that I can't compete salary wise against younger kids. I need to make at least $4,000/month, but someone right out of college, with no wife and|or kids might be willing to work for $2,000/month.
-- Galen Rhodes grhodes@the-chatter-box.com Journal: http://journal.the-chatter-box.com/users/grhodes "Consistency
They want 8 years of experience doing this, and certifications to do that, and for you to be 20 years old and willing to work for minimum wage. And they think they can get it because we are all out there and hungry.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
The problem is that I do not believe his idiocy is unique
Where did you get that idea from? It's not idiocy - it's a reality. I know that I won't be coding till I am in my 40s. Neither do I want to. I mean, it's true, people are different, and some people in their 40s are indistinguishable in many ways from people in their early 20s. But if you think about it, there are some abilities that are required that few 'older' people people possess. Among them
- If you are older, married and have a family you are less excited about staying till unholy hour of the morning finishing a project that has an imminent deadline tomorrow...
- If you are older, you are more set in your ways and would rather use the skills you already have rather than learn something totally new and off-the-wall. Yes, your skills may be very valuable, but you may lack the flexibility your employer is looking for. Let me re-phrase that. When faced with a new problem, I first try to see if I already know from prior experience how to solve it, and, if I do, use that experience, even though it may not be the most optimal solution. That's how we, human beings operate. That's why we have education, right? On the other hand, few areas change as quickly as software and your "solution based on experience", while still good, may not be the best one, and not the one your employer is looking for. In that sense, under some circumstances, your experience may be more of a drawback than a benefit.
- While some older people become wiser, and take criticism better, many others do become grumpy old men, and find it hard to be taught and criticised by the kids in their teens that apparently know some things better.
- When you get older you won't be willing to accept some of the jobs and tasks (especially the thankless ones like sysadmin) as readily as the younger people.
- Last, but not least (especially in today's pitiful economy), when you are younger, you will settle for less pay, more hours, and your insurance will be cheaper. Isn't that why a lot of developer jobs are moving to Russia, Romania, India, et.al.?
No idiocy - just face the reality! While discrimination based on age is illegal, it is true that you may not be able to perform certain tasks when you get older. Just like a 60-year old lady won't get a job at hooters, you won't be a coder in your 40s. So, start transitioning to a manager position in your 30s, while you still can - that's where you belong, and there is nothing wrong with that.
Jobs? Which jobs?
I think the reason they go for the young ones is they can pay them less. People are generally cheap.
I'm 40 years old and the oldest person in my dept. I was the oldest at the last gig I had and the oldest at the gig before that. Before that, I wasn't the oldest. There were a couple of the battle scarred coding vets working there. You know the type, the guys that THINK in 256bit encryption?
Since 1996, I've usually been either the oldest or darned close to the oldest in every development company I've worked for. I wade through the hoardes of 'fresh outs' to get to my cube. These inexperienced kids are talented, but they have a tendency to believe they know alot more than they do. I've found that I usually have a much broader and deeper experience than these kids, even though I wasn't able to finish college for financial reasons. Sure, there is the occasional WunderKind, I'm just generalizing about the typical early 20s hiree.
How to prepare for this? Good luck. If people perceive you as an old mare ready for the glue factory, there's little you can do. Your possible options include dealing with it as best you can, forming your own business and changing career to something less generationally discriminative.
That has nothing to do with age, and for you to make a statment as such, only groups you with them,
Rigidness in ones thought process is a personality trait, not one based on age. I'm close to forty, been doing "IT" for close to 20 years. Yet, I am constantly changing the tools which I use and the manner in which I do it to adjust and be "modern". I've "used" just about ever OS and system most people can imagine, and do so based on the requirements, not my personal preferences. Of course, that may explain why I'm not one of the unlucky few to be unemployed in this economy.
in the infamous words of Denis Miller, "Of course that's just my opinion, I could be wrong"
Lots of people learn to program in high school--or earlier. And after a quick learning curve of approximately three to four years, such a person will be a fairly competent programmer for certain types of tasks. He won't be a master; you wouldn't want that person architecting anything sizable. And he'll have monstrous gaps in his knowledge. But you know what? That kind of general grunt programming covers about 90% of the coding work out there. It doesn't take a masters degree to churn through data files with Perl, or to put together some forms and SQL queries with Visual Basic. It really doesn't If you give that kind of work to someone who is 20, is unattached, and maybe lives in a town where he doesn't know anyone outside of work, he'll churn through it faster than someone with a wife and kids. And the 20 year old will be cheaper.
This isn't an insult to people over thirty. I am over thirty. It's more that most programming is pretty simple, and therefore it makes sense to have it done by cheap, almost slave labor.
As programmer becomes a true master, which is something that takes a decade or more and a wide variety of professional experience, that person will be much less inclined to just write brute force solutions in Visual Basic. He'll start to think more, wonder why we're wasting our time using garbage like C++ or why most Visual Basic programs end up being the same and therefore should be replaced by something more succinct and automated. But that kind of thinking doesn't do much good. It takes more time to think about such things than to just write the damn code for the ugly way.
From the user comments to the BBC article:
:)
"In the IT sector (and coding in particular) younger minds generally work faster."
This is utter bullcrap.
I'm in my early 30s and been doing tech lead (lead teams of 5 - 20 people) for about 2 years now. I've worked with a lot of programmers, young and old. I've supervised, peered and worked under older programmers.
In my experience working faster has nothing whatsoever to do with age. It's everything to do with ability and experience though.
My experience tells me that even if a (really) young person was seemingly working faster, they really aren't, because their lack of experience generally makes them work on the wrong things. They do double the work, work on the wrong things and make more mistakes. That certainly applied to me when I was younger.
This is happening all over the place on the current team I'm managing. The youngest (most inexperienced) people are constantly the people I'm spending most of my time with. The older folks, not only know when to ask for help, but also produce less defects, so their work is much more efficient. They probably type slower though, if that's what "working faster" means...
Sometimes, very rarely though, a youngster can overcome his lack of experience by being truly brilliantly talented. I've had the pleasure of working with a handful of such people. The results these sort of people produce, are nothing short of amazing. Gotta give credit where credit is due. The next time you usually see these people is when they get that corner office with outside view
Proletariat of the world, unite to kill ignorance
In Soviet Russia, I ruled you
You are exactly right. I do tech support. Without question, the MOST annoying calls we get are from older tech who will start off the phone conversation with, "By the way, I've been programming for over 20 years, and I think..."
When I worked doing phone tech support, I always hated these calls (almost as much as the people who are physically incapable of single-clicking) because they are some of the most stubborn people I've ever had to talk to. It didn't matter that I knew the answer that they were looking for. The simple fact that they couldn't find the answer with their own reasoning was enough for them to not accept any answer I was about to give them.
Now, when I need to make a call in to a tech support hotline, I never make the statement "I've been a network engineer for the last 5 years" but rather "I seem to be having this problem, I've checked this, this, and this, and I still can't find the solution..."
There is something to be said for people who get so set in their ways that they refuse to learn new things, but I don't think that age is a sole component of this mentality. Its generally true that younger people are more succeptable to picking-up a new or different way of thinking, but (as in just about everything else that involves people) it really does depend on the individual.
Fully licensed blockchain psychiatrist
I'm 33 and I earn a living fixing and redoing the mad, coding of a prolific 20-something who learned how to code on the job. The young get in, get their money, get out, and leave the mess for us "older folk" to clean up. Young coders = job security for experienced coders.
You're doing it exactly right...but typically the longer someone stays doing a particular job the more rigid they are in their ways. You'll notice I was careful not to say, "This is the way everyone old is."
There is a large segment who are, though. When younger people are obstinate, you can generally smack them out of it because you'll have more experience, and they'll come around...that option doesn't generally exist for someone who's been around for 20 years.
The way you describe yourself is the way things should be. The ideal way to keep yourself employed is to keep adapting...it just happens that most people like working themsevles into a groove as time progresses.
Netjak.com independent reviews of domestic & import video ga
All I can say is - after ten+ years of programming experience (and that's just industry, not counting the stuff I did in college and before) I'm still telling some people what hashtables are. And they were around before I learned to program.
At the most basic level, programming is the same as it was thirty years ago. You can just do more with it, is all.
How programs interact is not even all that different, just mechanisms moved into different worlds.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It's changing. There was definitely some bias, but it's switching, and in a few cases, reversing.
First, in the downturn, the older more experienced programmers come cheaper.
Secondly, despite all the changes in technology, older people come with a valuable knowledge of history. I recently had to solve a problem with scripting that someone without my experience wouldn't even have an inkling of.
Third, older people come with broader knowledge. That is making a lot of difference over time. I've noticed more experienced programmers also fulfilling analysist niches while they code, drawing on their knowledge.
Fourth, older people come with more diverse knowledge. On my last job search, half the time my interviews started with questions on non-technical skills.
Fifth, you can hire a code-only person. That's fine. You can also outsource them to another company or country. It's easier to outsource a year of experience than it is ten years experience.
I don't see as much ageism, and my guess is it's going to decrease over time. I'm in my 30's and I work with many people my age or older.
Just my 1/50 of a Euro at current exchange rates.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
My previous company had me cross-train as a Windows NT MCSE just before they riffed me. A 50-something MCSE with one year of experience is a bit of a joke, I found. (Not just in Slashdot-land, but in the real world, too!)
All of the web developers here are well under thirty, so your skill set seems to determine how your age is perceived. Java seems to be a "young person's" language.You were 80% angel, 10% demon. The rest was hard to explain. - Over The Rhine
"Math in a song is good."-Linford
...the decision to go with less experienced programmers also affects software quality, in the long run.
Yes, it does. Period. Young'uns are more likely to choose immature tools, more likely to make predictable mistakes, more likely to jump on whatever bandwagon started rolling last week, and on and on.
If you wanted to assemble a great symphony, you don't interview at the mall record store on Saturday night. If you want to build a bridge, you don't go to the day care and see who has a knack for Lincoln Logs.
Seriously, kids graduating from college are more like that toddler with Lincoln Logs than most of us would like to admit.
Healthcare article at Kuro5hin
I think a better question is whether a programmers ability is affected by the length of his beard.
... and I will hit you with my cane!
I have been told that I don't like OOP because I am "too set in my procedural ways". I am tired of hearing this. Nobody has shown that OOP is objectively superior for business modeling and I think it is actually a step-back return to the chaotic pre-relational organizational structures of the 1960's. The author David A. Taylor (Ph.D) is rumored to have said something like, "Experienced procedural programmers are too hard to retrain because OO is a way of thinking, not just a syntax. Thus, fire the proceduralists and hire young OO-trained developers." (I have not verified that claim.)
Regardless of which side you take on this issue, it makes for an interesting fight. At best, I think OO is a personal choice. It may fit some people's minds better, but is not objectively superior for all domains and usages.
Table-ized A.I.
I'm 37 and have been in IT for a dozen years or so, but programming for about 20. I'm in charge of providing standards, best practices and technical support and advice to 250+ developers.
It's not how many rings there are when they cut you open, it's how well you can navigate the technologies. I don't just people on how many languages they know or even what technology they are proficient in. For programmers, it's what their problem solving skills and adaptivity level is when the pressure is on or something challenging is presented.
Software skills cannot be measured by number of years. I know coders that are 17 years old that can dance circles around me while at the same time others in their age group that couldn't assemble their way out of a paper bag. The same for the old geeks like myself. There's good and bad everywhere, it's just a matter of being able to sift through the silicon jungle and do what you're best at.
Consistency requires you to be as ignorant today as you were a year ago. -Bernard Berenson
I'm 38 and have been hacking/coding since I got my first C64 and Timex Sinclair. I now write smallish business/accounting apps and even though I may have slowed down a bit, I'm still way more productive than any of the wiz kids around me. Yes they code faster and yes they catch on to new things quicker, but they haven't got a clue how the world works. They can't write stuff that is user-friendly, they can't present their ideas in a resonably inteligent manner and they can't deal with the general office worker. They can't anticipate how a less-informed office person will mis-interpert their terminology and layouts. They can't imagine that a general office person doesn't know when to single click and when to double click. They can't create a consistant interface without serious bitching.
If you want a game engine, a kernel, a driver or anything that doesn't require the code to interact with a human directly, then hire a kid. If you're writing software for humans to use then get someone old and crusty.
G
First, younger programmers have less experience in life. Lacking the well-earned caution of older professionals, they tend to be enthusiastic about their work, which they meet with alacrity. Managers often interpret this enthusiasm as "energy," "speed," and "higher productivity" -- all valuable traits worth seeking an an employee. Even though I know of no measurements or studies to support this interpretation, the perception is widespread, and it's not unreasonable for HR folks to act upon it.
Second, as others have pointed out, younger programmers usually have fewer extracurricular responsibilities to compete with work. Managers see this as increased devotion to the company and the opportunity to get more work for the same money. Again, it's not unreasonable to give preference to people with fewer extracurricular distractions.
Third, in the software industry, experience is rapidly devalued because the valuable mainstream technologies often make one another obsolete. (This is in contrast to, say, the legal profession, where decades-old experience is readily applicable.) While this fact doesn't directly benefit younger programmers, it does put more-experienced (and hence older) programmers at a disadvantage because they are perceived as wanting compensation for their vast, often irrelevant experience. In other words, managers often feel that more-experienced programmers want more pay than they are truly worth.
All of these reasons give managers and HR folks good reason to hire programmers who just happen to be young.
But, there's more to the story
That said, I have been coding for about twenty years. There is no doubt in my mind that the me of today can write much better software than the me of ten years ago, and I can do it in less time. Likewise, when I consider all of the young, hotshot coders who I used to work with when I was a young, hotshot coder, I would rather hire them as they are today than as they were back then. Simply put, they are better coders today.
Back then, we cranked out the code, and our employers loved us. But, being honest, much of that code was crap, and much of our "productivity" was wasted on false starts, gold plating, blind hackery, and all-night debugging sessions that could have been avoided by a more disciplined approach to creating software. The thing is, our managers couldn't tell the difference between fast, furious activity and true productivity. And neither could we.
And that's the most dangerous threat to older, more-experienced software professionals: Lack of measurement. I'm convinced that experienced professionals who have invested in their abilities, made consistent effort to learn from their mistakes, and know how to communicate effectively are worth their weight in gold. In the long haul, they will outpace inexperienced hotshots almost every time.
But without measuring actual performance, you'll never notice. You'll mistake long hours for productivity. You'll mistake unnecessary all-nighters for dedication. And you'll mistake older programmers for expensive versions of their younger counterparts.
So, if you are an older, experienced software professional, stop talking about "ageism". It's a lost cause. Start talking about realisitc productivity measurements. If you want to be perceived as more valuable, you'll have to do it the hard way: You'll have to prove it.
Easy, automatic testing for Perl.
Slowest.
Dupe.
Ever.
I once worked a on large programming project where there was a big shift to move from an old style legacy codebase into the latest fashion of object oriented programming.
All the developers from the old project knew a lot about what the new project should have in the way of functionality, etc., but were not familiar with the intracacies of C++.
Younger people had spent their time learning the latest languages like C++ and so were in a position to write the new code, but they were not as familiar with what exactly the old code did (did well, did poorly, etc.)
Consequently, the project ended up winning some and losing some. It uses some recent sophisticated programming techniques to achieve, well, less than it could.
Obviously, what's best is to have both quick, sharp, uptodate young people and wise, experienced old people and to have them working together and communicating a lot to each other.
Discriminating against either the old or the young will set you back one way or another.
"Provided by the management for your protection."
make the same mistakes you did yourself or wisely learned to avoid committing in the first place (usually by learning from somebody else's disaster.)
Some are painfully obvious to me but the PHBs and the co-workers have blind spots that just means that everything that I (and they) do is fundamentally flawed, undocumentable, will be a hemmorhoid to maintain and get trashed because it deserved to be still-born to start with.
Having a system designed by "people who knew" using Objects With States, but implemented by a "crew without a clue" who don't understand a thing about State Transition Engines, leads to duplicated, inelegant or just plain f*cked up code. When its gets to the GUI, its painful, just painful.
At least they pay me the little bucks and I eventually learned to just shut the f*ck up.
I just make sure to take my own advice whenever I can and write my code as well as I can. And when I have to pull off a real hack, I appologize in the explanatory comments.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
There is some truth to the offending statement - but the statement itself is myopic.
It is true that younger techies work faster. It's obvious that they should, really, for the same reason that 16 year olds get more traffic tickets than people twice their age.
Us "old timers" have a decade+ of experience upon which to draw. It is true that to a degree the advancement of technology has mitigated the need for some of this experience. However, we are not automatons, and have abstracted the lessons we learned on old technology into general rules that apply in the modern context as well.
(Oh God, I'm actually making a "back in my day" post. Shoot me now!)
Anyway, kids do run fast around corners and such, because they've not fallen over very much, yet.
Now lets go and ask the HR drones who think this way about the amount of rework that bright-eyes and enthusiastic go-get'ers create. Let's talk about solutions that are not maintainable, and about implementation strategies that don't scale, that do not tolerate creeping features with grace.
There is a reason why jobs demand a degree, and there is a reason they demand "x years experience". Kids make great cannon fodder, in IT as well as in the military. They consider a death-march glorious, and have no wife or kids to rush home to.
But would you let a green officer, even from West Point, command your army? Would you send them on the elite and covert missions? If you would, you'll soon be flying someone else's flag.
Same with IT. If you choose the gung-ho, do-or-die punks to bring your mission critical product to market, you'll soon be sporting someone else's logo on your letterhead.
Kids have their place in IT. They can code like hell, and there is much to be gained from their stamina and fearlessness. But they need to be given clearly defined and well-contained tasks.
Hell, most of these kids can't write "Hello World" without the aid of their favorite IDE! Sure, they learn and grow and get wiser. But guess what?
By the time they've learned, grown and won their wisdom - they've become US, the old timers, who work slower, because they know better.
The REAL jabber has the user id: 13196
What you do today will cost you a day of your life
... in the hiring managers statements is this:
- The salary demands of a younger employee is going to be proportionally less than the salary demands of a more experienced programmer. Therefore younger = lower cost
- The younger programmer will not at first bristle at demands to work unusually long hours to get a job done. The more experienced person will question the need for working longer hours.
For a quality product there is no substitute for experience. Companies now are not looking to produce a quality product, simply a cheaper one.
Believe in things of which no person has ever learned
You also forgot...
Are you as pliable as the 20 year old that I can push around the office and have him do my bidding at a drop of a hat. Being young tends to open ones-self to intimidation from those more powerful and experienced. Especially managers with a bit more political/behavior leverage that they've learned over the years being a manager. Getting older, one hopes to learn how to read, understand and discern certain "tricks" of the mind. "Resistance is not only futile, but does not support my agenda."
Being fresh out of school, discipline is still fresh in their minds. As much as you may argue that youngsters are reactionary to authority, those that start applying for real jobs generally have accepted it by the time they get to that point.
"Last one in is a rotten goblin!" - Kepp
Tony Williams was drumming for Miles Davis at age 17. Jason Marsalis was a recording jazz drummer at 14.
Ask any experienced programmer where the biggest costs lies, and they'll tell you it's fixing (or worst, working around) the crap left from rushed or ill-informed decisions made earlier.
And that experienced programmer would be wrong. Or at least need to clarify his statement. Fixing broken code is indeed expensive but it isn't the biggest cost of software. It might be the biggest cost of development, but it isn't the biggest cost a software company faces.
The biggest costs of software are in sales, marketing and support. You don't have to take my word for it. Look at the 10-K of any (profitable) software firm. Depending on the firm, 10-25% of expenses are in development and the rest is primarily sales, marketing and support. (the exact mix varies depending on the company) Any publicly traded company's financial statements will tell you, in general, that most of their money does not go into development.
This is why I think it is incredibly short sighted of companies to nickel and dime their development teams. Sure for a bootstrap operation it might be tight, but for an established firm, development is not where the costs are. (That's not an excuse however to get stupid with spending like a lot of dotcoms did) Development is typically just 15% of cost and it is what can actually differentiate your product. Cutting money on development is typically the last place you want to do it.
I agree that there is an undertone of negative vibes when interviewing or being interviewed in IT today. I just left my position as Chief Technology Advisor for a billion dollar international oil company and I am one of the unique. I am a 29 year old female. (And I *worked* my way to the top.) I spent many nights on planes travelling overseas where my best friend was my passport and a roll of handi-wipes...just in case they were sending me to a place that had not yet heard of the invention of Charmin.
I have been exposed to the IT industry for over 20 years as my father was in the field. I remember punch card tabs being the coolest thing to play with! Now that I am a bit older and my father is 56 yrs of age and still maintains his skills in the industry, I can see a deffinite bias towards those of age. Any reference to age, such as highschool and college graduation, has been removed from his resume. Now he is receiving more responses than ever. Before he did not even deserve a, 'Thank you, we're not interested,' letter. I, on the other hand, receive calls, emails, and requests from companies on a more frequent basis. And I feel it is because I am younger as our qualifications are very similar with one minor detail, he has far more experience than I.
I have worked with, interviewed, hired, fired and let-go many a skilled IT resource. Therefore, I can say with some degree of certainty that age DOES make a difference. As you get older your priorities tend to change. Gone are the nights that you stay up all night until the wee hours with your buddies partying, playing LAN games and ordering pizza for dinner. (And reheating it for breakfast and lunch the next day!) You'll work all night if you have to because you love to code. This is a plus to someone such as myself who is ultimately responsible for the output of said code and project. But here is the problem, jsut because you are older, does not mean that you do not work to get the job done when needed, in my experience it has been that you tend to make less mistakes or have enough experience to code more intelligently and therefore, can go home sooner.
However, I fast found that the myth of 'younger is cheaper' is just that, a myth. I was lucky enough to work with several people who were older than I, though I was their supervisor, and I would not have the project run any other way. I had a project that was slated for failure come in on-time, under-budget and with extra bells and whistles that the client loved and consequently, hired us to do 10 additional sites in their overseas offices.
The reason? Because the resources on my team were older, wiser and faster because they knew the sound short cuts that could be made and have a successful product in the end. There was no guessing or supposition to their architectural understanding of the task at hand. Only some with experience could do that on a regular basis. So by extension, these resources were less expensive in the long run.
If I have a new developer, how long and what will be the TOTAL cost that it is going to take one of my experienced developers or Team Leads to help them ramp up? How do you teach a young developer how to test why an application is breaking by reviewing hundreds of lines of code with no comments, quickly, efficiently and above all intelligently? Experience will pervail time and again because they have been through this type of exercise time and again and know what to look for first.
I am not saying that fresh starts and young minds aren't a positive thing to have in a company. For this you create a sense of longevity and a new round of knowlege transfer capabilities in a company, but who is going to transfer this knowledge? Other teenagers or college-age kids who are just learning your company as well as technology trends and development skills themselves?
One argument a colleague of mine brought up was that the technology that is available today, i.e. Java, was not available when my father was going to school so we're all starti
As one ages, one becomes wiser.
Maybe when you reach the age when being a 'code-monkey' is to your disadvantage, why not just do something new? Carry your expertise into a career as an independent consultant or work on small programming projects for companies (as an independent)?
I know an independent consultant and he's in his mid-thirties. Hes very bright and I (at the age of twenty) work at a similar pace when we collaborate. Of course I still come up with all the good ideas!
People do have more piece of mind when they percieve they have a more competent person in their corner. His expertise is why he's so valuable. He's also well educated, but charges $100/hr for such things as creating access applications.
... what people are expecting is that you should be managing groups of younger people, helping them enhance their skills etc.
Being self employed, I've noticed (now age 30) that I am respected more by clients who see me as someone who has been in the business longer... Perhaps they want to *HIRE* young, but they want to contract with a company that has more experience, maybe with some of those younger coders under the wing of the lead...
Someone to focus all the raw energy.
Isn't there a Japanese business archetype of the older man that guides and tempers the younger man, you need to position yourself as the lead/guiding role
meh
Younger minds are less likely to notice the incompetencies of management, and will tend to assume management must know what they are doing (after all, they got there somehow, didn't they, and of course they are paying the bills). "Seasoned" programmers aren't usually motivated by the same sort of "hype" used by some managers to motivate the inexperienced towards greater productivity. The actual effectiveness of the results a a long-term issue, and we all know that many in business are too myopic to make the connections in that regard.
... on a hill overlooking a herd of heifers. The young bull says, "I think I'm going to run down there and fuck one of them." The old bull says, "you go ahead. I'm going to walk down there and fuck'em all."
More often than not, if you tell a young programmer to solve a shipping problem he'll head straight back to his desk and start coding. If you tell an older programmer to solve a shipping problem, he'll head over to shipping and start learning about the problem.
Watching Cowboy Bebop in my jammies, eating a bowl of Shreddies.
Anyone over 30 who isn't in management yet is considered too insecure to take chances, too lazy to try to start their own business, or too interested in a free ride to jump between startups. The hiring managers all took chances, tried to start their own business, jumped between a lot of startups. They've paid the entrance fee and don't seem to like 30 year old programmers who just want a free ride.
Hi!
One of the challenges of any media business is producing a constant stream of content. If, for instance, SlashDot only put up two or three stories a day, far fewer people would read the site--and they'd have far fewer page hits on which to place banner ads.
BBC Online has exactly the same problem--they have to (in industry parlance) "feed the monster" to keep readers coming back. In interactive media, like SlashDot and BBC Online, they can't just post stories--they really need to post stories that will prompt readers to add comments. (That's why 'red meat' stories like Microsoft cheating on the antitrust deal get posted, and obituaries of Internet pioneers sometimes don't. The Microsoft stories generate all kinds of traffic.) The web site has a continuing need to come up with stories that will generate a lot of interest, generate user comments, and generate a lot of traffic.
Think of it as editorial trolling
In effect, the editors of BBC Online are trolling. Editors and producers keep lists of story subjects that can be dusted off and run any time--even if the subject has been covered before. They're called "evergreen stories" because (like the trees) they never change from one season to the next. I've worked at one of the major television networks in the U.S., and I've seen the whiteboard listing evergreen stories--including "new concerns about Internet security," "Internet dating--is it for you?" "Internet dating--these people found romance!" and a bunch of others. "Age bias among computer programmers" is just another evergreen story that can be run on a Friday afternoon (typically the slowest news period of the week).
Is there any truth to this age bias notion?
Read the article critically: the article, and the "study" on which it reports, are based on anecdotal evidence. (Even when the study throws statistics around, the stats are based on what people told the researchers.) There is anecdotal evidence that Martians landed in Roswell, New Mexico--which is a far cry from saying there's any real proof. While somebody looking to cry "the sky is falling!" can quote anecdotes of people who can't seem to find a job after taking a class, there are plenty of us old folks out here making a buck.
A little anecdotal evidence...
Case in point, me. I'm 44, mostly bald, with quite a bit of gray in what hair is left. I'm working on-site for a local client, with a team of 18 programmers whose average age (including the summer interns) is about 23.
The anecdotes suggest that younger coders are more productive; they write more lines of code; and that they are willing to work longer hours. Nope, nope, and nope. The hands-down champion code writer is an embedded guy who manages during the day, and codes at home all night. The absolute go-to programmers on the team are all in their 40s. And when the project was in crunch time, those same 40-somethings (including me) were the ones staying late, putting in the time, grinding out the project.
The kids? Hey--they have dates. They have plans for the weekend. They're generally (not always) gone at 5:30. They can spend all day asking questions before they write a line of code--and we have to carefully review their code before we release it into production. The old folks on the project are the acknowledged experts on the language--and we're using C#, which only appeared two years ago.
I don't mean to dump on the young people (and several of them read SlashDot). Several of them are extremely talented. But the older developers are much more comfortable working with new tools and platforms, much more experienced (and relaxed) working in a high-pressure environment, and are much more capable of sucking it up and delivering when it's crunch time. We have been there, done that, and will do it yet again.
And yes, Virginia, we get paid a lot more.
Simple things like:
- Thinking before you code - 'cause you know from past experience that it will not only be faster to implement the same functionality, it will also have less problems (uncovered bugs) in the future (guess who usually has to fix the bugs) and will be more easy to adapt when (not if) the requirements change.
- Finding out that most problems end up being variants of stuff you've done or seen in the past - different names, different industries, different languages and still the same patterns appear behind problems (and solutions).
- There is NO language, development methodology, OS or whatever that is right for all situations - there is no silver bullet, different things have different strenghts and different weaknesses.
- No mater how much you know, you can always learn something new from someone.
... (there's a lot more)
Anyways, i've recently came to the conclusion (by once again being face with people that should know beter but don't) that most IT professionals seem to be stuck at being Knowledgeable (Answering the Hows) and never to grow to become Wise (Answering the Whys) - this has beem pretty disapointing to me, so forgive me my rant.By the way, wisdom comes from experience but age does not necessarily implies being wise.
What about all the other IT jobs that do not involve programming?
I started out as a lowly Technical Writer and 3 years later I'm a regional quality manager. I have staff who are older and younger than me.
There are many other roles where experience definitely actually adds value - Project Management, Service Delivery Management, Sales, etc...
I hired a Service Delivery executive in his forties who did Data Center management for 15 years, then left to a variety of jobs before getting stuck in the unemployment trap. I asked the potentially biased question of how would he take to working in an environment of 20-30 somethings and a boss nearly half his age. I was so impressed with his humble and honest answers (and of course his wealth of experience), I hired him on the spot. It was also smart of him to ask for a salary range comparable to the 20-30 somethings, which meant I could stay in budget and get much more value in terms of experience.
Older programmers just need to stay abreast of the trends and see where the "older" jobs are. If programming is going in favor of younger staff, ageism prevailing, rightfully or wrongfully, it's time to explore other alternatives.
E.W. (as opposed to eeeeeww)
I'm 32. I started in computers when I was 8 (few years before PCs became available). I first started in programming and back then coding had to be structured, be commented and most importantly not crash, freeze or generally blow up without putting a concerted effort into it.
Then M$ came along in 1995 and released a huge pile of crap masquerading as an OS called Windows95. I feel justified calling it this because I was one of the outside beta testers and got see personally what it was worth. The structure was there (barely). Commented? HA. And as for the 3rd criteria, well, for you younger folks, computers aren't supposed to crash & lockup when you happen to sneeze near them!
This is just an opinion but since M$ seems to be doing so well producing error-riddled software, a lot of other companies are doing the same thing. It's almost like this is becoming the norm. This might explain why experienced coders are being let go.
I use myself as an example. I was in charge of Beta testing. I was fired because I refused to sign my name to a document stating that a particular piece software was as error-free as possible. I knew it wasn't because the errors that I had found and submitted were never fixed. Why? Because the owners of the company wanted to programmers to work on the new changes they had proposed. There were new changes every 2-3 days so no wonder errors weren't being fixed. The final reason I was given was that my vision of the company wasn't the same as managements.
I guess this was, in essence, true because setting me up to take the fall for crappy software when the customers started screaming certainly wasn't my view!
The GEEK shall inherit the earth...
The fact is that there are many candidates to choose from for any open position, and hiring managers are always looking for one way or another to eliminate an applicant based on any concievable characteristic regardless of the likelihood that characteristic affects the ability and commitment to getting the job done.
How wrong the concept can be is easily shown by the record of a person I used to work for, John Fenn.
Now John is a little up there in years. He's 84 or so years old. John's mind however is as active as anyone 1/4 his age. Plus he has great enthusiasm for his work, and a tremendously broad experience to draw from. John's current employer offered him a job when his last employer forced him out.
Now John's new employer has found itself with a great deal of prestige, because John was awarded a share of the 2002 Nobel Prize in Chemistry. For work he did while in his 70's.
If you judge people's capabilities based on age, you are making a HUGE mistake. Those 20-somethings? They haven't proved that they are capable of anything but littering a source code repository with crap. Now that 40 year old coder? Do your think he would still be coding if he didn't enjoy it? Or wasn't succesful at it? Chances are that 40 ear old coder has turned down promotion to management a number of times - he enjoys coding to much to leave it.
Remember - Albert Einstein turned down opportunities to be head of the IfAS, and the first President of Israel for the simple reason he liked what he was doing better.
The fact is that one of these hiring managers would have turned down what Time now calls the 'Man of The Century' because he didn't make that jump to management.
It's too bad (for them) because I am going to eat their lunch with my team of 40+ year old programmers.
As a 20-year old programmer who would like to either someday work for a technology company or run my own, I do consider age a factor in the hiring process. However, I know I'm not always going to be "young" which doesn't necessarily qualify me for a job because my youthful energy translates into more productivity. I also realize, and hope that other managers realize that experience is also very critical to job peformance.
.02.
A coder that's 30 might have picked up some knowledge about complex systems design that some 20 year old has yet to learn through experience. And it could be the other way around. Perhaps the 30 year old has only been coding for a couple of years. Or a 40 year old, or 50 or whatever.
My only advice is if you are applying for a job where you think age may be a significant determining factor in whether you are hired or not, try and turn it into an asset, not a liability. Talk up your skills and experience, and how you can save your employer time and money because you can avoid common mistakes and use the things you've learned to make better systems, save time and be more productive.
I hope to run my own software related company someday, and hope I still I have the good notion to look at the whole picture when hiring people.
My
I know some piano players. The only way for them to stay proficient is to play all the time. If they learn a piece, put it away for a few months and go back to the piece, they pretty much have to start over.
Any task or skill takes continued practice to maintain any level of proficiency. Exposure to new versions and variants keeps the skills fresh.
I think older coders (at least if they have anything at all going for them) have knowledge about human interactions and business processes that younger coders just haven't been exposed to. While writing code is a technical exercise, really understanding WHY you need to develop an app is more closely associated with gained knowledge.
Does this mean that older programmers have an advantage in the real world? Probably not. Old = more experience = more pay. In a world where even Indian programmers are being outsourced to the newest low cost provider, us old f***s don't stand much chance...
Dogu
Are you a programmer or developer?
:: carpenter : general contractor
programmer : developer
If you want to be a programmer, accept the unrelenting siege of people who will stay up all hours coding for half your salary. The younger you are, the more likey it is that you will do this.
However, I have never seen young kids or low-cost overseas coder doing things that are required of developers. For example: driving a requirements-gathering process, insisting on design reviews, or battling a project manager for time and resources to QA their software.
In the realm of well-paid developers, we see the other side of the "ageism in IT."
As far as shops that subscribe to the ageist sweatshop philosophy described by the original poster: prepare for an expensive and punishing lesson.
To choose the right container they need to understand algorithmic complexity and the performance guarantees made by each container type (I never said they didn't have to know anything) but they don't need to know how each container is actually implemented. It's the same as needing to know what delivery/ordering guarantees are made when they call a network API, or what durability/consistency guarantees are associated with filesystem calls, without actually knowing how those things are implemented. Interfaces can and should be defined in terms of function, not implementation.
Slashdot - News for Herds. Stuff that Splatters.