Software craft is for me…


Through a very fortunate accident, I’ve been involved with the Software Craft movement almost since its beginnings. It’s been almost 10 years of non-stop learning, meeting people who I respect and learn from, and meaningful conversations. Yet I always felt something was missing.

Software Craft is a loose, young, complex, and evolving social movement. It represents different things for different people. Some see it as a belief system. Others see it as a renewal of old guilds. Some see it as a metaphor, while others recognize its realities. For others, it is a pragmatic idea, required for an industry in its teenage years.

All these viewpoints, despite being contradictory, make sense. From a logical perspective, I understand all of them. But what was missing was my personal answer to an important question: what is so appealing about the Software Craft idea?

Why did I spend many days at Code Retreats? Why did I pair with so many people? Why do I practice TDD, refactoring, software design, and software architecture? Why did I facilitate hands-on events? Why did I speak about Software Craft? Why was I part of SoCraTes and I TAKE Unconference? Why do I still want to travel and talk about it? Why am I writing about this?

You might think I have nothing better to do. Well, I enjoy geeking out about Star Wars, MCU, or Star Trek. I like to read. I play Starcraft II and Civilization. I like to cook. I love single malt scotch (the smokier the better). And that doesn’t even mention work. I could go on, but you get the point. So why Software Craft?

I’m writing this just minutes before leaving to my brother to have a grill together. While I was prepping the ingredients, in one of the rare moments of sudden discovery that can only appear in a relaxed mind, I finally understood my emotional bond with Software Craft.

You see, I couldn’t just go to the grill. I spent about an hour to make the right cuts, to make a marinade, to plan the next steps. In the same way, I can’t just play Starcraft II; I practice my builds, master my keystrokes and improve my micro. I can’t just write; I’m reading about phrase structure, creating flow and improving my English. I don’t do these things because I want to, I do them because I feel that I have to. And software development just gets the same treatment as everything else.

It boils down to this: I strongly believe that whatever is worth doing, it’s worth doing right.

This simple and direct statement explains a lot. It explains why I choose to work only on certain things. It explains why I’m focused on education. It explains why I’m always seeking for improvements, and why I’m never fully happy with my work.

The Software Craft movement is the opportunity to learn what is right for software development. It’s not a promise. It’s not a certainty. It’s not perfect. But the things I’ve learned, the people I’ve met, the meaningful conversations I’ve had are very good reasons to continue.

Everything is much clearer now.

Add comment Reflections on design, craft and software

A new home for merging ideas about design

It is my strong belief that software design can learn a lot from other design disciplines. I wrote blog posts, a book and did talks on this topic, and it was time to group them all together. These ideas have now a new home: My plan is to add more blog posts there, and to involve other people doing work in this area.

Read My Book “Usable Software Design”

How UX techniques can be applied to software design to develop software better (given that the developer is the user of software design).

Read My Book “Coderetreat Hosting And Facilitating”

Learn how to facilitate and host a coderetreat from two of the most experienced coderetreat facilitators.