The previous articles of this series (the 4 main fields of UX), we covered the topics “Think Like a Designer” and “It Pays off to Know Psychology”. In this article I wanted to peek inside a developer’s mind and help you see through their lenses. My goal is to show you why it’s important to know a bit of programming as a UX Designer, and that it is not as complicated as many believe.
Since I’m not an expert in this field, I picked the brains of 3 friends of mine who are developers, each having between 14 and 20+ years of work experience. I hope with their help I’m able to convey to you what is special about their way of thinking and how it turns out to be helpful in UX.
It was interesting to see the different answers I got to this question. It made me realise that there isn’t such a thing as a typical developer.
David, for instance, had always had a fascination for machines made of gear wheels, which performed a set of actions and produced an output at the other end. He loved systems.
Nuno, on the other hand, loved the building part, the whole process of making it work. He was always thrilled with the challenge of having to figure out the solution to a problem.
For José it was not so much the system, the building part or the challenge, but more the amazing things he could do with it, once it was built. He was in love with the possibilities of what it could do.
These motivations are not so different from the ones I had when I decided to go into UX. I wanted to make things interactive, and I was excited with the fact that you could design a thing that by clicking a button would make something else happen. There was something magical about it.
They all agree that it seems difficult for outside people. Perhaps more difficult than it actually is. “Let's say that it may be just as difficult for a marketing person to code, as it would be for a developer to come up with a marketing plan”, said Nuno. David says he can understand why it may seem scary or too complex. “The fact that there are several programming languages and always new things to learn and keep track of, may be daunting at first”, he said.
Programming is about speaking the languages of computers, and as in all languages that are different from your native one, they can indeed seem difficult, strange and complicated. If you are a native english speaker and you try to comprehend a sentence in Portuguese or German (let’s say that you don’t speak any of these, for argument's sake), it will sound gibberish to you, most likely. According to an article on devdungeon.com, one study using brain imaging to see the effects of programming on the brain found that it had less in common with maths and more in common with the language portions of the brain.
Nuno believes that the barriers to entry are getting thinner though, as children grow up interacting with technology and in some countries already learning programming from early ages, to help them develop their thinking. He pointed out to the fact that we already have tools with which we can drag and drop blocks and build a basic application.
José brought up yet another dimension to the problem, lamenting the fact that there are very few women in this field. “Women are important to bring balance to a team. I would feel much happier working in a mixed team, but I generally work only with guys. It's a shame that we don’t have more women developers”, he said.
“It’s a pity when we see very smart systems made by very smart people that never get used as intended, because users just don’t get them”, said David. “These functionalities, if not laid out for people in an intuitive and accessible way, are pretty much rendered useless”, he added.
“There should be a connection between these areas, because they are both important to the end result”, said Nuno. “When someone compliments a website they are usually referring to the aesthetic part - our work is often invisible”, he added.
When I was learning Java in University - it was a prerequisite for my Masters in HCI - I remember my professor in the first class explaining the mindset of programmers: “we are lazy beings”, he said, “and so if we write a program, we will strive for efficiency, writing and re-writing it to a shorter, simpler, more powerful, and reusable format. We want to do more, doing less”. This idea of efficiency stuck with me. In UX we are also concerned with efficiency, as we want our users to use our designs swiftly, with less effort and in a shorter time. It has to be simple to “read” too, just like a program’s code is intended to be. More importantly it should represent an advancement compared to other designs in the market, and the ones we did before. If we are in a team with a good alignment between development and UX design it will be much easier to create great products, which are not only useful for people, but may well change their lives completely. That’s what innovation is all about, isn’t it?
The alignment between UX and development comes down to the knowledge that each party has about the other’s work. From my experience, the alignment becomes stronger, the more my fellow developers realise that I understand their concerns, and seek them out for advice. The more I do this, the more they listen and seek me out too. This process takes time. I’ve worked with Developers that had little respect for design in general, and I’m not going to lie - it feels like my insides are burning, while I keep a straight face... Just as I imagine them losing their minds when designers don’t involve them and deliver impossible work to implement. Make an effort to learn what’s important for them and start building this bridge.
“Start. Just start” said David. He believes it doesn’t matter which language you choose to learn first, because there will always be new languages that are better than the previous ones, and will become more popular. “Once you dive into it, it’s easier to understand how it works and pick up new languages if needed. You will get used to it.” he said, adding that Javascript is probably the easiest for UX Designers because it is tied to the interface and what the user is in immediate contact with. He thinks that the backend part is also useful but may come after, if there is an interest to go further.
Nuno said that it may be easier to start with HTML and CSS, although they are not exactly programming languages, they will have a lower barrier to entry. He added that we are much better off these days, because there are many resources available online and a large community helping one another. “In the past we were very isolated. Today we have access to everything”, he said. Both Nuno and José recommended intensive programming bootcamps that last around 3 weeks, where you can learn the basics and then develop your skills after that.
If you want to learn programming you should be willing to embark on the learning journey, and accept that there will be times when it will be frustrating. You may go to bed struggling to find a solution to a problem, having exhausted dozens of options, only to wake up the next day to a much better option, which you can’t wait to try, first in the morning.
I’m a UX Designer, not a developer, but from the little bit that I know, I can tell you that if you endure throughout the beginning of this journey, when it feels totally alien and nonsensical, you will eventually find it fun and enjoyable. The process of struggling and finally cracking a solution, will become more familiar, and less “omg, it will never work, I’m hopeless!”. In fact, it can be extremely rewarding, and give you a sense of pride.
Keep an open mind and ditch any preconceived notions of why you don’t like programming or you won’t get it. If you are a UX Designer, knowing a bit of programming will help you immensely. It’s worth a try.
Confia em mim (Portuguese for “trust me”). Wink!
we won’t bug you too much, just sporadic updates on our ux content and resources.