A great developer makes me a great designer because they make my design come alive and improve it in the process.
Such a developer gets it. Understands what I’m doing. Sees the value in it and respects it. I have worked with many developers that just don’t get it and a few that actually do. And they make me better at what I do.
There are varying reasons for developers not getting it. Here are a few that come to mind that I’ll discuss in turn:
- They don’t understand
- They don’t want people meddling in their work
- They don’t care
Some don’t understand UX and they truly don’t see that the changes that they make influence it. They’re not trying to be obtuse, they just don’t see it. You may show them the design and then their implementation side by side and they don’t see that there is a difference or even if the see it, they don’t see what difference it makes.
– Then it’s my job to make them see it. Make them see that you have a different perspective than they do, that you are thinking of a bigger picture, that you have input from other sources (users, theory, research etc.) and therefore you have made the design this way or that. Listen to him and discuss his points in this context.
Some just don’t like other people to have an opinion on their work or their part of the system.
– Then it’s my job to make them understand that working with me makes them perform better (and thus more glory for them).
Some actually don’t care (because they’re sloppy/burned out/spiteful/…).
– Then you have a bigger problem that truly needs the attention of the PM. Because if they doesn’t care about UX then my guess is that they don’t care at all. Then they’re showing other members of the team the same attitude (try asking the QA people). And that means they’re producing a substandard product.
Some of the best developers I have worked with have initially not gotten it. With time, with effort, with discussion, by earning respect they have. Of course it’s not a part of your job description and it can be infuriating at times because there is plenty of stuff that needs to get done but it’s the only way I know of that makes the product better.
I am not saying that my favorite developers implement my design without changing it. Of course they change it. Sometimes you don’t see that the design doesn’t work until it’s running. Sometimes you don’t see that you need to accommodate this type of data or that until it’s there. No design goes through implementation exactly like it was drawn out in wireframes or prototypes.
The difference is that the they don’t make a change unless they discuss it with me. Sometimes, when they’re completely on board with the design, they might make a change without consulting me first but it’s in line with the design so when they show it to me I agree. Then you can really take off as a team and produce wonderful stuff.
We more often discuss those that don’t get it than those that do. If you have a team member that makes you better at what you do, give him a pat on the back. 🙂
– Inspired by a great discussion in the Interaction Design Association group on LinkedIn.