The software development industry has changed, and I’m not talking about a recent change—this happened years ago. Accessing the entry-level knowledge required to start a career in software development is no longer the privilege of a few, but an opportunity for the masses. Knowledge is not the problem—technology has allowed us to make it widespread—but the industry itself hasn’t adapted yet.
While most people trying to start a career as a developer focus on the technical side of what to learn (which language and framework to learn, which tutorial is best for understanding design patterns, etc.), they forget about everything else. And through that, they miss out on the most important detail: technical knowledge is readily available, and they will be consuming it for many years, if not decades. In contrast, understanding what to expect from your first job, choosing your first company from several job offers, or even figuring out how to work with a team of colleagues with different levels of skills than yours is not trivial, and that knowledge is less available. There are plenty of aspects of our profession that don’t involve coding, and even if they do, they don’t rely on code but rather on best practices and teamwork.