Developer, Know Thyself!

by Kate Revitte on August 21, 2020

Understanding the role of desires and feelings in creating products

As a user experience design consultant, I use many tools to understand what people want. These include user interviews, usability studies, surveys, customer service calls, and tech support logs. In my experience creating products on cross-functional teams, I learned something that at first surprised me - it is as important to understand the desires of the team members who create products as it is to understand users’ desires in order to create experiences that people will love.

Most team members want to create a great experience for the person who will be using the product, just like a chef wants their restaurant guest to really enjoy and appreciate the meal they are creating, or a customer service representative wants to make sure that the customer feels taken care of. Creating a great user experience is not always straightforward. It requires empathy, research, and attention. Most of all, it requires that the entire development team - not just the UX designer - wants to create a great experience for the user. It requires that the team’s desire to create a great experience for the user is more important than the desire to have a great experience while building the software.

Empathy is the key to improving the user experience of any product, and you can harness empathy by asking yourself or your team these questions before beginning development work on a feature. This is not a substitute for research, but a way to integrate research into what you are working on, ensuring that you are making decisions consistent with what you know about the people for whom you are creating the product.

  • Who will be using this feature?
  • What goal are they trying to accomplish?
  • What are people doing now to accomplish this goal?
  • Where are they coming from, and what did they just do?
  • What decisions do they need to make?
  • What events or inputs have triggered their use of this feature?
  • What are their pain points and frustrations related to this feature?
  • What do the users of this feature expect to happen?

By asking yourself these questions and thoughtfully writing out or discussing the answers, you will put yourself in an excellent position to more than just adequately solve the given problem. You will have just considered the feelings, motivations, and mental models of the users of the product. This is how to create great user experiences.

But what about your desire to have a good experience while creating a product? Do we suppress this desire? Dig into any feelings that come up while making decisions about the product, and use what you find to help improve your craft, while still honoring what you know about the people who will use the tool. Here are some questions you can ask yourself when you notice yourself experiencing frustration, dread, annoyance, hesitation, confusion, fear, boredom or disconnection.

  • What am I feeling right now?
  • What do I wish would happen?
  • What is my biggest fear right now?
  • What specific part of what I am working on brought on these feelings?
  • What are the conflicting desires or demands that I can notice?
  • What about this connects or does not connect to the working agreements and decisions made by our team?

While it’s not fun to experience negative emotions, they are signposts on the road to understanding ourselves. Instead of pushing through or rejecting them, try to soften into your feelings with curiosity.

According to Mihaly Csikszentmihalyi’s Flow: The Psychology of Optimal Experience, professionals feel the most satisfied and accomplished while engaged in flow. Flow is the state of feeling totally immersed in a task. It is a positive creative state that results in us doing our very best work.

Developer know thyself

The state of flow lies between the states of anxiety and of boredom, and occurs when the difficulty of the task we are attempting is matched to our current skill level. We can apply this model both to our users to help them achieve flow while using our product, and also to ourselves to achieve flow while building the product. To apply the idea of flow, ask yourself “Am I anxious? Am I bored?”. If you are anxious, increase your skills by completing a tutorial or asking for help. If you are bored, see if you can increase the difficulty of the task - maybe try to automate or improve it in some way. If your work is not directly in service to the goals of the team but rather fighting boredom, try to be conscious of what is happening within yourself, so you can discuss it with your team.

The whole team is capable of and responsible for understanding and influencing how the user experiences the product. By considering the desires and motivations of the people who will be using a product, we can improve the user experience. But the users’ desires are not the only ones that impact the final experience - our own feelings and desires have a great impact on the end result. In order to honor and accept the feelings and desires of the people for whom we are building a product, we must also honor and accept our own feelings that come up while building it, and seek to give them space and understand them. By staying with our internal conflicts and negative feelings and exploring them, we can not only enter the satisfying flow state and feel accomplishment, we can also experience the satisfaction of creating software that people truly love. And that’s a good feeling.


Other Interesting Articles

The Evolution of Testing
Idle CPUs, Automation, and the Greater Good

Share this article

 

We would love to hear what you think. Reach out to us.