Should you invest time and effort into learning how to code? Product designer Dennis Cortés joins us on the blog to share his perspective on the major advantages having this dual skill has for both your career and personal growth as a designer.
Hey there! My name is Dennis Cortés and I’m a Senior Product Designer currently at Dave, previously at MetaLab. I’ve worked on a plethora of projects and design solutions, but something that has always helped me and my work is also knowing how to code. Typically designers are used to handing off work to developers, but I believe knowing how to code can bring a whole other advantage and perspective to the work of designers.
Now, this doesn’t mean knowing how to code an entire app from scratch, I for one am very focused on the front-end (which I recommend to other designers) side of development and would not be able to code a whole app myself. However, knowing the verbiage and limitations while I’m designing and communicating with developers goes a long way in my experience.
So, what are the advantages of knowing how to code as a designer?
1. Make more informed design decisions
Before design work even comes into contact with developers, knowing how to code helps designers be more informed on the decisions they make in their process. Knowing the constraints of development allows a designer to think through possibilities without guessing what information is available or what interactions are possible.
For example, at Dave (a banking product), I am always working with the constraints of what financial information we have available to surface for our users through 3rd party API (basically a glossary our app developers can access with specific banking information). When I’m working on new design solutions, I’m subconsciously thinking if and how our developers would be able to access information that I am using in a design such as a user’s available bank balance.
The constraints I’ve encountered have helped me make more confident decisions and reduce the number of revisions made in my design process.
The constraints I have encountered have helped me make more confident decisions and reduce the number of revisions made in my design process. I can come to developers better informed on how a design will be implemented and prepared to answer questions they may have during handoff.
2. Better communication and handoff with developers
During collaborative work and design handoff, knowing how to code can really help push discussions to be more productive and timely. Just like knowing another language, knowing development languages helps break communication barriers. Questions developers may have when handing off design work to them are in-turn easier to answer, and they are ideally problems the designer has already thought through.
Developers will appreciate the fact that a designer speaks their language and can articulate in the context of their world. I can’t count how many times developers have been thankful that I am well-equipped to speak through design decisions backed by development methodologies!
3. Build your skill offering
In today’s competitive world, it’s important to keep a skill set that is just as competitive. Knowing how to code is pretty uncommon for designers, and definitely stands out on an application that companies are reviewing.
Not only does this designer know how to communicate well with developers, they can also contribute to code if and when it is needed. Even just small, visual bug fixes in code goes a long way to help companies save money, because this designer can fix a bug themselves rather than report it and rely on a developer finding time to fix it.
Knowing how to code is pretty uncommon for designers, and stands out on an application that companies are reviewing.
Another great example of this is when creating design systems at scale for both designers and developers to use. When creating design systems as I have at companies in the past, I make sure to also create and reflect this system in code for developers to use as well. This saves teams a monumental amount of resources over time. I’ve designed developed systems where both designers and developers can drag and drop components (whether visual or in code) to create designs in code in a fraction of the time. There are endless amounts of value to companies, and this only multiplies over time when they find a designer with this dual mindset.
4. Bring your own ideas to life
Last but not least is being able to create your own ideas. Before I learned code, I remember how frustrated I would be that I had great ideas I wanted to create but did not have the means to hire a developer to help me bring them to life. Once I started learning code, little by little I was able to do so without the barrier of not knowing how to actually create them in code.
In turn I have made 20+ side projects that I’ve been able to show and add to my resume just out of the sheer passion for creating that I have. It’s been a great exercise for myself in other aspects as well such as business and marketing, growing my knowledge base even more as a result.
Learning code opened my eyes to a whole other technical side of problem-solving that has complimented my creativity as a designer in so many ways. From job hunting, collaboration, better process, and making my own ideas, I can’t recommend it enough. Like anything else, it takes time and failures to learn, but overall one of the best investments you can make for yourself as a designer in the world of technology and product.