I often hear that companies favour young devs compared to old devs. Probably because it costs less to do so.
However, I also hear that experience is the number one reason a dev is usually hired. Also when companies are hiring, they look for people with 5 years of experience, etc.
Do you think think young devs have advantage, or the opposite is the case?
This is a contextual question.
An older engineer who has spent 5+ years at a company but remained stagnant in their learning (e.g. doing just enough to do their job), is out of luck when he enters the job market again. Because he will not be able to meet the minimum skill testing requirements for "senior positions."
This is the senior engineer fallacy. There have been studies on this.
On the other hand, if the senior engineer has stayed on top of his or her learning, then they not only know all the current trends, but also when and where to use certain things because of their experience. So this gives them an advantage.
Younger engineers, due to their lack of experience, generally tend to maximize their chances of securing a job by learning the newest tech. Similarly, the competent ones are up to date and know how to pass interviews.
Certain jobs do have minimum requirements for experience, but also minimum requirements for a particular skill.
E.g. a senior engineer with 5+ years of Java may not be preferred over a junior engineer with 2+ years of Python experience for a pure python role.
Lots of factors!
Best advice I ever received: don't let yourself become stagnant. Even if you're at a boring job, find ways to experiment with new tech. You learn way more by using it in a practical context.
It's a bit of a mixture of both.
Younger devs are great because if you find the right one, they're hungry to learn and have lots of initiative. You can give them a brand new technology and they'll just bash their way through it and become productive.
Middle to Older devs who are circulating around in the market place can be a bit of a gamble. Sometimes they can be Buzzword compliant without actually having any real skill or they just don't have a lot of motivation to get work done. At any given point there will be a bunch of people in the job market that you don't want, and sometimes telling them apart from the good ones can be tricky.
Having said that when you start to look at the leadership roles like tech leads, design leads, API designers, Domain Modelers, Scrum Masters nothing beats experience for knowing about the traps and pitfalls in a project that you can't see. Experience means you know when to push hard on a project and when to slam on the brakes to avoid the cliff in front of your project.
Of course speaking as one of the older Devs (25+ years) perhaps my viewpoint is a little biased. I used to think at the start of my career I'd be bumped off to management by now, and although the opportunities have come up you'd have to drag me kicking and screaming into a management role because development is much more fun.
I enjoy coding just as much now as I did 25 years ago and I'm still learning new languages and skills every year. You younger guys will still have to get up pretty early in the morning to cut more code than I in a day :-)
In my experience, a lot of younger people either do not know their true market value yet, or they are bad at negotiating.
For the company, hiring someone for an unreasonably low salary can be a great benefit.
I guess younger people have much more enthusiasm than older people, that's one of the factors that plays a big role while choosing that employee, because younger people are tending to prove themselves in the short term which makes them hungry to learn & willing to put all the work ethic in order to get that job. Besides that, most engineers who "guaranteed" their job, they feel stable so they stop learning & stretching.
And there's also the money dilemma, that's because experience costs money so most companies prefer younger people with less salary.
Work ethic and desire to learn far outweighs something like age. Older Devs have the advantage of experience, but sometimes that can be a bad thing if they're too stuck in their ways. A good balance is probably best
I think it cuts both ways. The biggest factor is probably the specific role being hired for and size of company.
In the software world, there are definitely biases against older workers, both conscious and unconscious. Typically you'll see older developers in management or architecture roles as a result. However, this is changing year-over-year as it gets more accepting for older developers in regular developer roles (a trend I hope continues).
Older developers typically command higher salaries due to their experience levels. So younger developers are often attractive in order to pay less. I see this often with startups.
The other reason, which is really dependent on the individual, but "age" is used as a proxy for lots of companies. They assume older developers are more rigid, stuck in their ways, less accepting of change to technology, patterns, languages etc.. Young developers are seen as more open and willing to accept changes. This should be measured on the individual developer, but lots of hiring managers unfairly (and illegally) use age as an unfair proxy for this.
Finally, the existing team is often the driver of these biases one way or the other. If it's a young team, they often want to higher others just like them (people they can have a drink with, hang out with). If it's an older team, they might be biased to hiring only very experienced team members that have n years of experience, or knowledge of some existing architectural patterns.
Hiring has always been deeply flawed, especially in tech.
Ultimately, I believe younger devs (with at least a couple solid projects under their belt) have a pretty strong advantage in the market right now.
Beautiful response!
This comment was deleted 6 years ago
This is how you grow old when you stay on top of things :)
I'm only 34 myself, but I've been programming long enough that I also already had situations where younger people were super eager to use a shiny new technology and I knew just from experience why that would fail.
The software market seems to move in circles of reinventing itself, so if you see a new product now, there's a good chance you'll also find a postmortem for something very similar from 10 years ago.