|
[pulls up chair, sits backwards] OK so this is a question I'm arguably qualified to talk about -- I focus on usability and promoting it within a large tech company. The problem that I see a lot is that engineers are not well-versed in what I will call 'imaginative empathy'[1], which, as I define it, is the ability to creatively conceive of end-user needs by reflecting at length on who those people are, what they desire, and what they expect, _even when the end user is a very different kind of person than the developer_, with different strengths, weaknesses, and expectations. I'm at this moment setting up an internal programme to try to beef up imaginative empathy among engineers. My premise is that imaginative empathy is actually not hard to train for -- people in helping professions (counsellors, therapists, social workers) get pretty good at it, as do novelists; but, like any muscle, it can atrophy, and it is emphatically not something that is tested for in most interviews. Therefore, since it is not selected for, it is often not in abundance on any particular engineering team. A book that inspired me in this approach is _Anthro-vision_, by Gillian Tett, which is a gift to anyone who makes anything for another human being, and wants them to enjoy it. 1. Empathy on its own isn't enough -- people tend to empathize most with people who are most like them. Sometimes this is enough on its own -- if you're a neovim obsessive (like me :D) and you're making an extension for other neovim obsessives, you can run on just regular empathy. But most of the code I write is not written for 'people like me', it's written for people in the general case, and that means a cognitive stretch. Imagining the Other and attempting to be of service to them requires imagination. I'm inspired in this observation by Buddhist 'metta' practice, and the ways in which the Buddhist conception of 'compassion' differs markedly from what is often called empathy by contemporary professional psychologists. |