- **Epistemic status:** #evergreen > “We spend hours designing for a medium that’s interactive and responsive, but we start by producing mockups that are static and inflexible. If great design is not only aesthetics but also how it works, then it’s time to make development part of the creative process.” (Jeremy Bell, 2012 [[#^1cd894]]) A controversial topic in software development is if designers should know how to code or not. Often attributed as unicorn designers due to the difficulty of finding one. I have found in my career that when a designer is not in charge of implementing the [[Design Language System]] they are creating or modifying it can lead to inconsistency issues. When the designer doesn't speak an [[Ubiquitous Language]] with the software trade-offs in the moving parts of the system, gaps in the design, undocumented states and/or conditions, wrong assumptions about usage, etc. can reveal themselves. Experiencing the feedback loops directly can yield faster results when making changes. The design inconsistency issue can be attributed to following a linear process, where the process of design and implementation is an iterative process that pushes against each other. Good collaboration and [[Death to waterfall in software development]] can amend the problem. The issue can also be turned backwards where software engineers don't understand concepts like typography, wireframes, branding, UX, and basic design principles. Learning is not a zero-sum activity where you only focus on one area and ignore the rest. As a designer matures in their field, the process of developing a deeper understanding of design can have diminishing returns. If devoting the same amount of time to other skills that give you an overview of how the software is constructed can yield higher results. Having [[T-shape Skills]] benefits collaboration with different teams by being able to speak an [[Ubiquitous Language]] even if the designer doesn't implement the [[Design Language System]]. Learning other skills doesn't mean not dedicating time getting a deeper understanding of your core skill. Design trends are constantly shifting, and new techniques released on an almost daily basis. There is a lot to learn out there and sadly, we don't always have all the time in the world to dedicate it to multiple skills. Being mindful of how much time you spend developing other skills that don't relate to your core understanding is key to [[Deliver the most value]] to your career. There are ways to get around the concern of source code by using no-code solutions such as Webflow where you don't need to learn the skill, but can create products easily using a drag and drop interface. These tools can have drawbacks like [[Vendor Lock-in]], being constrained by the system on what you can potentially make, and an existing product might cost more to shift to a no-code solution if there is an active development team. Regardless of your current situations, I recommend designers learn the basics of [[HTML (HyperText Markup Language)]], [[Cascading Style Sheets (CSS)]], [[Web Accessibility]], and [[JavaScript]] if you are working on a website or web application. Knowing the standards of [[HTML (HyperText Markup Language)]] and how it affects [[Web Accessibility]] will not only increase the quality of your designs, but you would help [[Build a future friendly web]]. [[Cascading Style Sheets (CSS)]] alters the styles of a website or web app. Learning how layouts can be created using Flexbox can help you develop a [[Modularity]] mindset, simplifying design approaches to a problem. Lastly, [[JavaScript]] is responsible for the dynamic actions of a website or web app. This last piece can help you develop a [[Design Language System]] in code, that way developers are responsible for putting the pieces together instead of engineering the building blocks. One concern many designers have is if I learn to code would I be doing two jobs at the same time? The answer is it depends. It is unreasonable to expect a designer to also do the same job as a software engineer. Without a clear line between what your job responsibilities are and what you are in charge of maintaining, you can end up in a situation where you are actually performing two jobs, burn out, miss deadlines, and eventually get fired. If put in a situation like that, [[Job hunt to your hearts content]] and don't look back. If you do learn to code you will have more job opportunities, just be attentive when given unclear roles. There is one job responsibility you could do. In the book Atomic Design by Brad Frost they recommend implementing the [[Design Language System]] in code instead of using design tools like Figma or Sketch, decreasing the time you take a product from design to implementation. One issue that can occur is if you conduct user research with tools that only support the design tools mentioned, you can be severely limited on the data you can gather. I think this path is feasible, especially since at the end of the day it still needs to be built to guarantee consistency. --- ## References - “Atomic Design by Brad Frost.” <http://atomicdesign.bradfrost.com/>. - Toptal Design Blog. “Coding for Designers – How Much Should We Know?” Accessed August 1, 2022. <https://www.toptal.com/designers/ui-ux/designers-coding>. - Quora. “Designers Will Code.” Accessed August 1, 2022. <https://irondavy.quora.com/Designers-Will-Code>. - September 25, Jeremy Bell on, 2012 in Design, and Development. “Designing With Code.” _Teehan+Lax_ (blog). Accessed August 1, 2022. <https://www.teehanlax.com/blog/designing-with-code/>. ^1cd894 - “Should Designers Learn to Code? | Webdesigner Depot Webdesigner Depot » Blog Archive.” Accessed August 1, 2022. <https://www.webdesignerdepot.com/2015/04/should-designers-learn-to-code/>. - Stinson, Liz. “John Maeda: If You Want to Survive in Design, You Better Learn to Code.” _Wired_. Accessed August 1, 2022. <https://www.wired.com/2017/03/john-maeda-want-survive-design-better-learn-code/>. - Quora. “The Myth of the Myth of the Unicorn Designer.” Accessed August 1, 2022. <https://irondavy.quora.com/The-Myth-of-the-Myth-of-the-Unicorn-Designer>.