I am sure that this question will piss off some people, but that is not my intent. We are all in the same boat - I will be subject to it one day as well.

According to Milton Friedman's view, who was not a theoretician, discrimination in the work place can only go so far, for there will be employers out there willing to pick up the overlooked talent based on their productivity alone, and those who base their hiring/salary decisions on wrong perceptions will be taken care of by smarter competitors. Starting own business is a form of competition.

Age is obviously a huge factor in sports or a job that requires very hard manual labor. What about in software industry? Ageism does exist (or does it not?), but why? Some straight questions:

  • Are corporations inherently evil and like to mistreat people just because?
  • Are employers stupid / unorganized because they still liken software to construction industry?
  • Are older folks less productive?
  • Are they not willing to work crazy hours?
  • Do they demand wages that are too high?
  • Does it come down to hormones and primal instincts? In monkey societies testosterone is everything. What about in code monkey societies?
  • Is ageism a myth after all?
  • Do only the "lazy" ones (those who do not keep up) get lower salaries?
  • Is it not about one's age but about having family and kids or not having it, thus influencing how much time on can spend keeping up with stuff?
  • Do employers want to pay young people more because they like the way they look?
  • Other?
  • Are my questions not very relevant? If so, then why?

I myself am not married yet, but I do not like to work extra hours. I do find some time to read up on things, but I have other interests as well. At the same time it is hard for me to compare my abilities to that of others of the same age; I have met both geniuses and dummies. I also do not really know how much other programmers, other than a couple of my friends are making. Even if I had a lot of data, how do I prove strictly the presence of ageism and the extent of it?

Finally, what are some good ways for an individual contributor to maintain good salary level through older years?

Thank you for your feedback.

  • 12
    Young people are actually cheaper, in monetary terms. That may be false economy, but that's how a lot of companies think. Many of them do not value experience. It's a huge mistake, IMO. Commented Mar 25, 2011 at 16:43
  • 2
    Industries can stay irrational for a long time. Willingness to hire a 50-year-old developer is a pretty small competitive edge, easily outweighed by a whole lot of other things. Commented Mar 25, 2011 at 16:47
  • 2
    @Robert Harvey - not that companies are known for logic, but wouldn't they just post low salaries and take what they can get?
    – JeffO
    Commented Mar 25, 2011 at 16:50
  • 2
    @Job: The willingness to hire people that other companies wouldn't due to irrelevant reasons is a competitive edge: it reduces personnel cost and can improve performance. Say that Company X can save 20% on developer costs. How much do they spend on developer costs? If it's as much as 10% of expenses, which is way high for most purposes, that's a 2% difference in company costs. There's a lot of ways to get a 2% difference in all but the most competitive industries (like commodities, and commodity companies aren't big on software anyway). Commented Mar 25, 2011 at 17:04
  • 1
    @Job RE:@Robert Harvey One significant difference between doctors, lawyers, and accountants from software professionals when looking at experience is distinct, individual professional track record. Unless you, as a software developer, only work in teams of one (or as the sole coder), it's hard to externally gauge positive vs negative (or neutral) project contributions, let alone in aggregation with all efforts one has participated. Those professions you mentioned as example can point to their record and either point out how exemplory or free of blemish over their respective years of service.
    – JustinC
    Commented Mar 25, 2011 at 22:14

11 Answers 11


Oh, it's real alright. This guy has done some research:


Why would any company hire a computer programmer with the wrong skills for a salary of $150,000, when it can hire a fresh graduate—with no skills—for around $60,000? Even if it spends a month training the younger worker, the company is still far ahead. The young understand new technologies better than the old do, and are like a clean slate: they will rapidly learn the latest coding methods and techniques, and they don’t carry any “technology baggage”. As well, the older worker likely has a family and needs to leave by 6 pm, whereas the young can pull all-nighters.

enter image description here

  • 6
    Great article. It includes a link to this: When It Comes To Founding Successful Startups, Old Guys Rule techcrunch.com/2009/09/07/… Commented Mar 25, 2011 at 18:21
  • 3
    Why is the only option for the programmer 150k? That quote makes no sense. And the graph isn't very convincing. Those in the top quintile likely retired early, leaving lower earners to fill in the gap. And the last category is 51-65, making it likely they haven't been programming their entire career, because how many people were programming in 1970?
    – Austin
    Commented Feb 2, 2012 at 6:04
  • @Austin totally agree, the graph alone tells us very little
    – jk.
    Commented Feb 2, 2012 at 9:17
  • 7
    The biggest fallacy in the whole argument is that a company can "spend a month training the younger worker" and end up with the equivalent of a highly-experienced worker. But, I'm sure many companies think that way.
    – Eric King
    Commented Mar 2, 2012 at 15:26
  • 1
    I think the last sentence plays a big part of it: The young guy can pull an all-nighter. The older worker is much harder to abuse. Commented Jul 18, 2015 at 22:59

In the case of lawyers, doctors, etc, the relationship between experience and skill level is more straightforward and well-understood by people who are not lawyers, doctors, etc. If you saw someone who's been a doctor for ten years, you'd assume that they're more experienced than someone straight out of school.

To a non-technical person, ten years of programming experience doesn't mean much because they don't know what skills are involved and developed in those ten years. The "it's all just typing, right?" attitude is popular among the non-technical crowd.

There may also be a perception that older developers are too set in their ways and aren't "hip" to the current trends and standards. For every experienced developer, there's at least one young developer who is convinced he can do a better job.


Ageism is not a myth. However, it is a phenomenon that seems to be unreasonable and is starting to be questioned. It seems to be mainly a psychological attempt to distance ourselves from our impending frailty and death. It's a natural result of the attitudes that lead to referring to the elderly as "old fogies" or other dismissive titles. It's not particular to corporations; younger people in our culture (US & European - I can't speak for other cultures) tend to dismiss older people in general, and mock their frailty without recognizing the value of their experience.

I think technology has a greater age bias due to the perception that younger people are better with computers and the Internet. We all know people in their 70's and 80's who are just hopeless with computers, and while those in their 50's and 60's can use computers effectively, they don't always enjoy it. People currently in their 40's are sort of the front of the wave of those who use and enjoy technology. There's the myth of the super-hacker teenager, as well (not completely a myth, but clearly most teens don't code like professionals), which aids the perception that experience doesn't matter.

One additional factor might be the pace of technology. Law and medicine, for example, change with relative slowness. A doctor using techniques that were cutting edge ten years ago really isn't behind the times, but a technologist doing the same is sorely outdated. Older people are perceived as slow to change and slow to learn new things, preferring to rely on the same methods that worked for them in the past. Therefore, older people might have a higher barrier to overcome to convince others that they are "up-to-date".

I'd like to think that as technology ages and becomes less mysterious, people will recognize the value of experience in this field. It seems like already this has started to happen: As many techies whose careers were built in the dot-com boom era are getting into their thirties and forties, workplaces have become more family friendly. Hopefully, as they get into their fifties and sixties they will continue to hold influential positions and will change the attitude towards older people. So this might not be a problem that us younger techies have to deal with, at least not as severely as it affects others right now.

  • +1 for the overarching "front of the wave" idea. I think this has a lot to do with it and also agree that it's likely to change with time. Commented Mar 26, 2011 at 4:38
  • 3
    Well, I'm around the age of Bill Gates and Steve Jobs and our generation once thought we were the "front of the wave".
    – T Gregory
    Commented May 10, 2011 at 5:49
  • 1
    @T, I'd say you were the front of the wave of technology workers. I was referring to the wave of non-techie end users who are comfortable with technology, and they came much later. Commented Mar 7, 2012 at 22:25

Personally, I'm not at all convinced that age-ism as such is particularly common. Obviously, there are individual companies and managers that discriminate against older developers, but plenty of companies are happy to hire older developers-- I've been very lucky to work with lots of very good, very experienced developers in my career.

That said, the unemployment rate for older developers in every data set I've seen has been markedly higher than the unemployment rate for younger developers. In my mind, there are a variety of non-discriminatory reasons for that

  • Better developers often end up moving into some sort of management or architecture role as their career progresses while mediocre developers don't generally have that option. So the unemployment rate for older developers generally overlooks the fact that many of the better older developers are employed but no longer in a purely technical role.
  • Staying technically up to date over a period of decades is tough. It gets tougher as your outside commitments grow because you have kids or parents to take care of. It's very tempting to get comfortable in a role and to spend more time on things other than learning some new framework or technology.
  • Managing your career to remain competitive is tough. It's easy to find yourself "stuck" working with a particular technology stack because you have a great deal of experience with it but unable to easily transition to more popular stack because your experience doesn't directly translate. If you've got a decade of experience with Cobol or PowerBuilder, for example, that's very valuable to a company looking for a Cobol or PowerBuilder developer but not particularly valuable to a company looking for a PHP developer for their new web app. Developers are going to have to decide many times throughout their career whether to specialize further or to branch out into other technologies and it's easy to get stuck with skills that aren't nearly as valuable. Embracing new technologies is scary. If you've got a decade of experience in Mature Technology X, it's scary to embrace Emerging Technology Y where you don't know all the ins and outs and you have to unlearn lots of tricks you picked up working with X. This is particularly true when you can command a premium wage because you have a lot of experience with X and the companies using X are generally large enterprises with deep pockets that depend on X. But over time, more and more companies will de-emphasize X and start to depend on Y and the developer will have to find ways to adapt.
  • 3
    The cold hard truth is that those who end up in management are not the best and brightest technical professionals. In fact, the best and brightest technical professionals are rarely offered management positions. Top-shelf technical talent is very difficult to replace; therefore, management does whatever it takes to kept top-shelf technical talent technical. Commented Mar 25, 2011 at 18:03
  • 1
    @bit-twiddler - The very top developers will generally remain developers, yes. But "better developers"-- those that are not the very top technicians but that are clearly above average-- will very frequently move into a management or architecture role at some point in their career. That tends to skew the sample of older developers by removing many from the "middle class" Commented May 10, 2011 at 20:19
  • I read somewhere on the interwebs 81% of people would jump to management if it did not entail working longer hours. Commented Dec 12, 2016 at 21:11

There are quite a few reasons younger hires are preferable from a management standpoint.

  • More likely to be current on processes, models, software, and hardware
  • More likely to be able to work outside "normal business hours"
  • Better able to learn new skills as needed
  • Less likely to need family crisis related leave, due to both less likelyhood of having children and having younger parents
  • More likely to be personally in good health
  • More likely to accept lower pay for the same work.

Likewise, persons with degrees are preferable to self taught due to proven ability to meet others' goals and deadlines. Advanced technical degrees show more extensive ability to do so, and willingness to subject oneself to that long-term, as well as proven minima of skill in designated fields.

  • 1
    Your perspective on the advanced tech degree helps. At 35 just got hired after interviewing with 2nd company (MS and BS in CS). 1st company delayed the position until funding was available. 2 MS certs seemed to help. Also did a smallish opensource thing on Nuget gallery. Last one doesn't take too long. Commented Dec 12, 2016 at 17:44

Older workers are considered
-more expensive
-less willing to pull long work shifts
-set in their ways
-reluctant to take direction, especially from younger managers

The first is definitely true, the 2nd is likely true, the 3rd and 4th are rather subjective.

But be all that as it may, there is no substitute for experience. Some companies get that, some don't. The ones that don't figure it out eventually. If they survive.

  • According to what experience the veteran of programming has. Commented Mar 25, 2011 at 17:57
  • Professional experience. Of course if the programmer is a poor worker that can't be overcome, but I thought that was self-evident. Commented Mar 25, 2011 at 18:17

I am fifty years old. I entered the field in the late seventies as a non-degreed computer operator and programmer in the United States Navy. Today, I hold undergraduate and graduate degrees in computer science.

Age bias does exist in software development. However, the age at which one is considered to be too old to code varies with industry and location. Holding an advanced technical degree does tend to extend one's viability.

  • How does holding an advanced technical degree extend one's viability? Commented Mar 25, 2011 at 18:31
  • 2
    An advanced degree opens doors to areas of the field where one is less likely to experience age discrimination. For example, I currently work in academia. Everyone on my team holds an advanced technical degree. Commented Mar 25, 2011 at 19:07

Insecure managers may feel threatened by mature developers.

There are more junior level positions available. You've been out of college/ have working experience for 20+ years and are applying for this job; what's wrong with this picture? Those that are curious will want to listen to your story and you better have a good story.

Are most programmers younger because younger programmers tend to get hired or is this a profession where the only way to get a promotion is to get a job doing something else? Are most IT managers young?

When being 'only' a programmer puts you in the highest pay bracket, the ageism bias will be reversed. "Cause a young man, ain't got nothin' in the world these days."


Age is obviously a huge factor in sports or a job that requires very hard manual labor. What about in software industry? Ageism does exist (or does it not?), but why?

My guess would be ageism exists but can be hard to prove. Consider how a company may have a few different perspectives on future developers: Junior - Those just starting out that don't have a lot of experience but may still be idealistic enough to have a lot of drive, Intermediate - Those that have some experience and thus may be jaded by some of this experience though there is still some drive, Senior - Those that have survived a great deal, can mentor others and know what they are doing quite well. Based from those descriptions the Senior is likely to be the oldest while the Junior is likely to be the youngest though there are likely some exceptions I'm not sure how one could prove a statistical significance of the statistical difference. Some straight questions:

Are corporations inherently evil and like to mistreat people just because?

Not all corporations are inherently evil though I imagine some likely are. Part of this also depends on how one wants to define evil and mistreat to some degree.

Are employers stupid / unorganized because they still liken software to construction industry?

I'd prefer to think of this as ignorance rather than requiring intelligence or organization skills. In some ways there are parallels to construction in the form of producing a product but it isn't exactly the same. Another side is that software development is still a relatively new field compared to construction or other areas that have been around for centuries.

Are older folks less productive?

In general I'd see this as more of a red herring. There is value in experience and having been in some situations that may repeat time and time again. However, in having that experience some people may get lazy so that there aren't big productivity gains.

Are they not willing to work crazy hours?

Some might though the bigger question is for what kind of bonus does the worker get for working crazy hours. If there is overtime paid properly then it may be much easier for some to swallow while others may see it as more of a gamble to work those crazy hours and hope the company will reward its employees appropriately.

Do they demand wages that are too high?

In some cases probably. I doubt that is true of all cases but then another side is aside from market forces what else is supposed to determine a "fair" wage?

Does it come down to hormones and primal instincts? In monkey societies testosterone is everything. What about in code monkey societies?

I doubt it is all chemical and primal. There may be various reasons for things but I'm not sure how well an intangible like motivation can be studied to death. However, I would recommend checking out some Dan Pink stuff if you want more notes on motivation.

Is ageism a myth after all?

There are probably some legendary aspects to it that can make it become mythical in some ways. Course there are likely real stories of people not getting positions and believing age was a large factor which may or may not be true.

Do only the "lazy" ones (those who do not keep up) get lower salaries?

Lazy could be taken in a couple of forms. There is the not keeping up with technology but there is also those that will haggle and fight for a high salary. I don't like to fight and that could be seen as lazy since I'd rather spend my time doing other stuff than trying to squeeze every dollar out of a company in compensation.

Is it not about one's age but about having family and kids or not having it, thus influencing how much time on can spend keeping up with stuff?

No, as I could imagine some people having strong commitments to charities that could be similar to a family and kids situation that shouldn't be forgotten here. At the same time, there may be some families where it is accepted that possibly both parents will work crazy hours to climb the corporate ladder.

Do employers want to pay young people more because they like the way

they look? Other?

Sometimes but usually there are other factors. An employer may see an opportunity for the young person to be more molded and trained to conform to a company's culture while older people may be seen as more stubborn.

Are my questions not very relevant? If so, then why?

I'd say they aren't bad for starting a discussion but I would question what kind of results are you expecting to get from this. Are you wanting something to hold up to say, "Hey, these people agree with me!" or something similar? Are you just wanting opinions and hypotheses to study? That would be how I'd question the relevance of asking these questions.

Even if I had a lot of data, how do I prove strictly the presence of ageism and the extent of it?

My guess would be that there are various statistical analysis tools that could be used to mine the data to show the distribution of data agrees with some ideas within a margin of error, 19 times out of 20 probably.

Finally, what are some good ways for an individual contributor to maintain good salary level through older years?

Know thyself. What strengths do you bring to the table? What kind of work do you like to do? What skills are you keeping sharp that an employer will pay to see you use? Those would be the keys to my mind along with having some idea of how the world works.

  • catching your boss in flagrante really helps too ;-)
    – Dov
    Commented Mar 25, 2011 at 21:31

It's a sad fact, but many programmers don't keep their skills up to date. Imagine you get a job application where the skill set includes things like "IBM 360 assembler, Fortran, some C", but the candidate never used a OOP or functional programming paradigm. He never heard about design patterns or unit tests, or source control or why you should keep your methods short. How long would it take to get that candidate up to speed? 2-3 years would be my guess. Now imagine that person is retiring in 4 years. Would you hire him?

(Don't get me wrong, I don't think that candidate was lazy or anything. My guess is that his last employer desperately needed an IBM 360 expert, and they probably did all they could to hold that expert from switching to a different area.)

Now, the really unfair thing is that if half of the job applications you get from people over 50 look somewhat like this, you start looking differently at the other half, too: You unconsciously expect that this person hasn't kept her skills up to date, either, and you're looking for proof of that in their resume, instead of reading the resume in an unbiased way. It's very hard not to do that.

Another reason is that we all have certain preferences: do you prefer mobile or or web embedded development, what company culture do you prefer, what company size, what kind of technologies do you like to work with, things like that. I believe fresh graduates are more flexible in this respect. Their preferences aren't fully developed yet or they don't know about them yet. So they will apply to a wider range of jobs. Older developers won't apply for jobs they know they don't like. Thus limiting their options, thus limiting their pay.

  • 1
    What about the fact/perception that fresh graduates often do not stick around for more than a few years, precisely because they had a blank slate? An older candidate would likely want to stay in the same place longer.
    – Job
    Commented Mar 26, 2011 at 14:19
  • @Job: Well, that's why younger people don't get senior-level jobs or senior-level salaries, isn't it? And I guess every employer hopes that he can convince the brightest young developers that fit the company culture best to stay, by promoting them in time.
    – nikie
    Commented Mar 26, 2011 at 14:40

I'm a seasoned developer and I can say this for sure: ageism definitely exists.

This is what I've seen of younger programmers that I interview and hire/fire:

  1. Some are useless.
  2. Some are arrogant little bastards that don't know how to write software and won't learn from senior developers like myself.
  3. A few are OK.

I find that the majority of young programmers don't learn hardware or OS details or complex languages. Consequently, they do NOT learn new languages faster, do NOT know how to develop full systems. They are NOT worth the $ at all. They are also more prone to leaving when the pressure is on because they can't take it and run home to momma.

  • Uh, right. This answer is not helpful at all and the language indicates a bullish mentality. Adult bullies aren't really that fun to work with. Maybe that's why they are running away?
    – Spoike
    Commented Mar 2, 2012 at 17:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.