Back to blog

On Software Craftsmanship

·2 min read

The State of Things

We're in an era where you can generate an entire application with a single prompt. The barrier to producing working software has never been lower. But there's a gap between software that works and software that's well-crafted.

What Makes Software Well-Crafted?

Simplicity

The most important quality of good software is simplicity. Not simplicity of implementation — that's often complex — but simplicity of interface. A function should do one thing. A module should have one responsibility. A system should be understandable by a single person.

// Bad
function process(data: any) {
  // 50 lines doing 5 different things
}
 
// Good
function validate(input: Input): Result {
  // 10 lines doing one thing
}
function transform(validated: Result): Output {
  // 10 lines doing one thing
}
function persist(output: Output): void {
  // 10 lines doing one thing
}

Consistency

Consistency reduces cognitive load. When every module follows the same patterns, you can reason about unfamiliar code without re-learning conventions.

Discipline

This means:

  • Thoughtful naming
  • Proper error handling
  • Meaningful tests
  • Documentation that explains why, not just what
  • Deleting code that's no longer needed

The Role of AI

AI assistants are incredible productivity tools. But they generate code that's average by definition — the statistical midpoint of all the code they were trained on.

Craftsmanship means going beyond average. It means making intentional decisions about structure, naming, and trade-offs. AI can write the boring parts; you should focus on the parts that require judgment.

Closing Thoughts

Software craftsmanship isn't about perfectionism. It's about caring enough to do things right when it matters, and knowing when "good enough" truly is enough.