Advanced Software Craftsmanship Training Program
This software craftsmanship course takes you beyond the mechanics of programming to develop the deep thinking patterns that separate good developers from great ones. Through hands-on challenges, real-world case studies, and practical design work, you'll build the intuition and judgment that defines true software craftsmanship.
Detailed Course Curriculum
TRACK Framework — Prevent complexity before it kills productivity
ADAPT Framework — Design systems that evolve, don't break
See These Principles in Action
Don't just take our word for it. Here are real examples of the kind of thinking you'll develop in this course:
Beyond Fowler's Refactoring: Advanced Refactoring for the Theatrical Players Kata
Move beyond polymorphism to principles and refactorings that are essential in production code.
Beyond Design Patterns: What Conway's Game of Life Teaches Us About Software Design
How foundational principles reveal both excellence and pathology in real code. Learn to diagnose problems at their root, not just treat symptoms.
Beyond Extract Method: What Elite Developers See in the Tennis Kata
See an example of the 8 advanced patterns most developers miss when refactoring code.
Gilded Rose: Four Complexity Patterns in One Kata
Master the TRACK framework through a real-world example. Discover how temporal coupling, ripple effects, and knowledge duplication destroy codebases.
Gilded Rose Kata: What Everyone Misses
Why most refactorings fail to address the root cause. Learn to identify and eliminate the hidden complexity that makes code unmaintainable.
Clean Code Is About Boundaries—Everything Else Is Just a Side Effect
Discover the fundamental principle behind all clean code practices. Learn why understanding boundaries transforms how you design systems.
These articles are just the beginning. In the course, you'll apply these patterns to real codebases, work through dozens of exercises, and develop the instinct to spot complexity before it becomes technical debt.
Master the Four First Principles of Software Design
Before you even start the course, we want you to understand the foundational thinking that makes everything else possible. Our required pre-reading is a comprehensive 4-part series on the irreducible principles that govern all software design:
Causality
How cause and effect structures all software. Clear causality means predictable behavior.
Boundaries
How drawing lines between concerns controls coupling and enables reasoning.
Constraints
How making illegal states unrepresentable prevents entire classes of bugs.
Temporal Ordering
How managing time, sequence, and concurrency determines system complexity.
Why these four? They're both necessary and sufficient. Ignore any one and you get fundamental problems. Together, they explain every pattern, every architecture, every best practice you've ever learned.
After reading this series, you'll be able to:
- Evaluate designs objectively—not by patterns, but by principles
- Diagnose problems accurately—"there's a causality violation" not "there's a bug"
- Learn new patterns faster—recognize them as applications of principles you know
- Develop intuition that doesn't depend on having seen the exact problem before
"Patterns are templates. Frameworks are scaffolding. Principles are foundations. Build on the foundation, and everything else becomes easier."
Course Format
Maneesh Chaturvedi
Principal Engineer & Architect with 25+ years at Microsoft, Lowe's, Target, Intuit & Yahoo