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.

Thoughts on Craft vs. Engineering


I recently started working on my fourth book, “Mastering Software Engineering in C++”. This led me to a few thoughts on the role and state of software engineering. My thoughts are still in flux, so I expect to change some of my views in time, but I found it useful to share them and to ask for your opinions. More articles may come. I’ve been involved in the software craft...

I need your help to learn from other engineers


Notes by Leonardo DaVinci – a lost art for software development I have good news: I’ve signed the contract for my fourth book. It will be about Software Engineering in C++, and I’m very excited about this project. If you’ve read my blog and listened to my talks in the past few years, you know that I’ve become very interesting in intersections between software...

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...

One less excuse


It recently dawned on me how often I say or hear the words “our industry is young”. There’s truth in these words. Architecture, medicine, craftsmanship, engineering – they all started thousands of years ago. They had time to make mistakes, to learn from those mistakes, to come together as a profession and define it, to build tools and practices and to improve upon them, to...

For The Perfect Programmer


There’s nothing to read here for you. Really, nothing at all. You are a perfect programmer. Your code is the best you’ve ever seen. We all bow to your wisdom and awesomeness. There’s nothing more for you to learn. There’s nothing left to practice. There’s nothing left to read, no conference that can teach you things, no community that can advance your skills... 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.