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.