The Suzuki Method for non-Violinists a.k.a. Software Engineers

The Suzuki Method (スズキ・メソード) is an educational philosophy for building “high ability” talented people on the presumption that all abilities are developed trough the right circumstances or environment. I like the approach – Yeah, yeah. I am a hopelessness romantic – and thought it would be a good experiment to apply the guidelines as listed by Wikipedia to programming.

  • Saturation in the computer engineering community, including attendance at local conferences, exposure to and friendship with other IT students, and reading of programs performed by "guru’s" (professional programmers of high caliber) in the home every day.
  • Deliberate avoidance of aptitude tests or "assessments" to study programming.
  • Emphasis on playing from a very young age, sometimes beginning formal instruction between the ages of 13 and 15 years old.
  • Using well-trained teachers.
  • In the beginning, programming by trial is emphasized over algorithm design. This parallels language acquisition, where a child learns to speak before learning to read. Related to this, memorization of all solo repertoire is expected, even after a student begins to use programming books as a tool to learn new technology.
  • The method also encourages, in addition to individual playing, regular software engineering in groups (including pair programming).
  • Retaining and reviewing every program ever written on a regular basis, in order to raise technical and organisational ability.
  • Frequent public performance, so that performing is natural and enjoyable.
  • The method discourages competitive attitudes between engineers, and advocates collaboration and mutual encouragement for those of every ability and level.

Additional bits at: "The Suzuki Music Academy" [suzukimusicacademy.com] and The Suzuki Method [Wikipedia]