Software Craftsmanship Paradigm

The definition of how software is built has evolved through multiple structural waves. Although the term “Software Engineering” was coined as computer science matured from academic mathematics to corporate programming, software development has rarely behaved as a traditional engineering discipline.

The Evolutionary Waves

1. The Civil Engineering Metaphor (Waterfall)

In the early corporate era, software development was likened to civil engineering (e.g., building a bridge). This gave rise to the Waterfall Process:

  • Methodology: System design and full specification Coding the specification Testing Final Product Delivery.
  • Business Model: Aligned with software-as-a-product. Users purchased a license and a physical copy of the software (such as on a CD) and paid again for subsequent upgrades.
  • The Leaky Abstraction: Bridges are physical and require complete pre-specification. Software is malleable, organic, and must evolve over time.

2. Software as Authorship

As software shifted to SaaS (Software as a Service) and subscription business models, the civil engineering metaphor broke down. Thinkers began arguing that programming is closer to Authorship:

  • Style and Expression: Writing code is like writing a book. The style, legibility, and elegance of the prose (or source code) matter as much as the function.
  • Individual Ownership: Programmers possess strong, distinct opinions on readability, clean code, and formatting.

3. Software as Craftsmanship

The authorship model naturally matured into the Craftsmanship paradigm:

  • Pattern Reuse: Much like book authors do not invent vocabulary or genres from scratch, software craftsmen rely on established Design Patterns and habits to maintain readability and structure.
  • Team Guild Model: Craftsmanship is passed down through pairing and mentoring. A junior enters with fresh theory but no execution; they make mistakes, learn from pairing with senior engineers, and eventually become seniors who mentor juniors, own architectural decisions, and evaluate broad trade-offs.

The Future: The Collapse of Craftsmanship

This long-running craftsmanship model is highly likely to disrupt with the rise of Generative AI:

  • Industrialization: Large Language Models (LLMs) and coding agents have the potential to industrialize software production at scale.
  • Implications: The craft-based mentoring cycle and the value of handcrafted “style” will undergo major shifts as the speed, volume, and mechanics of code generation shift from craftsmanship to programmatic assembly.