This is trite, but I am replying for the sake of learning how to phrase it. A candidate can be broken down into a lot of characteristics:
1. Base technical skills - typing (yes, typing), ability to recognize and solve standard problems, and ability to process information quickly.
2. Familiarity with specific technologies (.NET, Angular, SQL, whatever you are working with). This is vastly underrated for line of business applications.
3. Architectural patterns - DRY, SRP, dependency injection, inversion of control, queue/msg based patterns, etc.
4. Domain knowledge, perhaps company specific
5. Social skills, etc
A lot of senior devs ride out their career on number 4. For a new hire, especially for a junior position, #1 is critical, because there is no #4 to speak of and #3 and #2 are handled by other devs.
100%. Younger devs are more eager to work and prove themselves as well, and that's very valuable for a lot of the lower level work. Those are definitely the reasons for perceived and actual ageism.
1. Base technical skills - typing (yes, typing), ability to recognize and solve standard problems, and ability to process information quickly.
2. Familiarity with specific technologies (.NET, Angular, SQL, whatever you are working with). This is vastly underrated for line of business applications.
3. Architectural patterns - DRY, SRP, dependency injection, inversion of control, queue/msg based patterns, etc.
4. Domain knowledge, perhaps company specific
5. Social skills, etc
A lot of senior devs ride out their career on number 4. For a new hire, especially for a junior position, #1 is critical, because there is no #4 to speak of and #3 and #2 are handled by other devs.
From that perspective, it makes perfect sense.