Monday, August 22, 2022

Developers: Customer Empathy!
by Ron Lichty

photo of developer shaking hands with a customer
Uncle Bob Martin once noted, “Writing clean code is what you must do in order to call yourself a professional developer.”

That’s not enough. To call yourself a professional developer you must also write usable code. Code that results in transparent-to-your-users and transparent-to-your-users’-goals functionality. Users should feel as if it’s not even there, it just does what they expect, it transparently lets them get their jobs done.

I was at Apple from ’91-94, managing development of the UX of the Mac, the Mac Finder. I found myself hiring for "customer empathy", not just stellar C++. “Customer empathy” were not words that were even used then. I made them up to try to describe what I was looking for: developers who were focused not just on code but on the people counting on it to accomplish their goals. The rest of the computing world would surely catch up with my hiring requirements in 5 years and be doing the same. (7 years? 10?) It’s been 25 years.

One of my Mac Finder Team developers reminded me recently that I’d memorably shared, as model for an engineering work practice, an experience from my pre-programming days, when I’d been a journalist on a daily newspaper. It was the era of hot-wax paste-up. Once I’d finished my news or feature story, a layout artist would precisely position strips of computer-set story copy onto dummy pages, weaving them around photos, using a roller to adhere them to the page.

It was eye-opening the first time but I was amazed over and over: when layout felt wrong to him or to me, he didn’t hesitate to strip the dummy of all copy and photos and completely start over. It wasn’t just my job to tell the story; it was his, too. On behalf of reader and story, not only did I edit my story mercilessly, but he was willing to be merciless to get story and photos laid out perfectly - multiple times if need be - to let the story leap off the page - to give the story the meaning and the power it deserved. It was more important to get the UX of the layout right - to tell the story graphically not just verbally - than to feel any compunction about ripping it off the page and beginning again.

I urged my Mac Finder team to have that same willingness - eagerness, even - on behalf of our users and our functionality - to ensure it served our users superbly. If we felt a whiff of unevenness, if our UX designer expressed any concern or saw any user test falter, if we heard any question from any corner, … then we should evaluate and reevaluate if we’d achieved that purpose. And it not, then we should redo it. Even if it required rework multiple times. Our customers and users deserved that.

Everyone’s customers and users deserve our getting UX right.

Even if it means tearing out code and starting over.

25 years since I imagined a world of user delight - users delighted with their software - all of their software - all users - there’s still too much focus on fixed scope and fixed dates - and nowhere near enough on customer empathy.

How long must we wait before customer empathy is a hiring requirement for every software developer, and our businesses stop delivering mediocre-at-best user experiences?


At 10:57 PM, March 31, 2024, Blogger Real bookshop said...

This comment has been removed by the author.


Post a Comment

<< Home