7 Must-Read UX Design Books

By

If you search on Amazon for books using the key phrase “UX design”, more than 1,000 titles will appear. That’s a lot of titles to wade through if you’re looking to read about user experience! One of the most difficult parts of making a list of the best UX books is that there are so many awesome ones out there. I could write a must-read list that goes on forever.

I chose the following UX titles either because they have played a significant role in the way I view my place as a UX designer or because they address foundational design topics that every UX designer should understand. I’m leaving out a fair number that have been published in all aspects of design, from usability and research to interaction design and how to present and speak to your design decisions. This reading list is intended for you to use as a starting point.

1. Badass: Making Users Awesome by Kathy Sierra

Kathy Sierra’s book is all about the strategy for creating successful products and services. Badass: Making Users Awesome looks at how to look at a product or service from the user’s perspective.

So instead of relying on marketing tactics that might be unethical, we can create products that lead users to champion them with their friends and family. A win for everyone!

The design and layout of the book is unlike that of most — it lays out the argument with a lot of visuals. And it’s an easy read. This has led to some negative reviews complaining that the book is just a PowerPoint PDF. Lay that aside, and the message is strong. It’s a great look at the point-of-view statement and how a well-written one can be influential in creating awesome products that users love.

When you read this book, it will start to make sense why some products do really well in the market and why others don’t. It will help show you how to shift your design strategy so that it can be successful too.

2. Just Enough Research by Erika Hall

Erika Hall’s book on UX research is a joyful and informative read you could probably finish in a single day. 

This slim how-to manual, published by A Book Apart, walks the reader through the basics of user research, from talking to stakeholders in an organization through analysis and reporting. Hall’s writing style makes the topic — which can be dry in other books — fun and approachable. 

She’s also realistic in her advice to readers. She recognizes the constraints in time and budget that all UX designers face in their day to day jobs, so she proposes how best to navigate these situations and what alternative methods to employ.

Just Enough Research’s current edition was updated with a new chapter on surveys and why designers must be very careful about using these often-abused metrics in their research.

Even if you aren’t a UX researcher, this book explains how you can implement research in your process and spot your own biases so you can design a better user experience.

3. The Design of Everyday Things by Don Norman

The Design of Everyday Things is a standard on most design-reading lists for a reason. This book was originally published in 1988 with the title “The Psychology of Everyday Things”. It was revised in 2013 with a major update to some of the examples to make it more relevant to today. 

Norman’s book lays the landscape for usability in human-centered design. In it, Norman lays out how human psychology affects everyday actions, why it’s natural for humans to make mistakes, and how technology can help rather than cause errors. Norman also explains human-centered design and proposes principles for good design.

I listened to this book on Audible, and a PDF accompanied the audio book so I could view the examples, which are especially helpful in understanding affordances and signifiers.

Vox produced a great video about one of the examples in the book — how doors are designed well, and how they are designed badly. If you’ve ever struggled with figuring out a door, sink, stove, switches, or other interface — the problem isn’t you. It’s the design.

Norman’s classic book explains why bad design happens, what good design is, and the constraints designers face when designing.

4. Designing with the Mind in Mind by Jeff Johnson

Sometimes designers follow a set of rules for designing user interfaces without understanding why certain patterns and methods work. This book changes that.

Jeff Johnson’s Designing with the Mind in Mind lays out the perceptual and cognitive psychology that are the foundation for intuitive interfaces.

For example, how does human perception work? How is the eye structured and how do we read? What can we do as designers to ensure that people can see the information we design?

Johnson walks through an explanation of human vision, attention, memory, and decision-making for a deep-dive into why we perceive the way we perceive. After reading this book, UX designers will have a better idea of why we have design rules so they can make educated decisions about tradeoffs between budget, time, and competing design rules.

5. About Face: The Essentials of Interaction Design 4th Edition by Alan Cooper, Robert Reiman, David Cronin, and Christopher Noessel

About Face completely changed the way I think about interaction design. Admittedly, I’ve only read sections of the book, due to its length. Still, it’s a reference when I have questions about how to approach interaction design and UI design.

This book is broken into three parts. It starts with introducing goal-directed design and how to approach digital projects. Then it moves through designing for behavior and form. Lastly, it looks at the differences in designing for desktop, mobile, and web applications.

My read of the book focused on designing for behavior, and my biggest “ah-ha” moment came when reading about optimizing for intermediate users. Much of the struggle designers have is in how to manage the different needs between beginners and experts. This chapter explains that we should focus on intermediates. We should guide beginning users to become intermediates as soon as possible, and aim to provide opportunities for advanced users to use our products without holding them back.

This book includes a number of other useful concepts to consider when designing user interfaces. At 659 pages, it might be a little too much to read in one sitting, but it should be in the designer library.

6. Don’t Make Me Think by Steve Krug

Steve Krug’s classic book introduced me to usability and usability testing, and launched me into my current career as a UX designer. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability is now in its third edition. 

It’s short, easy to read, and a great manual for designers just getting started in usability testing. Krug wrote it based on his 30 years as a usability consultant for organizations including Apple, NPR, and the International Monetary Fund. Even if you already understand why you should do usability testing, chances are you work with people who don’t understand. This book is a great gift for those people. It explains why you should test, how to keep it simple, and how to keep it from being a budget suck. The newest edition has a new chapter about usability for mobile websites and apps, and all of the examples are updated.

If you want to take it a step further, consider Krug’s second book, Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems. This book explains everything you need to know to get started with usability testing with little or no cost. It includes how to recruit, how to conduct a test session, and how to involve your team. 

7. Change by Design by Tim Brown

IDEO CEO Tim Brown explains design thinking and how it should be used at every level of a business. This isn’t a manual for designers. It’s geared towards people outside of the industry, but I included it on this list because of the examples.

IDEO is a well-known human-centered design firm, and the examples Brown provides are straight from IDEO’s project list. While sometimes it feels more like a sales pitch, the case studies are interesting examples of how design thinking is applied.

UX designers who read this book can look at design thinking from a perspective outside the industry and use the examples to explain how design thinking can be used in every industry and in every discipline — it’s not just for designers.

Conclusion

I couldn’t include all of my favorite user experience books on this list. There are just too many amazing titles, and I already have about three times as many on my “to-read” list. These must-read UX design books are a great place to get started if you’re looking for some summer reading to help you advance your design career.


Explore Our Upcoming Design Programs

3 Major Uses for Python Programming

By

Python is a popular and versatile programming language. But what is Python used for? If you’re interested in learning Python or are in the process of learning how to code in Python, your efforts will be greatly rewarded as there’s so much you can do with it. In this article, we’ll explore the top three major uses for Python.

Before we dive into the uses, let’s briefly discuss why Python has so many uses in the first place. What characteristics does Python have that allow it to be so useful? Python is:

  • General-purpose: The language was designed to be “general purpose”, meaning it doesn’t have language constructs to force it into a specific application domain. Other programming languages that are general-purpose include (but are not limited to): C++, Go, Java, JavaScript, and Ruby. 
  • Readable: Python is a high-level programming language, meaning it has a higher level of abstraction from machine language and has a simple syntax and semantics (e.g., indentation instead of curly brackets to indicate blocks), which lends to its readability. 
  • Versatile: Python has a large standard library, meaning it comes equipped with a lot of specialized code to handle different tasks. For example, instead of writing your own Python code to read and write CSV files, you can use the csv module’s reader and writer objects. In addition, there are many open-source libraries and frameworks that provide additional value for Python programmers — especially those in machine learning, deep learning, application development, and game development — and scientific computing will find an ample supply of libraries and modules.

What is Python used for? There are so many different tasks that Python can accomplish. You can use it to build recommender systems, create cool charts and graphs, build restful APIs, program robots, conduct scientific computing, manipulate text data or extract text from images; the list goes on and on. 

The best way to think about uses for Python is through the most active and popular disciplines that rely on Python programming:

  1. Artificial intelligence and machine learning
  2. Data analysis and data visualization
  3. Web development

1. Artificial Intelligence and Machine Learning

What it is: Artificial Intelligence is a concept that’s more or less the idea of machines or computers that mimic human cognitive functions such as “learning” and “problem-solving.” Activities like driving a car, playing chess, and answering a question are all structured, logic-based things that humans can do that are being implemented by computers today. At the heart of this activity is machine learning, which is the process that a computer takes to learn the relationships between variables in data so well that it can predict future outcomes (usually on unseen data). If data is the input (“knowledge”), the machines understand the relationships between variables (“learning”) and it can predict what the next step is (“outcome”) — then you have machine learning. 

How Python is used: Artificial intelligence requires a lot of data, which in turn requires appropriate storage, pre-processing, and data modeling techniques to be implemented. Deep learning is the intermediary component; it’s the use of specialized models (neural networks) that can handle “big data” at scale. Python is a programming language of choice for the machine learning, deep learning, and artificial intelligence community due to it being a minimalistic and intuitive language with a significant number of libraries dedicated to machine learning activities, which reduces the time required to implement and get results. R is another popular language used by machine learning enthusiasts and practitioners, but Python tends to be more popular because of the number of machine learning and AI-related efforts coming from the tech community, which uses Python. For example, TensorFlow is Google’s AI platform and open-source software library used for machine learning and the creation of neural networks for AI purposes.

Helpful links: Machine Learning, Python Libraries for Machine Learning

2. Data Analysis and Data Visualization

What it is: Data analysis is the specialized practice of analyzing data, both big and small, for information and insights. Results of data analyses are often visualized, for the benefit of the recipient, and the tools and techniques used to communicate results visually requires the specialization that is known as data visualization. Data analysis and data visualization are not unique to any industry. It’s better to think of them as process-focused roles than industry-specific roles. After all, every company and industry has its own data to work with. What data analysis is not is the management of data from servers and storage, although some data analysts specialize in data management.  

How Python is used: Data analysis and data visualization are specialized roles that can implement Python in ways that are integral to the mission of each role. A data analyst will use Python for data wrangling and data transformation, which is converting data from its raw format to a usable, analyzable format. Then, using open-sourced libraries like Pandas, NumPy, and SciPy, data analysts can manipulate and analyze both numerical and categorical data. In order to visualize data locally, additional libraries such as Seaborn, matplotlib, ggplot, and bokeh, can be used. Some data visualization professionals prefer using Python over business intelligence platforms like PowerBI and Tableau because it’s free, easy to learn, and reduces the need to have to use additional software to create visualizations. 

Helpful links: Data Analysis in Python, Python Libraries for Data Visualization

3. Web Development 

What it is: Web development is a catch-all term for creating web applications and application programming interfaces (APIs) for the web. Web development is a highly specialized role that can be explained by the design pattern known as model, view, and controller (MVC). These terms represent the specialized layers of code of a web application or API. The model involves the code for an application’s dynamic data structure, the view involves the code that directly interacts with the user, and the controller is the code that handles user interactions and works to facilitate input going from the view to the model.

How Python is used: Python has several MVC frameworks that can be used for web application development straight out of the box, and this includes Django, turbogears, and web2py. While a web framework is not required for web development, it’s beneficial to use them as they greatly speed up the development progress. For beginners, learning Python’s syntax and the libraries needed for building a web application or API is a high level of effort, but the alternative would involve a much greater effort, as it would require the knowledge and correct use of multiple programming languages instead of Python.

Helpful links: Full Stack Python: Web Development, Web Frameworks for Python

Conclusion

We’ve explored the major uses for Python, which include machine learning and artificial intelligence, data analysis and data visualization, and web development. If you’re currently learning Python programming, then you’re off to a good start, especially if you’re considering pursuing work in any of the aforementioned areas. For those unsure how to start learning Python, I encourage you to read some of our other posts, which provide more details and tips on how to get started.

Explore Our Upcoming Coding Programs

Beginner’s Python Cheat Sheet

By

Data Science is rapidly becoming a vital discipline for all types of businesses. An ability to extract insight and meaning from a large pile of data is a skill set worth its weight in gold. Due to its versatility and ease of use, Python has become the programming language of choice for data scientists.

In this Python cheat sheet, we will walk you through a couple of examples using two of the most used data types: the list and the Pandas DataFrame. The list is self-explanatory; it’s a collection of values set in a one-dimensional array. A Pandas DataFrame is just like a tabular spreadsheet, it has data laid out in columns and rows.

Let’s take a look at a few neat things we can do with lists and DataFrames in Python!
Get the pdf here.

Python Cheat Sheet

Lists

Creating Lists

Create an empty list and use a for loop to append new values.

#add two to each value
my_list = []
for x in range(1,11):
my_list.append(x+2)

We can also do this in one step using list comprehensions:

my_list = [x + 2 for x in range(1,11)]

Creating Lists with Conditionals

As above, we will create a list, but now we will only add 2 to the value if it is even.

#add two, but only if x is even
my_list = []
for x in range(1,11):
if x % 2 == 0:
my_list.append(x+2)
else:
my_list.append(x)

Using a list comp:

my_list = [x+2 if x % 2 == 0 else x \
for x in range(1,11)]

Selecting Elements and Basic Stats

Select elements by index.

#get the first/last element
first_ele = my_list[0]
last_ele = my_list[-1]

Some basic stats on lists:

#get max/min/mean value
biggest_val = max(my_list)
smallest_val = min(my_list)avg_val = sum(my_list) / len(my_list)

DataFrames

Reading in Data to a DataFrame

We first need to import the pandas module.

import pandas as pd

Then we can read in data from csv or xlsx files:

df_from_csv = pd.read_csv(‘path/to/my_file.csv’,
sep=’,’,
nrows=10)
xlsx = pd.ExcelFile(‘path/to/excel_file.xlsx’)
df_from_xlsx = pd.read_excel(xlsx, ‘Sheet1’)

Slicing DataFrames

We can slice our DataFrame using conditionals.

df_filter = df[df[‘population’] > 1000000]
df_france = df[df[‘country’] == ‘France’]

Sorting values by a column:

df.sort_values(by=’population’,
ascending=False)

Filling Missing Values

Let’s fill in any missing values with that column’s average value.

df[‘population’] = df[‘population’].fillna(
value=df[‘population’].mean()
)

Applying Functions to Columns

Apply a custom function to every value in one of the DataFrame’s columns.

def fix_zipcode(x):
”’
make sure that zipcodes all have leading zeros
”’
return str(x).zfill(5)
df[‘clean_zip’] = df[‘zip code’].apply(fix_zipcode)

Explore Our Python Course

8 Best UX Design Portfolio Examples

By

The UX portfolio website has superseded the business card as a UX designer’s most essential professional networking tool. Especially these days, as the UX design industry pivots abruptly to a predominantly remote professio­­­n, UX designers communicate their professional identities virtually through their online presence to navigate the constricted job market successfully. 

In my middling work experience as a UX designer over the years, I’ve been involved in countless UX portfolio reviews on both sides of the hiring process. Having personally benefited from industry mentorship in my own career, I’m excited to share what inside intelligence I can back with the design community, to encourage emerging UX designers to represent themselves more effectively to hiring managers and potential clients.

As with any other good user experience, a UX portfolio website should consider the user’s mindset during a visit. Bear in mind, companies typically automate their hiring processes using HR software, with workflows designed to evaluate as many qualified applicants as quickly as possible. Conciseness is merciful to reviewers digging through a pile of applications. The reviewer expects immediate access to all the information they need to accomplish their evaluation. Within twenty seconds, they should understand your pitch, get a sense for your work, and have your contact information at their fingertips, ready to take the next step in their hiring workflow.

For full disclosure, I’ve pulled all of these examples from my own personal orbit, and included friends and colleagues who I respect and want to uplift. Let’s take a look at how each designer’s site uniquely succeeds, and look for patterns to model a great UX design portfolio.

1. Total class: Liya Xu

Liya Xu is an accomplished UX designer and Amazon alum, now returning to graduate school to study design management at Pratt. She leverages her technical know-how combined with her visual sensibility to craft all-around excellent applications. Really, check out her work.

This online design portfolio has the character of a fashion spread, with well-selected attributes and succinctly written content. She allows the viewer plenty of breathing room in the empty space of the layout, to process the impact of her UX portfolio content. The case studies fall in reverse chronological order, most recent and impressive work at the top. A visitor gains immediate access to an example of work “above the fold,” peeking up from the bottom of the home screen. The experience conveys an overall modern, professional effect.

2. Authenticity: Seka Sekanwagi

Seka Sekanwagi works at Cash App as a UX researcher and comes from a well-rounded background in product design, interaction design, UX, and UI. His degree is actually in industrial design, the crafting of objects and tools, and he brings that same human-centered mindset to his work. A genuine empathetic interest in other people drives his user research, questioning the meaning behind core user needs and translating them into tangible quality improvements.

The imagery and copywriting of Seka’s design portfolio establish his credibility while expressing his individuality. Selectively-edited messaging demonstrates the level of thoughtfulness that goes into his work output. He formats his work qualifications in simple typesetting, reducing the cognitive load on the visitor, and inviting them to review his qualifications at their leisure.

3. Perfect Pitch: Roochita Chachra

Roochita Chachra is an Austin-based UX designer and recent General Assembly immersive graduate who is highly active in the local creative community. Roochita enters UX design from the adjacent worlds of graphic design and digital marketing and is transitioning her career focus to allow her more opportunity to conduct user research, prototype, and problem-solve.

Whenever repositioning for a new avenue of design, it takes self-restraint to hide old projects which don’t reflect your updated professional image. A UX design portfolio needs to represent the type of work you’re looking for, not just what you’ve done. Roochita focuses hers on the UX design process, and supports it with plenty of explanations and artifacts to show the output.

4. Pure Enthusiasm: Ljupcho Sulev

Ljupcho Sulev approaches his design work with a passion and a positive attitude. Originally from Macedonia, he works for SoftServe out of Sofia, Bulgaria. I had the opportunity to collaborate with Ljupcho on a project, conducting user interviews and analyzing research side-by-side for weeks. His sunny disposition brightens the spirits of his team members and elevates the work.

Ljupcho’s profile is sparse and direct. He highlights his career achievements by pairing photography with bold infographics, letting his enthusiasm pop off the screen. The minimal design aesthetic allows the content to take priority over the visuals. 

5. Scannability: Aimen Awan

Aimen Awan is a UX designer with a background in software engineering and information experience design. Aimen optimizes her case studies for the viewer to scan quickly, with summaries at the top denoting her role and responsibilities on the project. Scrolling down the page, project artifacts illustrate the design process, increasing the fidelity successively up to the final product.

When developing a UX portfolio for a job search, take a lean approach like Aimen — gather feedback, and iterate on your design. We designers are all susceptible to over-designing our work, nitpicking well past diminishing returns. The most useful design portfolio feedback comes from submitting actual job applications and gauging the response, so the earlier you have something ready to share, the better. Think of it as a user test — submitting a batch of applications and fishing for feedback from hiring leads. Every response is a valuable piece of data and should help you refine your messaging and presentation.

6. Approachability: Ke Wang

Ke Wang writes his UX portfolio with a tone of casual levity, with bonus points for rhyming, and his About section reads like a social media status update. He pulls it off because his case studies scroll through examples of his overwhelming talent and work.

Website design covers some crucially important goals which require some entirely human skills. Relating to the site visitor in an approachable way is the hallmark of intuitive user experience and a good heuristic of success.

7. Clear Storytelling: Phill Abraham

Phill Abraham is a graduate of General Assembly’s User Experience Design Immersive course. Like many other UX designers, Phill arrived through a circuitous career path, with a background in psychology and experience in documentary film. He is actively involved in the local design scene, building out his book of projects.

Each case study shapes a compelling narrative of Phill’s design process. A project from his experience as a documentary filmmaker bolsters his UX portfolio and speaks to his capability to perform as a professional. Documentary is, after all, a quintessential form of user research. Phill applies his storytelling sensibility in presenting the case studies, outlining his thorough process step-by-step. As the visitor scrolls down the page, they experience a neat narrative arch outlining the scenario, the design process, and the final product.

8. The Resume Homepage: Samantha Li

Samantha is a Design Manager at Capital One and an all-around UX champion. An active organizer within the design community, she mentors students and early-career UX designers working to break into the industry. Her own UX portfolio website outlines her career journey in the form of an extended resume, dense as a novel. An evaluator doesn’t even have to click to find all of the relevant information.

The resume homepage is a great design pattern for more established professionals with a long list of accomplishments. As a best practice, scrutinize what you publish diligently. Password-protecting case studies helps avoid any disputes over showing sensitive client work, and you may need to censor any personal data that may appear in your photographs and artifacts.

Conclusion

Job hunting poses challenges even for design professionals with advanced experience. Candidates need to squeeze their credentials into a digestible size to communicate their entire work history to reviewers in a short window of attention. The importance of every element of the online UX design portfolio becomes amplified, and dialing in the nuances of messaging makes a difference in getting noticed.Emerging UX designers face an uphill challenge as they’re fleshing out their portfolio projects. UX professionals in the job market are judged by their list of accomplished projects, a frustrating situation for early-career UX designers who may be struggling to get their foot in the door with shorter resumes. The only course of action is bootstrapping through some initial projects — side projects, student projects, volunteer work, and ultimately paid UX design jobs — to demonstrate applied skills. A great UX portfolio effectively communicates your ability and value to potential clients.

Explore Our Upcoming Design Programs

5 Tips for Starting a Career in UX Design

By

Are you curious about how to get into UX design? With so many jargon-filled UX designer job descriptions, chatter about software tools, and contrasting perspectives on the future of UX, it can be challenging knowing where to start your career path in UX design

It may be helpful to understand that UX design is a vast field with many opportunities and ultimately benefits from your contributions. In the following article, we’ll help you navigate some of these uncertainties so that you can find your voice amid an ocean of options.

Identify Your Passion

Due to the scale and complexity of what it takes to create successful products and services, becoming a successful UX designer requires perspectives from all walks of life. From research to development to management, UX design is a multifaceted field. 

Because of this, it’s important to start with you and your passions versus responding to what’s outlined in a job description. It’s critical to self-reflect and ask yourself: What inspires me most? What are my strengths? Where would I like to grow?

Another reason you want to start with your passion is that achieving your goal is going to require sustained energy. For example, not everything you try is going to work as you expect. Nor are you going to get everything “right” the first time. This means you need to stay the course as you learn and that drive comes from within you, not from the outside. 

For example, I started in Industrial Design because I had experience making furniture and was passionate about design. I followed popular designers for the time such as Philipe Stark, Philip Johnson, and Jasper Morrison. I saw them as my mentors and did everything I could to emulate some of their thinking.

However, over time, I came to the realization that while I loved their work, they were able to work in a way that was impossible for me. And as I wrestled with this realization, I came to a deeper understanding about myself. What excited me most as a designer was thinking about how people interacted with the product or service. I wanted to understand what was driving people’s behaviors and expectations more than the object itself. The thought of influencing what’s in the world based on people’s feedback became my new interest and has been for the past 15 years. 

OK, so I’ve identified my passion but how do I know where it might fit with user experience design? We can learn a lot by breaking down some of the roles within a typical UX design engagement: 

  • User Research
    • Spends time understanding a product or service user, their needs, and expectations.
    • Creates a foundation of understanding for other teams (e.g. Interaction Design, Front-End Development) to build upon.
  • Interaction Design 
    • Spends time detailing the functionality of a product or service for every user scenario.
    • Creates site maps, user flows, wireframes, prototypes, and navigation paradigms to illustrate a potential solution.
  • UI Design and Visual Design 
    • Spends time organizing and creating visual elements for interfaces, considering the visual details of a UI design such as color, imagery, typography, brand guidelines, and visual hierarchy, similar to graphic design. 
    • Creates illustrations and UI design mockups to illustrate potential solutions.
  • Development 
    • Spends time understanding what it will take, front-end and back-end, to have a product or service built to function the way it’s intended.
    • Creates proof-of-concepts and functioning prototypes making ideas tangible.
  • Product Management 
    • Spends time understanding a specific product, its market, and ways to improve it.
    • Creates product portfolios, roadmaps, return on investment estimates, and continuous improvement plans.
  • Project Management 
    • Spends time aligning teams based on established goals, tracks time and budget.
    • Creates status reports for stakeholders, project timelines, and project wikis.

Stand on Shoulders 

“If I have seen further it is by standing on the shoulders of giants.”

– Sir Isaac Newton 

The phrase “standing on the shoulders of giants” originated from Sir Isaac Newton when asked how he had been so prolific in discovering a wealth of governing laws defining how physical objects interact. The same mentality applies to UX designers as well. You’ll want to soak up as much as you can about how others before you have dealt with and defined their challenges. 

In my case, this meant putting away the glossy design magazines and engrossing myself in the social sciences: sociology, psychology, behavioral economics, etc. Doing so has allowed me to build on the brilliance of many before me in an effort to stay relevant. 

“Stand on shoulders” means coming to the realization there have been many great minds that have impacted the way things are today and by understanding their contributions, you can be effective in how you spend your time building off of their work instead of repeating the same mistakes. 

Keep in mind, this does not relegate you to spending hours in a library. There’s a lot that can be learned from a mentor, for example — a UX designer who’s been working in UX design for some time and is willing to offer their insights based on your needs. This too will help you hit the ground running. 

Get to Know Your Toolbox

Now that you’ve identified your passion and a UX designer to be your mentor, it’s a good idea to begin experimenting with some of the tools you may have been hearing about. Remember, your goal is to become acquainted and perhaps proficient, but not a master. That will come later as you learn further, gain experience, and the tools of your discipline mature. 

When we say tools, that doesn’t necessarily mean software only. There will be many aspects of your practice you’ll need to learn in order to be an effective UX designer. For me, that meant learning different interviewing techniques, fundamentals of body language, practicing active listening, studying storytelling, and presenting to others — all of which have proven to be timeless and fundamental in my career. A short UX design course can provide a good introduction to essential tools, methods, and strategies.

Experiment and Reflect

“Everything is an experiment.” 

– Tibor Kalman

When it comes to creating impactful products and services, it’s critical to keep in mind that we learn by trying things out and reflecting on what happened. In fact, the process of experimentation and reflection is a core tenet of UX design. 

Remember: Words and actions are not the same. You need to put in the work. 

As a UX designer, the more you can demonstrate your thinking by creating concepts and putting them in front of others, the more you will capture the interest of a potential employer. Consider taking a UX design course that helps you create projects for a professional UX portfolio. Don’t worry about making it perfect. Seeing the evidence of your thought process not only helps them see your strengths, but also your potential. 

So, be bold! Try things out. Experiment.

Rinse and Repeat

As the saying goes, the more you learn, the more you realize how much you don’t. The same is true here. UX design is a vast field with many roads. The more you keep at it, the better you’ll get, and becoming an expert UX designer will take time. 

Stay curious, experiment, and have fun!

Remember: 

  • UX design is a vast and multi-faceted field, not to mention ever-changing.
  • Don’t let current titles, tools, and job descriptions intimidate you from taking the first step.
  • Careers require an internal commitment in order to hone your experience and perspective.
  • Embrace the soft skills of your practice because tools are not limited to screens. 
  • Demonstrating your thought process increases your chances of landing your first UX job, and a project-based UX design course can help.
  • Since it is impossible to know what’s going to happen, it’s important to take the first step.
Explore Our Upcoming UX Design Programs

What is Python: A Beginner’s Guide

By

WHAT IS PYTHON?: AN INTRODUCTION

Python is one of the most popular and user-friendly programming languages out there. As a developer who’s learned a number of programming languages, Python is one of my favorites due to its simplicity and power. Whether I’m rapidly prototyping a new idea or developing a robust piece of software to run in production, Python is usually my language of choice.

The Python programming language is ideal for folks first learning to program. It abstracts away many of the more complicated elements of computer programming that can trip up beginners, and this simplicity gets you up and running much more quickly!

For instance, the classic “Hello world” program (it just prints out the words “Hello World!”) looks like this in C:

However, to understand everything that’s going on, you need to understand what #include means (am I excluding anyone?), how to declare a function, why there’s an “f” appended to the word “print,” etc., etc.

In Python, the same program looks like this:

Not only is this an easier starting point, but as the complexity of your Python programming grows, this simplicity will make sure you’re spending more time writing awesome code and less time tracking down bugs! 

Since Python is popular and open source, there’s a thriving community of Python developers online with extensive forums and documentation for whenever you need help. No matter what your issue is, the answer is usually only a quick Google search away.

If you’re new to programming or just looking to add another language to your arsenal, I would highly encourage you to join our community.

What is Python?

Named after the classic British comedy troupe Monty Python, Python is a general-purpose, interpreted, object-oriented, high-level programming language with dynamic semantics. That’s a bit of a mouthful, so let’s break it down.

General-Purpose

Python is a general-purpose language which means it can be used for a wide variety of development tasks. Unlike a domain-specific language that can only be used for specific types of applications (think JavaScript and HTML/CSS for web development), a general-purpose language like Python can be used for:

Web applications – Popular frameworks like Django and Flask are written in Python.

Desktop applications – The Dropbox client is written in Python.

Scientific and numeric computing – Python is the top choice for data science and machine learning.

Cybersecurity – Python is excellent for data analysis, writing system scripts that interact with an operating system, and communicating over network sockets.

Interpreted

Python is an interpreted language, meaning Python code must be run using the Python interpreter.

Traditional programming languages like C/C++ are compiled, meaning that before it can be run, the human-readable code is passed into a compiler (special program) to generate machine code — a series of bytes providing specific instructions to specific types of processors. However, Python is different. Since it’s an interpreted programming language, each line of human-readable code is passed to an interpreter that converts it to machine code at run time.

In other words, instead of having to go through the sometimes complicated and lengthy process of compiling your code before running it, you just point the Python interpreter at your code, and you’re off!

Part of what makes an interpreted language great is how portable it is. Compiled languages must be compiled for the specific type of computer they’re run on (i.e. think your phone vs. your laptop). For Python, as long as you’ve installed the interpreter for your computer, the exact same code will run almost anywhere!

Object-Oriented

Python is an Object-Oriented Programming (OOP) language which means that all of its elements are broken down into things called objects. Objects are very useful for software architecture and often make it simpler to write large, complicated applications. 

High-Level

Python is a high-level language which really just means that it’s simpler and more intuitive for a human to use. Low-level languages such as C/C++ require a much more detailed understanding of how a computer works. With a high-level language, many of these details are abstracted away to make your life easier.

For instance, say you have a list of three numbers — 1, 2, and 3 — and you want to append the number 4 to that list. In C, you have to worry about how the computer uses memory, understands different types of variables (i.e. an integer vs. a string), and keeps track of what you’re doing.

Implementing this in C code is rather complicated:

However, implementing this in Python code is much simpler:

Since a list in Python is an object, you don’t need to specifically define what the data structure looks like or explain to the computer what it means to append the number 4. You just say “list.append(4)”, and you’re good.

Under the hood, the computer is still doing all of those complicated things, but as a developer, you don’t have to worry about them! Not only does that make your code easier to read, understand, and debug, but it means you can develop more complicated programs much faster.

Dynamic Semantics

Python uses dynamic semantics, meaning that its variables are dynamic objects. Essentially, it’s just another aspect of Python being a high-level programming language.

In the list example above, a low-level language like C requires you to statically define the type of a variable. So if you define an integer x, set x = 3, and then set x = “pants”, the computer will get very confused. However, if you use Python to set x = 3, Python knows x is an integer. If you then set x = “pants”, Python knows that x is now a string.

In other words, Python lets you assign variables in a way that makes more sense to you than it does to the computer. It’s just another way that Python programming is intuitive.

It also gives you the ability to do something like create a list where different elements have different types like the list [1, 2, “three”, “four”]. Defining that in a language like C would be a nightmare, but in Python, that’s all there is to it.

It’s Popular. Like, Super Popular.

Being so powerful, flexible, and user-friendly, the Python language has become incredibly popular. This popularity is important for a few reasons.

Python Programming is in Demand

If you’re looking for a new skill to help you land your next job, learning Python is a great move. Because of its versatility, Python is used by many top tech companies. Netflix, Uber, Pinterest, Instagram, and Spotify all build their applications using Python. It’s also a favorite programming language of folks in data science and machine learning, so if you’re interested in going into those fields, learning Python is a good first step. With all of the folks using Python, it’s a programming language that will still be just as relevant years from now.

Dedicated Community

Python developers have tons of support online. It’s open source with extensive documentation, and there are tons of articles and forum posts dedicated to it. As a professional developer, I rely on this community everyday to get my code up and running as quickly and easily as possible.

There are also numerous Python libraries readily available online! If you ever need more functionality, someone on the internet has likely already written a library to do just that. All you have to do is download it, write the line “import <library>”, and off you go. Part of Python’s popularity in data science and machine learning is the widespread use of its libraries such as NumPy, Pandas, SciPy, and TensorFlow.

Conclusion

Python is a great way to start programming and a great tool for experienced developers. It’s powerful, user-friendly, and enables you to spend more time writing badass code and less time debugging it. With all of the libraries available, it will do almost anything you want it to.

Final answer to the question “What is Python”? Awesome. Python is awesome.

8 Tips for Learning Python Fast

By

It’s possible to learn Python fast. How fast depends on what you’d like to accomplish with it, and how much time you can allocate to study and practice Python on a regular basis. Before we dive in further, I’d like to establish some assumptions I’ve made about you and your reasons for reading this article:

  • You have little to no prior experience learning Python. 
  • You want to know how long it’s going to take to learn Python.
  • You’re interested in resources and strategies for learning Python.

First, I’ll address how quickly you should be able to learn Python. If you’re interested in learning the fundamentals of Python programming, it could take you as little as two weeks to learn, with routine practice. If you’re interested in mastering Python in order to complete complex tasks or projects, or to spur a career change, it’s going to take much longer. In this article, I’ll provide tips and resources geared toward helping you gain Python programming knowledge in a short timeframe.

If you’re wondering how much it’s going to cost to learn Python, the answer there is also, “it depends”. There is a large selection of free resources available online, not to mention the various books, courses, and platforms that have been published for beginners. More on that in a moment.

Another question you might have is, “how hard is it going to be to learn Python?” That also depends. If you have any experience programming in another language such as R, Java, or C++, it’ll probably be easier to learn Python fast than someone who hasn’t programmed before. But learning a programming language like Python is similar to learning a natural language, and everyone’s done that before. You’ll start by memorizing basic vocabulary and learning the rules of the language. Over time, you’ll add new words to your repertoire and test out new ways to use them. Learning Python is no different.

By now you’re thinking, “OK, this is great. I can learn Python fast, cheap, and easily. Just tell me what to read and point me on my way.” Not so fast. There’s a fourth thing you need to consider, and that’s how to learn Python. Research on learning has identified that not all people learn the same way. Some learn best by reading, while others learn best by seeing and hearing. Some people enjoy learning through games rather than courses or lectures. As you review the curated list of resources below, consider your own learning preferences as you evaluate options.

Now let’s dig in. Below are my eight tips to help you learn Python fast.

1. Cover the following Python fundamentals.

At a bare minimum, you (and your resource) must cover the fundamentals. Without understanding them, you’ll have a hard time working through complex problems, projects or use cases. Examples of Python fundamentals include:

  • Variables and Types
  • Lists, Dictionaries, and Sets
  • Basic Operators
  • String Formatting
  • Basic String Operations
  • Conditions
  • Loops
  • Functions
  • List Comprehensions
  • Classes and Objects

If you’re really pressed for time, all of these fundamentals can be quickly explored on a number of different websites: docs.python.org, RealPython.org, stavros.io, developers.google.com, pythonforbeginners.org. See the section below on “Websites” for more details.

2. Establish a goal for your study.

Before you start learning Python, establish a goal for your study. The challenges you face as you start learning will be easier to overcome when you keep your goal in mind. Additionally, you’ll know what learning material to focus on or skim through as it pertains to your goals. For example, if you’re interested in learning Python for data analysis, you’re going to want to complete exercises, write functions, and learn Python libraries that facilitate data analysis. The following are typical examples of goals for Python that might pertain to you:

  • Data analysis
  • Data science and machine learning
  • Mobile apps
  • Website development
  • Work automation

3. Select a resource (or resources) for learning Python fast.

Python resources can be grouped into three main categories: interactive resources, non-interactive resources, and video resources. In-person courses are also an option, but won’t be covered in this post.

Interactive resources have become common in recent years through the popularization of interactive online courses that provide practical coding challenges and explanations. If it feels like you’re coding, that’s because you actually are. Interactive resources are typically available for free or a nominal fee, or you can sign up for a free trial before you buy. 

Non-interactive resources are your most traditional and time-tested; they’re books (digital and paperback) and websites (“online tutorials”). Many first-time Python learners prefer them due to the familiar and convenient nature of these mediums. As you’ll see, there are many non-interactive resources for you to choose from, and most are free.

Video resources were popularized over the past 10 years by MOOCs (massive online open courses) and resembled university lectures captured on video. In fact, they were often supported or promoted by leading universities. Now, there’s an abundance of video resources for various subjects, including programming in Python. Some of these video resources are pre-recorded courses hosted on learning platforms, and others are live-streamed courses provided by online education providers. General Assembly produces a live course in Python that covers Python fundamentals in one week

Below I’ve compiled a list of resources to help you get a jumpstart on learning Python fast. They fall into the categories laid out above, and at a bare minimum they cover Python basics. Throughout the list, I’ve indicated with an asterisk (*) which resources are free, to the best of my knowledge.

Interactive Resources: Tools and Lessons

  • CodeAcademy: One the more popular online interactive platforms for learning Python fast. I know many Python programmers, myself included, who have taken CodeAcademy’s Python fundamentals course. It’s great for beginners, and you can knock it out in a week. It will get you excited about programming in Python. 
  • DataCamp: Short expert videos with immediate hands-on-keyboard exercises. It’s on-par with the CodeAcademy courses. 
  • *PythonTutor.com: A tool that helps you write and visualize code step by step. I recommend pairing this tool with another learning resource. This tool makes learning Python fundamentals a lot easier because you can visualize what your code is doing. 

Non-Interactive Resources

Non-interactive resources fall into two sub-categories: books and websites.

Books

In researching books, I noticed a majority of them were actually catered to existing programmers interested in learning Python, or experienced Python programmers looking for reliable reference material (“cookbooks”) or specialized literature. Below, I’ve listed only the books I think are helpful for beginners.

  • Introducing Python, 2nd Edition: This book mixes tutorials with cookbook-style code recipes to explain fundamental concepts in Python 3.
  • Learn Python 3 The Hard Way: 52 well-developed exercises for beginners to learn Python. 
  • Python Basics: A Practical Introduction to Python 3: The website says it all — this book is designed to take you from “beginner to intermediate.” 
  • Python Crash Course, 2nd Edition: This book provides a foundation in general programming concepts, Python fundamentals, and problem solving through real-world projects.

Websites

At first, my list started off with over 20 examples of websites covering Python fundamentals. Instead of sharing them all, I decided to only include ones that had a clear advantage in terms of convenience or curriculum. All of these resources are free.

  • *Google’s Python Class: Tutorials, videos, and programming exercises in Python for beginners, from a Python-friendly company. 
  • *Hitchhiker’s Guide to Python: This guide helps you learn and improve your Python code and also teaches you how to set up your coding environment. The site search is incredibly effective at helping you find what you need. I can’t recommend this site enough. 
  • *Python for Everybody: An online book that provides Python learning instruction for those interested in solving data analysis problems. Available in PDF format in Spanish, Italian, Portuguese, and Chinese. 
  • *Python For You and Me: An online book that covers beginner and advanced topics in Python, in addition to introducing a popular Python framework for web applications.
  • *Python.org: The official Python documentation. The site also provides a beginner’s guide, a Python glossary, setup guides, and how-tos.
  • *Programiz in Python: Programiz has a lengthy tutorial on Python fundamentals that’s really well done. It shouldn’t be free, but it is.
  • *RealPython.com: A large collection of specialized Python tutorials, most come with video demonstrations. 
  • *Sololearn: 92 chapters and 275 related quizzes and several projects covering Python fundamentals that can also be accessed through a mobile app.
  • *Tutorialspoint.com: A no-frills tutorial covering Python basics. 
  • *W3Schools for Python: Another no-nonsense tutorial from a respected web-developer resource. 

Video Resources

Video resources have become increasingly popular, and with good reason: they’re convenient. Why read a textbook or tutorial when you can cover the same material in video format on your computer or mobile device? They fall into two sub-categories, pre-recorded video-courses, and live video courses.

Pre-Recorded Courses

  • Coursera: A large catalog of popular courses in Python for all levels. Most courses can be taken free, and paid courses come with certifications. You can also view courses on their mobile app.
  • EdX: Hosts university courses that focus on specific use cases for Python (data science, game development, AI) but also cover programming basics. EdX also has a mobile app.
  • Pluralsight: A catalog of videos covering Python fundamentals, as well as specialized topics like machine learning in Python.
  • RealyPython.com: A collection of pre-recorded videos on Python fundamentals for beginners.
  • *TreeHouse: A library of videos of Python basics and intermediate material.
  • EvantoTutsPlus: 7.6 hours of pre-recorded videos on Python fundamentals, plus some intermediate content.  
  • *Udacity: Provides a 5-week course on Python basics. Also covers popular modules in the Python Standard Library and other third-party libraries. 
  • Udemy: A library of popular Python courses for learners of all levels. It’s hard to single out a specific course. I recommend previewing multiple beginner Python courses until you find the one you like most. You can also view courses on their mobile app.

Live Courses

  • General Assembly: This live online course from General Assembly takes all of the guesswork out of learning Python. With General Assembly, you have a curated and comprehensive Python curriculum, a live instructor and TA, and a network of peers and alumni you can connect with during and after the course.

4. Consider learning a Python library.

In addition to learning Python, it’s beneficial to learn one or two Python libraries. Libraries are collections of specialized functions that serve as “accelerators.” Without them, you’d have to write your own code to complete specialized tasks. For example, Pandas is a very popular library for manipulating tabular data. Numpy helps in performing mathematical and logical operations on arrays. Covering libraries would require another post — for now, review this Python.org page on standard Python libraries, and this GitHub page on additional libraries.

5. Speed up the Python installation process with Anaconda.

You can go through the trouble of downloading the Python installer from the Python Software Foundation website, and then sourcing and downloading additional libraries, or you can download the Anaconda installer, which already comes with many of the packages you’ll routinely use, especially if you plan on using Python for data analysis or data science

6. Select and install an IDE.

You’ll want to install an integrated development environment (IDE), which is an application that lets you script, test, and run code in Python. 

When it comes to IDEs, the right one is the one that you enjoy using the most. According to various sources, the most popular Python IDEs/text editors are PyCharm, Spyder, Jupyter Notebook, Visual Studio, Atom, and Sublime. First, the good news: they’re all free, so try out a couple before you settle on one. Next, the “bad” news: each IDE/text editor has a slightly different user interface and set of features, so it will take a bit of time to learn how to use each one.

For Python first-timers, I recommend coding in Jupyter Notebook. It has a simple design and a streamlined set of capabilities that won’t distract and will make it easy to practice and prototype in Python. It also comes with a dedicated display for dataframes and plots. If you download Anaconda, Jupyter Notebook comes pre-installed. Over time, I encourage you to try other IDEs that are better suited for development (Pycharm) or data science (Rodeo) and allow integrations (Sublime). 

Additionally, consider installing an error-handler or autocompleter to complement your IDE, especially if you end up working on lengthy projects. It will point out mistakes and help you write code quicker. Kite is a good option, plus it’s free and integrates with most IDEs.

7. When in doubt, use Google to troubleshoot code.

As you work on Python exercises, examples, and projects, one of the simplest ways to troubleshoot errors will be to learn from other Python developers. Just run a quick internet search and include keywords about your error. For example, “how to combine two lists in Python” or “Python how to convert to datetime” are perfectly acceptable searches to run, and will lead you to a few popular community-based forums such as StackOverFlow, Stack Exchange, Quora, Programiz, and GeeksforGeeks.

8. Schedule your Python learning and stick to it.

This is the part that most people skip, which results in setbacks or delays. Now, all you have left is to set up a schedule. I recommend that you establish a two-week schedule at a minimum to space out your studying and ensure you give yourself enough time to adequately review the Python fundamentals, practice coding in your IDE, and troubleshooting code. Part of the challenge (and fun) of learning Python or any programming language is troubleshooting errors. After your first two weeks, you’ll be amazed at how far you’ve come, and you’ll have enough practice under your belt to continue learning the more advanced material provided by your chosen resource. 

Concluding thoughts

By this point, we’ve established a minimum learning timeline, you know to select a goal for your study, you have a list of learning resources to choose from, and you know what other coding considerations you’ll need to make. We hope you make the most of these tips to accelerate your Python learning!

Explore Our Upcoming Coding Programs

5 Essential Steps in the UX Design Process

By

While experience design is not an exact science with predictable outcomes, there are steps you can follow that help push you in the direction of making great products and services. 

To help illustrate, I’d like to tell you a story about Doug Dietz, an Industrial Designer for General Electric. Doug was faced with the harsh reality that a product he was responsible for designing was evoking anxiety and dread in the people who interacted with it. The product? An MRI scanner. The user? A family with young children.

Doug had just finished a two-year project designing an MRI scanner and was eager to see it installed in a hospital’s scanning suite. He was proud of his accomplishment and was informed his design had been submitted for an International Design Excellence Award, the Oscar for design. 

As Doug was speaking with a technician about the design, a patient needed to get scanned so he stepped into the hallway for a moment. And as he did, he observed the patient and her family approach the room and noted their trepidation as they got closer. The parents looked worried and the little girl was scared. As the family passed him, he could hear the father tell his daughter, “We’ve talked about this. You can be brave…” 

As Doug continued to watch, he saw tears rolling down the little girl’s cheek while the hospital technician called for an anesthesiologist. This is when Doug learned that hospitals routinely sedate pediatric patients for their scans because they are so scared that they can’t lie still long enough. 

Doug was devastated. The very product he had been designing for close to 20 years was the very product that was striking fear in the hearts of its users. Once he took a step back and considered what that little girl was going through, it became clear his device with its black and yellow caution tape, hazard stickers, beige monotone color palette, dark lighting and cold flickering fluorescents was not helping. As Doug stated in his TED talk, “The machine I designed looked like a brick with a hole in it.”

Determined to make his experience design better for pediatric patients, Doug sought advice on a new approach and attended a Design Thinking workshop where they discussed the need to have empathy for users, the value of cross functional teams, and the importance of iterating as you learn. 

Doug observed pediatric patients at daycare. He talked to life specialists to understand what pediatric patients went through during treatment. He gathered a group of volunteers from GE who were willing to help provide other perspectives including experts from a local museum, and doctors and staff from two hospitals. From this new foundation of understanding, he created a prototype. He then observed how interactions with the machine had changed, which allowed him to see which parts of his design were working or not. 

Ultimately, this approach led to the “Adventure Series” where pediatric patients were transported into new worlds. Whether the theme was camping, a pirate ship, a safari, or a spaceship, the team worked hard on bringing these spaces to life through details like scents, disco balls, koi ponds, paddle trails, waterfalls that cascade onto the floor, and even scripts for machine operators to use as they guide patients along their adventures.

The outcome? 

  • Only two patients were sedated in over a year vs. 80% of all pediatric patients previously.
  • Productivity increased because of a decreased need for an anesthesiologist.
  • The hospital saw a 90% increase in patient satisfaction scores.
  • Overall, it offered a much better experience for pediatric patients. 

As one 6 year old put it, “Mommy, can we come back tomorrow?”

UX Design Process

We can learn a lot from Doug’s example. In their product design journey that shifted their users’ experience from fear to excitement, Doug and his team showed us that making good products and services takes:

  1. Empathy: Keep the needs of your users in mind. 
  2. (Re)frame: Figure out what’s essential to them. 
  3. Ideate: Find new ways to solve for what’s essential. 
  4. Test: Try things out to see what works. 
  5. Iterate: Stay flexible in your thinking as you learn. 

Let’s unpack each step a bit further.

1. Empathy: Keep the needs of your users in mind.  

Once Doug saw his design from the perspective of a pediatric patient, he immediately realized something needed to change. He knew he needed to walk in the shoes of his user and challenge some of the assumptions he’d made before when designing these devices.

Things to consider:

  • Who are we designing for? 
  • What do they need?
  • What is their experience?
  • What’s working or not? 

Methods to use: 

  • Contextual inquiries
  • Fly-on-the-wall observations
  • Audit of tools or belongings
  • Day-in-the-life studies
  • Remote moderated interviews
  • Diary studies
  • Subject matter expert consultations
  • Stakeholder interviews

2. (Re)frame: Figure out what’s essential to them. 

As a UX designer, the power in reframing what matters to your user comes from your ability to prioritize their needs above others. This matters because it helps you and your teams not only identify what’s important but focus your energy toward solving the problem that will have the greatest impact. In Doug’s case, he was able to see that while his designs fit standard hospital protocols, these same protocols fell short of what was needed to help encourage positive interactions with the device. 

Things to consider: 

  • What are our blindspots? 
  • What is causing the most pain? 
  • What’s the most important thing to get right?
  • What are the potential benefits? 

Methods to use:

  • Affinity diagramming
  • Data clustering
  • Criteria matrix
  • Dot voting
  • Opportunity mapping
  • Experience frameworks
  • Journey maps
  • Heuristic evaluation
  • Competitive audit

3. Ideate: Find new ways to solve for what’s essential. 

Now that you and your team have conducted upfront research to define your users, align on their needs, and discuss the core problem to solve, now it’s time to explore! Iteration is all about exploring the “what ifs” of your experience design concepts. The more perspectives you include in this step the better, since it’s your goal as a UX designer to invite nontraditional solutions that will serve your users’ needs and even excite them. 

Things to consider: 

  • What about the current experience needs to be improved? 
  • What can we learn from others who have solved a similar issue? 
  • What if we did ______ instead?

Methods to use:

  • Future scenarios
  • Brainstorming sessions
  • Workshops
  • Provocation cards
  • Participatory design groups
  • Mock ups (physical and digital)
  • Storyboarding
  • Wireframes
  • Storytelling
  • Mood boards

4. Test: Try things out to see what works

Usability testing matters because even the most experienced UX designer never knows how others will interpret their ideas or wireframes. In order to make sure our intentions are being communicated successfully, we need to build things and put them in front of our intended users. It’s our job to observe how they interact with our ideas. Listen to their comments and feedback. Remain flexible when things don’t go according to our plan. And ultimately, make informed decisions about how we can make our ideas more effective to our (re)frame.

Things to consider:  

  • What is the best way to represent our idea to our user? 
  • What is a situation that will help anchor them when interacting with our concept or wireframes? 
  • What should we ask them to do?
  • What did they find confusing about the interaction, user interface, visual design elements, or anything else? 
  • How will we know if we’ve been successful?

Methods to use:

  • Usability testing
  • Surveys
  • Rank ordering
  • Conjoint analysis
  • Focus groups
  • Concept validation

5. Iterate: Stay flexible in your thinking as you learn.

Staying flexible and adapting to what you learn is the secret sauce to success because we never know what will work or not until we try it out. In Doug’s case, this meant going back to the drawing board when something he and his team created did not resonate with their user. One strategy for staying flexible is to hold meetings with your cross-functional team at moments when critical decisions are made. Whether it’s processing potential impact to your design based on feedback from a user, or deciding you need to better (re)frame your objective, flexibility is key to success. 

Conclusion

Keep in mind, the steps Doug and his team performed are not new to the UX industry. By attending a Design Thinking workshop, he was introduced to the ideas of many great thinkers before him, all of which have proven the value in empathizing with your user, (re)framing the problem based on their needs, ideating on many ideas before deciding on a direction, usability testing with users, incorporating insights from their feedback, and iterating based on what you learn. 

The more you do it, the better you will get. As Carissa Carter from the Stanford School points out, there’s a difference between cooking and being a chef: “The order and process of a recipe helps new cooks get started, but it’s only with practice, inventiveness, experimentation, and constraints that you might begin to call yourself a chef.”

Related Resources

Explore Our Upcoming Design Programs

How to Become a UX Designer

By

A career in UX design stands out as a forward-thinking prospect. The role’s compatibility with remote work has enabled many designers to sustain their practice in a world maintaining its distance. We are seeing demand for UX skills persist even through our current sluggish global economy, due to accelerated digital transformation in response to unforeseen challenges across every industry. The tech workforce is coming out ahead overall — though many businesses and startups are faltering, companies that survive are leaning on tech innovations to adapt intelligently to the new normal, with experience design leading the charge.

Forecasting into the upcoming decade, the nature of UX design work will likely continue to evolve along with technological advancements. The experiences we design for will also change, from today’s ubiquitous smartphone apps and websites to more hybrid touchscreen and voice interactions, video inputs, and augmented reality.

As exciting as the UX design field can be at its best, I encourage anyone serious about becoming a UX designer to also consider potentially negative aspects of a UX career path. Working conditions vary wildly in tech; research common complaints from tech industry workers by checking out online employee reviews of some prominent tech companies, and judge for yourself if it’s for you. In real-world situations, people in UX roles in particular may encounter ethical issues related to their profession, in terms of driving user behavior to meet business goals. As you learn more about entering into a design practice, consider what principles you believe should guide good UX design.

Dive In

So, still curious how to become a UX designer? Start by finding and immersing yourself in example designs that inspire you. Diving into a new subject matter is, in many ways, what UX designers do best. When you’re beginning to research an unfamiliar domain, it’s best to cast a wide net and gather all the resources you can. A bit of light reading and video viewing will go a long way, and designers are notorious content producers — don’t take my word for it, just browse by topic on Medium or YouTube. When you’re just starting out, a steady stream of design inspiration can capture your imagination in a way that will sustain you through the hard work to come. Discover the amazing work of user experience designers in the community, the tinkering and creative hacking, the impactful research, beautiful UI design, and the world-changing achievements in the field.

Socialize

Committing to a new career path requires a leap of faith. As you consider your options, the quickest way to get a realistic sense for what it will be like for you to be a UX designer is to ask some real UX designers. Get out there and network, if not in a physical space, then virtually. With so many active design nerds in the community, a quick search will reveal plenty of results for design events, meetups, and knowledge shares to attend. In my own personal journey, I’ve found industry seniors quite welcoming to early-stage UX designers, and generous with their willingness to mentor — remember, these are professional empathizers we’re talking about. For your unanswered questions, online communities often have Slack channels or message boards to crowd-source answers and support. Find one in your local region, look into groups that share your interests, and be sure to connect with UX practitioners globally to follow trends and innovations.

Introductory Study

User experience is a field of applied design with rich literature. Start off your academic investigation with the things that excite you the most. Check out some books from a reputable UX design reading list, and seek out lectures and webinars from established designers.

While there is no industry-wide definitive education background requirement for UX design, employers do often expect an undergraduate degree in design or a “related field”. Since so many fields are related to UX design, hiring evaluations often weigh professional experience more than education credentials. Schools have only started to offer programs focused explicitly on user experience design in recent years. Related fields might include human-computer interaction, communication design, information architecture, and product design. I’ve seen successful designers that come from backgrounds in anthropology, psychology, language arts, engineering, business, or even music.

If you’re new to the field, look for the right timing in your development to enroll in an actual UX design course. Everyone’s career journey is unique, and a course load can be a big investment of time and energy. To test the waters, you can find a lot of free intro classes, and plenty of remote learning options. An instructor-led class provides the opportunity to interact with a knowledgeable professional to answer your questions in a safe setting. The (virtual) classroom environment also exposes you to other learners who may be experiencing similar struggles. If your strategy is to learn and practice as much as possible in a condensed timeframe, a UX design bootcamp will guide you through the fundamental skills and knowledge, and help outline next steps for expanding that foundation.

If you’re already in a role related to UX design, see if your employer will sponsor coursework fees. If you’re an employer, make sure your employees have an education budget to apply toward new skills and career growth. The job market may be daunting for nascent design applicants, but the first few years of experience can really open up the doors to a more senior tier of opportunities.

Gut Check

Is UX design for you? Try to articulate what it is about UX design that attracts you the most. For some people, it’s the joy of crafting things. For others, it’s a passion for empathizing with human needs. For others still, it’s a fascination with complex systems. 

Find the right role that matches your interests. Within the field of UX design, there are multiple areas of specialization including user research, strategy, interaction design, UI design, product design, service design, and usability testing. While considering the best fit for your aptitude, be sure to also consider all the other fields related to UX design that are perhaps less well known but just as cool. Look into roles like Product Manager, Business Analyst, Prototype Engineer, Copywriter, Visual or UI Designer, and Data Scientist, to name a few. 

Building a Portfolio

The designer’s UX portfolio is their passport to navigating job applications. When creating your portfolio, be sure to follow best practices and let inspiring examples guide you. If you’re just starting out, you might think about achievable starter projects to take on that will turn into featured case studies. Many designers build their first portfolio projects with independent work, unsolicited redesigns, and favors for friends. Set clear design challenges for yourself, and document the experience of solving them. For a bit more structure, enrolling in a project-based course will help you produce a tangible portfolio piece that follows a typical design process.

There’s a natural life cycle to any design project, from its germination to fruition. The job of a UX design professional is inherently project-based, and a designer’s portfolio is living documentation of the best of their accomplishments.

Learning on the Job

Budding UX designers reach a real milestone when they land their first professional UX job. This could take the form of an entry-level or internship position, and the work might not exactly resemble the glamourous, world-impacting projects that inspired you to become a designer in the first place. While still standing up for your principles, use early job opportunities to study the UX design process in action, to study how the entire creative process works, and understand how organizational roles relate to each other.

You may also find more early success, and potentially long-term fulfillment, working as a UX consultant or freelancer. Part-time self-employment may be the right choice for someone holding down an existing job while building their portfolio of work. As with any applied field, only so much can be learned in an academic context; real-world experience completes the UX designer’s professional development. Today’s aspiring UX designers must gain a business sense to guide their career moves. Invest energy in the areas you need to cultivate most. Listen for credible feedback from the people you work with, and target those areas to improve.

Ongoing Education

As a UX designer, resign yourself to a lifetime of study. The technology we design for will continue to advance, along with design tools, methodology, and theory. As designers and technologists we have to hustle to keep up — learning periodically, staying up-to-date with relevant professional skills and new concepts. It may help to define clear education goals that relate directly to your professional aspirations, and track regular progress.

As you cover more ground in your career, continually demand more for yourself as you work toward your long-term professional goals. When negotiating or renegotiating contracts, research employment statistics on fair compensation and benefits, and reach out with your burning questions to other professionals who you respect. Knowing your worth is leverage for achieving the conditions you deserve.

– – – – –

Explore Our Upcoming UX Design Programs

What is UX Design?

By

That’s an understandable question. “UX” has become a buzzword that UX designers are often asked to define. The discipline of user experience is broad and reaches across many other design disciplines so its meaning can seem elusive. And for UX designers, it can be hard to explain in a few words. But let’s try.

UX Design Focuses on the User

User experience design focuses on designing for how a user interacts with an organization, whether through its services, products, website or more. This kind of design centers on the user — their needs, goals, frustrations, and motivations.

Who is the user? A person! What type of person? That depends.

UX design seeks to understand the person who will be using the product, website, or service. This is really important for a specific reason: Rather than expecting a person to adapt to the specifications laid out in a website, app or service, a UX designer considers the needs of the person they are designing for, and creates an intuitive interface that adapts to the user.

UX design is human-centered. This type of design is a mindset. It keeps the user at the center of what we do so that the user’s experience can be the best possible.

What’s great about this approach is that users who have a positive experience when they interact with a company or organization are more likely to reward that organization through additional visits, sales, or referrals. A positive user experience can be an economic driver, benefiting everyone.

UX Design’s Origins

We can see some principles of UX design that reach as far back as 4000 BC. Feng Shui is the Chinese philosophy of arranging a physical space to optimize the flow of energy. Much like a UX designer might design an app interface to be intuitive and easy to use, Feng Shui experts arrange the physical space of a room.

We can see other principles of UX design throughout history. When computers entered the scene, human-computer interaction and usability became important disciplines to help people have better experiences.

It wasn’t until the 1990s when Don Norman, a cognitive scientist working at Apple, named this field “UX design.” Norman, who authored The Design of EveryDay Things, felt that earlier disciplines of usability and human-computer interaction were too narrow. He wanted a term to describe a role that would encompass a broader range of skills to design human interactions.

Multiple studies from organizations such as McKinsey & Company, the UK Design Council, and others have found that companies that prioritize design see financial benefit. This is partly why so many people have taken an interest in UX.

Since user experience design is broad and encompasses several different disciplines, it’s understandable why so many people have questions about what UX design includes and how it relates to visual design, user interface design, or marketing.

Common UX Design Myths

Unfortunately, misunderstandings about user experience design have led to assumptions and confusion. You’re likely to run into an employer who believes they understand UX design, but in reality, they only know about one part. Or, you might have a client that says, “I just need some UX.” 

It’s the UX designer’s job to figure out how to educate and inform those around us so we can eliminate these misconceptions.

Myth #1: UX is the same as UI design.

This is the most common misconception I run into. Organizations still think of UX as being focused on the user interface. They don’t always understand that the UI can improve with solid user research, information architecture, and usability testing.

User interface design is a small piece of the overall UX puzzle. Before a UX designer even begins to design the interface, they should have solid research and an understanding of what problem they are trying to solve. Designing a user interface before researching user needs can lead to assumptions that confuse or frustrate your users.

Myth #2: UX is just for digital products.

User experience has been embraced in the digital world, but it’s not just for websites and apps. The foundations of user experience design can be applied across a broad range of industries and be useful for developing services as well as physical products.

Myth #3: UX is just usability.

Usability is an important component of UX design; it uncovers flaws and defects in the product or service. However, it’s just one part of UX design’s seven major sub-disciplines:

User research
A UX designer spends time empathizing with users through interviews and observational research. 

Content strategy
Quality content is a core component of a successful design. Designers must audit and create clear content that people find useful and helpful.

Information architecture
Content must be organized so that it’s understandable, finadable, and meaningful. Information architecture helps users understand their location within a design and what to expect. It informs many parts of the UX design, including the content, interface, and interactions.

Accessibility
By designing for accessibility, a UX designer ensures that all users can access and interact with a service or system regardless of their personal abilities. Accessibility is more than just checking for color contrast. It’s about designing to accommodate a wide range of people.

Usability
Nielsen Norman Group defines usability as “a quality attribute that assesses how easy user interfaces are to use”. It also refers to using testing to improve the user’s experience as they interact with your product or service.

Visual design
Users are more likely to have a positive experience with a design that they enjoy using; that are aesthetically pleasing and consistent. UX designers often also need to ensure that the interfaces they design are beautiful and visually clear.

Interaction design
UX designers who work on a product or system must also consider how that system behaves. Interaction design considers how the system behaves when the user interacts with it so that the user can understand what to do.

As you can see, UX design covers more than usability alone. Depending on the specific role or organization, UX designers may need to have other skills as well.

UX Design Process

A UX designer often manages all of these sub-disciplines as part of the total UX design process. This process is not linear. In fact, it can feel quite messy. It typically looks very similar to a design thinking approach and has five key phases:

1. Empathy

In this phase, a designer seeks to understand the people they are designing for. By developing empathy with the user base, the design team can learn about frustrations and motivations that will help them create better solutions later on. 

UX designers use these tools as part of the empathy phase:

  • User interviews
  • Surveys
  • Observations
  • Stakeholder interviews
  • Empathy maps
  • Proto personas

2. Definition

During the definition phase, the design team figures out the problem they are trying to solve. Armed with a solid understanding of the user, the design team creates insights from that data to address their core needs. The design team should try to spend as much time as possible in this phase, because it’s a key step before ideation begins.

UX designers use these tools as part of the definition phase:

  • Affinity diagram
  • Point-of-view statements
  • User scenarios
  • Customer journey maps
  • Storyboards
  • User personas
  • Heuristic evaluations
  • Competitive analysis
  • Problem definition

3. Ideation

Once the problem has been identified, the UX design team can start developing ideas to solve that problem. Ideation is all about generating lots of ideas. It’s important to start by thinking of all the ideas you can before narrowing them down to those that are feasible.

UX designers use these tools as part of the ideation phase:

  1. Brainstorming
  2. Mind mapping
  3. User flow diagrams

4. Prototyping

The UX design team then decides which of the ideas generated in the previous step to prototype. Prototyping allows the team to communicate the idea, advocate for ideas, and test feasibility. A prototype can be simple or complex. It should be created rapidly so that the idea can be tested.

UX designers use these tools as part of the prototyping phase:

  1. Low-fidelity prototypes
  2. High-fidelity prototypes
  3. Site maps
  4. Interactive prototypes

5. Testing

In the testing phase, a UX design team is trying to find out whether their prototype works or not. This is a time for evaluation. And it’s time to go back to the users to see how the prototype meets their needs.

UX designers use these tools as part of the testing phase:

  1. Usability testing
  2. Testing recommendations and report

Because this approach is non-linear, sometimes a UX designer will loop back and forth between phases. A UX designer doesn’t always use every tool within all of the phases, but they’ll typically use at least one or two.

What does a UX designer do every day?

A UX designer’s job will vary depending on the role or company. Some companies look for generalists who have experience across all or most of the sub-disciplines described above. Other roles will be more specialized. A UX designer may focus on research or just on prototyping if needed, depending on the position.

Typically, a UX designer works with a team. Sometimes the team will have other UX designers, a product manager, and developers. This team may be responsible for designing products used by customers or internally within the company. Sometimes a designer will work on a single project for months at a time, or they might juggle multiple projects, especially if they work for an agency.

A UX designer is responsible for creating the deliverables of the phase they are working on, keeping their work on time according to the project schedule, and presenting their work. They may need to present to the rest of the design team, internal stakeholders, or clients.

Deliverables created for these audiences can vary. According to a 2015 article from Nielsen Norman Group, UX designers were most likely to create static wireframes and interactive prototypes, followed by flow charts, site maps, and usability reports. When presenting work, interactive prototypes were most common. These deliverables are the most accurate representation of the final product.

In addition to creating wireframes and prototypes, a UX designer may:

  • Plan user research
  • Identify the target audience
  • Interview and survey users
  • Analyze qualitative and quantitative user research
  • Create a content inventory
  • Design a style guide or add to a design library
  • Conduct usability testing
  • Analyze usability testing results

Summary

UX design is like an umbrella that covers multiple areas, and a UX designer is expected to be familiar with all areas. Because UX design is so broad, and because the term itself has become popular relatively recently, it’s often misunderstood. 

At its foundation, UX design is about putting the user first. By empathizing with the user, a UX designer can create products and services that anticipate and meet users’ needs. The process isn’t linear; UX design is an iterative process that continues to loop back with the user to test and improve the design team’s ideas.

Explore Our Upcoming UX Design Programs