I'm surprised nobody has mentioned interviews as a possible problem here.
If you buy into the notion that coding interviews generate a lot of false negatives then there is a lot of talent that's underemployed. If that's the case, it wouldn't matter at the company level because they can afford false negatives, but it would matter a lot at the national level if there are a lot of people that are capable of much more than they are placed at.
And even if it doesn't generate false negatives, the current hiring practices encourage people to not switch to newer roles:
- Practicing leetcode takes a long time and you have to brush up on it every time you look for a new job
- Coding projects often take a long time, 4-8+ hours
- Multiple whiteboard interviews with the coding projects
- Getting ghosted after submitting coding projects leading to burnout
- Exclusively hiring people that know some very specific libraries or languages. It might only take a week or two to get up to speed on these. This encourages devs to devote a ton of their free time into learning new libraries that they might not even use just to land a job
All of these could also discourage smart people from joining tech, since the high salaries aren't as high as they look when you factor in all of the extra time involved here, and some people don't want to sacrifice their leisure time for higher pay. From what I understand, the tech scene in Europe is bad exactly because they're way underpaid, so Europe has trouble attracting talent and getting people to enter into tech.
China might have the same problems here, I'm not sure, but if these assumptions are true then just finding better ways to match people to jobs they'd perform the best at would give whatever nation a competitive edge.
If you buy into the notion that coding interviews generate a lot of false negatives then there is a lot of talent that's underemployed. If that's the case, it wouldn't matter at the company level because they can afford false negatives, but it would matter a lot at the national level if there are a lot of people that are capable of much more than they are placed at.
And even if it doesn't generate false negatives, the current hiring practices encourage people to not switch to newer roles:
- Practicing leetcode takes a long time and you have to brush up on it every time you look for a new job
- Coding projects often take a long time, 4-8+ hours
- Multiple whiteboard interviews with the coding projects
- Getting ghosted after submitting coding projects leading to burnout
- Exclusively hiring people that know some very specific libraries or languages. It might only take a week or two to get up to speed on these. This encourages devs to devote a ton of their free time into learning new libraries that they might not even use just to land a job
All of these could also discourage smart people from joining tech, since the high salaries aren't as high as they look when you factor in all of the extra time involved here, and some people don't want to sacrifice their leisure time for higher pay. From what I understand, the tech scene in Europe is bad exactly because they're way underpaid, so Europe has trouble attracting talent and getting people to enter into tech.
China might have the same problems here, I'm not sure, but if these assumptions are true then just finding better ways to match people to jobs they'd perform the best at would give whatever nation a competitive edge.