Designers, know your medium
Almost every day I hear some debate on whether designers should code or not. There are plenty of stubborn designers out there who think CSS is outside of their job description as well as frustrated developers receiving mocks that are exceedingly difficult or inconsistent to implement.
Design has always had a close symbiotic relationship with technology. Our profession would not exist without the invention of movable type and the printing press which was the technology through which things were published for centuries. Designers then had to understand the constraints of that technology and design around those limitations. Color selection and mixing is still a constraint that print designers have to work with. Even with the most sophisticated presses today it is still a limitation. A good understanding of spot vs process color can result in crisp and bright graphics while remaining in budget as every color added to the press is more costly. A lack of understanding of the print medium can result in muddy graphics or break your budget. While most designers don’t print things themselves they need to have a firm understanding of exactly how their work will be printed.
Code is the medium of the digital age and it’s a big change for a lot of designers. The constraints are entirely different as color is cheap and plentiful while dimensions are often unknown. Inconsistencies are expensive while repetition is cheap. In order to be a good digital designer you have to not just know, but understand the unique constraints of the medium. Unlike print where presses which are expensive and bulky, chances are that you already have what you need to start dabbling in code yourself. With just a text editor and a web browser you can start creating websites of your own.
I’m not saying you need to code all your designs yourself. Doing so will always give you greater insight into how your design holds up when implemented but working closely with your teams developers to understand the constraints can help you overcome any issues. In order for your relationship with your team to work smoothly you need to be able to speak each others language and respect the challenges your teammates face in completing their task. Code is the language of the medium and without knowing it you are going to end up frustrated and unable to communicate clearly with your team. Learn code and you will be able to execute on better ideas faster.