It's just math, really.
But all generalizations are still false.
Even though this thread sounds like "Why don't I get hired?" that's not what he actually asked.
To make a more general point, you need balance, at least as soon as you can afford it. You don't necessarily need to make an experienced programmer a lead, but you ought to listen to him when he says "If once you start down the dark path, forever will it dominate your destiny, consume you it will..." (i.e. help you see how much technical debt it will incur).
And then there are the things that just won't work at all: you don't need an experienced per se programmer, but you're likely to be very unhappy if you don't have one who knows big O notation and regularly does the math, so you aren't e.g. trying to get 100x or more the max peak transaction rate out of your database, exceed the bandwidth of your systems, etc.
Another I noticed after programming C/C++ for more than decade was an ability to hone in on many bugs in seconds/minutes where the less experienced could take hours/days. How do you value that type of "productivity"?
And those are now the guys with 10+ years of experience.
> How do you value that type of "productivity"?
There's also the productivity of not using C/C++.
I just generally find this discussion interesting, since I'm a 'recent graduate' with 10+ years of experience...
Absolutely. But now's different... and someone who's
programmed in C since the 90s is going to be really upset
when they sign up for a startup and they're coding in Ruby.
For the sake of argument, let's assume that "Ruby" in that sentence is a proxy for any of the "newish" langauges that are out there. If we can go with that assumption...Well, let' see; as somebody who started programming in the 90's with C and C++, I would say that your assertion is simply not true. Maybe some people are dinosaurs and don't change with the times, but I made the switch from (primarily) C/C++ to (primarily) Java about 2002, and started dabbling in Erlang and Ruby about 2008, and am doing a lot of work in Groovy now, while spending some time learning Scala and Clojure.
(Speaking of which, there's a TriJVM Hack Night tonight, for anybody in the RTP area! http://www.meetup.com/TriJVM/calendar/13771811/ )
And I've written some Python and Ruby as well. So no - based on my experience (and observations of colleagues about my age) I don't think it holds that somebody who was doing C/C++ in the 90's is necessarily a fossil who won't be interested in doing Ruby (or whatever).
To be fair though, I was just starting in programming in the 90's, so I may be younger than whatever stereotypical character you had in mind by saying that. <shrug /> I still think it's dangerous to generalize in this fashion though.
However I'm guessing the assumption that they can't might be another reason why 23 year old startup founders are loath to hire them.
But see my comment here: http://news.ycombinator.com/item?id=1439535
Also, hardly anyone in startupland is married with kids by age 30.
And, nobody with a professional job in any capacity (programmer, doctor, lawyer) leaves work at 5pm.
Kids fresh out of college are easy to convince for little or no money and the slim chance of glory. As you get older you are more realistic: Even if this company is successful it won't make me rich. Even if the technology is awesome to work on it may not make the company successful.
We tried really hard to grab a couple of really brilliant engineers right after we closed our angel round. The reality? While what we were working on was cool, they could make twice as much as we could afford to pay until we closed our Series A and even though our options package was decent, it wasn't generous enough to make them rich even if we had a generous buyout or IPO (which, you know, who knows if that will ever happen). Plus it takes 4 years to vest.
"Hire 30-somethings who haven't done anything yet. They're hungry to take that step to the 'next level' and prove themselves."
He's talking about hiring people with talent of course; but people who haven't - yet - taken that big leap to really go to the next level success wise. I think there's something to that. Speaking as a 36 year old who feels like he hasn't reached "the next level" himself, it rings true to me.
That said, I've worked for two startups, one when I was 31 and one when I was 38. If you bring something to the table that they need badly enough to be worth the higher pay and lower time commitment, it can happen. As @steveklabnik said, it's just math, though the math doesn't always fall in favor of the young guy. Just usually.
...but it might be interesting to turn this question around and ask if these older experienced programmers would want to be hired by a startup. Keep in mind, this is a very different question from asking if they'd want to work for, or at, a startup.
The old mantra I heard was "the founders get rich, the early employees get screwed, and the late employees get paid." Of course, not at all true in all occasions (even fairly "late" employees at google got rich, and at most startups, nobody gets rich). But I figure an older, experienced programmer would truly understand how illusory the stability of W-2 work at a startup really is. It'd better be a pretty great startup (and they are rarely as great as they think they are).
If you're going to tolerate that degree of instability in your life, there are usually much better options than taking an "interview you, hire you, assign you work" role as a programmer at a startup (consulting work, starting your own company if you seek high risk/rewards, bigco, gov't work if you want to interview for a job with a paycheck).
I prefer the environment of startups, I prefer being given an opportunity to focus all my talents and energy in making tangible differences, I'm not in it primarily for the money. Granted, I'm a would be scientist who was forced to live a sordid life as a programmer due to finances....
As for the options I didn't cover, I'm not enough of a extrovert, salesman type (you need at least some of that) to be a multi-client consultant or co-founder.
I think there is a network effect as well. When I was fresh out of college, everyone in my close network was all the same age. I always prefer to hire someone I've already worked with or someone that was recommended by a friend. So if the start up is founded by fresh college graduates, their network is going to mostly consist of other young developers.
* Older and more experienced programmers may need a bigger salary, which startups cannot always afford.
* Older and more experienced programmers may be more suited to work in larger organisations with set procedures and practices, which is not suited for startups.
* Older programmers have other commitments which may prevent them from putting more energy in the startup. It may also be more of a risk (money wise) for them to join a startup which may or may not succeed.