Swiping Right on Computer Science: A Love Triangle With CS and UX/UI

Genesis Benedith
7 min readFeb 16, 2024

--

Photo by Firosnv. Photography on Unsplash

Design or Code? Why Choose When You Can Do Both?

If you’re a student diving into the world of Computer Science, you might be considering how to balance your love for coding with your creative side in today’s ever-changing tech industry. Maybe, like me, you’re eager to roll up your sleeves to code but you still want to contribute to the design processes of the apps we’re building.

That’s where User Experience/User Interface (UX/UI) design comes in — offering the best of both worlds: technical skills and creative expression. Let me take you along on my journey as I navigate this unique relationship between CS and UX/UI design. Through my own experiences, I hope to shine a light on the symbiotic relationship between these two fields and encourage you to embrace both the intersection of technology and design.

Chapter 1: Love at First Code

<a href="/about">About Me</a>

I started coding around the age of 13. I developed blogs for writing fan fiction stories on Tumblr and gave blog makeovers for free. I even shared resources tailored to help beginners learn the basics of Adobe Photoshop, HTML, and Final Cut Pro — all of which enabled other creators to curate content that enhanced their fandom blogs.

Unbeknownst to me, I loved writing, but I loved writing the code even more.

Chapter 2: The Courting Phase

As I continued to explore the world of writing, I found myself almost declaring a major in English for college. I recall being in a writing class researching writing careers for an assignment and trying to fit the pieces of my experience and my future together.

Within that assignment, I discovered user experience (UX) writing. I learned that programmers and engineers alike struggle with documenting their code so companies hire UX writers to create user-friendly manuals and rewrite lots of material based on user feedback. I thought to myself, “Programming? I can do that. Wait, I already do that.” Then that’s when I realized; I want to create technology centered around humans rather than centering humans around technology.

Chapter 3: A Perfect Match

After vetting the degrees offered at my university, I combined my interests, writing and programming, and decided to major in Computer Science (CS) and minor in Professional & Technical Writing with an emphasis on User Experience/User Interface (UX/UI).

My early experience in web development combined with blogging and graphic design not only equipped me with technical skills but it also enabled me to cultivate a deep passion for technology and creative expression.

As my journey in coding progressed, I found myself drawn to projects that merged my love for writing with my technical expertise, ultimately shaping my journey towards a career in software development and human-computer interaction.

Chapter 4: Falling in Love with Code

Being a CS major has presented me with a handful of opportunities that I truly feel connected to.

I joined a club on campus that teaches grade 6–12 girls how to code. As a workshop facilitator, I assist in guiding the class in learning the basics of Python, then I work directly with a small group to build and train our own machine learning models.

A photo of me wearing a Girls Who Code shirt
An excited Workshop Facilitator for the UA Girls Who Code club

I have completed two internships as an Electrical/Software Engineer and an Automation/DevOps Engineer. I used a LightCrafter evaluation board to capture and calibrate small objects to render 3D models. In addition, I have written several scripts, or programs, to automate tasks across global servers within the company’s IT infrastructure.

A photo of me building a 3D scanner with a Light Crafter evaluation module
Building a 3D scanner with a Light Crafter evaluation module during my first internship

Through connecting with research professors, I was offered a student work position on campus at the Center of Digital Humanities (CDH), a research and innovation incubator (short for “a research lab filled with tech bros & tech gals) for the computational study of the human condition.

A student pressing a button on the screen of an AI personal assistant robot to be guided to a professor’s office
I programmed an AI personal assistant robot to guide visitors to a professors’ offices

One project in particular that I have been working on is Temi. Temi is an artificial intelligence (AI) personal assistant robot that I have been programming to offer guided tours & support services to guests who visit the College of Humanities.

Chapter 5: Overcoming Challenges

Although CS allows me to understand the technical requirements and constraints of what I’m designing, CS as a major only encompasses the study of computers, computational systems, and their theoretical foundations.

“Computer science is not enough by itself to educate me on how to design intuitive user interfaces or accessible user experiences.”

I may be delving into various subjects such as algorithms, data structures, networking, and AI — however, I will admit that a degree in CS is not enough by itself to educate me on how to design intuitive user interfaces or accessible user experiences.

Chapter 6: UX/UI’s Irresistible Allure

While CS emphasizes technical functionality and system architecture, UX/UI design prioritizes user satisfaction and interaction.

User Interface (UI)

In the world of digital technology, UI serves as the bridge between humans and machines. It facilitates our interaction through and communication with screens, devices, and systems. When I design user interfaces, I am creating intuitive interfaces within software applications and devices. This may look like integrating elements like text, color, menus, and buttons or creating wireframes and prototypes.

User Experience (UX)

UX transcends traditional UI design, and encompasses a holistic understanding of user interactions with products, systems, and services. It delves into the psychology of user behaviors, focusing on creating meaningful and enjoyable experiences by analyzing data about user pain points through both qualitative and quantitative research methods. From a user’s first encounter to their day-to-day interactions, UX designers strive to optimize every touchpoint, considering factors like usability, accessibility, and emotional engagement.

“Coding allows me to build things that humans can benefit from, but as a developer, I must make sure the average human knows how to use it.”

A photo collage conducting performance testing for the HTC VIVE Flow Virtual Reality/Augmented Reality glasses with elderly members of a local church
Performance testing the HTC VIVE Flow VR/AR glasses on elderly members of a local church

Case Study — VR Performance Testing: Consider this virtual reality (VR) research project where I’ve been conducting performance testing with the elderly. The CDH lab has partnered with local churches in Tucson, Arizona and is providing VR headsets to their elderly members so they can watch 360-degree recordings of their church services if they are unable to attend church in-person. I give a walkthrough, verbally explaining the user manual and answer any technical questions the participants may have. In other words, I make sure they understand the functionalities of VR and feel confident about how to use the equipment.

Here are some of my UX/UI questions for research & design purposes:

  • How can I explain this tutorial in a way the elderly users can easily start and exit VR experiences without assistance?
  • How intuitive is the interface for navigation, considering those with potential cognitive impairments or unfamiliarity with technology?
  • Are there any specific gestures or controls that might be challenging for elderly users to perform, especially those with arthritis?

The reason why UX/UI design is such a critical skill for CS students to have is because a well-crafted UI anticipates user needs and UX ensures accessibility. The more seamless user interactions are, the more engaging and satisfying the overall experience becomes.

Chapter 7: Balancing Both Relationships

Both CS and UX/UI design share the common goal of crafting software solutions that are both successful and impactful.

One particular hidden reason I chose CS as my major, is that the curriculum would help me grasp the technical requirements and constraints of software projects. If I were to pursue web design, I would hand off my designs to be built by web developers or software engineers. In this case, it would be essential for me to understand high-level code and the limitations of what can and cannot be built.

Coding has been a useful skill to harness when designing applications which has saved lots of time and headaches when working with other students in group CS projects.

As a CS student, understanding UX/UI design has been essential for creating software that resonates with users. Good UI design ensures intuitive navigation and usability, while good UX design considers the entire user journey, fostering positive experiences.

Epilogue: Happily Ever After

Throughout my academic pursuits and professional endeavors, which include internships as well as ongoing coursework, I’ve cultivated a nuanced understanding of how to bridge the gap between technical proficiencies and user-centered designs.

Learning how to design things, and build them has been a highlight of my undergraduate career. Intersecting CS and UX/UI design into my coursework and software projects, both personal and professional, has offered a good deal of benefits. I’ve grasped the concept of innovation and collaboration as a developer and have mindlessly integrated design thinking into every project.

Learning Opportunities

As CS students, I encourage all of us to embrace UX/UI design because of the empowerment it gives us to craft impactful software solutions and drive positive user experiences.

If you are committed to pursuing a degree in computer science and would like to explore the realm of UX/UI, I recommend taking classes in design because having both skillsets of designing and coding can be extremely valuable, and will make you highly sought after. Delve into UX/UI design through various avenues, including workshops and real-world projects.

If you’re still interested in design upon graduation, I would recommend looking into product design jobs or even UX Engineering jobs where you’ll be the liaison between the two functions or be able to design and code.

Embracing a user-centric approach and striving to understand user behavior can enrich your skill set as a developer, empowering you to create software that not only functions flawlessly but also serves users with every interaction.

--

--

Genesis Benedith

Computer Science and Technical Writing Student at The University of Arizona