Ken AuerKen Auer strongly believes that creating software is a craft, and that the best way to learn that craft is through total immersion.

Auer, founder of RoleModel Software, is a participant in a new movement among software developers. He has established an academy for apprentices, with certification awarded to the worthy participants at the end of the training.

Auer’s company has taken on apprentices since its foundation in 1997, and the academy will be accepting its first eight apprentices in 2012. The RoleModel Software Craftsmanship Academy program begins with a six-month course where software craftsman apprentices are immersed in development, mainly working with object-oriented programming.

At the Object-Oriented Programming Systems and Languages (OOPSLA) Conference in 1998, Auer presented a workshop—Software as a Studio Discipline—that led to the idea of him taking on additional apprentices. By that time, it became clear that an apprentice program, similar to that used by his clients in the farrier (or hoof care) industry, would be a successful way to teach software.

“Apprentices will learn by doing,” said Auer. “They will be building software systems from the beginning and should understand the basics of programming.”

Eight apprentices will be chosen, and after they complete the initial six months of training, they’ll be moved into the one-year-internship phase portion of the program. Auer will take on an intern or two at RoleModel Software. He is currently in the process of securing partners for the remaining apprentices.

“Next, the apprentices will take a certified journeyman test, and then they will spend the next few years learning their craft,” Auer said. He created this journeyman test based on his own experience and the input of the craftsmanship community, which consists of hundreds of people who signed the Manifesto for Software Craftsmanship.

Auer himself is a master software craftsman, but he said that it is a distinction currently given by others in the field after one has achieved years of experience. There is currently no test or certification authority, but he is exploring the possibility of developing a certifying body to help identify what it takes to be considered a certified journeyman or master craftsman.

He said that while he anticipates more schools similar to his Academy will open in the coming years, he does not anticipate incorporating these programs into traditional university programs. “The university models are so different, they’d have to change their whole way of doing things,” he said. While he believes there is some value in the university model, he thinks the experience of learning theory in the context of building real software is far better and will help developers build better software in the long run.