Fog Creek Software
g
Discussion Board




Are Older Developers Better Developers?

This is not a question about the *marketability* of older software developers.  I'm interested in whether you, as an older developer, have become *better* over the years. 

My wife is a psychologist, and she claims that the latest research is clear - there is no loss of intellectual acuity until the late seventies.  There are pervasive myths that people become duller with age, but any measurable decline in ability can be traced back to lifestyles.  i.e., fifty-year-olds tend to spend a lot of time worrying about teenagers and retirement funds.  (Or perhaps the older developer has pounded down more than his share of brain deteriorating alcohol! ;-) ) 

I constantly hear that old story (urban legend?) about Simonyi or some other software titan in which the titan claims he can't cogitate like he could them good ol' days.  My personal experience, however, is that I learn much easier & faster now that I'm older.  I produce more, I produce quicker, and I produce much more elegant, sophisticated software.  Do you?

Paul
Tuesday, February 24, 2004

I see young programmers (20s) these days who have worked on nothing other then Windows.  Put them in front of a Unix machine - or any new environment for that matter - and they're completely lost.

Every different paradigm, even obsolete ones, is valuable.

Bathmophobic skier
Tuesday, February 24, 2004

Most developers are awful. This doesn't change with time really.

For example, jobs that require 10 years of c, if you can't grasp the concepts of c after two, then I can't imagine the next 8 years making a big difference.

You find great developers of all ages. But I'd agree that many of the great ones are older (this coming from somebody quite young...)

I've seen crappy developers stuck in their ways, but then again I've seen this at all ages also.

fw
Tuesday, February 24, 2004

I see younger programmers as more likely to want to write everything themselves.  Older ones are more likely recycle useful existing code.

Conversely, I see older programmers as less likely to want to learn a new technology.  They know a number of ways to do X already and they've seen N new ways to do X hyped to death in the past.

Note that I use the word likely.  That doesn't mean there aren't young programmers willing to borrow code and older ones willing to learn new tech.

Bruce Perry
Tuesday, February 24, 2004

I am in my mid-thirties and I feel less intelligent than I was ten years ago.  On the other hand I recall feeling severely limited back then too.  The problem in making this judgement is that I am part of the system I am attempting to evaluate.

As for older coders being better, I doubt we could take into account the selection pressure.  Possibly the worse coders drop out of the game as they get older.

Some indefensible generalities:  A 25 year old geek is much more willing to code until 2 AM.  A 45 year old coder is much more likely to be realistic about how to meet customer needs utilizing the current development team.

name withheld out of cowardice
Tuesday, February 24, 2004

" see younger programmers as more likely to want to write everything themselves.  Older ones are more likely recycle useful existing code.

Conversely, I see older programmers as less likely to want to learn a new technology.  They know a number of ways to do X already and they've seen N new ways to do X hyped to death in the past.

Note that I use the word likely.  That doesn't mean there aren't young programmers willing to borrow code and older ones willing to learn new tech.
" from Bruce,

What's wrong with using code that is "useful".  It is a myth that old programmers do not want to learn new technology - i think they can learn and faster - because they have the basics covered.  New programmers only like to learn "black - box" technology - give them a "raw" technology where you have to learn basics to understand they run away - I have seen lot of new programmers who are constantly looking for "working code" so they can just copy it and treat that code as black box - it is sometimes very difficult to get them to change a behaviour of that code.

KS
Tuesday, February 24, 2004


Another generality: most 25 year old developers think software is all about code.

Then again, I've met 40 year old developers who think the same way.

So maybe it's not about age, but "maturity"?

anon
Tuesday, February 24, 2004

I am in my mid-30's.  I feel I am always learning new things as a developer and try to stay up with newer technologies.  Part of this is getting to work on projects that use such technologies.  I don't feel all "older" developers are stuck on what they know.

As for them being better developers, when I was in management, I got comments quite a bit from employees about how smart I was.  I always replied that it wasn't because I was smart, it was because I've been through it before and just know what to look for.  If I can use my experience to help out others and they, in turn, can help me out, that turns into better productivity.  They key is learning.  Older developers have just had more time to learn.

Wade Winningham
Tuesday, February 24, 2004

I've see no important correlation at all between age/experience and "betterness" in the people around me throughout my career.  Experience is a mere blip compared to innate aptitude.  As I said in an earlier thread, experience improves our abilities, but raw talent starts one out ahead, and experience on top of talent takes one further than the average puke could ever reach.

                    *>>>>>>>>>>>>>>>*
*>>>>>*

Without that spark of strong aptitude to gain rich insight from experiences, 20 years is pretty much just the same year seen 20 times.  I know many of my own cohort actually harmed by experience, programming by false superstitions gathered over the years.  Bad habits held for long periods require more effort to fix than most people will exert.

I'd have to agree with Simonyi.  I feel like I have to work a lot harder to learn new things as I get older.  Deep concentration seems to a bit be more elusive, and my recall has become astoundingly bad.  Life's mundane concerns also seem much harder to set aside.  Sure, experience saves the day from the effects of some of those losses, but I'd prefer to have the experience without time's apparent cost, and frankly I'd happily trade most of the experience to regain that lost sharpness.

veal
Tuesday, February 24, 2004

Thinks....

Most developers are either competent or crap.  Very few are great (and there's probably a bias towards the crap end of the scale). 

Posit (not unreasonably) that it's extremely difficult to ascertain this level during a typical hiring process.

Young developers are unproven - their abilities may be anywhere between great or crap, and there aren't enough clues in their work history to give you any information other than what you can get through the hiring process.   

Old developers have (or should have) proven their skill level.  Unless you've gone headhunting and are paying serious money for an extremely senior position, you're unlikely to be assessing a great old developer.  So you're likely to be assessing either a mediocre or a crap developer.


So on the hypothetical old developer's side - they have valuable experience, but have almost zero chance of being a great developer, as the great developers are all off doing great things. 

On the young developer's side, they don't have experience and will make mistakes, and have a very small chance of being a great developer.  However, the chances of them being a great developer are many many times higher than that the old developer is a great developer.

And if you hire a great young developer, they may end up doing the things that make their name as a great developer for you.  So, do you gamble or play safe?


NB, I don't actually think this is really a factor in any serious hiring process.  I think the tendency to hire younger developers is fundamentally about control and expense.

JP
Tuesday, February 24, 2004

Hi, veal.

You said, "...frankly I'd happily trade most of the experience to regain that lost sharpness."  But the data doesn't support this purported loss of sharpness.  That's why I'm curious about the widespread reports of this supposed phenomenon.  People with the same level of mental activity perform at the same level compared with others and compared with themselves at earlier ages.  Do you think that what you are perceiving as a loss of sharpness might actually simply be burnout?

Paul
Tuesday, February 24, 2004

Older developers seem to be better at the strategy aspect, but no better in the tactical aspect of work. In other words, the older developers I have worked with (in their 60's, 50's and 40's) are extremely good at recognizing patterns - from architecture to project management to dealing with your managers. Older developers are very good at interpreting customer requirements as they tend to have more patience and listen well. Older developers are very good resources when you have a problem and need another way of looking at it; they seem to give equal billing to make your way versus other ways work. Older developers do not have big ego's. Older developers are as good as I am in the actual nitty gritty of writing code, though if we are writing it in a particular language that they had more experience than I, they would probably write better code.

m
Tuesday, February 24, 2004

Burnout?  Perhaps.  Hard to know the cause, for now I can see only the effects.  I hope you're right.

veal
Tuesday, February 24, 2004

I feel that I'm a *much* better developer than I was 10, 15 or even 5 years ago.  And I'm getting better, not worse.

I think it all boils down to your attitude.  Do you get complacent with your skills, or do you continue to itch to learn more?

David B. Wildgoose
Tuesday, February 24, 2004

I would claim that older developers are better developers, but only if they can avoid burnout.

People don't get dumber as they move into their thirties and forties, but they do get more tired.  This seems to be especially true in software.  Something about coding tends to wear people out. 

I never believed this was true until the last few years.  Now I sometimes find myself wondering what my second career will be.  I'm only 35, so I've got plenty of time.  But it's hard to imagine myself coding when I'm 50.  That's too young to retire, but I would probably be incompetent in basically any other field.

Eric Sink
Tuesday, February 24, 2004

Eric: Are you really 35 years old? Young boy :)


Tuesday, February 24, 2004

I began to feel like I was losing the edge, so just for the heck of it, I enrolled in Pitt's philosophy program which is one of the best in the world.  It doesn't do anything for me professionally - in fact, some programmers chide me for it - but you really have to be at the top of your mental game to spar with these people, and since it's a completely different way of thinking, it allows me to look at CS from a whole new perspective.  I see programming with new eyes.

It's been said to death, but a great asset that the young have is that they're too inexperienced to know how dumb they are, and therefore, they're not at all afraid to challenge conventional thinking.  If I look at programming like a philosopher, I can get back some of thet naivete I had before being hardened by the game. 

Try something completely different.  Try philosophy, biology, physics, or Russian literature.  Whatever.  Try anything that'll stir things up and get your juices flowing again.

anon
Tuesday, February 24, 2004

anon, I am trying to decide upon a philosophy graduate program. are you enrolled as a graduate or undergrad? if you have a moment I would be interested in e-mailing you personally.

another blank
Tuesday, February 24, 2004

Younger developers are easier to abuse. The old guy isn't likely to put up with 80 hour weeks due to someones unreasonable estimate. Been there done that.

Also, the older guy is likely to cost more, or the hiring manager thinks he cost more. It's likelty to be especially bad if the hiring manager is younger than the developer.

(Balding with some grey in the beard)

pdq
Tuesday, February 24, 2004

I'm 30, but I enjoy working with older developers more than younger ones.  As has been stated before, older developers tend to look at software development as a business problem.  Younger ones, as a computing problem.

I love the "turnkey" aspect of utilizing an older developer.  Give them a boring problem and they'll come up with boring, easy to understand solution.  They're more likely to take the lazy path when it comes to program internals.  On most projects, this is a good thing.  I don't like to see a lot of template classes and use of advanced APIs in simple data backed apps.

Older developers tend to look at code as a liability rather than an asset.  There's not much bragging about the 2000 lines of code they wrote last week.  You're more likely to get simple, understandable UIs.

Also, I've found older developers tend to push for clarification before coding.  They will over-communicate to make sure they're on the same page as everyone else.

On the downside, I find that older developers tend to over-optimize for performance.  It's tough for them to grasp that you can write horribly inefficient code and it makes no difference.  It's okay to walk a 10,000 element list when a user clicks a dialog button.  The "that's just wrong" reaction is admirable, but the extra code and complexity to "do it right" usually isn't worth it.

Give me an energetic, older developer any time.  Software development as a profession will get more respect when it's dominated by business thinking and not geek-culture...

Bill Carlson
Tuesday, February 24, 2004

what "anon" said : use it or lose it

old_timer
Tuesday, February 24, 2004

Ummm the obvious: if you are intelligent and perceptive, then the older you get the less you know you will know. Young people of a type will believe they know it all and might be more convincing to other young managers who don't know what they should know.

Otherwise, there is no combination like talent with experience.

As far as hiring decisions, I would hire for what I needed. My bias is towards hiring smart people of any age. That might be dumb. I've heard it said that smart people need dumb people but I prefer smart people; that might then mean I'm dumb, darn, oh well, ignore my post then.

Me
Tuesday, February 24, 2004

When I was little over 20, I could have worked 12 hours
a day without getting tired, doing mostly everything from
scratch. Today, at 36 I code from 5 to no more than 30
hours a WEEK and I reuse whatever I can.

VPC
Tuesday, February 24, 2004

The question doesn't matter.

The variance due to ability is so much larger than the variance due to experience that, to a large extent, experience doesn't matter.

I'm not saying it doesn't help, I'm saying that someone's natural ability plays a far greater part in determining their productive output than such factors as age.

Since you never have the chance to hire "Young Bob" vs "Old Bob", it's completely irrelevant whether Bob was a better developer when younger or older. You're comparing "Young Bob" vs "Old Fred", and in that case, it'll be ability, not age, that will be the determining factor as to who is better.

As far as the question goes for pure speculation rather than practical value, I'd say it's pretty evenly balanced. I've heard that mathematicians tend to peak at around 19. I've also heard that musicians tend to peak at around 70. Which is more like a development position? I don't know, maybe it depends on your exact role and personality.

Sum Dum Gai
Tuesday, February 24, 2004

Interesting discussion here.
I am 31, I have a system analyst degree, and I've been working professionally as a programmer for over 6 years now.  Programming-wise, I think I am getting more tidier, and I program more defensively now than before.  But I am not getting so much better.

But, experience-wise I am definitly getting better. I've been working in increasingly bigger projects, and to me that is where the big problems are more likely to appear. Communication issues, responsability issues, management issues, configuration issues, big deployments, more complex systems etc. But, don't misinterpret me, I am NOT a management guy, and I have made a promise to myself to never let go of programming.

So my "radar" is definitly expanding. And progressing in that area is an active choice I've made. If I must choose between a project involving few people, or a less technically interesting project with a lot of people, I will choose the last mentioned one. Yes, it is definitly less fun, but I feel that it is working with a lot of people, and dealing with all the complexities that come with it, where I gain the most valuable knowledge.

Gabriel Lima
Wednesday, February 25, 2004

>> "it's completely irrelevant whether Bob was a better developer when younger or older."

...Unless you're Bob - and I think the original question *is* posed from Bob's point of view.  That is, if you're Bob, do you notice any degrading of your mental acuity over time?
888

anon
Wednesday, February 25, 2004

In my experience older devlopers are better. But you run into some who have, in my manager's words, "accumulated 2 years of experience 10 times."

Rob VH
Wednesday, February 25, 2004


When I first starting doing this for a living, all I thought about was the code. How to make it do "X", how to make it faster, etc.

After a few death-marches because of poor requirements, etc. I began to look outside of the code for ways to improve my skill. (Thank you, Steve McConnell ala Rapid Development!)

After being promoted to a manager, I began to look for ways on managing developers; how to motivate them; how to protect them from clueless dolts who sap their productivity.

After a few projects where we had to go back and rebuild large portions of the code, I started learning more about architectural skills, design patterns, etc.

At each stage in my career, I felt I was pretty damned good at what I did. However, at 34 years old, I look back and say "Geesh, I was an idiot then."

In short, I can see my progression from a young, inexperienced eager programmer to someone who has been taught a lot through experience. It's that experience that I hold most dear because without it, I wouldn't have changed and improved.

Mark Hoffman
Wednesday, February 25, 2004

"I see young programmers (20s) these days who have worked on nothing other then Windows. "

Actually, the computing world for almost everyone under 35 = UNIX and/or Windows plus a bit of Mac.  In any case, that's a very small base of experience.  If you hang out in alt.folklore.computers or talk to guys who work in embedded systems, you find out just how much experience most programmers are missing.

Junkster
Wednesday, February 25, 2004

I'm an "older" developer. I would say I'm better than a younger developer for many reasons. (a) lots more project experience (b) I'm married so by definition I understand humility and compromise (c) proven long-term ability to spot technology trends and stay ahead of the curve. Young programmers, although they may have these attributes, typically do not.

To me the most important thing is to stay creative. Unfortunately corporate politics can gnaw away at your creative energy pretty badly. But don't confuse this with your mind losing it's ability to write code. I thought I was out of the game until I quit my day job in the fatnin' pens and started my own company.

Anonymous
Thursday, February 26, 2004

*  Recent Topics

*  Fog Creek Home