You're doing the lord's work, Joe. :bow:
A digital designer who does not understand code is akin to an architect who does not understand physics.
If you're asking this question usually 1 or more of the follow is true:
The designer(s) are shit, because: They don't know what data is in the APIs. They don't know how the APIs work. They don't know the features of the programming language so they make stuff that isn't doable or will melt the GPU or whatever other real-world engineering catastrophe can occur.
Your engineers are shit because: They are lazy and shortcutty and rely on tons of archaic and fragile libraries and overlook even obvious details. They've written the codebase so poorly they are afraid to try things because they know it is a papier-mâché app running through a rainstorm. OR... they think they're the designer and take some liberties and mess the work up taking "creative freedoms" that aren't part of a larger design system, match the aesthetic or have taste overall.
The boss is shit because: They demand excellence but lack the patience to execute on it. They let sales and marketing run the product. They hired shit design, shit engineers or both trying to save budget.
To amend to your excellent list:
- Management is shit: Forces developers into never-ending death marches and way to short deadlines. Design usually takes a backseat in this scenario (experienced that at multiple companies. Stay away from those!)
And as the final counter-argument to all of this:
- You're lacking the resources to do what you want to do.
The funny thing about this one, is that it can cause every single one of the points you guys mentioned.
Sometimes your "engineers are shit" because they don't get the resources to use anything other than that piece of shit software. (Replacing archaic structure can be non-trivial.)
Well, etc. Boss, management, even your CEO can't just pull resources out of their arses. This is something a lot of people here seem to forget. It's either "the our way or the highway". Very San Fran, but not very "everywhere else".
Sometimes you make do with what you have.
(Also: stop blaming people. It makes you look unempathetic and shortsighted.)
This article is crap.
Just "no" it.
should product owners and stakeholders just put something out and expect the designers to make it work?
Talk and be collaborative. Show and share often. Two principles that avoid these problems.
Company culture more than anything else often results in individuals working in silos. This results in frustration and a division across disciplines.
I've experienced the best and worst collaborations between designers and developers. Most of the time it's down to poor management and ego.