Video: Out of the box ideas to improve software development


I gave this talk at SC London 2018. It’s one of my favourite talks to date, focused on exploring a few different, out of the box approaches to understand and improve software development. I tried to draw parallels between code and programming on one side, and material physics, design, or engineering on the other side. You need to be aware that this is an exploratory talk, and therefore...

Why I Write Books


I got this question repeatedly since my last article on the topic. Readers asked me how much I make from a book, and what are my benefits for writing books. I wrote before about why I published my first book, “Usable Software Design”. It was simply because I wanted to publish a book, and because I believed that the ideas related to usable software design deserve to be heard. I wanted...

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

Working with a Publisher


How time passes! It seems only yesterday I was publishing my first book, after starting it in a completely unplanned manner. Yet that was 2016, and we’re in 2019 now. 3 years later, I published my third book, “Hands-on Functional Programming with C++”, and my first book written with a publisher. Once again, I feel compelled to write about the process, for one simple reason: I... 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.