Software Craftsmanship Principles

Overview

A consolidated reference on professional software craftsmanship principles drawn from foundational texts: The Pragmatic Programmer, Clean Code (Bob C. Martin), Modern Software Engineering (Dave Farley), Best Practices for Developers (KDAB), and Good Programming Practices. These sources converge on iterative development, maintainability, and the alignment of code quality with business outcomes.

Core Principles

Code Quality

  • Write code for readability first, performance second
  • Meaningful names over comments; self-documenting code is the goal
  • Single Responsibility Principle at every level (function, class, module)
  • DRY (Don’t Repeat Yourself) balanced against premature abstraction

Professional Practice

  • Own your craft: continuous learning is a professional obligation
  • Automate everything repetitive: builds, tests, deployments, formatting
  • Estimate honestly; communicate uncertainty early
  • Refactor continuously; technical debt compounds like financial debt

Development Workflow

  • CI/CD as the backbone of quality assurance
  • Trunk-based development for team velocity
  • Environment isolation (dev/staging/prod) for safety
  • Feature flags over long-lived branches

Design Thinking

  • Design for change; the only constant is requirement evolution
  • Minimize coupling between components; maximize cohesion within them
  • Prefer composition over inheritance
  • Make decisions reversible where possible

Source Materials

  • Pragmatic Programmer (Andrew Hunt, David Thomas)
  • Clean Code (Robert C. Martin)
  • Modern Software Engineering (Dave Farley)
  • Best-Practices-Dev (KDAB)
  • Good Programming Practices

See Also