The teaser “Design” is an overloaded term that causes confusion in software development. It has at least three meanings: design as result (as in “the design of the application is easy to change”), design as process (as in “I designed it using Test driven development”) and design as aesthetics (as in “I love this design”). A clear vocabulary is the...
The aftermath of ‘the three problems’ blog post
In my previous post, I set out three problems that I believe software crafters worldwide should work on in the years to come to fulfill the promise of “raising the bar”. This is a quick update on its aftermath.
Three Problems For The Next Era of Software Craftsmanship
In 1900 David Hilbert challenged the best mathematical minds to solve 23 problems. This set of problems has influenced the mathematics of the next century, leading to surprising discoveries. Probably the most shocking discovery was that axiomatic systems have inherent limitations. Today, a different set of very bright people face a new era. 7 years of Software Craftsmanship has led to changes in...
What I’ve Learned From Publishing My First Book
I had a wish starting from 5th grade: to publish a book. A wish finally fulfilled this year when my first book, “Usable Software Design” became available on leanpub. But this is not a blog post about the book per se. It’s not even meant to convince you to buy it (although you should). It’s more about convincing you that you have to publish your own book. It’s fun, it...
Future Internet: centralized or distributed?
I saw last evening the documentary “The Internet’s own boy”, about the life of Aaron Swartz. His life was very impressive, and it made me think more about the Internet and to its social value. That is still a work in progress, but I have some things to share. I’ve struggled to understand the Internet for a very long time. This may sound very strange coming from a...