The Value of Learning Basic Coding as a UX Designer
Do you need to learn code to be a UX designer? That is a commonly asked question among people looking to enter the UX field. No, you don’t have to learn how to code in order to design. But, having an appreciation of its basics will help you to become a better (UX) designer.
The reality of UX design - solving user problems, as well as implementation problems
Whether we are designing for a website, a mobile app, or for other interactive media, we have to remember that UX designers are part of a technical team. Besides advocating for the user, it is also our job to create designs that simplify implementation and optimize resources. Unless we are working on personal projects, there is always a timeline to meet. Also, the harder a design is to implement, the more time is needed for the developers to build it. In some cases they may get back to you saying that it is impossible to implement, in which case you will have to spend more time coming up with another solution, and possibly re-think several parts of your design.
The best designs both solve the users’ problems, and are easy to implement.
How does learning to code help with that?
Learning to code hones your intuition as to whether an idea is feasible or if it is something you should double check with your developers first. The more knowledge you have about the possibilities and limitations of code, the more tools you have for design, or conversely, the more you can avoid costly and time-consuming implementations.
Helps in understanding the possibilities and limitations of code
Unless you are building something that is completely unique and custom, no one codes from scratch (don’t reinvent the wheel!). People have developed functions and libraries for common features, and the dev community is very open with sharing both free and paid libraries.
An example of a library would be Google Maps. Imagine that every time you have to use an interactive map on a website or an app, you have to create a map from scratch. It would take years to create anything! So developers use the Google Maps library and integrate that into a part of their code. There are limitations of using a third party library, for example, you will be limited to the customization options that Google provides for its Map.
I have just used Google Maps as an example, but libraries also exist out there for things as simple as buttons, or as complicated as a whole marketplace system. The more you learn to code, the more you will understand how libraries work and what kind of limitations they commonly have, and this will help you to make better design choices based on how easy they are to build.
It aids communication between designers and developers
Have you ever struggled with understanding when a developer is explaining to you why a certain aspect of your design idea cannot work? Solving an implementation problem requires knowing why the problem is occurring. You can better design around a limitation when you understand what is causing the problem in the first place. Sometimes, problems can be very technical in nature, such as caching issues, or network issues resulting in unexpected errors. Many times, a designer will have to work hand in hand with a developer to find a workaround that does not compromise on the user experience. Learning the basics of code will give you a common language to discuss issues, making it much faster and easier to communicate. If the developer has to stop to try and explain technical terms, the problem solving process will be drawn out much longer.
But.. what about creativity?
Designers have an innate want to make their work look special and interesting, and to design something unique for the users. After all, that is a large part of what design is about, right? If all code implementations are a rehash of what has been done before, wouldn’t it be boring?
This is true to a certain extent. Thus, as UX designers, we have to balance between giving users a smooth and engaging experience, and to work with developers to ensure a timely delivery. To achieve that, we have to be very selective on what we want to highlight through custom functions and animation. For example, in a mobile app application, we would not want to design custom transition screens for every single page. But, we might want to highlight the home button with a custom animation, if the button is a central feature of the app. A little goes a long way in giving character to your designs.
How and where do I start to learn to code?
Coding is admittedly a difficult skill to master, and is vastly different from design. Many UX designers may be intimidated by the idea of learning to code. However, do remember that you don’t have to become a master coder; even a basic understanding will aid you in your design process.
There are many resources, both online and in person. If you are a hands-on learner, I recommend starting by creating a simple Wordpress site and look up tutorials to learn how to modify its HTML and CSS code. You can also choose to dedicate time to attend coding bootcamps, or take structured online courses through platforms like Khan Academy or Udemy.
July 13, 2020