« From People to Programming.. | Main | Zeno-Length Iterations »

September 10, 2009


Dave Hoover

Michael, this is bang on in my experience at Obtiva. I will follow up with a blog post response soon.

Brent Snook

It's interesting to see you draw parallels with Gordon Ramsay. I've had similar thoughts when watching "Kitchen Nightmares".

I always thought "I'd love to be able to affect change that efficiently without getting spat straight out of a place". I then realised that he would probably get away with so much because each of those restaurants were in a desperate situation and willing to try anything.

I think it can resemble a situation where a company is going down the path of Agile adoption; if they aren't trying to solve some major problems or aren't desperate, they're less likely to be willing to take on major changes.


Nilanjan Raychaudhuri

In our company we try to avoid having roles and we have developers including me doing everything it takes to deliver software but UX/UI always seems like you need different kind of specialization.

Dean Wampler

I've thought about this comparison for years, too. I blogged a few years ago about a personal friend of mine and Master Chef, Rino Baglio.


Kevin Lawrence

I have a theory that a talent for UX is quite rare (as is the talent for software design). Programmers aren't especially bad at UX. Most people are bad at UX - including most graphic designers.

Our industry hasn't yet figured out that UX design is important and until it does, software will continue to suck.

Rafael de F. Ferreira

@Kevin Lawrence

Even if talent for UX seems to be rare, I don't see it as a reason to abandon hope to find (or help develop) programmers with skills in the area.

I liked Michael's analogy with "having great technical chefs with a tasting impediment". The recognition that one cannot be a great chef if he/she can't produce food that tastes great carry over to the software field: one cannot be a great programmer if he/she can produce software that's usable and appealing.

pete wildermuth

excellent article
I wrote this article on Web 2.0 is like cooking before I saw yours
thanks for a similar slant with software


Excellent Article: definitely where the industry is headed. Love the leaning toward UX and can confirm that from my experience hiring at Eden.

Thomas Hellstrøm

I liked your blogpost and I totally agree that if you set out to be one of the top software vendors (or restaurants) you need to be professional in all roles. That is why Ramsay is so upset too since people can't live up to the product they are selling you.

Peter Gillard-Moss

I think the lack of UX has a lot to do with the primary focus of businesses and developers.

To keep the restaurant analogy: the customer/business wants the food/product, the chef/developer wants to cook/build it well.

Both have forgotten entirely about front of house/UX. Anyone watching Ramsey will know that he focuses as much on this as he does the cooking.

James Christie

Great piece. This is exactly what I feel. I've been through the big corporate IT treadmill. In my younger days I was slapped down by senior management for throwing things round the office when people were screwing up because they just didn't care (I'm Scottish, like Ramsay). I grew out of that to the point that I was considered an asset for my ability to keep my cool in front of provocatively stupid customers. But a bit of you dies if have to keep hiding the fact that you care, that you don't like producing 3rd rate crap at the lowest cost.

Since I left the corporate life my enthusiasm for IT has been reborn. I've really been enthused by UX. That perspective is exactly what was missing from the techno-driven, "be grateful for whatever we give you" paradigm I'd grown up with. I've also been excited by the opportunities Agile has given for UX to be drawn into the heart of the development community, provided the UX people really want to shed their independence and get real influence at last.

It was an interesting point about most developers lacking the right "neural wiring" for UX. That's probably historically true, but perhaps more important is that UX never really featured in the education, training or experience of developers. If they thought about it at all (unlikely) they saw it as peripheral, out there somewhere, a subjective and imprecise discipline that had no real affinity with the clear, logical, realities of software development.

Developers aren't born knowing about all the essential disciplines surrounding the actual coding. They have to be taught the value of configuration management, release management, security & carefully designed databases.

If they are exposed to UX right from the start of their careers and if they are constantly shown how important it is to the development of high quality applications then they will get it. Maybe not many of them will be talented interaction designers, but at least they'll avoid the crasser mistakes we all used to make. They will recognise the need to work with the UX professionals, and they will see the value in what UX can contribute to the work of the team.

Marjorie Pries

Ditto all the previous comments. Four or five years ago, I began to wake up to what UX was really about and pushed for it within my small sphere of influence, but it has taken the topic a long time to gain momentum at my employer, mirroring the same slow pace of recognition that has gone on in the larger world of software development.

I think Michael especially nails it when he talks about boutique software shops and UX because, ironically, when I joined my employer nine years ago, they were more of a boutique then they are now. Today, I find myself partnering with a like-minded colleague and an outside UX shop as we try to demonstrate the value of a "boutique" team within that larger firm.

Fred Ballard

I know the "mise en plus" principle (everything in its place before you start) that I learned in cooking class has been vital to me in cooking and useful in coding.

Kalle Svartholm

Really good post!

I'm daily frustrated over the fact that most software is hard and painful to use. Most of the time it is the user experience/interaction that is seriously lacking.

If I wasn't involved in software development, I would probably think that the problem was me, that I was too stupid to interact with these arcane systems. At least I wouldn't know that software could be any different. Having an idea about how software works and how it is constructed increases your ability to criticize it, and allows you to think about how it should have been done or how it could be improved.

My point being; It appears likely that an interest for user experience/interaction should come naturally to software developers. The people who constantly pour their frustration over crappy software. Or maybe it is just me...


Lets be honest, when fundamental development thinking is less "this is functional and *they* will learn how" and more oriented in asking "is this intuitive, desirable, and meeting our *users* goals? Let us test repeatedly to make sure." is when the Gordon Ramsay's may surface.

I believe it's possible but too few and far between in my experience. I look forward to the reality of this in my career and lifetime. Until then may more posts like this catch fire and cook some goodness ...


A very interesting post, Michael, but there's one point you make that's not quite right, namely the a bit about chefs with a tasting impediment. Grant Achatz, the chef at Alinea, one of the USA's best restaurants, had tongue cancer, and cannot taste. Check out http://www.newyorker.com/reporting/2008/05/12/080512fa_fact_max for an idea of how he separates taste and execution.

Fred Ballard

There's a very successful restaurant group in New York. When the head of the group, himself a chef, was interviewed, he said the key to his success was that he put his employees first. By doing that, customer satisfaction and delight, and his restaurants' success, followed naturally.

(I'll try to find the reference, but the interview was years ago, and I'm not holding out a lot of hope of finding it. I don't live in NYC and I've never been to any of the restaurants, so I basically have nothing to search for.)


I have found that in the last few years, that the "programmers can't do UI" meme has made a really self-fulfilling prophesy. Sure, there are lots of developers with a really bad sense of usability, but I went through a CS program with a heavy concentration on HCI. In industry, I have found many places where my opinions just aren't welcome, because I am "just a programmer." I'm not a graphic designer, and I haven't tried to be one, but I have seen a lot of success working in collaboration with a more "design" oriented UX person. I think there should be more of this type of collaboration as a normal team structure.

Chris Holmes

Brilliant that you posted this. I'm a huge fan of Ramsay. Not only is the British version of "Kitchen Nightmares" great, but check out "The F-Word". That show is even better. And watching it, you really get the sense that Gordon is actually a great guy and someone you'd want to hang out with and learn from.

But to your post, you wrote: "That thing which constitutes that specialness in software probably isn't clean internal structure."

If you watch "Kitchen Nightmares" with any regularity, and "The F-Word", you will notice that while you are right that the user experience is the ultimate goal, everything that Gordon does is in service of that goal. And that includes maintaining a CLEAN kitchen.

Gordon goes absolutely ape when he runs into a filthy kitchen. But he also goes ape when service stinks, food is cooked wrong, etc. Every aspect of the kitchen and the service does into MAKING the user experience what it is.

Software is no different. The tools we use, the way we write and test our code, how we maintain it internally, the processes we use, how we deploy it and maintain it, all of those things go into providing the user experience. If you have filthy code you will eventually have a crappy user experience.

That has been the lesson I've taken away from Ramsay in my time watching him (and like many, I too have noticed the comparison). You have to have a clean, professional and well-run kitchen before you can provide the ultimate user experience.

Alex Beamish


I'm a fan of Gordon Ramsay's, in part because I'm a closet gourmet chef, and in part because I share his quest for perfection, both in cooking and in software development. (Well, everything, actually -- I'm Mr. Hypercritical.)

This afternoon I'm going to stroll by amazon.ca and order Ramsay's book. It'll be an early Christmas present to myself.

This is probably my favourite blog post of the year. Thank you.

Patrick Morrison

I think Eric Ziebold, in his days at 'The French Laundry' might have been the guy who did the service single-handed.

I think you might enjoy 'The Soul of A chef' by Michael Ruhlman, which is part of his chronicle of the pursuit of perfection in the culinary world. One of his subjects, Thomas Keller, is a master of the 'keep your station clean!' school of cooking. Keller has said, several times in several places, that a restaurant requires a good 'back of house' person (chef), a good 'front of house' person (service) and a good business person, and that his 'French Laundry' wouldn't have been a success had it ridden solely on his skill. Applied to software (loosely), I think this means it's ok to not be all things, as long as you recognize that you need a team to be 'all things' for the purpose of providing your intended service to your customers. As gifted as Keller is (and look at the chefs who have come through his kitchens - Achatz, Ziebold, Lee, Benno, ...), he knows he doesn't have it all, for the purpose of running a restaurant. I may have misread, but you seem to be suggesting that only those who can combine UX with development skills can reach this goal; I suspect that the road is a bit broader if everyone realizes what's important and organizes themselves to focus on that end.

I've thought of ObjectMentor as the kind of boutique shop you describe. Do you think of it otherwise?

Angelo Hulshout

Hey Michael, I came across your blog due to a Twitter reference. Nice post on Gordon Ramsay - I wrote about the same thing almost 5 years ago: http://www.hulshout.nl/?s=ramsay

Nice to see different people get inspired by the same thing!

Angelo Hulshout


Isn't Object Mentor, at least in part, a Software Boutique Shop?

What do you think makes you better than others in that respect?


IMHO as a developer, we're more like electricians, plumbers, sheetrock guys and HVAC guys. We build all the pieces to make your UI work.

I don't know how to design a finely tuned and nuanced UI, much like electricians and plumbers don't know how to design buildings and manage human traffic flow in the building along with all the other nuances that need to be understood to properly design a building.

Designer != developer. Designers design things. Developers build them.

Being able to do everything, while an admirable goal, simply isn't possible without some glaring inadequacy.

There's not enough time on the earth to learn it all to a level resembling competence, and still have a life outside of your work.

Give me a flow, some design templates and I'll wire them into an application for you, make me design your user experience and I promise you won't be satisfied with the result.

IMHO UI people and hardcore developers are simply wired differently. It takes incompatible mindsets to do each job.

I've worked with stellar UI guys and I can safely say that I can not do their job. They can't do mine either ;)


Great analogy! I really like it!
Recently I started posting interestnig analogies I found on the web on blog.ygolana.com. I thought it could be a good idea to create a place where people can share useful analogies.

The comments to this entry are closed.