Why coding is beneficial to UX

I come from a computer science background and coding has been a crucial part of my education. People often assume that what computer science is, is to produce a code to develop programs. What people don’t know is that computer science is a vast discipline and involves research and design as much as coding. Through my course I learned about Cloud Systems, Human-Computer Interactions, Agile, Scrum, Interaction Design, User Experience, Big Data and so on, and I can assure you there’s little or no code behind them.

What I can tell you though, is that throughout my experience, I did find important that a designer should have an understanding on what code is and how it works. UX specializes in web technologies and mobile apps and having an understanding of what can be achieved through code has a great impact on how a designer can provide solutions to a given problem. Code is logic. As a designer you don’t need to dive deep into it, but if you allow your self some time to understand the basic logic, than the rest will come by it self. Designers don’t need deep understanding, don’t need to write efficient, clean code because that’s far beyond our purpose, infact that’s the developers role. Why do I think designers should learn the basics?

  • Efficient Prototyping. HTML prototyping it’s a better alternative than using prototype softwares such as Invision, Sketch, Axure etc… They are not complete. They don’t allow you to test every single feature you would like to put in your software, they are limited (for now at least). But what if I told you that if you learn basics of HTML and CSS, and maybe a bit of JavaScript, you will be able to create a high fidelity prototype, doing exactly, what they are supposed to do in their final version. Every single interaction, every single functionality can be tested in great details. User testings become more refined, you can gain more quantitative data and qualitative data to work with.
  • Time Saving. If you have coding skills, as any other skill, it will get better with practise. Yes of course your first prototypes will be half broken and will take you long time before you have a half working one. But as you keep practising, your prototypes will be better build, you will understand the logic behind it and the amount of time you spend coding it, will be shorter and shorter. It will save your time and developers time as they can directly work with a skeleton, which will speed up the whole process. And in addition, you get great prototypes.
  • Understanding. How many times you have a great idea, you design it, you solve all the issues you encounter and then present it to your team and you are told: “We can’t do this, is beyond our skills.” or “We don’t have the time to develop it, nor the technology nor the money” . This isn’t particularly true for big companies where there’s a lot of developers working on a project, but in smaller companies this is a reality. I worked as a Web and UX designer in a company where there were only 2 developers. A backend developer, and surprise surprise, a front end developer (me). I had a lot of ideas on how we could engage with users more, how the website could offer more interaction, but I understood that if I focussed on those ideas I wouldn’t be able to bring them to life as I didn’t have enough skills to develop them. So instead of focussing on issues I could solve and therefore bringing value to my work, I would have set unrealistic expectations. Instead, I focussed on solving problems and bring ideas that could be achieved within our skills, within a certain time, and therefore work out great solutions. Is good to understand the limits of your team, and if you are well aware of it, it will refrain you into thinking you can dig to the centre of the Earth with a spoon.
  • Communication. Developers don’t like words or long documents where they have to figure it out what you designed. Wireframes are a great way of communicating, but they don’t tell the full story. There’s indeed a lot of confusion into deciphering what a functionality should do, how different pages should interact with each other etc… But presenting a clear functioning prototype, will save the trouble, as it works as the final product on which developers can then rely on and build it from your fundamentals.

To conclude, I would love to assure you that learning web languages is not as difficult as one might think, as it’s a logical process and comes naturally once you get the right mind set. There are great sites where you could start learning on your own, and it brings great results. An example is W3Schools, I suggest anyone who wants to learn, to explore it. To make it even easier, there are frameworks such as Bootstrap that enable you to create stuff a lot quicker than if you had to do it your self.

Take advantage of that!