For a very long time I have always deflected any opportunity to do design work with the statement, “I don’t know how to design, I know how to code”. In all reality, we are all designers to some degree whether we chose to see it or not. We all have preferences for clothes, car colors, the type of bikes we ride, we are constantly designing our lives and the world around us. As someone who develops code for an internet which is quickly becoming more interactive every day, we need to have at least a minimal understanding of design principals. The benefits cannot be underestimated nor can they go ignored about any longer.
Responsive Design Means Coding A Changing Site
As more and more devices start accessing the websites we build, it becomes increasingly important to make sure we understand the important elements of a design we are given and how to compose them on the hardware that is viewing them. What might be important to a desktop user, might need to take a backseat to someone visiting the website on a smart watch or even a phone. Knowing how visual hierarchy works can allow a developer to make smarter choices about how everything fits together without compromising the design or brand identity.
Better Team Collaboration
Understanding why a designer is making certain design choices allows you to better empathize with them and as well as communicate possible technical considerations and work arounds. It empowers you to make a suggestion that might have been overlooked by others simply because they may not have an understanding of how something could work within the code. Drop down menus definitely come to mind, as that is something I rarely see considered or even comped up most of the time. This holds very true in agencies or groups that still use Photoshop to generate the designs, a process that often leads to impossible to implement shadows, borders, or other no-no’s (please start using Sketch). Having the ability to consult with your designer and offer a comparable solutions.
Less Time Waiting
Depending on how your team functions and how comfortable (and trusted) you are with taking on design responsibilities, having some basic design skills will allow you to make decisions without having to consult a designer every time. This doesn’t mean going rogue and changing everything, but understanding the brand identity and how style guides work will allow you do confidently create buttons, forms, and other elements without wasting time asking if they look ok.
Design Goes Beyond Looks
Any Knowledge Helps
While I feel like it is important for every front end developer to learn a little be of design, I don’t think that you have to “know it all”. Even a little bit of basic knowledge about topics like content hierarchy, color theory, space, lines, can go a long ways. Learn some of the Gestalt Principals too! They will make you a better developer because you will be more confident when you need to make decisions, and a better team player when you need to collaborate with others.