When To Optimize For Pleasure

This weekend, I finally got to watch DHH (the guy who started Rails) talk about Rails and Backbone.js in a recent meetup at Manilla that I missed. The talk was almost two hours, but I highly recommend watching all of it. Here it is in case you missed it:

Here are a few takeaways that I absolutely loved:

Code In The Language You Enjoy Most

At several points, DHH mentions that the reason he uses Ruby over other programming languages is because Ruby is the most pleasurable language to work with for him. That is what he optimizes for – enjoying what he’s doing. That’s pretty awesome.

Do The Work For The User

Ultimately, the user experience is the most important. So if we, as programmers, have to do more work to make the user experience more pleasurable, then we need to do it even if we might not fully enjoy the work.

One example DHH gave was filling out forms. If the user enters incorrect information, it feels horrible for the user when the application tells her there are errors in the form and it was not actually submitted (e.g. your username has to be at least 6 characters). Try to minimize the errors that the user sees as much as possible, even if that means you have to do more work like decoding weird characters on the back-end.

Don’t Get Overly Excited By New Stuff (unless it brings you the most pleasure)

Backbone.js is not as fun to work with as Ruby. So while some companies have gotten on the popular Backbone.js wagon full force, 37Signals, where DHH works, only used Backbone.js to do things that were absolutely needed but impossible to do with Ruby.

Enjoy the article? Join over 20,000+ Swift developers and enthusiasts who get my weekly updates.