There are strong economic disincentives to training employees in transferable skills: the second you do, their market value increases, which means that if you don&#x27;t pay them more, they will be recruited by other companies willing to do so. So you wind up paying for both their education and an increased salary because you educated them. It&#x27;s cheaper to just hire someone who&#x27;s already educated.<p>For example, consider the employer who decides to pay 10,000 to train their employees when doing so will cause their employees&#x27; market salary to increase by 5000&#x2F;year. Assuming the employee will stay with him for 2 years if he does the salary bump, he&#x27;s effectively paying the employee $5000 (salary bump) + 10,000&#x2F;2 (training) = $10,000&#x2F;year extra, when he could just go to the market and hire someone who already has the skill for $5,000&#x2F;year extra.<p>Going to the market may also be faster if the skill is both complex &amp; modularized (so it doesn&#x27;t require deep insight into the current code base). You&#x27;ll also benefit from the experience of the person who&#x27;s done it before and gained battle scars.<p>So instead of promoting a jr engineer and training them, it&#x27;s often just cheaper and more efficient to hire a senior guy who&#x27;s done it before.