Software craftsmanship is the movement that saved me from becoming a developer angry at managers, customers and colleagues. It gave me a direction and it helped me learn much more than I ever expected.
Software craftsmanship is a complex phenomenon, mixing social learning (communities), technical practices, the idea of continuous learning and improvement as a professional (either alone or with the help of others) and the attitude towards managers, customers and colleagues. It’s under development, and will probably continue to be for many years.

I was part of the movement very early and I have some strong opinions about it that I try to document here.

Unit Testing, Automatic Testing, TDD – Pros and Cons


I had a lot of recurrent conversations over why we should use automatic testing, unit testing or TDD. Through these conversations, I’ve heard a lot of arguments pro and con to these techniques, so I decided to summarize them. To be honest, I am very passionate about TDD. I believe this technique is a must know for every developer who’s serious about his or her craft. Despite my... 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.