About Our Program

The best way to become a software craftsman is to learn from other craftsmen.

Our Philosophy

A Craftsman is an Expert in his field. The Dreyfus Model of Skill Acquisition details the progression of Novice to Expert in a set of skills, but it has been demonstrated that many people never get past the Advanced Beginner (or “unconscious incompetence”) stage. They do not recognize important context in a problem space. They do not sense that acquiring or applying a certain skill (or skillset) would modify their approach to problem solving, and they deny the value of those skills. These are the sort of people you might describe as "having had one year of experience five times."

In software development, Advanced Beginners that are satisfied with their small skillset end up producing code that is difficult to maintain or evolve. They miss opportunities to conceive of and produce code that is designed to better fulfill the real desires of the sponsors and users of the software. The goal of the Academy is basically to produce people who are well-equipped to go beyond the Advanced Beginner stage and gain the first set of skills on their road to Mastery.

Our approach is to expose participants to themes, concepts and skills through teaching and examples. Then, we help them establish their ability to recognize and apply what they are learning through repeated application in increasingly complicated contexts. Many of the skills we concentrate on are not taught (or at least not emphasized or put in their proper perspective) in colleges or other bootcamps.

Do you see a man skilled in his work?
He will stand before kings;
He will not stand before obscure men.

- Proverbs 22:29 (New American Standard Bible)