Many CS graduates can’t code well—the best ones self-teach and keep learning beyond school.
Mentoring Matters
- Learning happens through books and direct observation of experienced developers.
- A strong mentorship culture is critical for software mastery.
Apprenticeship in Software
- Doctors train for years before practicing—shouldn’t software developers, who build critical systems, do the same?
Software Career Stages
- Apprentices (Interns) → No autonomy, closely supervised by journeymen, focus on pair-programming and mastering design principles.
- Journeymen → Competent, knowledgeable, but lack experience. Supervised by Masters.
- Masters → Lead projects, stay technical, continuously learn, teach, and mentor.
The Reality
- Many companies lack technical supervision, leaving junior developers without proper guidance.
Craftsmanship
- Craftsmanship = Skill, quality, and experience.
- It’s a mindset of continuous improvement, discipline, techniques, and values.
- Be the example—show your craftsmanship through your work.
Universities teach theory, but real skills come from mentorship. The responsibility to train the next generation falls on us—through apprenticeship and long-term guidance.