Flipping the coin: Should developers design?

・1 min read

We all know and have different and loosely held opinions about designers coding. But what about the opposite?

Personally I've had uncomfortable interactions trying to navigate and
performing critical tasks in both school and tax paying system.

At the time there feel like Norman Doors, specially a time when I was asked to create a really strong password in order to protect critical information. After a form was submitted, no feedback was presented to the user. Upon further inspection a realized that a fetch request was made to the server and it has a ~5 second latency. If things go wrong, which they did, no feedback was presented to the user. It was really, really painful.

When you hire a developer, you don't expect her to design, however some UX or UI design is always appreciated. What's your take?

DISCUSSION (8)
 

In almost any job I know of on earth. It helps a lot to somewhat know the work of the person directly in-front and behind any process queue. With diminishing rate of returns further down the chain.

So for a hypothetical fancy restaurant example.

Doorman > Waiter > Senior Chef (cook) > Junior Chef (prepare ingredients)

  • doorman/waiter benefits from knowing each other jobs, as it will help them coordinate the flow of human traffic (smoker section, VIP?) in and out of the restaurant to their appropriate tables.

  • Waiter/Senior Chef benefits from knowing each other jobs, as it will help them manage and communicate the demands of the consumers as the orders comes in (especially as ingredients starts running low)

  • Senior Chef / Junior Chef needs to know each other roles, as it will help in similar fashion ensure the flow of chopped fish/veg/meat/etc.

However for example, its really not needed for the junior chef to know the doorman job, as it will hardly improve each others performance.


So back the programming + design? Strictly speaking nope its not required, just like the restaurent example.

However with thousands of corporate and government website which lacks a designer (due to budget constraints, and that its not meant to wow or sell to users, who instead must use the system, rather then choose to do so)

As you have experienced, while technically functional (if given a manual). It would have been so much more better, if the developer had some simple (not fancy) understanding of design.

So yea, it helps a lot =)

My goto for developers, is to point to material design guide, and ask they try to learn as much as they can from there.

Also one of the key points of "devops" is to bridge this chain, by letting each specialise individual educate across the team (eg. security, educating developers) to help improve the overall product. To help smoothen such flows


Anyway for dev here is the "typical chain"

  • UX
  • UI
  • API for UI
  • Data Services API
  • Database / Infra services (eg. network file servers)
  • Infra Networking & security
 
 

You should be aware how the people around you do their work, and what they need to do their work.

This applies to every Job, not just engineers or designers.

 

@picocreator is spot on.

In my experience, having even a little bit of exposure/internalization of UX and UI design principles makes a huge improvement in what I create. Without considering design, you can do everything technically right, but users might still hate the result. And even subtle changes can drastically improve things. For example, we devs might label something in the UI for its technical attributes: like "public notes" -- a notes field which is public. But the technical attribute means nothing to the user, so their System 1 thinking will automatically classify the information as irrelevant. And they will never even notice it. Instead, they will contact support to ask a question which is already answered by those public notes. But if it were named something relevant to its purpose in their workflow like "Account Problems", they have an increased chance to notice it. So a simple relabeling of the field could prevent a number of support incidents. But as a dev it is all too easy to think only of the technical. And technical excellence alone is not enough for success. Practical design exposure helps to expand the perspective.

 

While division of labor and specialization is getting more and more the norm in the industry, I personally still consider my deliverables to be whole systems (as opposed to, say, Docker containers, Jars, or CSS files). And from that point of view usability is a quality attribute of utmost importance, for which some some design skill is certainly needed.

Having said that, there's nothing wrong with specializing, and for a backend/devops person it isn't necessary to know something about design&ergonomics (although it doesn't hurt to know a little bit about it either). Also, If I can leverage the benefits of collaborating with a good (non-coding) designer, I'll happily do that.

 

As a front-end developer, I would say that for a front-end developer it is a bonus to have some skills in UX/UI design because that prove he is able to understand what designers are doing. It is easier to have a good communication between the dev team and the design team when they can share their feedback and have a comprehension of what aim they both need to reach. But I think it is wrong to expect from a developer to product designs. Unless if he has a real design background and experience.

 

Just to enrich the conversation and for any devs interested in digging deeper, here are a few links:

 

As a dev I'm not a huge fan of designing. I'd rather make fast protoypes (Could be based on wireframes)

Classic DEV Post from Dec 17 '18

Who's looking for open source contributors? (Dec 17th edition)

Find something to work on or promote your project here. Please shamelessly pro...

I code solutions to interesting problems and share the knowledge on the web.