What I’ve learned from a UX design bootcamp

As a software engineer, I always care about UX when building things. Last year I was lucky enough (sponsored by my employer) to attend a 12-weeks UX bootcamp. The teacher (Hang Yu) is great and knowledgeable, the teammates are friendly and awesome, and it turns out I’ve learned a lot about UX design.


I have learned everything about UX design, from various UX concepts, the whole UX design process, to different UX design tools (Balsamiq, Sketch, InVision, etc).

Left to right: Card Sorting, Mind Map for YouTube, Personas Creating with Sketch
Left to right: Scenario Drawing, Expert Review, Wireframe using Balsamiq
Left to right: Usability Test, App Design, User Testing in a coffee shop

I also learned to use mind map to review and analysis, and below is the one I drew when reviewing the bootcamp:

Mind map for UX bootcamp

We also did some team projects (except the name card design one). I enjoyed collaborating and discussing in a team, and certainly began to love presentation!

Design Projects

Name Card Design

Yes, I love minimalism

ATT.com Redesign

We were trying to solve: how can we simplify the process of shopping wireless plan?

We did something special when presenting: instead of just talking about personas and user story, our talented teammates acted as they were the personas ;)

OneMessageID Usability Test

We were trying to find out: how to help this startup to verify their MVP?


1. UX Design is about finding the right problem

Usually, the word “design” implies irrational and emotional process, but I find UX design is a very logical process: you find out the problem, gather related information, then enter an agile process: prototype, implement, test, and iterate.

The most important thing in the process, is to find the right problem. As Charles F. Kettering said,

“A problem well stated is a problem half solved.”

2. UX Design is about the context

How can we find the right problem then?

Because UX design is always user centered and task focused, I think we’ll need to pay attention to the user and the task.

Here is the checklist I compiled:

  1. Who is the user? Does he/she have enough experience of the tool? What’s his/her expertise?
  2. Why is he/she using the tool? What’s his/her task in mind?
  3. When and where is he/she using the tool? Is it in a focused environment or a noisy one?
  4. How many steps does he/she need to perform to accomplish the task? How easy will he/she make a mistake?
  5. What’s the emotion when using the tool? Is it in a hurry? In a multi-tasking mode? In a boring time?
  6. How often does he/she use the tool?

For example, I blogged about a feature request about a desktop program I develop.

For details, please see the blog post. The thing is, if I carefully go through the list above before implementing, I’ll probably find out that I can add either a reminder or a feature to automatically turn off the checkbox.

3. The most important thing about UX design is empathy

As you can see in the list above, what we’re trying to do actually, is to deeply empathize with users.

James Archer in his article What I Look For in a Designer mentioned:

“there’s really only one thing I actually need to see when evaluating a designer: empathy.”

I agree with him.

PS: empathy does not only lead to better UX design, but it can also lead to better communication, see my old blog post (in Chinese) for more details: 有效的沟通

Why we should learn UX design?

As Marc Andreessen said,

“Software is eating the world.”

And with the help of all those cloud services (AWS, Firebase, Stripe, etc), it has never been so easy to create apps/software products for people to use. While it’s easy for developers to create, let’s don’t forget the things we build should also be easy for our end users.

I encourage every “maker” to learn about UX design and let’s build better product!

One More Thing

My name is Andrew Zheng. I like to solve problems, often this involves software and UX design. Please find more information about me on my personal website (portfolio password is available upon request).