Today I've read the following opinion from the head of one of the biggest IT companies in my country:

An IT specialist is such a strange profession that in his youth an employee is much more worth than in his old age. I am not joking. The programmer is able to withstand two technology changes, and these changes are every four to five years. And then he has to go to other things. Become a consultant, go to work with a client, become a systems architect. It's like with footballers. At some point, they have to stop playing.

Is the same true for software testers?

  • 4
    Where did you get the quote? – Niels van Reijmersdal Aug 20 at 6:48
  • @NielsvanReijmersdal wyborcza.pl/…, if you know Polish ;-) Translation is mine. – dzieciou Aug 20 at 6:50
  • 2
    Although it's not true, it does help to be young in many parts of the programming world. Why? Young people are less jaded, less used to the common way of doing things (which changes every couple of years nowadays). – Mast Aug 20 at 18:01
  • 1
    @Ister: "– Informatyk to jest taki dziwny zawód, że w młodości pracownik jest dużo więcej wart niż na starość. Nie żartuję. Programista jest w stanie wytrzymać ze dwie zmiany technologii, a te zmiany są co cztery-pięć lat. A później musi się zabrać do innych rzeczy. Zostać konsultantem, iść do pracy z klientem, zostać architektem systemów. To tak jak z piłkarzami. W pewnym momencie muszą przestać grać. A podwyżki będę dawał dalej. I też głównie młodym ludziom. Strzelam sobie w ten sposób w kolano, bo zaraz mi wszyscy po nie przyjdą, ale nie mam innego wyjścia." – dzieciou Aug 21 at 6:49
  • 1
    Thanks @dzieciou . Well, I disagree as much as I did based on your (accurate) translation. So my answer remains fully valid :-) The guy apparently don't understand that becoming an IT consultant, BA or Architect is an improvement from being a programmer, not a downgrade. The part about salary rises just confirms my answer. – Ister Aug 21 at 8:10
up vote 20 down vote accepted

TL;DR: No, also it is not true for programmers.


Young programmers and testers are probably worth less than experienced people. Learning how to make adaptable software is something that comes with experience. Young people tend to focus on making it work, leaving a mess for the next generation of maintainers.

Why do we have so many young people on software engineering? Mainly because it is a young profession, just 70 years. The number of software engineers is doubling every 5-6 years. This means 50% of the developers all have less than 5 years of experience. The number of programmable devices is exploding even more, that is why the need for more programmers keeps growing.

One seasoned programmer in their 40s can have a profound effect on a team of a dozen or so twenty-somethings. As a leader, that programmer can teach the team about principles, patterns, practices, and ethics.

http://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html

I know some pretty old testers who still have a job. Sure some go into management, some switch industries, some stop working as a tester. Still some continue, just like the old programmers, they stay because they just like it, the experience is worth it for every company. You want to have a nice balance between eager attitudes and experienced people to bring anecdotes of risk and examples.

You are never to old to be a good software (test) engineer. You can keep playing the game forever, you cannot compare it to soccer. The brain does not get over used if you treat it well.

There is another side of the coin, that is that most people are not good at all. They are lazy fucks not keeping up with modern times, expecting to keep getting pay raises, but living in the past. So do most managers using terms like "become a systems architect." ;-)

  • 4
    Most testers and programmers are not all that good. It doesn't matter what age they are. So most old ones being not good is just the normal state of affairs - Sturgeon's Laws has it right: "90% of everything is crap" – Kate Paulk Aug 20 at 19:04
  • Interesting will research that law, sounds intriguing. – Niels van Reijmersdal Aug 20 at 19:15
  • 1
    Your answer is great, but why there is always a separation of programmers and testers? A good programmer IS a good tester and vice versa, right? I understand that OP specifically asked for the difference. Software of quality is ultimately the common goal of both programmers and testers. I emphasize that there is nothing wrong with your answer. I'm just generalizing my curiousness. – Aulis Ronkainen Aug 21 at 7:02
  • 1
    @AulisRonkainen Yes, I just wrote it like this because of the question. The traditional discipline split in software engineering is being fading for a while now, maybe we should help it by also writing our answers like that. I am a big fan of moderntesting.org which hopefully will also help in remove the separation. – Niels van Reijmersdal Aug 21 at 7:29
  • 2
    Sorry for spamming, but one more thought. I think that age != experience. If you are young, there may be advantages (like adapting to new technology), given that you have the experience. Being old (age) doesn't guarantee that you have a lot of experience or that you are somehow better than everyone else. Although it is common that older programmers have more experience, this is not always the truth. Also +1 for Uncle Bob's wisdom. – Aulis Ronkainen Aug 21 at 7:42

The short answer: No

The longer version: Younger testers and younger developers are not more valuable than older testers and developers. The person who said that developers age badly is probably invested in having a lot of cheap labor available and willing to overwork themselves and who lack the experience to know when they are being asked to do something that's either not possible or not ethical.

Because this is such a damaging perception and gets repeated a lot, I'm going to go into some more details here.

The programmer is able to withstand two technology changes, and these changes are every four to five years. And then he has to go to other things.

Some of the highest paying IT jobs out there are for COBOL programmers. Why? Because there are millions upon millions of business applications written in the language that need ongoing maintenance. C and C++ programming is also highly paid, for much the same reason (as well as the operating systems written in those languages). Assembler falls into the same category.

On top of that, the language software is written in is secondary to the ability to define a problem space and logically structure a solution so that a computer can perform that solution. Some types of languages are more suited to some types of problems than others - I wouldn't want to use Assembler to code a web site and I wouldn't use HTML to code a back-end mainframe app.

Defining and solving a problem in a computer-friendly way is the most important skill a programmer possesses. That skill improves with practice no matter what language or technology set the programmer is using.

On the tester side, the most important skill is finding and reporting gaps between expectations and implementation, that is, working out what someone using an application will expect to happen, finding ways the application doesn't do what is expected, then communicating that information to someone in a position to change the application in a way that will convince them they need to change it. Everything else is secondary. And, like the most important skill of a programmer, it's something that improves with practice.

Older/Experienced Programmers are probably better at defining and solving problems. They're also more likely to know the best tools (languages) to use to build the solution. And more likely to be able to build a solution that's more robust and maintainable.

Older/Experienced Testers are probably better at finding and prioritizing gaps between user expectations and application behavior. They're also likely to be better at advocating for their findings.

Just because someone who prefers to pay less per person (and more in the long run) says old programmers or testers aren't worth as much as young ones doesn't make it true.

  • +1 and upvote. However I will disagree on one point - tools. I've seen too many older programmers using tools like svn and TFVS instead of git. Then again.. ironically 'vi' is now the tool of super-modern programmers! – Michael Durrant Aug 20 at 12:27
  • 2
    @MichaelDurrant - more likely does not necessarily mean "will always" - and sometimes it's a case of the tool mandated by the workplace. I can't say I'm 100% happy with my workplace using TFVS rather than git, but I'm not the one making the decisions there. – Kate Paulk Aug 20 at 12:30
  • 2
    As for 'vi', it is ridiculously powerful and fast if you know how to use it. If you don't, it's agony. – Kate Paulk Aug 20 at 12:31
  • vi is my only editor :) – Michael Durrant Aug 20 at 16:52
  • 1
    Yes. I'd add in look at the computer game industry, who churn through developers and testers, and then wonder why they can't develop anything consistently or learn from past experiences. – Kevin McKenzie Aug 21 at 16:16

Everyone will have to stop playing sooner or later. The younger a specialist is the more effective they can follow changing technologies just because of physiological aspect.

On the other side "old" specialists (I wrap old with quotes since this is pretty much subjective term) have the obvious advantage that is the experience. So if you want to be competitive on the market when you go "old" you should have valuable experience and fresh mind.

I think one of the possible ways to prolong your IT career as a tester is training your brain by everyday search for effective solutions for your current tasks.

Being a CEO of a major local IT company does not make you an omnipotent (or omni-wise should I say) god knowing everything about the job market. The words you quote show the approach of the company and a deep lack of understanding why it is good to have experienced specialists.

While you might not be as fast in learning new technologies or adapting them when getting older, what you do accumulate is an experience. You understand more different technologies, you can see and predict what path can work and what will throw problems on you etc. The general principles of programming, or more general software development remain more or less the same, even if you add Object Oriented development, agile development etc.

What is true though is that usually the IT specialist that gains more experience can look from a broader perspective, moving to jobs that require such better overall understanding (and that are better paid), namely former programmers become BAs, Architects, PMs or IT Consultants.

The question that probably is not answered in the article is the motivation that drive employees to become better, up-to-date with new technologies and approaches. If the employer discourage (or even just doesn't actively encourage) employee to develop, employees might stop where they are. I've seen plenty of that in my career and blame goes to both sides (employee should invest in himself, at least time required to learn, even if his employer doesn't encourage him to do so). But in general employers in Poland often do not understand the value of the experience in general and in specific company for instance. It takes about 2 years for a new employee to become fully efficient in a new company, but still many companies here prefer to hire a new person rather than upskill their current employees (and pay them more!).

As a soon-to-be forty I can say that according to my salary, my value on the job market constantly rises. I don't expect that trend to change soon. But I work for a leading international IT company now, which (among others) operates in Poland. Worth mentioning - I was very close to be hired by this specific company few years ago. The salary they offered was 2/3 of what the competition offered me those days. To my knowledge it was nothing extraordinary for them. Answer yourself if this company can reasonably proclaim this kind of statements or maybe they simply don't understand the value of good employees.

As for testing specifically - this position requires extensive amount of knowledge that you gain over the time. There is all about testing automation, better understanding what to test and where to expect problems, see those areas that a young tester might oversee Still, similarly to programming position, probably over time you'll get more knowledgeable and you might eventually decide moving on to jobs requiring more versatile knowledge will be as challenging (or even more interesting) than just testing - and better paid at the same time.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.