Live data from Hacker News

Ask HN: How to get developers and UI designers to work well together

news.ycombinator.com

51–60 of 141 posts

Re: Ask HN: How to get developers and UI designers to work well together

#51
> For those working in tech/software development teams - do you also find that there's a lot of tension between developers and designers?

Quite the opposite: I typically tend to get along quite well with designers. Perhaps one reason is that I am myself a little bit on the "artistic" side of programming (e.g. with respect to elegance in code).

So, assume that in most cases the designer knows a lot more about what (visually) does look good and what does not and trust his judgement.

This, of course, assumes that you work with a designers whose artistic style is a good fit for an artistic style that you, as a programmer, appreciate for the project (e.g. should the GUI have a minimalistic, or skeuomorphic, or abstract, or realistic design?). I think that sometimes conflicts between designers and programmers are rather about having a very different opinion/vision on this topic.

What value does a designer bring to a project if he is not trusted in his design judgements and design drafts (at least in most cases)? He is intended to be the expert on this topic, and this is part of his role in the project. If such a trust does not exist, the designer simply cannot fill his role in the project.

Just to be clear: a quite similar statement holds in my opinion for choosing suitable programmers for your project(s) (even though I think that the very different programming styles that do exist are much more difficult to distinguish for non-programmers than visual styles are to distinguish for non-designers).

P.S. "Managers", on the other hand, are often a lot more difficult to handle for me than designers ... I can imagine that my "rather hands-off and trust" approach that works well when working with designers might violate some vanities of some managers. ;-)

Re: Ask HN: How to get developers and UI designers to work well together

#52

Earlier quoted context omitted.

What is FAANG+ I know the acronym but not the plus? Is it some kind of formula one league within FAANG?

FAANG has evolved from the acronym about rising stocks into a term representing companies that pay high salaries in SWE circles. If you see FAANG+ they might be referring to companies like Data Dog or SalesForce or Crowdstrike, companies that pay extremely well but maybe not as much as Meta or Netflix. At least that's how I read it.

Thank you for that explanation.

Re: Ask HN: How to get developers and UI designers to work well together

#53
As a frontend developer I've found the best designers have some development experience and likewise a good UI developer should have some basic understanding of UI design.

As a quick example at one place I was working a designer came up with this beautiful new site menu which I was asked to implement. Lots of animations. Items would slowly disappear depending on the space available. Things would resize and move around the menu necessary to look right. From a design perspective it worked great, but as a developer I knew it was going to be a nightmare. I knew even if I could build it as intended it would be overly complex, prone to bugs and difficult to maintain. A good design (and designer) is one that considers the limitations (and possibilities) of the technology and designs with those in mind.

Similarly I've seen great designers who understand the technological constraints well have their designs ruined by developers who implement them without care. For example, making sure things line up correctly or that padding and margins are correct and consistent are things that I see bad frontend developers miss a lot.

In my experience the best way to work is by sitting the developer and designer next to each other. It's less about tooling and more about communication. Ideally a designer should be asking questions about how easy something will be to implement as they're working on the designs, and a developer should be asking questions and showing their progress as they implement. This way you avoid situations where designers are building things that are overly complicated to implement and developers can implement the designs as intended while being able to flag up any challenges that might arise during implementation.

The absolute worse way to work is to ask a designer with little understanding of the system to design something. Then once they're done send that design to a developer who has no direct line of contact with the designer to build it. I've seen this done before and every time it results in bad designs and bad implementations - regardless of the ability of the individuals involved.

In my personal experience there's zero tension between myself and designers. The tension for me is when I'm not able to work as closely with a designer as I'd like to because I know I'm going to produce substandard work which I don't really want to put my name to.

Re: Ask HN: How to get developers and UI designers to work well together

#54
As someone who has worked in both fields for almost equal amounts of time I can have some thoughts, not all true all the time but certainly some common things I've come across!

I think the one key point is that developers and designers don't always have the same target user in mind!

- developers are often only brought in when something needs to get built, at this point everyone has it in their heads that the thing they've designed is perfect and totally technically feasible, it hurts when a developer tells them it can't be done. If this happens even once where a developer said no when it could in fact be done - every developer is affected!

- designers are perfectionists but so are developers! they just care about different things.

- designers perceive developers as lazy, that is they view the idea of taking a design and making a nice neat set of reusable components and layouts as lazy. To a developer its fun and a challenge and requires a lot of work to do so. Its also seen by some designers as a challenge to their design skills - why would you want to reduce something so carefully thought through to something so simple?

- developers have a bad reputation with designers usually because of outdated ideas about the sorts of people who become developers but also because I'm fairly sure a lot of the communication between developers and designers happens when a developer has been interrupted and no one is in a chatty mood when they're out of the flow state and have to start all over again.

- they don't always share a common goal - a designers primary focus is the user (and sometimes their portfolio), a developers primary focus is the maintainability and how neat the code is of the system (and their portfolio!). A lot of clashes seem to happen when designers implement something new and different or when a developer simplifies things.

- a hard one but both need to be less precious over their work. Pixels aren't perfect, code doesn't need to be beautiful, learning to let go of control of a design or a codebase is a skill!

Some things that help

- teach designers to code

I worked with a designer who was adamant about things being pixel perfect until they learnt to code, you could track their proficiency as a developer through their designs. When they first learnt to code the designs were boxy and simplistic, as they progressed they became more and more advanced and creative but they never went back to that same abstract style they had before they learnt to code

- teach developers to design

Teach design principles, research techniques, introduce them to the users and the clients. Designers often have more of a connection with the users simply because they've studied them to understand the users problems, developers are rarely given the opportunity to do that.

- include developers early in the project

have a system in place so that at least one developer is on the project from the beginning, the cost of them spending a day or two a week just attending meetings and maybe not even saying anything to contribute pails in comparison to the cost of a build up of friction between design/development teams.

- include designers in the tech project

depending on how your company is setup do the same as above with designers, the more often these joint ventures happen the more each learns and the easier things become

- don't hire developers who look down on designers, and vice versa!

One bad apple can ruin an already fragile relationship, don't encourage it. Asking questions about how do you like to work with designers or researchers or developers in interviews will give you an idea of what they think of their colleagues. If someone is the best developer/designer in the world they are not worth having on your team if they make the atmosphere tense and uncomfortable for everyone.

- have an index of terms and processes

some people don't like to ask what does something mean especially if they think they should already know it. Document your deployment process, explain why it takes so long to deploy a small fix to production. Explain why you decided on that shade of blue, what meaning does it convey how does it relate to the other parts of the design. Why is it important that only some buttons have 2px border and others have none - if its just for aesthetics say so!

Re: Ask HN: How to get developers and UI designers to work well together

#55
I have a "systems" business analyst who works with designers. They are the first guard to prevent a design that looks right, but makes no sense in terms of entity or data modeling. If I think things are getting too complex from my weekly check-ins with the design team, then I will send a developer to sit in on the meetings.

What I do probably won't work for you, because team communication is incredibly political. You need political power to have your "guy/gal" sit in on another teams development/design process. Again I want to hammer home, the political nature of this. You need to cultivate good relationships first and foremost. The problem isn't tooling like Figma or Github, its relationships and trust between teams( assuming everyone is competent).

Re: Ask HN: How to get developers and UI designers to work well together

#56
post #25

I have a fair bit of experience here as I work with many teams struggling with this. The root cause I have found is getting designs done in isolation and then treating the Figma/Sketch/whatever file as a hard business requirement, instead of treating the user experience as a collaborative exercise that is a tradeoff between usability and feasibility. Sorry for blogspam but I sketched a model of the two approaches. ht…

UI/UX has to be treated as an iterative process. Collaboration between multiple parties (eng/dev/design/pm/etc) is almost orthogonal to the root problem I've seen: "design" gets treated as "this is it" and the moment you start being 2-3 pixels off, or a shade of red isn't what was in figma/ps/etc, "you're deviating". "These were already signed off/approved/whatever". "But... you ONLY did a wireframe of 3 screens, for…

I've found that there is a mindset issue with designers that needs to be addressed if they are working closely with software development teams.

If you come from an agency background then you are conditioned to only show perfect/close-to-perfect stuff to your clients because you don't want to leave poor first impressions. It's why there are multiple reviews and approvals before you show anything to the client. You want repeat business and a "failed" design would be treated as a strike against you.

When working closely with teams there is no need for that and you can bring in low fidelity artifacts like sketches for feedback without fear of the whole design group being judged. This is a big change to how designers generally work when they're employed by agencies. Unlike agencies, this is a safer environment (all things being equal) where imperfection might be rewarded by engineers, but unfortunately, the agency mindset is retained.

There definitely are ways to improve how we work together by playing some games, doing activities like assumption busting, diverge-converge design sketches etc. but the organization has to prioritize this mindset shift. The chance of it happening organically is limited.

There are issues the other way as well: developers are often conditioned to expect perfect designs for fear of "re-work". I find good software design, solid testing practices and EMs with an eye to ways of working (not just technical stuff) can help address that.

Re: Ask HN: How to get developers and UI designers to work well together

#57

As a mobile developer, the main pain point with collaborating with a designers over the years has been their complete lack of knowledge when it comes to norms on Android. All have been exclusively iOS users, with no feel for how the two platforms differ, and I have had to take it up on my self to translate and adjust the designs given to me so that they follow norms and practices on Android.

Yeah for mobile it was always:

- "Just do the same as iOS" when asking about Android

- Hardcoded assumptions about layout size (less an issue now since iOS is more fragmented than before)

- Not handing edge cases, especially long string lengths

- Way overusing opacity (or blur before apple gave tools for it) which tanked performance for an absolutely minimal visual flourish

- Terrible tap targets

Re: Ask HN: How to get developers and UI designers to work well together

#58
post #44
post #40

It's only one tip, but if both developers and designers are in color-calibrated environments with color-accurate monitors, you can eliminate some it-looks-good-on-my-screen arguments with technology (colorimeters). Many developers that are working pretty close with designers are using really bad, not-calibrated panels and aren't seeing the same thing as the person giving them the design.

> you can eliminate some it-looks-good-on-my-screen arguments If a designer exports their design in something like figma, sketch, or xd, where the developer can access the css values for the colors, then why would it matter how it looks on the developer's machine?

If you don't treat design as a collaborative exercise, then I suppose it doesn't matter.

Re: Ask HN: How to get developers and UI designers to work well together

#60
I've generally only worked with designers in a mobile app context. A few of the things I do as a dev which has improved my relationship with the design side (Although the designers I've worked with have changed over time and that definitely is a part of the better dynamic. The initial designers I worked with came from print media and had no mobile app experience):

- Work in a Storybook-like sandbox for components. This is the single best change and a lot of other stuff comes from this in terms of standardization and common language. By working on components in isolation, its a lot easier to both flesh out edge cases as well as argue that certain edge cases need to be handled ("theres no guarantee about how this component will be used so we need to make sure we have some answer for X"). It also _massively_ speeds up iteration speed

- Put in generators/utilities that do things like generate your buttons/labels/colors. This lets you standardize on a smaller palette and also give you a choke-point to flag "illegal" values (e.g. trying to set a label font size to 8pt, or a button tap target to 36x36).

- Learn some UI/UX! Reading the material design docs gave me a much better understanding of grid layout and color design systems.

- Coach the designers on the platform expectations especially around tap targets, font sizes, and navigation patterns. You should usually stick to your guns on this stuff.

- Understand that your job as a dev is to _try your best_ to implement the design as presented. This means you should at least make an attempt to bring their creation to reality, after you adjust it to fit within the confines as described above.

Post reply on HN