Landing a job as a UX Engineer is tough, but it’s not impossible. This list was created to help you narrow your focus and master the skills you need to become a UX Engineer in 2020. Understandably, this list can be a bit overwhelming for anyone who is just getting started. For this reason, the list is divided up into two parts:

If you are brand new to either field, I would recommend focusing on one list at a time. In this way, you can still land an amazing job and earn an income as you build up your skills from the other list.

UX Engineer jobs UX/UI and Frontend

Job Finder FIND JOBS

UX Design Skills

In the world of web development, ux design is critical. While front-end engineering skills are necessary for building fast and scalable products, it’s the ux design skills that will ensure those products are not a waste of effort. Without some knowledge of ux design, you could spend weeks or months building a product that nobody wants. UX design helps to remove doubt, so you can build products that people actually find useful.

#1 – Empathy

Empathy is at the heart of ux design. You need the ability to put yourself in your user’s shoes in order to design products they will love. Fortunately, empathy is not a difficult skill to develop. If you understand why some products make you happy and why some products frustrate you, then you’re halfway there! Related: Empathy in Design: How Does it Work? Developers can sometimes struggle with empathy because UX improvements may seem minor compared to the “cost” of implementing them. If this is you, resist the temptation of putting your own convenience above your user’s satisfaction. Don’t cut corners. Have empathy. Start with the user experience and work backward.

#2 – Problem Solving

Problem-solving skills are important for both ux design and front-end engineering. However, I would argue that it’s even more important for ux. Why? Because the majority of ux problems are unique and specific to your own user’s needs. It’s often much easier to find answers to programming questions than it is for ux problems. With this in mind, you need the ability to come up with creative solutions for a variety of problems. With empathy and problem-solving skills combined, you can begin to understand your user’s pain points and design real solutions for them.

#3 – Observation

As mentioned, the majority of ux problems are unique, but not all of them. Having keen observation skills will save you many headaches down the road. This skill is particularly useful for the “design” piece of “ux design.” Your users are all over the web. They’re using social media, reading blogs, watching YouTube videos. If they’re doing it, then you should be doing it too. Observation skills help you spot patterns emerge and get ahead of your user’s expectations when trends become the new norm. Related: Good UX = Boring UI. Don’t be Creative Without great observation skills, it’s difficult to keep up in the fast-paced web development industry.

#4 – Marketing

Personally, I don’t think this one is mentioned enough. At many companies, UX Designers work closely with the marketing department. As a ux designer you should, at the very least, have a basic understanding of what marketing is and how it works. The concept of marketing, in general, has a long history of tracking customer’s needs and pain points. There is more crossover between marketing and ux design than you might realize, especially in today’s tech-driven world. At the end of the day, you have to satisfy users AND whoever signs your paycheck. By investing some time to learn marketing skills, you’ll better position yourself to provide value for your users and your company.

#5 – UX Research & Interviewing

At many companies, ux research is a completely separate role from ux design. That doesn’t mean you’re off the hook though. There is no such thing as ux design without ux research, so you’re not going to get far without learning it. To thoroughly understand ux research you need a degree in Human-Computer Interaction or a related field. However, as a ux engineer, I believe you can get by without the degree. If you learn how to collect qualitative data from users without jeopardizing the outcome, you’ll basically have most of the skill you need to conduct ux research. The underlying skill here is your ability to separate yourself from your designs. You need to be aware of your own biases and learn how to design objectively. Learn this and you’ll be good to go.

#6 – Statistics & Data Analytics

While statistics and data analytics fit under the “UX Research” umbrella, I think there is enough distinction to call them out separately here. Leveraging quantitative data is a very powerful way to understand how your users interact with your product. Have high bounce rates? You may need to reconsider your navigation. Are users leaving your page after a few seconds? Perhaps the page is taking too long to load. These are just a few metrics that Google uses to determine your website’s overall user experience. If Google’s paying attention to them, then you should be too. As Google’s CEO, Eric Schmidt stated:

The world will be inherited by statisticians

Unfortunately, data analytics software can only get you so far. You’ll need you a greater understanding of statistics, beyond calculating averages to help you make data-driven decisions as a ux engineer.

#7 – UI Design Tools

Now we’re finally getting to the “design” side of things. One of the biggest aspects of ux design is creating wireframes, mockups, and prototypes. Today’s most popular UI design tools are Sketch and Figma. I’ve actually never used either of these (did I mention technology moves fast?), but if I were to choose between the two now, I would choose Figma. AJ&Smart do a good (and funny) comparison in this video. It’s worth the watch.

#8 – UI Design Principles

Perhaps you’ve noticed “ux” and “ui” are usually paired together? That’s because they’re both essential for the overall user experience. UX Research will help you identify and solve specific design problems, but it will not help you create a beautiful design. For that, you need to understand ui design principles and how to use them effectively. There are certain, universal “truths” about design that every ux designer should know. If you have great observation skills (#3 on this list), then you’ve probably picked up on some ui design principles without even realizing it. Some of these principles include balance, alignment, contrast etc. Your UI is a canvas and you are the artist. Applying ui design principles is the difference between making a masterpiece and making something to stick on your fridge. It really does make a big difference. If your UI design is missing the mark, people will notice and lack trust in your brand. Related: UX Design & UI Design. Why Do We Need Both of Them?

#9 – Interaction Design

With the previous skill, ui design principles, you are dealing with the appearance of single web pages or features at a time. With interaction design skills, on the other hand, you have to take a step back and understand how that page or feature ties into the “big picture.” As the name implies, interaction design deals with guiding the interaction of your product. Without interaction design, your product will feel like it’s missing something. In Google’s Material Design spec, for example, the aim is to treat elements on your page as if they exist in the real world. This implies that objects moving on the page should speed up or slow down as if they followed the laws of physics.

#10 – Writing & Communication

Writing and communication skills are important for most careers, but they are especially important for ux designers. You will rarely design interfaces that don’t require text, icons, or images for the purpose of communication. This means that you need to learn out how to fully communicate a message as succinctly as possible. Writing effective copy is not as easy as it sounds. Readability and comprehension is a science. It’s important that you learn how to speak the language of your audience, but more importantly, engage them with your copy. One mistake that is easy to make is the casual use of big words that may be difficult for the audience to understand. Don’t make that mistake. Your job is to communicate effectively, not to impress readers with your knowledge.

Front-End Engineering Skills

There has never been a more exciting time to be a front-end engineer. Today’s web development industry is booming with innovation. New tools and resources are being created every day to help make our jobs easier. However, those tools and resources come with a learning curve too. If you are ready to get started with front-end engineering, the next 10 skills will be critical for you to get there.

#11 – HTML, CSS, & JavaScript

The web landscape has changed dramatically since the beginning. Today’s front-end engineers are expected to know tools, methodologies, and best practices that didn’t even exist a few years ago. Things move that quickly. As a front-end engineer, you will constantly need to learn new skills to stay relevant. Or do you? In a general sense, yes you will always be learning. However, the foundation of web development has always remained the same. At the core, we’ve always had HTML, CSS, and JavaScript. Learn these things and learn them well. Anything additional you’ll learn will be built on top of these technologies anyway (for the most part). There will always be a new and exciting framework or library. If you don’t have an understanding of plain ol’ HTML, CSS, and JS, then you shouldn’t buy into the latest framework until you do (in my opinion). By understanding the ins and outs of JavaScript, for example, you will get much further in the long term, then if you jumped straight into learning React today. In a few years, a new framework will come along and you’ll be hard pressed to learn that one too. Save yourself the headache and learn to write plain HTML, CSS, and JS first. Related: Designers Should Learn How to Code (Among Other Things)

#12 – Semantic HTML & Accessibility

HTML is used to describe your page to the browser, as well as people with disabilities. It’s not a design tool. After you learn the basics of HTML, you’ll want to dive into semantics and accessibility. You’ll learn that HTML is more than simply wrapping everything in a <div> tag. Semantic HTML deals primarily with expressing the “meaning” of a web page. By using a <nav> element, for example, you are essentially telling browsers where your navigation is located. As browsers get smarter, semantic HTML becomes increasingly important for the advancement of the web. Making your products accessible to persons with disabilities is also very important. If you’ve picked up skill #1 on this list (empathy), then perhaps you’re aware of the Web Content Accessibility Guidelines (WCAG)? If not, you should learn them. Your product is not truly user-friendly until it’s accessible by everyone.

#13 – CSS Frameworks, Architecture, & Preprocessors

After you’ve spent some time learning CSS, you’ll begin to appreciate the need for frameworks, methodologies, and preprocessors. Depending on your situation, Bootstrap is a great CSS Framework to get styles onto your website quickly. However, if the project requires something less “Bootstrappy,” it’s likely preferable to write your own CSS from scratch (back to the basics). Also, as a UX Engineer, performance is going to be an important factor to consider for your products. Using Bootstrap out of the box can have drawbacks when it comes to performance. Taking advantage of a CSS Preprocessor, such as Sass, is great for a variety of reasons. Most of all, they make CSS much easier to write by allowing you to nest styles within each other to create specificity. There are some other cool features too, such as the use of variables and mixins. In modern times, you won’t find many front-end engineers that aren’t using a preprocessor to help simplify their process. If you are writing your own styles from scratch, adopting a CSS Architecture is extremely useful for keeping your code organized. I’ve only used Scalable and Modular Architecture for CSS (SMACCS), which is great, but recently learned about some other CSS Methodologies. It’s easy for your CSS to get out of control if you don’t have a good organization strategy. It’s definitely worth it to adopt a CSS architecture for your development process. Related: CSS Specificity: How to Avoid Using !important in CSS

#14 – Responsive Design

Responsive design is nothing new anymore. It’s almost synonymous with web design at this point. Nonetheless, it’s still important to learn how to account for many different devices and screen resolutions with your designs. Failing to learn responsive design is a fast way to leave half of your users out of the equation, which would obviously lead to a poor user experience. We’re in a mobile world now. Mobile is not going anywhere. Learn how to design for mobile, tablet, and desktop and you’ll be good to go.

#15 – JavaScript Frameworks

JavaScript frameworks are important because programming is expensive. Frameworks like jQuery, Angular, Vue, and React were created to help speed up development and do much of the heavy lifting for you. For this reason, companies have no qualms about adopting JS frameworks because it saves them money in the long run. Of course, there are more JavaScript frameworks than you can count on two hands. They all seek to solve a different problem. It would be worthwhile to understand which frameworks are out there. It would also be worthwhile to learn at least one JavaScript framework to assist you with your web development. React seems to be the most popular choice right now, but that could easily change in a few short years.

#16 – Backend Development

Front-end developers work with backend developers pretty closely. I’m not suggesting you should become a full-stack engineer (although, that would be pretty impressive). However, I am suggesting that it would be worthwhile to learn enough about back-end development to better engage with your back-end coworkers. At the end of the day, you will probably be deciding what data is needed to support your projects. Having a decent understanding of back-end development will help foster that communication and ensure project success.

#17 – Testing & Debugging

Testing and debugging is critical for anyone working on front-end code. There are many different ways to “test” your product, but the type of testing you will do most frequently will be in the browser and JavaScript testing. Chrome’s Developer Tools (Dev Tools) is a very powerful and handy tool. Dev Tools allows you to quickly make changes to your HTML/CSS and see how it renders on the page. The console allows you to see when you have errors in your JavaScript. The networking tab allows you to see how quickly files are being rendered, and in which order. There is much more it can do too. If you’re just getting started with front-end development, you’ll soon realize how amazing Dev Tools really is. To make sure your website looks good across all browsers and devices, you’ll need to test your changes everywhere. Browserstack is a super handy tool for this kind of testing. In Test Driven Development (TDD), your JavaScript will need to be tested to ensure you are covering all your bases. Tools like Karma will help you get started with building tests around your code.

#18 – Package Managers (NPM)

Package managers, such as npm, have become a necessity for modern front-end development. They make life easier. With the explosion of resources, frameworks, libraries etc. at your fingertips, it starts to become fairly painful to manage them all…..unless you use a package manager. Learning npm will require you to use the command-line interface (CLI). It’s not as scary as it sounds. There are plenty of tutorials online that can help you when you’re ready to incorporate package managers as part of your web development process.

#19 – Build Tools

In addition to npm, you also need to know about build tools, such as Module Bundlers, Task Runners, and Linters. These tools have different purposes but are essential for modern web development. Module Bundlers, such as WebPack were created to help you track your module dependencies between files and bundle them up into one resource. One of the main benefits of using a tool like WebPack is the concept of “Tree Shaking,” which prevents unused resources from being loaded unnecessarily. Task Runners, such as Gulp, allow you to run tools like WebPack and Sass. They are useful because they can watch for changes in your Sass or WebPack files and rebuild the output automatically. Learning how to use a task runner will definitely help boost your productivity. As you work with a team of other front-end engineers, it’s important to ensure that you adhere to a style guide for your JavaScript code. This is where linters, such as ESLint come in handy. Linters allow you to specify rules, regarding spacing, syntax, naming etc. in your code. When you break these rules, your linter will let you know. Essentially, linters are a useful way to ensure quality and consistency for a shared code base.

#20 – Version Control

Everyone makes mistakes. Fortunately, there’s version control for that. As a front-end engineer, it will be essential to learn how to use version control, such as Git or Team Foundation Server (TFS). Version control allows you to branch off of your production code (essentially, create a copy of it) and make changes without needing to worry about messing things up beyond repair. However, when things do go wrong, such as a bad deployment, version control is there to save the day by allowing you to roll back your changes to the previous version.

Are you ready to become a UX Engineer?

So, there you have it: The 20 Skills You Need to Become a UX Engineer in 2020. I hope you have found this list useful as you work to improve your skills. If you’re ready to become a UX Engineer, then check out the jobs board!

If you are interested to learn more about UX Design or Front-End Engineering, consider subscribing to UXE Weekly and receive a new article about UX Engineering [almost] every week!

Become a Unicorn Get articles about UX/UI Design + Front-End Development It's FREE - No spam - Opt out any time