While design and development are often thought of as separate disciplines, there are people out there who have mastered both. Even if someone is only interested in being a designer or a developer—not both—it’s valuable to learn at least the basics of the other discipline.
There are a couple of reasons developers might want to learn design, or at least develop a basic foundation of design knowledge.
First of all, small teams might not have a dedicated designer. Further, there are developers out there who want to tackle projects entirely on their own, who can’t afford to hire a designer (or want to spend the money elsewhere). Learning to design their own products, at least well enough to get by until a designer can be hired is an invaluable resource.
The other big reason for developers to learn design is so they can work more effectively with designers. It’s incredibly frustrating for a designer to hand over a fully-designed file for a website or app that they expect to be pixel-perfect in the finished product, only to find that their design has been changed significantly by the developer coding it.
If developers don’t understand the basics of design they may overlook small details that make a UI particularly user-friendly and unintentionally sabotage the project’s user experience. When designers send back tons of corrections, it can strain the developer-designer relationship, not to mention slow down the completion of a project.
In order to improve relationships and teamwork between interdisciplinary teams, developers would do themselves a favor by learning to see designs through a “designer’s eyes” rather than looking at it purely from a development perspective—mastering that skill will greatly improve their projects.
Crafting a design mindset Too often, developers learning to design focus too much on the aesthetics of designs they like and want to emulate, rather than the underlying principles that support those designs. They see things like the color and size of a button, a specific font, or the way borders are used without understanding the reasons behind those choices.
They start spraying paint on the walls and decorating the space without understanding the purpose of the spaces they’re decorating (or even making sure things like plumbing and electrical work are finished), so to speak. It’s important to understand and respect the principles behind why designers make the decisions they do. Anyone new to design needs a firm grasp of the principles and theories that make up a good design—things like Gestalt Principles and basic visual hierarchy—before they just dive in and start spraying paint everywhere.
That said, it’s also common for new designers, whether they have a background in development or not, to get bogged down in theory. They spend so much time learning and thinking about things that they never get to actually apply what they’re learning.
Both designers and developers tend to be perfectionists. But pushing out designs before they’re perfect (since they likely never will be) is important to the process. New designers especially, need to push past their insecurities, put their work out there, and learn from the feedback they receive.
One of the best ways to really learn design is to try to recreate the designs of others. Picking apart what works and what doesn’t, and figuring out why a particular design is appealing is one of the most valuable skills a new designer or a developer can learn. Putting a unique spin on an existing design is common in the industry (evidenced by Dribbble’s “Rebound” feature).