Why Software Developers Suck at UX

Note: “Generally speaking” should be placed in front of basically every sentence in this post. These conclusions are completely based on my own subjective experiences of working in Silicon Valley for 3 years, running a startup for 2 and freelancing for 5.

I get brought into a lot of projects where the engineering team had created user flows and user interfaces, then either pre launch through user testing or post launch through user feedback, the client discovered those designs were far too complex for their end users. So why do those engineers suck at design? They’re far smarter than me, they understand their domain much better than me, and they’ve been working on that specific problem for many months or years. In fact, it’s so rare for a good engineer to be a great UX designer that they're called ‘unicorns’.

One of the more obvious reasons is that because they’ve been working on the specific problem for so long they have blinders on, and can no longer view it from a 30,000 ft view. There might be emotional attachment to already existing solutions that were thought up months ago. But the reason I wanna mainly talk about is that engineers, developers, whatever you want to call them, function in a different way than the general population, who tend to be the end users. When engineers are developing products strictly for other engineers, like a Chrome extension for debugging code or some sort of command line tool for example, their UX is fantastic. This is where the idea of building something for yourself comes from. So that means they don’t actually suck at design.

But when they have to design something for someone whose mind doesn’t work like an engineer, it’s a different story. They feel like things are getting “dumbed down” too much, and that “obviously this makes sense”, when for their end user it does not. There is too much of a disconnect between their understanding and mental framework of technology compared with the common person, and a larger amount of empathy is needed to bridge that gap. And that amount of empathy is hard to fake. I imagine that it’s like when you’re trying to explain something technologically mundane in your world, say, Instagram Stories, to your grandma who can barely send email. Bridging that gap requires a larger amount of empathy and patience, not because your grandma is dumb, but because her mental framework of technology is quite different than yours.

So why is it that UX designers supposedly have the ability to bridge that gap with everyone? I think great UX designers just grew up naturally having much more empathy towards others and having a much better ability to place themselves in others shoes and see the world from their eyes. I would argue that generally speaking in the real world this is a burden, when others can’t empathize with you but all you can do is empathize with them… makes it really difficult to not take on other’s pain, to not be the one who bends their rules to accommodate others, to not have solid boundaries, to not be as defensive in arguments. But in the technology world, that allows for great user friendly designs.