User experience (UX) is the process of designing products—in this case software programs or apps—so that they provide a meaningful and relevant experience to the end user. The field of user-centered design took off after Don Norman, the “father of UX,” published his book: The Design of Everyday Things. Norman opened his readers’ eyes to the wider context of user experience. Whereas previously, designers tended to focus only on the interface between user and product, Norman explained how UX covers every single experience the user has with the product. He said: “I invented the term because I thought human interface and usability were too narrow. I wanted to cover all aspects of the person’s experience with the system including industrial design, graphics, the interface, the physical interaction, and the manual.” He also looked at the pleasure aspect of interacting with a product, not just whether it performs as expected.
This post is for programmers (especially front-end developers) who are interested in user experience.
If you’ve never thought about user experience before but you’re open to learning about it, we’ll look at some of the main reasons why a programmer like you might want to get into it.
Then we’ll discuss the three steps—or areas of activity—you will need to focus on to learn how to deliver fantastic UX.
Don’t worry, you won’t have to learn anything really technical. In fact, it might be a nice change for you to focus on software development purely from the end user’s perspective. Anyone can improve their understanding of UX, and the more people on your team who make the effort, the more successful future projects will be.
There is plenty of information and lots of resources on UX, and learning just a few simple principles can be of huge benefit to your workflow.
First Things First: Why Do You Want to Create a Fantastic User Experience?
There is a reason I emphasized the word “you”: I want you to think more deeply about why you personally are interested in UX. I’ll split it into three common scenarios:
My Boss/Customer Has Told Me Our App’s UX Sucks
Good. If you have any ambition of becoming a successful programmer, understanding what the user needs from your app is critical. Knowing you’re not currently meeting those needs is the first step.
You may be reacting to criticism now, perhaps somewhat defensively. However, the sooner you internalize that message and start giving yourself a hard time about UX, the faster you will scale that career ladder (or land more clients).
I’m Interested in How My App Is Used and Whether I Can Improve It
Even better. Whether you are an employee or a freelancer, you are taking responsibility for the user’s journey, and this will make you a much more useful programmer.
Because of the fast pace of software development, it is common to forget about the last app you created and follow the money to the next one. A good place to start with UX is by revisiting a previous application, downloading or accessing it, and then using it as an end user would.
For example, if you created a running app, actually use it as you go for a run. You might discover that the size of the display and its brightness are perfect, but the volume of the audio is too soft or cuts out unexpectedly. You now know what to keep for a future app and what to work on.
UX Designers Are in High Demand, and I Want to Get in on the Action
That’s great too. You’ve recognized where a lucrative source of income might lie, and you are interested in expanding your skill set to take advantage of that. For example, you could apply for User Interface (UI) or UX designer role inside your own company, or if you are a freelancer, you could offer your UX design knowledge as a unique selling proposition (USP) to win more high quality projects.
All of the reasons above are valid for wanting to learn how to plan a fantastic user experience.
As with anything in life, the more time you invest, the more likely you are to become an expert in UX and increase your appeal to employers or customers. Following the three steps below will put you in a great position to achieve that goal.
Step 1: Read and Study Everything UX
Experiencing great UX is a bit like enjoying an amazing date. You don’t know you’re going to have a brilliant time until you’re sitting at that table.
Looking back at the evening, you might point at one or two key highlights, but you still find it difficult to put your finger on exactly what worked.
To avoid this hit-and-miss process with your apps or websites, you are going to have to immerse yourself in UX.
Read every decent book you can find (Don’t Make Me Think! by Steve Krug is a great place to start). Enroll in an online course or evening class. Most of all practice, practice, practice.
Wondering what to practice? Designing user interfaces (UI design) is a natural place to start, but this is really just a subset of UX.
To truly get to grips with UX, you will need to map your virtual customer’s whole journey. When will they first come across your creation? What will convince them to interact with it? Where will you be directing them?
Of course, virtual customers can only get you so far. UX designers need to go out into the real world and test their designs on real people.
Here is where the next step comes in.
Step 2: Brush Up on Your Soft Skills
As a real-life programmer, you will know that just because your role might not require high-level social interaction, it doesn’t follow that programmers have no soft skills—that’s just a stubborn stereotype that the media likes to reinforce every now and then.
However, whether you are comfortable with working with other humans or not, UX design does require sophisticated social skills.
Going back to the first example at the start of this article, it is no good to just accept that the app sucks and then lock yourself in a room trying to figure out why.
A UX designer would arrange a focus group or maybe send out a bunch of surveys and ask what it is exactly about the experience that was unsatisfactory.
Was the cluttered screen a turnoff? Did the website not render properly on a mobile device? Did a link not go where it was supposed to go? Was the button text misleading? Were there too many steps to follow?
To fix a problem with user design, the very first task is to find out exactly what problem you are being asked to fix. By developing your soft skills, you will be able to really listen to the message your boss or customer is telling you. If they are not the best communicators, you will be able to ask further questions for clarification and restate your understanding.
When a deadline is looming, poor UX can lead your boss or client to feel frustrated and even angry, so these soft skills also need to include communication strategies such as de-escalation, mood matching, and active listening. De-escalation is taking the heat out of a difficult conversation; mood matching is using the same mood as your conversation partner (e.g., being sympathetic when they are upset rather than upbeat); and active listening is focusing on what the other person is actually saying rather than preparing for your next line.
The best UX designers are also master empaths, able to step in a user’s shoes, feel their pain, and make the right noises to demonstrate their understanding.
All of these skills can be improved on in exactly the same way as you might upskill in C++, Java, or Python: read, study, and practice constantly.
Step 3: Equip Yourself With Useful Tools
There’s a saying that a bad worker blames their tools. That truth can be extended a little: A bad worker chooses the wrong tools for the job and then blames the tools rather than their own decision-making for the failure of their handiwork.
The third and final tip is simply to make sure you’re working with the best tools for the job at hand. To design compelling interfaces and quickly construct prototypes and mockups, you will need to choose wisely.
Now, please don’t think this means a UX designer has to spend thousands of dollars on heavily marketed programs, templates, and platforms. As a budding UX designer, you need to get into the habit of judging everything by its usefulness and not its price tag.
Some tools are probably worth paying extra for. For example, most UX designers will insist they couldn’t function without the Sketch prototyping tool or Adobe products such as Illustrator and Photoshop for design work.
However, if you are developing a bunch of cookie-cutter websites for a corporate client who doesn’t need anything bespoke, why code everything from scratch using libraries?
There’s nothing wrong with jazzing up some cheap readymade website designs with—for example—elements taken from premium Bootstrap 4 UI kits. In fact, there are plenty of high-quality, low-cost options for front-end developers, using any preferred framework.
For example, if you are building a dashboard or admin area, you will find plenty of decent free and premium React admin templates alongside budget Angular admin templates.
These will enable you to speed up your workflow with no drop in quality. More productivity means a happier boss or, for freelancers, more time to take on new clients.
Better UX Means Better Products and Happier Clients
Whether you need to improve the usability of a specific app or website or you are looking to add the UX string to your developer’s bow, here are the three things you need to focus on:
- Live and breathe UX through books, courses, and practice.
- Improve your social skills to become a great empathizer, communicator, and team player.
- Make sure you equip yourself with the tools for UX success.
Don’t underestimate the importance of UX as a way to differentiate your software products or improve your credibility as a programmer (five star apps look good on a developer’s resume!) Even better, UX design is something that any developer can understand and improve on.