The arrogance of the OlderGenerationOfProgrammers? that believe they've seen it all before? Free market economics? The arrogance of youth? How fast programming technology changes? The fact that software is a mess and it's genuinely the fault of the previous generation who weren't willing to learn?
See SoftwareAgeism, SurvivingGuruStatus and InexperiencedTeamsAreRampant for some recent clues.
Gee, how about the obvious--as in many other professional youth age-isms, it's often a fair bit cheaper to hire a couple of people out of school with no lives or significant expenses than an older person who would command a higher salary due to experience and skill. In addition, an older person might be more likely to have a family, i.e. dependents, making the insurance premiums for the company go up to cover 'em.
My impression of the causes of software ageism is that recruiting skilled, experienced people (no matter the age) is regarded as a threat to the career paths of existing long serving employees. Older programmers who have become managers don't want to hire their peers, who may be a threat, they want to hire people less experienced and skilled than themselves, which usually means younger SoftwareLabourers. More on this in the SoftwareAgeism page.
Also, older programmers aren't necessarily or even often less dedicated or flexible than younger ones. Dedication and flexibility are related to not having a sense of entitlement. Admittely, older time servers often develop a sense of entitlement that gives them a bad attitude, but there are plenty of young graduates, like Oxbridge graduates here in England, that have a huge sense of entitlement that results in pretty bad attitude. But! The young people with a huge sense of entitlement and a bad attitude get hired, as long as they are not too skilled or experienced... --Blissex
I believe that an OlderGenerationOfProgrammers? exists that thinks they have nothing to learn from the naive. This isn't just a software industry thing of course. There are countless examples of young people proving the older generations wrong (I think its called a PhD :-) ).
Also, being 31, I don't seem to fit in either group of young or old - I'm guess I am just confused :-) --ChanningWalton
31 is definitely in the 'old' category, and that has nothing special to with programmers (but everything to do with our youth society), except that a lot of them are under 30. Feeling like you don't fit is the first symptom. It doesn't get better. (but you'll have lots of time to think about it)
I have some real sympathy with, but also a couple of major problems with this view.
In my view, the tenets of ExtremeProgramming, and EvolutionaryDelivery before it, could never have been deduced from first principles; they could have only come from experience. Anyone like to prove otherwise to me?
Secondly, many experienced programmers I have met (including those 'promoted' to managing other programmers) who have never given a seminar or written a paper on software have expressed privately how unusable most old-style, conventional methods are. Why were we unable to listen to such people as an industry?
I agree that we all build on that which went before. I feel, however, that many older experts have lost the ability to keep an open mind to new ideas. What is really unusual is someone that gains a wealth of experience in their working life and is still willing and open to have those ideas challenged. --ChanningWalton
I agree that it is really unusual. I've met only a few examples of the truly "young in heart" in my lifetime, and I greatly treasure and admire them. But I'm not at all sure that I like the idea of an industry that demands only of older people that they be willing to change, take a back seat to the young and learn.
That's not what I mean - apologies for my poor ability to convey my meaning :-).
Not at all. I just used your comments as a convenient launch pad for what turned out one of my biggest heat-seeking missiles on Wiki. We all know you're not an ageist, Channing (though we're still concerned about the JavaBigotry ;) ).
I guess the bottom line is that no matter what our experience, we should be open to suggestion. I strongly feel that the onus is on the older, much more experienced person to realize the youngster may be absolutely correct, despite poor communication ability. I have seen this a great deal during my time at university, where inexperienced PhD students have superb ideas, but struggle to communicate that 'gut' feeling to the older supervisor, and end up having their idea squashed--later finding that they were right, of course.--ChanningWalton
I agree about this responsibility of the old(er). As before I don't like them (us?) being forced and humiliated. But if people have been a victim of anti-youth discrimination in the past,, it's not surprising that they use the opportunities for revenge in software. I'm arguing, like Erik below, that we use Wiki to identify and to reduce the BreakDownInCommunication? that is there, perhaps more than we think.
Maybe people are saying that the complexity and pace of change we experience in software is absolutely necessary in every respect. I look at Wiki pages like TheMostComplexWhichCanBeMadeToWork and say "you must be joking". Add to that the "churning" of interdependent versions of over-complex PC development environments, applications, OSes and hardware. Don't tell that there's never any unnecessary complexity and change not just out of incompetence but also to make more money for the vendor(s).
With the cynicism of such techniques comes a price that is not often talked about: the loss of another "previous generation" that simply can't invest the time to keep up. If we'd really followed a gentler and SimplerWay?, we might have had to humble ourselves and learn something from them. But it's no longer necessary. No longer possible, even. Too bad.
I first heard about rich senior youngsters at Microsoft using the phrase "not enough bandwith" to older executives who may well have been arrogant and unteachable. But now I hear (in Microsoft Systems Journal?) about some parts of the organisation using this term to refer to end users who can't cope with what's "obvious" to insiders. When I look at the complexity, irrationality, and arbitrariness of what they're being mocked for not understanding (and it is more difficult for older people), it stinks (I'm trying hard to be polite). And it's not just that company.
I'd genuinely like to to hear the "other side." I've obviously expanded the theme beyond programmers above, but one of the other big issues is how oldies that no longer program can retain respect. And people who try to stay programmers suffer from the same problems--more so, if anything.
I think of the man who first taught me to program commercially--using mainly Cobol, so there's your first joke already. As he nears retirement age, and his wife faces life-threatening cancer, he's learning Visual Basic and then Java to catch up with the industry he helped shape. There is something so unnecessarily demeaning about how he was treated by arrogant youngsters at his last company. And in the kind of crap he's now being forced to learn. He was a great, sensitive, enabling hands-on manager. He had great achievements with now forgotten generations of technology--including compilers, operating systems, and applications--almost always finished on time with well-motivated, cared-for teams. He worked as a programmer, and then in mobilising teams and in management consultancy, where, for a while, he could save clients hundreds of thousands of pounds with a single piece of advice, from his knowledge of mainframe internals.
I respect his willingness to learn, but I'm not proud of my industry and its attitude towards people like him. How about you?
It would be an OverGeneralizing to say that the same thing that causes SoftwareAgeism causes the other isms. Some isms in general are caused by a break down in communication, often due to CultureDifferences.
Not all CultureDifferences, however, are caused by a breakdown in communication. And CultureDifferences cause many isms, including the typical (but not universal) differences in outlook and behavior between younger and older people. Communication can narrow these differences or mitigate their effectts, but it can't remove them, at least not in general.
I don't think there is anything that causes SoftwareAgeism which doesn't cause some other ism. I don't know how useful that is, as there are an awful lot of isms, including some of my favorites like NoSenseOfHumorIsm?. We might speculate on WhatUsuallyCausesSoftwareAgeism? or HowIsSoftwareAgeismDifferentFromOtherAgeism?.
I will speculate on the latter, and say that it is different, and more severe, because of the speed of change in the software world, vs. the speed of change in the rest of world, which arguably reduces the value of experience and increases the value of adaptability and flexibility.
Ah, but there's the cultural difference. The young guys say the speed of change makes experience irrelevant. The old guys (like me) say the speed of change makes experience vital. At a very minimum, you need the experience to be able to validate software vendors' claims and determine what is truly "new" this week. Experience shows one the difference between change and TechnologyChurn. --MarkSchumann
I agree that SoftwareAgeism has been different from other ageism because of the speed of change. Somehow the way we've handled this inescapable fact has been considerably to our detriment though. That's why I wanted to open up the issue on Wiki, to tease apart what FredBrooks might call essential ageism from accidental ageism! WillTheSpeedOfChangeEverReduce? is an interesting related question.
(I would normally say NoSenseOfHumorIsm? was plain ugly but I've got to admit that it makes a worthwhile joke - unlike disasters like ModernIsm and SymbolIsm - so I'll ask the WikiMorphemePolice to let that one through.)
The attitudes behind JustaProgrammer seem relevant. Many people view programming as simply the first step toward management, followed by executive positions and early retirement. A person who is still at the "first step" by age 40 probably isn't climbing very fast, especially in the opinion of a 28 year-old manager (who plans to retire before he turns 40). This may be a more general problem--many managers and programmers simply can't comprehend each other's career choices.--CliffordAdams (Once a "Manager of Software Development" at age 26 (at a startup which didn't))
I believe many of the 26 year old managers are in for bitter surprises when they turn 40 and discover they are still managing. - an old-timer who is still JustaProgrammer
I'd call it a lack of respect for the technology. I've loudly stated that my career path will not lead me away from the code. That's why I got into this line of work, and by gum, I'll fight tooth and nail to stay in it. I like programming, and I'll program until forced out--unlike a young tiger who wants to move up the corporate latter into management and retire early, who leaves to follow the money.--PeteHardie
Software ageism is just an artifact of late-20th-century Western culture. We are bombarded from every direction, in every medium, with the same simple message: Youth, good looks and an expensive car are the pinnacle of achievement in our society. What you know and what you say aren't even in the same ballpark.
Nobody wants an old programmer for the same reason that nobody wants an old car. --AnthonyLander
Next time you catch yourself envying somebody for their car, say to yourself: "I don't need an expensive car. I've got a Ferrari in my head." Repeat three times. Feel good.
Visibility of Skills
In my observation, part of the problem is an issue of SovietShoeFactoryPrinciple. The young are better at the most visible skills, such as knowing the latest IT fads, typing the fastest, producing the most features-per-hour, etc. However, they don't deal so well at maintainability and knowing when designs are asking for trouble down the road. They drive faster, but also often go up the wrong hill, wasting time and tires and knocking down trees. Maybe we fogies need to do a better job at pointing out what we do well.
We also need to learn how to ask guiding questions rather than sound critical, such as "What happens if the user enters a duplicate foo?" rather than, "You young naive idiots don't know anything about data integrity".
(Moved a web-link to SoftwareAgeism)