Ironically while arguing one side of the case he becomes an example supporting the other. He sounds so grumpy and closed minded. Who'd want to hire him?
His thesis that technology hasn't changed is false in any case. E.g. while the fundamentals of algorithms haven't changed, that sort of knowledge is less central than it used to be; for better or worse, software development seems to be evolving into something where you glue together building blocks made by other people rather than writing everything yourself.
The grumpy-ness aside which is difficult to judge in an unbiased manner and every one for himself, the question is still relevant, and something that I can relate to tho not being in the affected age segment.
I look around at my last 2 work places and have yet to meet more than the occasional mid-40s professional who is in positions of technical ownership. Most of them have moved into positions of management (paper pushers for the most part), architects (whatever that means) or moved out (to whatever it is they do, hopefully something interesting).
Those who did move into management and position involving architecture were not necessarily more technically proficient than those who moved out, with a history of accomplishments that identified them as suitable for those positions. In most cases it was just a case of who one was acquainted with. Put simply the technical field is not a meritocracy beyond a certain watermark.
I have yet to hear a cogent argument on why folks in their late 40s or early 50s are not adequately represented in programming positions start ups or otherwise. What is unique about programming as a practice that make it unsuitable for professional beyond a certain age?
In most professions that have similar age barriers to early exit (sports comes to mind immediately) one case expect to be compensated handsomely for the short while that one has is holding on to the position, this is not the case with programming.
Leaving aside the argument that most programming positions do not require any education because they are no longer "creative" functions just functions of component "assembly" and as such do not require the experience gained from years of practice, what changes does the industry require to undertake to effective use the experience of folks who have worked hard to gain it?
I have yet to hear a cogent argument on why folks in their late 40s or early 50s are not adequately represented in programming positions start ups or otherwise. What is unique about programming as a practice that make it unsuitable for professional beyond a certain age?
Because programming is concerned with "details", it was considered clerical work from the beginning. Look at the indignities suffered by Jean Bartik and the female staff that were assigned to program ENIAC. Do you think they would have assigned women at the time if they had any idea of the intellectual challenge of programming?
Since programming is considered low level work, it's always been a smart move for programmers to find their way out of it into management or whatever. Relying on the good will of employers has always been a dubious proposition (except maybe during the American post-war boom—a unique period in world history), so it stands to reason that most programmers would be looking to move up and out.
In most professions that have similar age barriers to early exit (sports comes to mind immediately) one case expect to be compensated handsomely for the short while that one has is holding on to the position, this is not the case with programming.
In the case of sports you have 10,000 people that aspire to every single paid position. If programming were that way, where vast swaths of people practiced daily from age 6-21 in the hope of snagging one of the glorious few spots, then you could expect pay to scale accordingly. As it is, I think the economics of being a startup founder are a bit closer to professional athlete.
Were the ENIAC's programmers really "programmers" in today's sense of the term, or were they more like compilers, while program designers or systems analysts (not sure what the contemporary term was) were closer to what we would recognize as programmers?
Is it possible that you are confusing the context with the specifics when it comes to the sport analogy?
On the aspect of practice, why is practice from the ages of 6-21, 15 yrs any different than practice from 15-45, 30 yrs. The answer may lie in what you say, "programming is considered clerical work". That being the case it becomes the responsibility of those currently in the profession to make sure that those who are in the stages of making a choice are adequately aware of it. Tho, it would make me sad if that were truly the case. I do not believe that to be the case.
The answer may be related to the early age at which mathematicians seem to peak.
Another factor is the rate of change in technology. Mere experience may be an obstacle there. When you start knowing nothing and pick a technology to learn, you naturally tend to pick the newest one. Whereas for an old person, learning new technologies is something you do out of duty as much as eagerness. An old person learning new technologies is keeping current. A young person learning the same new technology is learning to build stuff, which is much more exciting.
> The answer may be related to the early age at which mathematicians seem to peak.
I may have been searching badly, but I couldn't really find anything to support this idea, at least in terms of a cognitive deficit. The following was the best discussion about mathematicians and age that I found:
- Mean age of best contribution by mathematicians is 38.8 (based on counting references to research by historians and biographers). This is roughly the same for other SET researchers.
- The Fields Medal cannot be awarded to mathematicians over the age of 40, which skews the mean age of mathematicians receiving their field's most prestigious award.
- As mathematicians get older, they take on more administrative work, have families, etc., which reduces the time and energy they have to devote to research. (I'm reminded of how Andrew Wiles basically shut out the world while proving Fermat's Last Theorem.)
- Rapid expansion of the field meant an increasing proportion of mathematicians were young, thus more discoveries were by young people.
- Math is a field where someone can make a great contribution without having acquired a large body of knowledge.
- Young math prodigies get a disproportionate share of attention.
The Fields Medal cannot be awarded to mathematicians over the age of 40.
Say what?
Geez, you're right. Wikipedia:
The Medal also has an age limit: a recipient's 40th birthday must not occur before 1 January of the year in which the Fields Medal is awarded. As a result some great mathematicians have missed it by having done their best work (or having had their work recognized) too late in life.
Clearly someone needs to endow a better math prize. You know, one that is for the best math, not the best math by a specific sort of person.
That would be the Abel prize. Although I wouldn't call it a better or worse prize. The two awards simply have different goals they want to recognize. Abel is more of lifetime achievement award and Fields is more of a recognition of brilliant younger mathematicians and an encouragement to go on to greater things.
I disagree with everything you say on multiple points.
Firstly, Mathematicians don't peak at an early age this is just one of the many nonsense Hardy spouted. And I say this as a non mathematician < 25 who just enjoys the history of science - I have no horses in that race.
There are many examples of people who not only contributed work at a late age > 30 (some near or over 40) but did so while being outside of the academic community - George Green, Faraday (physics) and Grassman. Then there are those such as Weirstrass who started late or those who produced an amazing work later, some in addition to earlier success e.g. Poisson, Bayes, Fourier or Hamilton whose quaternions came quite late. And then there were the Eulers who were just none stop greatness.
Nextly, although maths is a subject where some topics require very little background knowledge the vast majority of these low hanging fruit (knowledge wise) are gone. It was much easier to sketch out the core of an algebra while still in jail and have it be new and profound 200 years ago than it is today. As the amount of knowledge increases I expect the mean age of precocious contributions to increase. Knowledge and even experience will increasingly become a hard minimum.
Finally, you imply that only young people want to build things and have enthusiasm. I think an eagerness to learn and build great works is something you never lose. At least I hope so, otherwise growing old sounds like a very miserable prospect to me. And while the examples of old fellows not keeping up abound, I think this is simply a philosophical state that can be consciously guarded against.
Fair enough but as you said the young person is "learning to build stuff". There is an advantage in this in that they have a beginners mind and may well come up with a new and better way of doing things. But that is probably one in a hundred. In my experience (and this is an observation not a grouch) a lot of them just end up making a brilliant mess that only becomes apparent when the project gets to a certain size. Not all of them, mind you, some are so good so young that they manage to accumulate experience and judgement faster than anybody else. But there are simply not enough of them to go around. In the meantime someone who has learned about this stuff the hard way (and has the capability to reflect on it) can lend some guidance that can so that we get the brilliance without the mess.
One more thing - building architects often do their greatest work in their 60s. Software is not that dissimilar in that its about design and complexity. If I were starting out I would like the idea that I am entering a field where I have the potential to improve with age like that. Norvig's "Teach Yourself Programming in Ten Years" hints that its possible that that may be the case but its not recognized by the industry.
I am not sure one can really say that there is an age where a mathematician peek. They do generally make their great works young, but that if often because it takes many, many years for the world to realize that the work they are making is a big deal (solving famous, difficult problems are one exception). In addition at some point they are going to end up more and more involved with the politics side of mathematics (organizing and presenting research, holding conferences, getting grants, etc) which means there is less and less time to do actual research.
When it comes to learning about new technology, I can associate with the difficult of learning something new now than it was in my teens. I started programming in the early 90s in Basic and C (available in India back then), which was more exciting then, than learning Scala now which on occasion feels like a chore.
However the argument can be made that we need experienced folks to evangelize what is good and productive in the current context and the more of them the merrier.
The in-ability or lack of desire to learn something new is a determent to the individual and should apply equally to all professions. It does not adequately answer the question, Given the choice of 2 programmer equally skilled in new technology X why is there a preference for the 21 yr old over the 45 yr old?
While the economic arguments (lack of family responsibility resulting in the ability to work long hours and lower cost including benefits and pay) apply in the case of start ups they do not address the industry as a whole.
Peaking at an would be an excellent reason, it implies that the experience gained from practice is not sufficiently relevant, which I cannot immediately judge and is possibly correct in the context of technology. I am inclined to think that it is more related to the inability of those responsible for hiring to realize ability outside of their own limitations.
I always thought that your essay on not being able to recognize a better programming language outside of the one you knew (forget the title), is more generally applicable.
There is a correlation between attitude and age. But this is actually a question of attitude rather than age per se.
If I couldn't get a job programming I'd do it for free. Heck, I'm working on a startup so I basically am doing it for free. It's the thrill of making something other people find useful.
From the people I know and have worked with, the older the programmer, the less likely that attitude has survived.
"The answer may be related to the early age at which mathematicians seem to peak."
An extraordinarily small percentage of mathematicians ever make any significant contribution to the realm of knowledge, as is true in most fields. It is unfortunate that such a small sampling is then used to judge the pursuit as a whole.
They are the exception. Further, it's just as possible that those very, very few would have led long lives of contributions, but the early success corrupted and waylaid their focus.
We see the same sort of observations in the field of software engineering where a remarkably small samping of Torvalds and Carmacks are used as a baseline, when they're anything but. With all due respect, the technology behind most startups -- many of the YC examples included -- almost qualifies as purile. There are remarkably few that represent any depth or significance, although granted there are some great fundamental ideas and some excellent dedication.
I have yet to hear a cogent argument on why folks in their late 40s or early 50s are not adequately represented
This is a lot simpler than it seems. Highly experienced, working programmers are rare because there were far fewer programmers twenty years ago compared to today. So of course they are now far outnumbered by newcomers.
This happens in any booming field, in fact any booming demographic.
Perhaps the hip young trendy 20 somethings at startups wouldn't dream of discriminating against somebody black or gay - but they don't feel comfortable telling a 50year old what to do. Or worse finding that they hired a 50year old that knows more than them.
"I have yet to hear a cogent argument on why folks in their late 40s or early 50s are not adequately represented in programming positions start ups or otherwise. What is unique about programming as a practice that make it unsuitable for professional beyond a certain age?"
Bear in mind that programming is still a relatively new field. There are simply more young programmers out there. We see ageism more because it's an option. You can start a startup consisting only of young people.
I predict that as the field matures, it will become less of an issue. Companies won't be able to ignore older programmers (or at least will be less able to ignore them) because there will be more of them.
>What is unique about programming as a practice that make it unsuitable for professional beyond a certain age?
I'm not sure. I've worked with several /really good/ old guys. Even with this virtualization and 'cloud' stuff, a lot of *NIX knowledge that was relevant in the 70s is still relevant now. It's just the hairball of bash scripts you used to need to manage many servers at once has become more standardized. You still need guys who actually understand what is going on.
For all positions, and /especially/ technical positions, I think government workers tend do be older than private sector workers... it makes sense, as the way pension pays out means that you get better pension contributions from your later years of work, and the same goes for healthcare.
Really, for old folks, the private sector can't (or won't) touch those kinds of benefits. I think the thing of it is, the private sector will pay more for youngsters (that is, if you don't care about risk) while the public sector will pay more for old folks, so it doesn't surprise me that you don't see many old programmers in the private sector.
All of my parents work for the government; my stepfather as a .net programmer(retired.) There were years where I was making more than them, but their ending salaries were pretty comfortable, and upon retirement, they get free health insurance /and/ a very significant percentage of that salary for the rest of their lives.
I don't have the temperament for government work, but really, as you get older, if your choice is individual contributor work in the private sector vs. individual contributor work in the public sector, staying in the private sector past the age of 45 or so is just plain irrational.
I've thought long and hard about this, and the idea is vaguely terrifying. I told myself that if my business wasn't supporting me by the time I was 30, I'd start preparing for public sector employment. I'll be 30 this October, and so far, it looks like I've made it, but only just.
Because the public sector has such silly low starting wages for technical people, they don't have that much home-grown programming experience. An experienced private sector programmer is going to have a relatively easy time scoring a public sector job when it's time to settle down for his last 15-20 years before retirement; so I think what we see here is the natural inclination people have to seek out the highest paying jobs they can get.
Not exactly thrilled by the use of the word "grumpy" since its a typical code word used to denigrate people over forty, very much like "pushy" blacks and "bitchy" women. If Dave was 25, I'd almost guarantee you wouldn't use that word.
In fact just by using that single word you've strengthened his argument.
Winer is beyond grumpy. He's pathologically negative about everything. His whole blog is just a series of complaints. He also doesn't seem to program anymore, or know what he is talking about. Why would anyone want to hire him to do anything, regardless of his age? In contrast you have late 40s-early 50s guys like Brandon Eich and Douglas Crockford who are positive and relevant, and do uh, seem to know what makes Javascript different than C. I mean, really...
Disagree. It's easy to imagine that being written by a 25 year black man in 1955, or a 25 year old woman in 1965. It's angry, not "grumpy."
Concerning technology, Dave has a specific thesis in mind, that I think has at least a little merit. Quite simply, large technology companies push "innovation" that has little actual value to the public at large. They do this to create barriers to entry so that smaller companies who devote less than 100% of their resources to keep up with the technology that the big companies champion (i.e. they devote some resources to sales, marketing, creating a business) get marginalized.
Hey it's not the companies that push this supposed innovation, it's the new crop of engineers wanting to create a hurdle for others to jump over. Some knowledge that they have exclusivity on. Engineers have been doing this since the dawn of time, but since you guys are so green you don't know that.
Most engineers (like every other profession and occupation) are mediocre. They look for job security in incompatibily. I once had a programming partner who refused to document his work. I asked why after pleading with him repeatedly to leave a trail behind him. "Job security." At another place, the programmers had a slogan "comments are for sissies." Same idea.
So if you take something like C and permute it slightly so that a C programmer doesn't have the skill, you now have something that makes you marketable over that person. You can snow the non-technical manager into believing that your older colleague can't cut it because he knows C and you know Javascript.
In this world of mediocrity there are a very small number of gems, people who work for the user, who strive to make their tech work better for people. That's a skill that develops over the years, you get better at it every decade, because you know more about people. When you're in your 20s you don't even have a clue about yourself.
And most of you commenting here are the mediocre kind of programmer (if you're programmers at all). The ones who are questioning the broad conclusions are the ones I'd want to work with, and I don't care how young or old they are. What I care about is if their minds are at work and if they can relate to other people as equals despite superficial differences like gender, race, age.
It is, really? I know I've heard all of those words used for people not in the groups you say they're code for, and hadn't been aware of any such associations.
It's funny you say this. I had a nagging feeling I couldn't sort out while I was reading his post. It boils down to just what you said.
The thing with Dave Winer is that I've never read his stuff and thought "What a fascinating, energizing insight this fellow is sharing. I must read more!"
Instead, I'm left thinking he comes off as such a bitter, grouchy sourpuss who's really impressed that once upon a time he invented RSS. I mean, no kidding, look at the post previous to this one:
"And everyone was hogging every inch of the road, including my bits of the road. Lots of near-misses, cars driving in the bike lanes, and people walking and riding four a-breast."
Oh. So your blog's raison d'être truly is just to grouse about everything. That's cool, but you generally have to be really funny to make that work in the long term.
I don't think his age has anything to do with the fact that people don't want to work with him. I think people don't want to work with him because by and large, the things he has to say are neither fun nor interesting.
Well, Dave Winer brings his own personal baggage that's not related to general ageism. But maybe other experienced people just need some help presenting their knowledge in a way that's easier for young people to take. It's really easy to come off as grumpy and entitled otherwise.
Making something -- a web app or free software -- would be a good way to present knowledge, except that people who make things still need some help presenting what they've made.
Could we use this to make a new heuristic for knowing when one is being closed-minded? You're good at coming up with those sorts of things.
The "X is exactly the same as Y" is one, I think. I got in an argument with someone who asserted that Twitter was exactly the same as the old Unix utility 'talk'. Of course, how do you distinguish between obviously boring reinventions and stuff that really will have an impact?
My Intro Philosophy professor phrased it like this: "If you want to sound smart in front of your friends, make a distinction."
Our judgments of how intelligent people are usually come from how many relevant details they are able to see that we would otherwise have missed. So someone who asserts that Twitter is exactly the same as 'talk' is dumb. Someone who asserts that Twitter is exactly the same as 'talk', except that it's on the web, and it can broadcast to multiple people, and it's limited to 140 characters, and the social norms surrounding its use are different, and it's frequently used to share URLs that are automatically shortened, and that this practice is controversial because it breaks the decentralized nature of the web, sounds slightly more intelligent.
Yeah, but I think your philosophy prof was suggesting that useless distinctions are the stock in trade of tiny minds.
For instance, a web client that allows you to use IRC protocol is generally Just-The-Same-As-IRC. Putting it on the web doesn't do anything really different, except maybe that one doesn't have the inconvenience of installing IRC software.
But let's say that you had a really good help channel for your website, but that users of your website didn't typically find their way to IRC. Putting an IRC client right in the web page itself, configured to go straight to this help channel, is suddenly more of an innovation.
I don't know how to phrase this right, but there is a knack of noticing material distinctions, rather than useless ones. Maybe it's in noticing when certain limitations have been removed or added.
Maybe the real problem is that we're often unaware of how limited our world is, and what is doing the limiting. Perhaps the only way to notice when limitations have been removed is by sheer luck or that mysterious force called "creativity".
You couldn't have a mind that was constantly probing every tool for every limitation. Could you?
"""I don't know how to phrase this right, but there is a knack of noticing material distinctions, rather than useless ones. Maybe it's in noticing when certain limitations have been removed or added.""""
Knowing when a distinction is material frequently depends on context, goals, and experience. As Louis Pasteur said, "Chance favors only the prepared mind." I would be a little more generous, but still he's essentially right.
The problem is, some of the biggest discoveries have been of the form "x is the same as y."
Interesting question whether you could auto-detect closed mindedness though. One sign might be when people stop being surprised, or realizing that some earlier theory of theirs was wrong (which amount to the same thing).
I've got to come in on Dave's side on this one. He does not say that "technology hasn't changed." Here is what he says:
"And if you think there's much difference between JavaScript and C, you're dreaming. Or between JSON and XML or plain text files. These are gratuitous reinventions."
Bear in mind that he is taking a very high level view here, and think about what he's saying again. Are not JSON and XML, fundamentally, simply better ways to put structured data into text files with formats everyone can agree on? Sure, they are better approaches than what preceded them (CSV? random ad-hoc formats?), but fundamentally, if I said the previous sentence to a programmer who gone into a coma in 1985 and just now woke up, wouldn't they understand it pretty quickly?
As for JavaScript and C, well, the syntax is C-like, and you add closures, a class system, and some standard scripting language features like built-in containers and a slack typing model, as far as I can tell from coming up to speed on it recently. Wouldn't this stuff be familiar to someone who'd learned and coded in a number of different languages in their career? Surely with a few examples to follow they could be up to speed quickly.
Now, of course he's exaggerating, and venting a bit as well. But for a programmer with a lot of experience, these innovations don't seem that special. Good ideas, sure, but not enough to make everything you've learned obsolete.
His thesis that technology hasn't changed is false in any case. E.g. while the fundamentals of algorithms haven't changed, that sort of knowledge is less central than it used to be; for better or worse, software development seems to be evolving into something where you glue together building blocks made by other people rather than writing everything yourself.