The best way that we can empathize with a developer for me was to make the developer work. Yes, I’ve been a developer for some times before I decided to specialize in User Experience Design and now for my end of studies project, I still have to develop a website (last one maybe?).
I’ve almost completed the UX Design process which the final deliverable is the cliackable UI prototype that I’m trying to create. Before that, I’ve made a lo-fi clickable prototype and I was thinking about the tools I’m going to use. For example, we need a WYSIWYG (what you see is what you get) editor. Of course the developer can create one but we don’t the time for that and it’s actually a waste of time to do that anyway in the kind of project I’m working on. So before making the lo-fi prototype I have to decide which editor I’m going to use so I can remake it in the prototype to test it. The better way to test it though is to do it via the live demo of the editor. You can then test a lot of choices and choose which editor goes well with your project and has a better usability.
It’s easy to fall in this hole of hell where you just make the design and throw it to the developer. You have to empathize with the developer but what does that mean?
You have to know if the developer:
has the time to implement the features the way you present it (it can be much more complicated for the developer)
has the right skills to implement them (Don’t just throw some complex SVG animations to a developer who knows little about SVG animations)
And if it’s possible to make something that will satisfy the user needs, the business objectives and also that will make your developer less frustrated implementing your prototype. Why don’t we make their lives easier?
I know it’s a non idealistic way to work when adjusting yourself with the developer time and skills but it’s a more realistic one, where everyone can feel that they’ve been thought of and then everyone will do their best and surpass their limits.