Related posts:

We all know that user experience designers come from a range of different backgrounds. But what do these experiences bring to UX? In our first of a series of articles, Boon Chew reflects on his start in computer science.

Human-Computer Interaction has strong roots in Computer Science, and user experience design is almost exclusively a technology-focused practice. How much does UX design share with its engineering-focused sibling? I’m going to share some thoughts about my experiences from making the transition from software engineering to UX, and how my past career has made an influence in my roles as a user experience designer today.

Computer Science to User Experience — a strong legacy

A number of notable UX experts have come from a strong CS background. Alan Cooper, founder of interaction design company Cooper and author of the seminal book The Inmates are Running the Asylum, is also widely known as the Father of Visual Basic. Jared Spool, who is one of the industry’s most prominent speaker and usability expert, also had his beginnings as a software developer and programmer. I also know many UX practitioners who were formerly web developers, most of them specializing in front-end programming. A handful work in hybrid roles, juggling UX and software development in their day-to-day work.

Needless to say, UX is a natural route for CS practitioners keen on improving the user experience of interactive systems and beyond.

Why?

I pursued Computer Science because I wanted to work with computers. I was also excited about the web and in particular web design. I never got into design very seriously, feeling that I needed to start from scratch to learn the fundamentals – and engineering school was demanding enough. Still, I grew to love software engineering and found developing for the web very interesting and fulfilling, so that became my focus of my career for several years.

What I Did

In my eight year career as a software developer, I worked primarily on web applications. While my first job involved developing Java applets for a NASA research project as a Computer Engineering student, my first ‘real’ job got me building web applications for a telecoms solutions company. It was the early 2000s, and the big Internet boom meant almost every software developer in the world were involved in building software for the web.

I started off working on many projects where I was the sole web developer, and I grew acquainted with many web frameworks and web technologies, both front-end, back-end, as well as rich internet applications. In short, I was a generalist developer for the web, and for many years, I was responsible for translating requirements from project managers and sales executives into usable websites.

I increasingly worked with teams of other developers, but my teams were fairly small and grew no larger than 5 people. It was a very business-like environment and long hours in the office were very common. Despite the challenging nature of the job, I continually pursued a deeper interest in the craft of web development across several different industries – first in telecoms, then in a technology startup, then as a prototype engineer in a research division of a large Fortune 500 company.

Interestingly, it was business innovation and research that sparked my interest in user experience. I already had a strong love for web and graphic design, but I couldn’t have predicted being in the UX field – it was like a whole new world had opened before me.

How I moved into UX

In 2006, I was hired into a research team specialising in developing prototypes with the aim if generating innovative and creative ideas for a large Fortune 500 company. There was a big buzz around business innovation and design thinking, and I poured myself into as much literature as I could to get a handle on the creative process. But it wasn’t until two years later that I came across About Face 3 by Cooper et al, which completely changed my perception of running software projects. The book provided me a practical methodology to apply user-centred design into my work and it made so much sense, it was very hard to go back to the way things were.

Also, one of the main motivations pushing me towards UX was my desire to create better digital experiences. I constantly struggled to influence design decisions as a developer, partly because I was so far removed from any business or design context. I also lacked the necessary skills and design experience, which often left me frustrated thinking that my contributed a part to the overall experience influenced only part of the solution.

One of the main motivations pushing me towards UX was my desire to create better digital experiences. I constantly struggled to influence design decisions as a developer, partly because I was so far removed from any business or design context.

At the end of 2008, I enrolled in a Masters program in Human-Computer Interaction to kick-start my career in UX. It was a difficult transition, and after I graduated I still continued to work as a developer cum UX designer before making the leap into UX full-time — initially as a contractor, then finally as a full-time UX designer at SapientNitro.

What I Bring to UX From It

It’s hard to pin down specific things that bring to UX from CS. A lot of it I probably take for granted, such as understanding the intricacies of web technologies, complex software practices, and how design and technology can feasibly work together in one seamless whole. Often times, UX seems like an extension of my overarching goal as a technologist to deliver amazing experiences. I’m also not unaware of how poor implementation can happen when designers don’t understand how even the best ideas still need to translate well into engineering. These days, it takes a lot of different skills to deliver complex solutions way beyond the ability of individual engineers, designers or entrepreneurs.

Often times, UX seems like an extension of my overarching goal as a technologist to deliver amazing experiences.

I’ve also noticed that I’ve developed good practices as a developer that benefit my productivity, especially when it comes to using complex production tools, managing digital artifacts, multi-tasking, and prototyping. For example, I’m as comfortable using visual design tools such as Omnigraffle, Fireworks, InDesign and Illustrator as I am using the Eclipse IDE. I keep a healthy trail of artifacts using version control systems, dropbox, and other means. The tools seldom get in the way of my work, and I pick up new tool skills very quickly.

Finally, I think that all that software problem solving has come in handy. Some design problems are extremely complex and require some heavy analytical work. I seem to have developed enough patience to break down complex problems into manageable chunks, structure it in a more coherent solution, while putting my information architect hat on.

What I’ve Had to Work On

All the benefits I described have not come without a price. I obviously lack experience and exposure in many aspects of design, such as the design process, visual literacy, creative savvy, and working in creative teams. I’m learning a lot of this on the job now, but I can’t say it’s been easy – I sometimes struggle to comprehend my teammates who have worked in the field for much longer, as part of me silently begs for more answers on “how things work around here”.

I’ve had some experience facilitating teams in brainstorming sessions and running meetings, but I still feel I have a long way to go in running a full-blown workshop to generate compelling ideas and solutions. There’s a lot to learn here, too – some professionals dedicate their entire lives to this one craft.

I’m also fairly new to a role that involves more client-facing opportunities. This requires a lot of savvy, preparation, good people skills and good communication skills as well. I don’t think UX can exist in a bubble (unlike some software roles), and as a designer, I’m constantly required to take a stand and provide compelling reasons for my decisions, while considering the business and user goals. That’s one hard task!

UX can’t exist in a bubble (unlike some software roles), and as a designer, I’m constantly required to take a stand and provide compelling reasons for my decisions, while considering the business and user goals

In addition to this, I have to have a firm handle on what the overall experience should be. I’ve learnt from others and from my own experience that no single UX method rules them all. Things can get overly complicated and overwhelming very easily, and I’m still developing my own personal style and approach that works best for me.

Tips for Those Making the Move

UX is a very subjective, diverse, and inclusive design practice. It pays to be intellectually curious, to prefer problem solving through collaboration, and be comfortable tackling complex problems. As a UX designer, you will gradually have to dig deep through social, behavioural and technical layers to ensure your designs can hold up well in specific contexts. And since no single person can provide all answers, you’ll have to be resourceful and be thinking on your feet a lot.

I would also encourage stepping completely away from the computer for a while, at least until you’ve developed a personal approach to practicing UX. Start by putting some methods into practice and learning from that. Generate designs prolifically and with the assumption of throwing away much of what you’ve designed through rapid iteration. Don’t be afraid of starting from scratch with your designs repeatedly and testing them – it will build confidence in your ability to research and design.

Also, force yourself to design with others. This will help build a richer perspective of the world and how to design for it, and you’ll learn a lot about collaborative design in that process.

And while you’re at it, keep a journal of every lesson you’ve learnt. Not just written, but artifacts, concepts and sketches too. These will go handy in preparing a portfolio when you’re finally ready to hit prime time.

What I’ve Found About Moving Into UX

While the transition hasn’t been easy, I don’t regret the decision I made to switch. There is a lot of demand for UX designers of diverse backgrounds, and CS represents one of the primary foundations for UX as a domain. While it isn’t necessary to code while doing UX, a strong CS foundation provides a real world basis for UX problem solving. As technology gets even more complex, the role of a UX designer bridging the gap between technology and people is becoming increasingly important. I’m grateful for the opportunity I have now, and see no end to the possibilities ahead.

This is the first of a series of Johnny Holland articles on the different stories and skills people bring to UX. Have your own to add? Please contact us.

Boon Chew

Boon is a Malaysian UX designer and former developer who currently works at SapientNitro London. He's an active member of the London UX community and organises the annual UXCampLondon unconference. You can reach out to him on twitter at @boonych.

6 comments on this article

Very helpful article. Thanks for sharing this , I am currently moving towards the same direction as yours. I have a quick question for you. Because you have so much cs background , do you find yourself getting choked while designing or performing user experience research because you know the limitations of the technology. i.e. Certain design or layout is not possible because you know in html & java script you will not be able to handle the interaction.

Would just like to add that for me personally, the CS-background skill I find most useful in my interaction design work is to sketch non-standard interactions by writing code. Last significant project I did in interactive visualization, for example, was driven to a great extent by software sketches. First Processing, later Actionscript.

It’s important to step away from technology when you’re designing but I agree it’s impossible to ‘turn off’ your intrinsic understanding of how things work.

It’s also important to think strategically when designing, and not to be afraid to throw away old designs and look freshly at a problem – you’re designing for context and use, not functionality per se.

That being said, it’s important to work closely with developers to ensure that designs can be implemented (even if you know it can, based on your own experience).

Hi Boon,
I have the same affinity towards UX, and its been past one year i have been working on software development. My UX interest started when i visited my company’s co-company frog studio… i really loved the work. But i am totally confused with how i can take my transition into UX.
I appreciate if any suggestions from your side.
Thanks,