Empathy ain't useless! Learn it!
Now that I'm a mentor at DevBootcamp, I get to talk with a lot of learning developers, help them and see their final projects.
Every single new graduation, my mind gets blown, not only by how good the projects are, but also by how much the program became better and new graduates are just infinitely better each time.
I think the knowledge is almost doubled every new cohort, and it's really mind blowing to see the program itself learning and getting better.
I remember when I was there, every wednesday morning we would have what was called Engineering Empathy, or cry wednesday. We would forget about our computer for the morning, and do more pychological workshop, to get to know ourselves better, get to know how to give good feedback etc. Empathy was an important keyword.
Now that I get to watch this as an outsider, I see how the focus is put on being a good co-worker by accepting positive like negative feedback, and being able to have more empathy. (It's harder than you think to go see a coworker and tell him how much he sucks!)
I loved those workshop, and I think they are really important, and just like the rest, I see students today being way better at it over time.
But one thing that is not said enough, and I think, is even more important than empathy towards coworker, is empathy towards the user.
This last cohort projects really blew my mind; A social app to go watch movies with friends, an app to support the Peace Corps actions and missions, etc. Nice, original designs, good backends, ajax for a nice user experience. I have almost nothing negative to say about the engineering side of those projects.
But for almost all of the projects I get to discover, I have trouble understanding what it's all about.
I get the big picure; Ok this is about the Peace Corps. But for whom exactly? Peace Corps employees? People on missions? People who need help from the Peace Corps?
This is about movies, nice. To watch movies with friends nice. What else? How does it work? What am I supposed to do with it? Is it answering my problem?
This is a big challenge that any consumer product has. No matter why (user conversion, pitch, etc.) you should be able to get your website's visitor know what your product is and if it answers his needs and fixes his problems, in a snap. 20 sec max. 2 sentences.
I remember when I was building something for our House Cleaners, and I was referring to Jobs by their IDs. Something that couldn't be more logical for me.
But when I actually got told than our cleaners might have no idea which job I am referring to, I felt stupid and it made a lot of sense that giving them the date/address might be way better for them.
It is important to develop the capacity to think outside of the context in which we are building something, and put ourselves inside the user's context. That way, you get to build better user experiences, and will increase considerably your conversion rates, happiness and support calls.
After all, you are building things for users, not for yourself (even if it makes you happy!).