Heard this before?
Old programmers are out-dated and outmoded. All they want to do is program in Cobol and they don’t know anything about modern technologies, as in, ones from this decade. It takes them half a day to write an email, the other half is spent checking stocks. And yet, they get more money and higher positions just because they are older.
Or this?
Young programmers are immature and think they know everything, but they don’t know anything. They think that just because they wrote little programs in college, that they know how to build complex business software better than me. They’re always telling me what to do, as if I wasn’t once bright-eyed and bushy tailed myself, but now I use my experience to work smarter.
Yes, I went there.
The Self-Esteem Police would say that’s not nice and we shouldn’t talk about that and gee gosh, can’t we all just get along? Here at Code Anthem, we’re pro reality so we’re talking about it.
The reality is that there are crappy developers of all ages. And good ones of all ages, too.
We know that and that’s why “education” is not a solution. We can’t teach people “all old programmers aren’t outdated” and “all young programmers aren’t ignorant” because we know that already. We’re jaded, not stupid.
These generalizations are clearly not true all of the time, but it’s true often and that’s why the generalization sticks around.
People my age often don’t ask the fundamental questions. When people say things to me, I actually check every one of them. I would encourage you to challenge every assumption. – Eric Schmidt, CEO of Google on TechCrunch
For every one older programmer talking about Ruby and Git there’s several more spouting incomprehensible business-babble or hacking together some monstrosity with a billion LOC. For every bright and productive young programmer, there’s several more yammering away about the latest acronyms and Web 2.0 and have no idea how to make useful software. The generalization is there because it’s often true.
The solution is not to cower from the reality of the situation but to face it head-on.
You can become a student and explorer at any age. If you count us older folks out this time, I think you’ll be disappointed to find out that some of us really do get it and have the energy and ambition to create great software. – Dave Winer, Scripting News from Java is a Brand
At whatever age you are, what can you do to provide more value to your business with better technology and better ideas?
Innovation + Usefulness
Inspiration + Experience
Creativity + Application
That is how programmers can come together.
Tags: Programming Skills

Agreed, age has nothing to do with it. True skill as a programmer is mainly about one’s willingness to learn new things and one’s ability to learn new things. When both of these skills are high is when you start entering rock star territory.
I couldn’t agree more with these comments! I always hear the Young vs Old statement because what I did is built an API that accesses other API’s to make it easier on programmers. You can find it at http://theeasyapi.com and we deal mainly with the new programmers which are accessing data but it’s funny because we’ve noticed that the young ones can pick up an API faster but the old ones know what to do with the data better. It’s a market that is growing and I think the lines between old and new are blending together.
Really like the article though.
I literally just finished writing a blog post about the “young programmer” generalization before reading this post. What has been hard for me is that I am a young programmer but fit a “young programmer type” that is less prevalent but still problematic: since I’m young, I know I’m lacking in knowledge and experience that could allow me to do my job better, and my limited experience has only reinforced how little I know. Unchecked, this can create a kind of paralysis that strikes me as the opposite of the typical “young programmer” stereotype but isn’t a better alternative by any means.
Ideally neither of those stereotypes hold: we’re humble and realistic about our limitations, but excited by the possibilities and willing to give our crazier ideas and ambitions the benefit of the doubt.
What I like in your generalization of the older programmer “spouting incomprehensible business-babble or hacking together some monstrosity with a billion LOC” is that it reminds me of the “industry standard” that has emerged in job postings like those you mentioned in “How to Hire Crappy Programmers”. What this deeply flawed standard reveals to me is an immature industry, and yet the standard is also indicative of the old programmer stereotype. Nicely ironic.
[...] Code Anthem in this entry; after writing, I went to said blog and discovered today’s entry: Old Programmers vs Young Programmers. Very ironic given that this post was about how I lack the supposed key trait of a young [...]
Interesting piece. In my experience the crux of the matter is your comment about willingness and ability to learn: it’s a truism to say that as a general rule people loose this willingness and ability as they get older, regardless of their chosen careers or interests.
As a “middle aged” developer with 10 years experience it’s certainly true that I no longer have the enthusiasm for learning new stuff I once had. I have a nasty tendency nowadays to do things the way I’ve always done them, rather than learn something new, because I know it works and it gets product out the door faster in the short term and ignores the long term efficiency sacrifice that you inevitably make.
Mind you this probably has as much to do with my skill level as anything. I’m self-trained and as the technology seems to be moving increasingly toward its mathematical and logical roots, I find it increasingly difficult make the required leaps of understanding in order to use new things properly.
Perhaps it’s time for a career change …
Totally agree! Face it head-on! Time does changes everything, but remember every delta has its zero point, nothing is happened for just a waste. Appreciate each other is more likely
Experience, exceptions excluded, is what separates the best from average. Age is immaterial. But doesn’t that stand to reason? Isn’t that common sense? Perhaps, this article best demonstrates that common sense is actually quite rare.;)
Wow! It turns out I’m a very good looking woman with a dog. My apologies.
@Mike Nice Gravatar
I think experience + trying to learn from that experience is what separates the best from the average. I know plenty of developers with gray hair spinning their wheels because, well, that’s just how it is in software: buggy, bulky and ugly.
@TheEasyAPI: Seemed unrelated to your site, though.
I think continuous learning and applying them with Experience do matter a lot
I don’t normally comment on these things, but hey.
Experience is just that; the collection of things you have been close enough to, to derive a viewpoint or an opinion from that has been seeded by a concrete example.
Knowledge, likewise, is a function of learning, which is independent of experience.
Talent is a largely subjective term that I feel is a amalgation of the two, and rarely feel disproven on this topic, it’s hard to find young programmers with oodles of talent that I would trust to bet the farm, on, well, anything. I’ll clarify this in a minute.
Often times these things are related; more often not. One’s experience is more often than not the application of knowledge and observation of how successful that application was.
The older I get, I think, the more it sets in that the talentless will not strive to seek knowledge, or experience, relying on one or the other as the sole truth. This is simply because the talentless that we see are largely the manifestation of the bored and uninterested; internal positive reinforcement has escaped them, so they do not wish to see the other side of the curtain. I’ve worked with more than my fair share of developers that stand on the backs of giants expecting that somehow it will become their savior, but when pressed with decisions their benefactors cannot answer for them, they are lost and often are very frustrated. Their ego, largely a function of who they know, where they’ve worked, or whatever, is the manifestation of something that is no longer available or simply out of reach.
While this thesis is rather convoluted, I think it’s an accurate description of the problem you’re describing.
These days, we see a lot of compsci grads, IT professionals, and so on, that weren’t the people who took their clock radio apart as a kid, when it was broken, to fix it. They aren’t interested in segmented memory architecture or why an index function performs faster than a linear read. They want to write applications, which is fine, but applications also need people that have this kind of interest.
So you have a lot of students with tons of linear algebra in their heads and next to no hacker mindset. On the flip side, you have a small army of slash kiddie hackers with no linear algebra. These groups converge at about age 23, 24 or so, sometimes in the workplace but more often on social sites like this and places like reddit and slashdot.
But here’s the kicker: those old, talented farts that have a lot of experience and knowledge? They went through this phase already, and they smile and look down and giggle a bit. And then, it just becomes annoying.
And this is what’s most important to understand, and I think even explained here, proven elsewhere, will not be accepted by people in that age group until they are old enough to understand it. It’s just something that’s hard to fathom until it’s in your face, staring you in the eyes. You see MVC architectures on the web and you’re not seeing anything new, you’re seeing old tech in a shiny new glossy wrapper — shit with sprinkles as it were, and you’re wondering what’s so god damned awesome about it.
NoSQL and document oriented databases; old shit, new packaging. You see this over and over again in the compsci world.. It’s not about being jaded, it’s about being pragmatic. It’s about knowing that above all, that new code is much more likely to break in unpredictable ways than the old code, and that change is a quick path to instability.
What has always confused me is the complete inability for people with heaps of statistics crammed in their head to not understand or comprehend this, or worse, look at it as if it’s a horrible approach to take.
But, one constant about youth (and many people that have lived outside the standard world of consequence, aka, the talentless) is that you don’t have enough fear of reprisal set in to teach you any lessons about about being reckless; there’s a reason your car insurance rates drop dramatically after age 25 or so.
At lunch, a new hypothesis emerged about old/young disparities. Perhaps there has been a generational shift. Programmers above a certain age (perhaps 30/35) historically have developed in environments where they fully understood their entire tool chain — their success was based on taking the time to thoroughly understand the libraries and languages, etc. Programmers below a certain age tend to be much more comfortable downloading a new module, briefly scanning its docs, trying out a few calls, cutting and pasting seemingly relevant code, and if it seems to do what they want, they move on to the next task. Older programmers tend to be very uncomfortable working this way.
Just found this blog…. and I love it.
Reading through the entries (as time permits).
It’s funny, I’ve heard those generalizations too… and when I was a young programmer (not young in years… studied after i decided for a career change) I don’t think I was ever too sure that I knew everything… or most things… or anything.
My experience has been that I generally always find a situation where I’m scratching my head… using google to help cure those ills and usually throw myself into another fire to acquire some more skills.
Great blog!