The discussion is muddied by treating &quot;tech talent&quot; as a meaningful grouping of people. It is a similar type of error as &quot;STEM jobs&quot;, which includes both marine biologists and computer scientists even though they have wildly different experiences in the job market.<p>Some software jobs can be quickly learned by anyone with good programming experience. These are the kinds of &quot;shortages&quot; that can be reasonably solved by training existing software talent. There is a baseline amount of skill required but that level is low enough that it is at least plausible that you can expand the supply on a reasonable time horizon.<p>However, some high-demand software jobs require multiple years of experience and a high talent baseline to be an effective practitioner. The time required to develop these skills can exceed the life cycle of companies and products. These shortages are very real because there is no easy way to manufacture more of this talent on a time horizon that matters to anyone. Consequently, they tend to be self-trained in operational environments over several years. People with these skills tend to be paid atypically well, but you are really just shifting the shortage around between different companies. High wages per se does not manufacture a talent pool.<p>In software, we have talent shortages that could be addressed by training <i>and</i> we have talent shortages where the amount of time required to produce new talent is so high that it is almost never worth it for a company to make that investment. In practice, the latter case has been solved by people investing in themselves over several years (usually because they have a keen interest) to develop the skill but in many areas this is definitely not producing enough talent to meet demand.<p>These are problems that must be solved differently. Lumping them together muddies the conversation as people talk past each other.