I wouldn't use the term "skill barrier." Any skilled job requires specific skills and experience, obviously. You can acquire some skills, or at least get started, in school, classes, bootcamps, and self-study. If you want to advance or branch our you have to continue to acquire skills and experience, through practice and study.<p>Every programmer started out with no skills and no experience, and most of them advanced on their own, through practice, usually subsidized by a series of employers.<p>Skill implies knowledge, ability, and practice. It doesn't mean casual familiarity, reading about something in a book, or taking a class; those can start someone on the path but aren't usually sufficient. A bootcamp graduate with no prior programming experience doesn't possess actual skills. They have motivation, potential, and just enough knowledge to persuade an employer to take a chance on them, in hopes that the cost of imparting skills and experience will be offset by profits derived from labor. Employees who cost more than they contribute wash out.<p>Programmers who already have multiple skills and years of experience can pick up new things quickly from books, web sites, classes because they have a mental framework of related concepts to hang new things on. New programmers don't have that, everything looks fragmented and challenging.