Wednesday, 14 April 2010

Where do all the ‘old’ (experienced) software engineers go?

I was having a conversation with a colleague the other day whilst in the kitchen area making a coffee. When they stated the following:

“You never see many engineers over the age of 40 working in a development environment, actually writing code or testing”

I thought this was a interesting statement and it made me think. I have been in the IT business for a long time and yes I am over 40 and I am still actively involved in cutting edge software development projects. However when really thinking about the statement, how many more people did I know or have known who work in software development as developers and testers are still actively involved?

We had a discussion about it and came up with some reasons why.

  • They move up further in the company (VP, CEO, etc) and take a less active role
  • They switch careers becoming technical architects etc.
  • They give up working in IT

One other point was made

“Software engineering is a young person’s career”

Quite a controversial statement!!!!

However could this be true?

Another colleague mentioned a point that as we get older we lose our mental ability or cognitive processing. However this article seems to debunk this:

The article does state that we do lose our attentional ability and processing speed – key elements for software engineers.

What did interest in the article was the following:

“In general, memory tasks that are complex and require manipulating a lot of new information quickly become more difficult with age. Facts, names, and events that are not often accessed may become more difficult to retrieve from memory. However, knowledge that has been accumulated over a lifetime, which is repeatedly accessed and expanded, is generally retained. Well-practiced skills and abilities remain intact. And vocabulary usually continues to increase throughout life.”

So we may become slightly slower mentally as we get older but we retain our well practiced skills and abilities.

One important point made in the article which is related to my discussions on the telling of stories and is a key skill of an excellent tester: “….vocabulary usually continues to increase throughout life”

So my question and the real point of this article is:

“Do companies make a conscious or unconscious decision to remove older software engineers?”

It would be a shame if this is happening since currently I feel like I am in my prime. I am still discovering new and wonderful things about software development each and every day. I still have the same passion for my chosen career as I did when I first started with the added advantage that I have years of experience to fall back on as well.

I would love to hear from other people who, once they look around their respective companies, notice the same trend. Or from anyone who has any more theories on this.


  1. Thank you for the great web site - a true resource, and one many people clearly enjoy thanks for sharing the info, keep up the good work going....
    Protocol Testing Coaching Bangalore

  2. I've heard people saying there are fewer older software engineers - but in my (admittedly much slighter) experience I haven't noticed that at all. There seems to be a reasonable age distribution, plenty of forty-somethings and fifty-somethings (fewer sixty-somethings but then given the company pension kicked in at 60 that's not surprising!) - maybe it's just that all those leads look so youthful that everyone thinks they're years younger? Or maybe the places I've worked have just been different.

    Just to clarify - are you saying that the age distribution in places you've worked has not included many engineers above 40, or are you saying that most of the engineers you knew under that age moved into other jobs after that age?

    I'd add another question:
    "Do companies make a conscious or unconscious decision to provide no technical career path for more senior software engineers?"

    There seem to be a lot of IT managers out there who've moved into management not by inclination, but simply because it's the only way for them to earn more. Some companies provide a technical track as well as a management track, others expect employees to leave behind what they're actually good at in order to gain promotion. So this may be contributing. Not that ageism doesn't exist - it's present in all sorts of fields. But I suspect that the combination ageism PLUS the conviction that management is the only valid career path is particularly toxic.

  3. Hi testerab

    Thank you for your comments.

    I will try to clarify your questions.

    "..are you saying that the age distribution in places you've worked has not included many engineers above 40, or are you saying that most of the engineers you knew under that age moved into other jobs after that age?

    From my experience it appears to be dependent on the type of company you are working in. If you are working for a new start up cloud/web based company it appears to have a lot of very young engineers. Where if you work for a public sector/government company they appear to have more senior engineers. However from observations I have noticed that there are not many that are actively hands on since many senior engineers appears to have become PM, TMs etc. Being cynical the reason web/start up companies have lots of younger staff could be to do with cheaper costs more than anything so that may not be a reliable comparison.

    ""Do companies make a conscious or unconscious decision to provide no technical career path for more senior software engineers?""

    You could be on the right path here if the only available option is to follow a management path then I guess that is where a large amount go to.

    Even if companies do provide a technical path, I wonder how many engineers keep 'hands on' still coding actual testing, etc?

  4. Well, I can't speak from a development perspective. However, as a consultant in the testing arena, we have a level system for each person. Each level maps to 1-3 roles. For example, a D level might map to a senior tester or developer. I think the catch is that there are also salary caps at each level. In order to further my salary, I must get promoted to a C level. Well, guess what? There aren't many C level testing positions. That level is reserved for junior architects and test managers. At the B level, you're looking at senior managers who oversee an entire testing effort (system, integration, performance, etc.) You also see senior architects and business analysts at that position.

    I don't know about your experience, but I don't know many people who want to sit at the same pay grade for too long.

    Now, I'm not saying testers shouldn't be paid more, but in a large consulting organization with high turnover and lots of work being done oversees, you can't really afford to pay a lot of senior testers to sit around. Test scripts are typically written by senior members while execution is performed by the junior members (with peer reviews and oversight being done by seniors).

    I've since joined a smaller consulting firm where the team sizes are often 2-3 people. I see a larger ratio of 'older' testers here because you need 3 experienced people at all phases of the project life cycle.

    However, in my 11 years doing this, I have seen improvements in how test teams are staffed. It's no longer the 'leftover' developers. There are testing career paths. Sadly, with the economy, our area gets hit pretty hard, especially since not all companies still truly realize the cost effectiveness of a good test cycle. But hey, at least we're not in training area!