Archive for December, 2012

There’s no code like no code

Friday, December 14th, 2012

Last friday I was working on a minimal webshop for the QWAN Code smells & Refactoring cards. I created a small order form on top of a web service to process the orders. It wasn’t much work, a basic service plus javascript widget took me about a morning.

When it was time to integrate with the payment provider, I read through various options. My aim was to go live within a day, so I was looking for the least amount of work that could get us to process payments and ship cards to our customers.

The two main optios were creating an integration through our web service or using a Buy now button that ‘integrates’ as a snippet of html on the shop page.

And then it hit me, that if we let go of something we wanted (volume discounts), we could also have the entire order form behind the providers Buy Now button. Customer data such as the shipping address and the customers’ e-mail gets mailed to us. That is good enough for now, it is unlikely we’ll be selling millions of units for this. The widget and service I wrote would not be needed, which saves us work deploying the service and making sure it keeps running.

So I let go of the code I wrote, and put together the Buy now button.

There are two outcomes of product development:

  • the product,
  • the learning.

I kept the learning and threw the product away, because there is no code like no code.

Sources of inspiration

Stephan Eggermoint coined the best code is no code for our Back to the future, (re)learn Smalltalk session. He was referring to database mapping code. If there is no database mapping, for instance with an OO database, there is also no code.

I was having a chat with Jason Ayers last week, and he was pondering a no code movement.


As a product person, it requires you to be flexible with your constraints. As a developer, you have to be un-invested in the code you write. How many teams do you know that do that?