Mathieu Eveillard

Your First Steps in Software Craftsmanship

Your First Steps in Software Craftsmanship

The question comes up frequently:

“I feel that software craftsmanship is important, but where do I start?”

Excellent question! Yes, excellent because it already contains part of the answer: “I feel that [it]’s important.” The desire to learn, to improve one’s practice, and to work better is already taking root.

And that’s really the essence of it. Because software craftsmanship (or “Craft”) isn’t defined by its practices but by its values: a love of a job well done, humility, the desire to learn and share knowledge. A deep-seated commitment to continuous improvement (let’s get poetic 🎵).

Okay, but in practical terms?

Here’s a menu that makes sense to me:

What about refactoring?

Refactoring is a meal in its own right. If you haven’t fully digested the previous course, it’s best not to dive into it right away. Because before learning how to bring existing code up to the target standard, you first need to be clear about what that target is. And to give you a taste of the topic, the “how” involves discussing the Golden Master, the Mikado Method, and the Strangler Fig pattern.

There’s no rush to learn refactoring. Making progress on the three pillars of software craftsmanship (readability, testability, modularity) already helps reduce technical debt 👍

But then again, as we know, there’s more than one path. Craft is, first and foremost, about connections. People who reached out to me, perhaps at a time when I couldn’t do it myself, when I was alone at home… sorry, I’m getting sidetracked.

There’s some truth to that: some people will help you grow more than others thanks to their expertise, their teaching skills, and their infectious enthusiasm. That’s what I’ve experienced and continue to experience.

But before that, there isn’t even a single destination. You might want to delve into one topic more than another—out of curiosity, for pleasure, or out of necessity—and that’s perfectly fine. The field of knowledge is infinite.

(*) Fewer culinary metaphors, please.

← All posts