Why should I learn to code if engineers don't have to learn to design?
The last few times I've spoken about how Etsy's product designers are expected to help write the front-end for their features, I've gotten that question during each Q&A. And after receiving similar responses on Twitter when I wrote about why designers should code, I'm convinced that the topic seems worth addressing. So, a few thoughts...
That's a pretty bummer response.
I can't remember which logical fallacy is being violated by the question, but using a perceived injustice to prevent yourself from acquiring new skills and responsibilities seems like a losing attitude. What other learning experiences are you denying yourself just because you see other people not learning things?
Engineers do design.
In fact, the only way the above question even makes sense to me is if you either a) think design is all about Sketch files or b) somehow have an engineering team that staunchly refuses to participate in the design process and builds everything you design mindlessly without critique. If you think design is 100% about creating "design artifacts", I'd say your scope is too narrow and has the potential to stunt your personal and professional growth. If you really work with an engineering team who is hardcore about not interacting with design, it may be time to look for a new team or company that values cross-discipline collaboration.
Throughout my entire career I've had engineering partners deep in the design process with me. I show them sketches, bounce ideas off of them, have whiteboarding sessions to figure out what we're going to do. I trust engineers I work with to let me know when something seems confusing, when there's an edge case I haven't thought of and to push on my ideas to find where they break and help me make them even better. I can't count the number of times I was saved from a bad direction by talking it through with my product team. I've personally worked with engineers who are even more staunch user-advocates than I am.
When you look at design as a process and not an artifact, everyone on your team becomes a designer. We have different areas of expertise and skill, no doubt, but the product experience belongs to every member of the team. The more familiar you are with each other's responsibilities, the more you're able to participate with and help each other out when needed.
Overlap builds trust and shared responsibility.
If you squirrel away your design process and only present the "finished product" to your engineering team, you'll certainly feel frustrated and isolated (particularly when they push back on your carefully crafted work). But if you pull them in early - sketch on a whiteboard, ask what they think about the directions you're exploring, ping them in chat with questions - you wind up engaging everyone in the process. And when people are involved in a process, they're more likely to trust the outcome.
In other words, you probably won't get much pushback from your team on that solution you designed together. In fact, you'll find yourself having to compromise on functionality less and less when everyone feels shared ownership over the user experience. And when someone uncovers a potential UX problem, the entire team feels a responsibility to address it, meaning fewer dark UI corners you never got around to cleaning up.
In the end, it's up to you.
Like it or not, getting engineers involved in the design process is entirely on you, the designer. You have control over who you involve at what stages in your process. You have control over your own transparency and collaboration. In that crazy case where you're actively prevented from working directly with engineering? Look for a workplace that values what you value. If you're not being silo'd, schedule a brainstorm, show what you've got right now to your teammates, sit with or at least near your engineers. Come up with ideas together, design ideas together, build ideas together, launch and learn together. It's pretty magical.