back to article Research explodes myth that older programmers are obsolete

There's a prevailing ethos among IT hirers that younger is better when it comes to programmers, but a study by academics in North Carolina suggests that employers might be missing a trick by not hiring the grizzled veterans of the coding world. Research into how our brains evolve over time suggests our intelligence functions …

COMMENTS

This topic is closed for new posts.
  1. Nick Kew

    There's a cultural issue in the UK: companies see you as a loser if you still have your hands on code past your mid-20s. Not only do older hacks have to look elsewhere (e.g myself to open source work and a US employer), it means the youngsters are doing a low-status job that they know they have to grow out of to progress in their career.

    This is not universal: Silicon Valley has a much healthier blend of ages, as do online communities.

    1. Dr Scrum Master
      Coat

      I didn't even leave university until my mid 20s...

      Sounds like the UK is becoming like Singapore... after a couple of years as a programmer you think you can automatically get the word "Senior" in front of your job title, meanwhile everyone actually wants to become a project manager...

  2. oldtaku Silver badge
    Go

    Older devs at our company have no problem picking up new tech - there's no choice since we're not a government agency or big bloated corporation. Who knows what the next project will bring?

    Our biggest advantage over the young guys - we've already made soooo many mistakes. And time estimation, triage, and other engineering skills seems to work across any tech.

    1. Andrew Moore
      Pint

      Indeed, every mistake is a lesson learned. I've often thought that wisdom is just the ability to meditate on a lifetime of SNAFUs.

      1. (AMPC) Anonymous and mostly paranoid coward
        Pint

        Or as they say

        Experience is the ability to recognize a mistake... before you make it again

        1. BlueGreen

          Re: Or as they say

          Or rather nicely:

          "

          The road to wisdom? — Well, it's plain

          and simple to express:

          Err

          and err

          and err again

          but less

          and less

          and less

          "

          - Piet Hein <http://en.wikipedia.org/wiki/Piet_Hein_%28scientist%29>

  3. Daniel Voyce
    Headmaster

    Keep current or become unemployable

    I have always believed that if you are in the business of coding that you should be constantly updating your skill set or soon enough you will become obsolete, Younger coders are coming into the market at a time where there is alot of buzz around new technologies and frameworks to enable faster coding, they throw a few of these buzz words around in interviews and get a job, The problem is that most of them dont have solid fundamentals or experience to handle these technologies / frameworks competently or the ability to see the "bigger picture" and more often than I would have like to have seen - things come crashing down around them.

    1. James Hughes 1

      Re: Keep current or become unemployable

      All very well, but when do you update your skill set? I'm at the older end of things, and my main problem is not having time to learn anything new. Works is busy, home is busy.

      1. Daniel Voyce

        Re: Keep current or become unemployable

        I learn on the job, I keep up to date with all the new features of each language release, use tools to increase my productivity (such as MVC Frameworks) and learn as I go, I find that the time I was spending on the learning curve of these new technologies was negated by the efficiency these new tools brought to my workflow. Again - one of the benefits of having good fundamentals is that you can pick these up quite quickly.

        1. OzBob
          Holmes

          Re: Keep current or become unemployable

          Voyce: Only works if the employer buys into the concept by allowing you to learn on the job. My last employer wouldn't let me dig into Linux when my [vendor-specific] unix skills were becoming less marketable. I had to go out and get certified off my own back. I have seen older developers pigeon-holed with specific skillsets and tasks and not permitted to get involved in the newer technologies.

          I think the point made in this article is valid, that managers need to look past the impression of older IT professionals being "dinosaurs" and give them the chance to upskill. You seem to have been permitted to do so; good for you, but you come off as smug when describing how you did it.

        2. John H Woods Silver badge

          Re: Keep current or become unemployable

          Daniel Voyce: "... use tools to increase my productivity (such as MVC Frameworks) ..."

          What is MVC in this context, Model-View-Controller? As written about extensively in Smalltalk-80 about thirty years ago? Despite what the recruiters and the managers think, most of the abilities one needs to be a good developer, and to stay up to date with new trends, would have been familiar to the Ancient Greeks: mathematics, logical reasoning, and a life dedicated to continuous learning and intellectual development.

          1. Daniel Voyce

            Re: Keep current or become unemployable

            Totally agree - the fundamentals are what are important, before programming languages got more complex one had to accomplish complex things with less complex language constructs - it makes you approach a problem in a differerent way (a more pure way some would say). Tools should be there to take the grunt out of developing not to replace the core language, you wouldnt believe how many developers I have worked with who have only learnt how to use a specific framework and can barely utilise the underlying language it was written on.

    2. John Merryweather Cooper
      Pint

      Re: Keep current or become unemployable

      Many of the "new breed" of programmer come out of school capable of coding, forming data structures, and making one hell of a lot of objects. But they lack: 1) an understanding that development occurs in a continuous develop-test-fix cycle. Many of them seem to believe that coding is fire-and-forget; 2) the importance of maintainability. It doesn't do a lick of good to use xyz algorithm in your code if no one can pierce your meaning two years later; 3) programming is goal directed. Make the manager happy or you'll be leaving; 4) programming is a collaborative process--John Wayning all over someone's source tree is going to break one hell of a lot of builds and make you very unpopular very fast; 5) programming requires taking responsibility and standing behind what you write--including making a case that the manager is wrong for heading down this development path because, because, because (but those reasons better be good); 6) programming is very much about continuous process improvement--if nobody has found any bugs in your work--you better get in there and find them. This last one gets a lot of young programmers. They wait for someone else to do the bug finding and their stuff just somehow never seems as good.

      1. jake Silver badge

        @JMC (was: Re: Keep current or become unemployable)

        Good list, John Merryweather Cooper. But you forgot one.

        Most of today's kids have no understanding of the hardware. Try asking a freshly-minted "two year degree" new hire what the heap and the stack are, and how the compiler uses them ;-)

  4. Anonymous Coward
    Anonymous Coward

    HR only sees stereotypes

    Try turning up to an interview as a bald bearded 60-something and see how far it gets you.

    1. Charles Manning

      Re: HR only sees stereotypes

      If you're working for a company where HR does the hiring you're halfway screwed anyway.

    2. Anonymous Coward
      Trollface

      Re: HR only sees stereotypes

      *bearded* - I think I see the problem.

    3. Tom 13
      Devil

      Re: bald bearded 60-something

      I'd bet it was actually the sandals and tie dye that cost you the job.

    4. Fatman
      WTF?

      Re: HR only sees stereotypes

      Try turning up to an interview as a bald bearded 60-something and see how far it gets you.

      Usually some bullshit about not being suitable1 for the job.

      ...

      1 Not suitable in this case being that your salary expectations exceed what the manglement is willing to part with; because any excess compensation comes out of their bonus at the end of the year.

  5. Charles Manning

    If you don't keep learning...

    then you don't belong in this industry. This is an industry of change.

    I'm 51 and I now learn more than I did in my twenties and thirties.

    30 years ago you could leave university with a pretty decent % of all computing knowledge under your belt. Now you're lucky if you're just scratching the surface of one very specialized field (eg. compiler or file system design).

    If you stagnate you soon become just a commodity. You need to keep up to date, or specialized, to be worth anything. That takes continuous education.

    1. Daniel Voyce
      Thumb Up

      Re: If you don't keep learning...

      My sentiment exactly!

  6. Destroy All Monsters Silver badge
    Windows

    "The mean age of the sample base was just over 29"

    Which might well mean that about half of the code base contains the programmer's equivalent of valleyspeak and Dunning-Kruger faggotry.

    Always wondered why bugs accumulate, design errors proliferate and the stuff is constantly falling over itself?

    Yep.

  7. Allan George Dyer
    Boffin

    "experienced programmers put a known elephant in Cairo"

  8. Shagbag
    Windows

    Good for me!

    I've had to hire 3 IT people in the last 12 months and I've seen a lot of CVs and interviewed around 30 people for the roles. Male, female, black, white, yellow, young and old. My (admittedly limited) experience is that sex and race don't matter but it is rare to find a developer under 30 who can see past syntax and look to the problem and choose the simplest solution from the many possible solutions.

    If other employers want to dismiss them because of age, that means there's more available for me!

    1. wikkity

      Re: Good for me!

      maybe you were not offering competitive salaries and all the good older devs didn't even consider it, leaving you with the younger one and the older ones who have not had any significant pay rises due to their abilities>

  9. Corinne

    Not just techs

    In general the view of many companies seems to be that anyone over the age of about 40-45 is just marking time until retirement and won't bring the drive, energy and enthusiasm that younger people can. Working on this theory I dropped 10 years of not very relevant work from the bottom of my CV and more than doubled the interest in it.

  10. jake Silver badge

    Speaking as a consultant ...

    ... who is often asked to staff new data centers, today's kids are, roughly, useless.

    Don't believe me? Ask one to describe the pin-out of a DB-25 DCE connector for proper RS-232. Then ask them to walk the stack from wire to presentation ... comparing & contrasting the OSI model and TCP/IP.

    Kids today think they can fly, but they haven't yet begun to crawl.

    Makes me sad, frankly.

    1. Anonymous IV
      Thumb Down

      Re: Speaking as a consultant ...

      I would be rather worried if asked about RS232 in a job interview, much as I would be surprised to be asked about CP/M. Surely relevant technology is a far better area for questions?

      1. jake Silver badge

        @Anonymous IV (was: Re: Speaking as a consultant ...)

        RS232 is still used for out-of-band command and control, nearly everywhere. If you can't put together a DTE or DCE connector from scratch (including gender benders) in a pinch, you are bloody useless in my eyes. If that worries you ... GOOD!, that means I'm doing my job.

        I ask about CP/M occasionally, when I suspect a kid is trying to bullshit me about how far back their personal knowledge goes.

        It's all relevant. Can't run before you can crawl.

      2. Christian Berger

        Re: Speaking as a consultant ...

        Well dear Anonymous IV. The point is like this. If you don't even understand the simplest communications interface, which is BTW still widely used in embedded systems and debug interfaces, how can you understand more complex systems? RS-232 is a great starting point to learn about networking. Plus it's an "open ended" question. There are lots of reactions to it, from throwing a tantrum, over describing what pins there are typically, to a full explanation of the standard of all the lines including the obscure ones. Or a less hardware minded person might even go into explaining PPP and SLIP. It's a great interview question.

        The point is, an employee who only looks at "relevant" technology and nothing else will quickly become closed minded. Any technology you widely work with will become relevant to you. If you don't look at what else is out there you will never find better alternatives.

        Now what happens if the technology you work with simply becomes obsolete? What will you do? Do you know anything else? Do you know other technologies to switch to or to integrate to make the product more relevant?

        I'm not even touching onto the whole idea of learning from older technology to make better products.

      3. Boris the Cockroach Silver badge
        Boffin

        Re: Speaking as a consultant ...

        RS 232 is completely relevant to what I do, because thats the comm system we use to send data to the robots from a PC and back again

        Plus the fact the machines use their own methods of configuring the RS232.... hardware handshake? software? or one use hard for downloads and soft for uploads and a 10 char buffer (which is fun when windows has a 16 char buffer).

        Then another adds a vertical parity byte to each line of text sent to it, so the DNC software has to either be set to ignore it, which then screws up the machine because it wants an ACK signal form the PC before sending the next line, or calculate the parity byte and hope your algorithm matches the one in the control and send an ACK signal back

    2. disgruntled yank

      Re: Speaking as a consultant ...

      And then grill them on the old modem command set of ATDT and how to set the front-panel switches to select the boot device on an S/330 Eclipse?

      But they'll agree: using an RS-232 connection teaches you about crawling.

      1. jake Silver badge

        @disgruntled yank (was: Re: Speaking as a consultant ...)

        We still use 19.2 dial-back modems for out-of-band control. It's actually faster and more secure than TehIntraWebTubes. You, apparently, don't know that fact. I wouldn't hire you.

        Hope this helps. Have a nice day :-)

        1. disgruntled yank

          Re: @disgruntled yank (was: Speaking as a consultant ...)

          " I wouldn't hire you."

          I'd weep into my beer--but my 7 am drinking days are farther behind me than my days fooling with a breakout box--and bitterly rue the day that I discarded my copy of The RS-232 Connection--but you know, that's not my job any more. He who knows the difference between network and presentation level might well be aware of separation of concerns as applied to the workforce. This story is about programmers, isn't it?

          "Hope this helps."

          Not particularly, but who comes to El Reg for help?

          "Have a nice day :-)"

          That will depend on other factors, but thanks.

          1. jake Silver badge

            Re: @disgruntled yank (was: Speaking as a consultant ...)

            "This story is about programmers, isn't it?"

            Programmers change the state of hardware, to a given end. I used to program tubes (valves to you Brits) with a wire-wrap tool. My father used TRS jack plugs to program relays. We learned transistors, assembler, and later ICs and upper-level languages, together.

            One thing I learned along the way is that "programming" exists. There are "programs". There is, however, no such thing as software. So-called "software" is merely the current state of the hardware.

            Properly using the RS232 standard is programming, from any sane perspective.

        2. Anonymous Coward
          Anonymous Coward

          Re: @disgruntled yank (was: Speaking as a consultant ...)

          @jake: down voted for being too cocksure of yourself and your abilities of reading others, understanding them and thinking that they can't get the job done.

    3. Tom 13

      Re: pin-out of a DB-25 DCE connector for proper RS-232

      I'll confess I deal mostly with USB these days, so I'd be hard pressed to come up with one of the exact pin-outs. But what I do recall from back in the days when I was the tech writer documenting them is that RS-232 was the biggest fricking non-standard standard I'd ever come across. You needed pretty much needed the spec for the specific device in front of you to make sure you were using the exact right pins, and it got even worse when you had to convert that fat 25-pin for the peripheral to the 9-pin on the PC.

      1. Anonymous Coward
        Anonymous Coward

        Re: pin-out of a DB-25 DCE connector for proper RS-232

        RS-232 is much too simple... you only need two wires (TX and RX) and possibly a ground shield in an electrically noisy environment... anything more than that can be seen as being over-engineered but hardware handshaking can help increase the speed of the data flow in some cases ;)

        1. jake Silver badge

          @AC16:59 (was: Re: pin-out of a DB-25 DCE connector for proper RS-232)

          You are talking a simple serial cable. Tx, Rx, and ground. RS-232 uses 10 (or 9, with a DB9) of the available pins to communicate. In the future, you might want to learn the difference between the connector (DB-25, DB-9 ... RJ-45, etc. ;-)), and the protocol in question.

          Thank you for taking the time, we'll keep your C.V. in the circular-file. Have a nice day.

        2. Christian Berger

          Re: pin-out of a DB-25 DCE connector for proper RS-232

          "only need two wires (TX and RX) and possibly a ground shield in an electrically noisy environment"

          Actually you do need a ground as a "return" line... however in typical conditions if you omit it, the mains ground will be used... which can have devastating results (e.g. your ports frying) or work perfectly well, depending on your circumstances.

    4. Lars Silver badge
      Happy

      Re: Speaking as a consultant ...

      "A DB-25 DCE connector" has nothing to do with programming and stuff like that was always well documented.

      But as a programmer since 1968 I do understand you. "Hardware" and soldering this and that was then part of programming. I have a very funny experience with a 25 pin connector from those days. A Logic Systems "main frame" against a printer connected to a remote PC (MS-DOS) no Windows then. And it would not print. So leaning over the IBEX computer with a screwdriver in my hand, looking at the connector wondering if the soldering I made was perhaps bad I accidentally connected with the screwdriver to pins on the connector and suddenly the immense HD (in size, not capacity) started to rock. Voilà, the damned thing started to work. A loop back was needed on the connector and I found it by accident. Wonder if you know which pins. Anyway, seriously, that connector has not been relevant, regarding programming, for a very long time. Memories yes, and fun ones.

  11. Sentient

    The problem with older devs

    is that they are 'harder' to motivate.

    I guess most devs regardless of age like to do something new and challenging. Problem is a lot of the work that needs to be done isn't new or challenging unless you're not very experienced.

    Also older devs tend to look right through management pep-talk and might have become cynical.

    1. jake Silver badge

      Re: The problem with older devs

      You see this as a problem, Sentient?

      Personally, I see it as a symptom.

      Manglement ain't techs, and shouldn't be involved in tech issues, for the simple reason that manglement are completely unequipped to handle technology, by definition.

      IMnotevenclosetoHO, there should be two advancement tracks in large corporations ... a management track, and a tech track.

      1. TheOtherHobbes

        Re: The problem with older devs

        Manudjment is usually a problem without a solution.

        The best track for manudjment is over a cliff on their own, before they take everyone else with them.

        How many managers have the same competence in manudjment that a mediocre rookie dev has in code? 20% or less?

        1. jake Silver badge

          Re: The problem with older devs

          "How many managers have the same competence in manudjment that a mediocre rookie dev has in code? 20% or less?"

          ::slaps hand::

          You are wrong, TheOtherHobbes ... Manglement needs techies. Techies need manglement. It's a whole new world compared to traditional management/worker relationships from the steam-age. See Bill & Daves HP. Or TheWoz & Steve's Apple.

          Find the strengths & benefits of both, and run with it ...

        2. Fatman
          Thumb Up

          RE: Re: The problem with older devs

          The best track for manudjment is over a cliff on their own, before they take everyone else with them.

          My sentiments exactly.

          Enjoy an `up` vote from me.

      2. Anonymous Coward
        Anonymous Coward

        Re: The problem with older devs

        @jake: you redeemed yourself :)

        management pep-talk? what the hell is this? a high-school ball game? grow up, people!

    2. Anonymous Coward
      Anonymous Coward

      Re: The problem with older devs

      Yes I can see through the pep talk, I have also had years of bullshit but no real recognition for my input. Years of disrupted family life with long hours on call and getting projects delivered.

      That's what makes it hard to motivate us.

      Curiously, my outdated skills seem to be fine for teaching. I am moving into higher education as a lecturer and am teaching the next generation the skills that our HR departments think I am not able to pick up because I'm over 50.

      I will be glad to be out of a development environment.

  12. J.G.Harston Silver badge

    I know I definitely write better code now than I did 30 years ago, unfortunately, employers refuse to pay me to do so. Contrary to their adverts calling for experience and competence, they actually insist on inexperience and incompetence - as evidenced by the products I end up having to use.

  13. Anonymous Coward
    Flame

    Eat-Through-Rectum-Myth

    Maybe this is actually about "programmers" as opposed to "software engineers". I consider myself a software engineer and this means I aim for a proper piece of software as opposed to "something which barely works but gives management immediate gratification".

    What does proper software mean ? Here's a non-exhaustive list

    + has proper structure from a computer-science and from the domain point of view

    + intent of programmer can be inferred from source and comments with reasonable effort (e.g. use FUCKING MEANINGFUL variable names among many other things)

    + uses at least moderately efficient data structures and algorithms from the vast body of known algorithms (e.g. hashtables instead of O(n^2) loops)

    + tries to be as human-readable as possible (e.g. nicely formatted text files instead of binary abominations)

    + comes with a vast body of domain-knowledge documents checked into source control along with the source code, documentation, technical design, help files and so on

    + code is self-checking its invariants and premises quite frequently, will bomb if something wrong

    + code will bomb as soon as something fishy is being detected

    + code WILL NEVER "try to continue despite some cancer detected"

    + software engineer has made a large number of smart "high-level" decisions which are reflected in the structure of the system

    + code will have its own library system to facilitate re-use whenever possible. This will reduce lines of code and allow engineers to spend more time per line of code and in the end improve quality.

    + software will not use stupid forms of genericity (now, here comes the art, what is "stupid" ?)

    + will have a useful error reporting system/conventions

    + uses proper parser techniques to read data structures from files or the network

    Now, how do you acquire the skills to build (it is much more than the process of "writing" or "programming") proper software ? It definitely does NOT come from the latest buzzword set of (GWT/JS/Ajax etc etc). It comes from experience, from lots of failed or semi-failed attempts. It comes from long hours of reading technical reports of HP labs, of the DEC technical journal and similar publications. Of course it is all based on a proper education in computer science and I definitely do NOT think you can replace those basics by "experience". You need both: proper education and many, many years in software engineering practice.

    Let me shout this at you:

    STARTING WITH AGE 40,YOUR CODE WILL START TO NOT SUCK ENTIRELY.

    So, the first 15 years will be invested into your education and working off your silly ideas of being the center of the universe and being something extremely special and your little knowledge of some arcane M$ technology being something extremely special.

    So, the whole notion of "old programmers...obsolete" is just fucking hilarious. It might resonate with the latest dumb idea of "spotting management talent early and developing it", but it is like eating food with you ass. Very inefficient. Start eating with your mouth and start hiring experienced engineers. Both is much more efficient that doing it in reverse.

  14. I'm Brian and so's my wife
    WTF?

    Eh?

    > who are coincidentally cheaper and more likely to work long hours on an inspiring project

    Wow, it's been a while since I've seen one of those! There are aspects that I'll find interesting and I'll turn to my advantage in order to expand a skill, but there's a great deal more of just banging it out, so to speak.

    Oh wait, have I just outed myself as a cynical senior programmer?

This topic is closed for new posts.