Should a designer learn to code? This question has been around for some time and been hotly debated online and within our own minds. Individually, there are not many reasons you shouldn’t learn some coding. At the same time, it is an investment in time you must make (and money) and that time might be needed elsewhere. The short answer might be I want to learn more, but when do I do it?
In my own quest to solve this internal problem, I will lay out some of the benefits and reason to hold off. I don’t want to call it a pro/con list because I doubt any of us considers more knowledge a bad thing. As we all share an interest in designing digital products, we all have an interest in some level of coding.
We will begin by considering front-end coding knowledge. Front-end coding is used to create websites. Usually consisting of a language named JavaScript, this language makes up something like 90% of the websites out there today. It is the primary language that front end coders use.
JavaScript or “JS,” is broken into 3 sections: Html, CSS and JS. Html stands for Hypertext Markup Language. This is used for placing all text, images and hyperlinks on a web page. The layout is not complete with Cascading Style Sheets, which dictate the appearance of the html elements. Finally comes JavaScript, which is responsible for movement and effects, like a wheel spinning or scrolling effects. Together, these enable the look of the website
Understanding the process — You can design anything you want, but will it work? Is it something a developer can make easily or would it take months? In one app design, I created a tab that when pushed would fold up into a paper airplane and fly off the screen. I thought that was very cool, but could a developer make that in JS? It shouldn’t be too hard to have the container reshape itself and move across a screen. Although I was able to prototype this using the Principle app exactly as I envisioned it performing, I have no idea if it could be done in a real app.
You don’t need to know how to code this interaction, but it is helpful to be able to think about what would go into creating it. If you knew something was next to impossible to code correctly, would you design it? While nothing is technically impossible, it could take a long time to iron out the kinks and your client may not have that kind of time or patience. So knowing what is possible is very good thing to keep in mind when your designs need to turn into functioning apps.
This knowledge of how things work also translates to better designer/developer relationships and handoff. Knowing developer language and describing things in a way they understand will go a long way in improving how your ideas are received. Also being able to provide artifacts they can understand and recreate is more of a requirement now days. Developers need hex codes for colors, Font family sources, container sizes in pixels, column layouts and so on. Handing over a pdf of the site without references means the developer will have to work out on their own all the elements that make up the page you created. It most likely won’t look the same.
Wouldn’t it be cool to watch your creations come to life? Or at least being able to put together your own website after designing it? I want to see my paper airplane in an app someday. It would be so nice to not have to rely on someone else to finalize and bring my creations to life. It is great designing a website for a client, but even better is making a working website and have it do what it was intended.
In the time I have spent looking for a designer position about 40% of the time a job listing wants at the very least some html/CSS/JS understanding. Many companies recognize the importance of the relationship between designers and developers. There are some gray areas where both fields blend together. The main reason for the split is that designers focus on the user experience and creating beautiful apps while the developer focuses on making all the cogs line up. Once upon a time developers did all this work. It was a lot to do. When ideologies like agile came around and companies started to focus on beautiful web design and user-centered approaches things started to change. Now it is hard to imagine the tech world without us designers. It is still important to recognize the roles we play and how we collaborate to create better products. That is what being a better candidate is all about. Someone who understands both sides of the coin and works well to facilitate the progress.
I think this makes a very strong case for learning to code. I certainly see no reason not to. In fact I kind of like coding and that is just another reason to learn it: Because it is fun!
The downside to this is that you need to spend some time learning to code. There is already so much to learn and improve in the design sphere already. I have about 7 UX/UI book recommendations already and topics that I have barely scratched the surface on like accessibility or HCD. Where am I going to find the time to pickup coding? Front-end coding is probably year long commitment to have a good understanding of the basics. That is a lot of side work! Depending on how you want to approach things, maybe it is a subject reserved for later.
Another thing to consider is that splitting your attention between two different fields of study means you will not master either anytime soon. There are masters and Doctorate levels of studies available for either field and that means years of study and possibly a specialized focus. You can do both, but it will take a long time. Over the course of a 40–50 year career that seems worth it. In the short term though, you are going to have to prioritize.
Although I said the opposite a couple paragraphs ago, it may not actually improve your employability. There are still plenty of roles out there looking for strong UX/UI designers. Some organizations already have in place the tools and structure to coordinate design and development. Design systems and cross-functional teams already solve for some of these collaboration issues. My own job searches may not be reflective of the needs of many businesses out there. I had an instructor tell me long ago during job interview with Google he learned it was a requirement to be a developer and designer. Now things are different. Most big companies (and mid-size or startup) have in place both teams, so you may be fine doing one job or the other.
Right now, we are focused on producing beautiful platforms and digital products that solve problems for people. There are many ways to get there and many opportunities. Overall my preference is to have the knowledge whether it benefits me professionally or not. I think it is a choice that all designers should consider at some point in their career.
Another thing to consider is what the future of tech, design and development might look like. AI in tech may impact this to a degree. You may not need to code in the near future. There are now apps that allow you to drag and drop elements to create a website instead of writing lines of code. This has the potential to change how we look at roles within the tech sector. With shifts in ideology and new tools appearing more frequently we should all be prepared to adapt . Facing change and being flexible in the market are “must haves.” Maybe not something of paramount importance as a junior designer, but realizing and reacting to this sooner than later could be the litmus test of a growing career or a stagnating job.
Consider this foray into design a life-long journey and whatever knowledge and growth you can squeeze into it the better.