Zuckerberg advocated age discrimination outright from the stage of startup camp 2007. Of course at his age, he doesn't know any better.

Here's a big secret, it isn't a struggle for older people to keep up with younger people. It is actually easier for me to pick new technology, or languages now than when I was a 20 year old programmer.... And I'm able to take responsibility for projects and order of magnitude more complex.

I always believed that when I got into the position of hiring people, I'd hire younger people because when I was younger the companies were all seemingly snobby about experience. But when I got into that position, I discovered that it was all about hiring people with presence, perception and perspective. Assuming the candidates can program, their ability to make good creative decisions is what determines productivity. Far more than experience sit any language. Any programming language can be learned in a short time... Perceptiveness is hard to teach.

These qualities themselves are too rare to waste time discriminating on age... These qualities, I think, are more common among older programmers, but there are more younger programmers interviewing....so I can't really say, and admit that is a prejudice. At any rate discrimination on any terms not related to doing the job is counter productive and stupid. I find someone with the qualities I'm looking for, I don't care about the age, or anything else.

The HR system in America is completely broken. Part of the reason is that nobody knows how to measure developer productivity on a corporate level. I've seen youngsters who put out huge amounts of buggy code praised which youngsters putting out slow, carefully designed code were told to emulate the "rock star"--- but it was painfully obvious that the rock star was slowing the project down by causing damage everyone ewes was spending a lot of time repairing.

Meanwhile, i once had a "recruiter" refuse to send my resume on a java position because the previous java shop I'd worked at had used oracle 8 and this new shop "is really looking for oracle 9 experience.". -- it doesn't matter what version of oracle when your job is to write code to process the data delivered by the db connector. But the company listed oracle 9 and she, who knew nothing about programming, felt she needed to screen out those who were unqualified. She was unqualified to do her job.

Almost never have I been on an interviewed where they actually checked to see if I was qualified competently. And universally the ones who did, didn't ask me to write code for them. Again, correlation is not causation.

But what we have is cargo cult HR - confusing experience with competence. It probably took 20 years to be a great machinist and you got valuable every years. You get more valuable every year programming, but you don't measure that value by whether someone knows erlang or haskal. Either one will do, even if your codebase is in erlang.

For me starting startup was one of those burn-the-boats decisions. I was a victim of age discrimination, after being hired, in face, I was let go for my age. Of course they wouldn't tell me that, and they wouldn't tell me why, but the said they'd give me a sterling recommendation. It was obviously age... And I vowed to never need that recommendation because I was damn certain I'd never leave my livelihood in the hands of another idiot who knew nothing about technology but thought he could manage programmers or a startup. I was happy to see that startup fail..... And so far, I haven't failed.

Age discrimination happens, and it is one of the profoundly broken things about our industry. When I started, i saw a lot of it happening to younger programmers. I saw zuckerberg advocate it public ally against older programmers.

But it is counter productive.... And a sign of being a bad work environment.

I suggest everyone take into account the age of the people at companies you interview at. Even if you are 20, if they don't have a single engineer in their late 30s, beware.