ARTICLE NO. 693    June 29, 2011

Hi, I'm a UX Developer - You're a what?

“So, what do you do for a living?”
“I’m a UX developer.”
“You’re a what?”
“I’m a user experience developer…”
“Uh-huh… what’s that?”

I have this conversation just about every time I meet someone. I can’t say I really blame the person on the other end, though; my job title is sort of an ambiguous and buzz-wordy. I often opt to take the easy way out and just say something about working for a company that builds software applications for the Web, desktop, and mobile devices. “Ohh, okay. I get it.” Admittedly my answer is a cop-out, but I’ve found it’s quite difficult to explain to someone what a UX developer is.

So What Is a UX Developer?

The realm of the UX developer exists somewhere between that of the traditional developer and the designer. We’re not really designers, yet to be a good UX developer you certainly need to have an eye for design. In the same vein, we’re not traditional developers but we certainly need to have development experience and expertise. Often this experience spans multiple technologies, languages, and platforms.

It falls on the UX developer to bridge the gap between design and technology. We need to be able to think and speak the language of designers. It’s our job to help translate their vision to the development team in a way that they can understand and accept. This can be a critical piece of the puzzle in a project, especially if the design and the interactions behind it are complex.

Similarly, we need to speak on behalf the developers to help reign in the designers, at times. If they are coming up with concepts that will be extremely difficult or time consuming to implement, we can explain the limitations of the technology and the complexity involved in implementing their designs, and try to come up with an acceptable alternative.

In addition to helping bridge the designer–developer gap, UX developers actually build stuff, too! In my experience, for the most part, UX developers are not building production level applications. That’s not to say they couldn’t or that they never do, but most of the time their skill set is better utilized in other ways. Rather than building full production-level applications, UX developers more often are building prototypes and proofs of concepts. A proof of concept may be as simple as building out a single interaction to see if it works, or testing to see if something is possible. Seeing if something works doesn’t mean seeing if it works technically (e.g., if I put data in this form field does it go into the database?). Instead, the UX developers build out interactions to see if the methods they’ve come up with works from an experience perspective. Is it intuitive? Does it flow correctly? Et cetera. This is one of the main differences between a traditional developer and a UX developer.

The prototype is another powerful tool of the UX developer. The level of fidelity of these prototypes can vary but the concept is usually the same. Like the proofs of concepts, the idea is to build and test various interactions and designs. Prototypes usually mimic an entire application or, at the very least, a large chunk if it. The job of the UX developer is to build out the prototype to look and function as closely to the real application as possible. This serves a few purposes. First, it creates a version of the application that can be used in user research testing. This can provide very valuable data by allowing users to interact with the application in its native environment. A high-fidelity vision prototype can provide a much more valuable and holistic experience that design comps or paper prototypes. Another major benefit of having a UX developer create a vision prototype is that, in most cases, the code used to skin the prototype and build out the animations and interactions can be handed over to the dev team for use in the production app. This is a huge benefit to traditional developers because oftentimes they don’t want to waste their time worrying if things are pixel perfect, or if an object faded when it was supposed to slide, etc. It frees up their time to focus on what they’re best at: making sure the application works, is scalable, and is “bulletproof.”

UX Developer vs. Traditional Developer

One of the fundamental differences between the UX developer and the traditional develop is the focus of each discipline. Both are concerned with whether or not the application works. It is in how they define “works” where this fundamental difference in focus is found. For the UX developer, the focus is on whether the interactions, process, flow, and overall experience of the application works for the end user. Is the application intuitive, simple (not simplistic) and, most importantly, does it meet the user’s goals? Of course, the traditional developer is also concerned with whether or not the application works. However, for the traditional developer the application works if it executes all of the items listed in the functional specs. The focus of the traditional developer is centered on tasks rather than goals.

Another difference lies in the skill set of each type of developer. Obviously this will vary from individual to individual, but in general, a traditional developer is likely to have more of a, well, traditional background. They’ve probably got some sort of degree in computer science, have mastered a heavy duty backend language such as Java and are familiar with all of the best practices and design patterns that are out there. A UX developer, on the other hand, probably doesn’t have a computer science degree. Maybe something in the design realm or even a completely unrelated field. In addition, they’ve likely studied a variety of front-end development technologies.

How and Why Would I Become a UX Developer?

The UX developer role is a discipline under the overall user experience umbrella. This means that to become a UX developer you need to have at least a general understanding of the core UX principles, philosophies, and methodologies. This includes, but is not limited to, the how and why of user research, wireframing, and the use of personas.

You also need to have a solid and broad range of development abilities. A good deal of your time will be spent writing throw-away code so it isn’t necessary to learn the ins and outs of every framework out there. What you will want to focus on is how to add interactivity to components—for example, some basic animations; touch, tap, and swipe gestures; component skinning; etc. Learn how to do these things well, and learn how to do them quickly. If quality is the number-one goal of a UX developer, speed is a close second. Timeframes are often short for prototype projects. Most likely, you’ll also be creating multiple iterations of each project therefore it becomes important to create new builds quickly to get them in front of your clients for their feedback.

Why bother? The short answer is that it’s exciting! As a UX developer you’ll often be working on new products and applications or breathing fresh life into existing ones. Many times you’ll also be creating for the latest and greatest technologies and devices. This can be challenging because you’re always working in uncharted waters but it can be very rewarding when you develop a new interaction model that creates an exciting, successful paradigm for your users.

As you can see, defining what a UX developer is can be a bit fuzzy. Like some sort of geeky, mythical creature, they are part designer, part developer. I’ve heard them described as a sort of human Flash Catalyst. If you find yourself in that middle ground between the design and the technology and you enjoy merging the two together, then a UX developer role is for you! Just be prepared for the quizzical looks you’ll get every time you tell someone what you do for a living.

ABOUT THE AUTHOR(S)

Comments

Add a new comment

Because of problems with spam comments, HTML in comments is not permitted. URLs are allowed, but they will not be rendered as clickable links.
If a developer OR designer -- or anybody, really -- doesn't actually *talk to* and *spend time with* end-users... then I don't want to see UX in their job title. I like this: "the focus is on whether the interactions, process, flow, and overall experience of the application works for the end user." But how does a "UX developer" know whether it works for the end user? That's the ultimate question. Are you actually spending time getting to know them, their context, and their needs? Are you putting your product in front of them and watching them use it? Or are you just relying on your mindset and assumptions?
Kudos on the post Tim. I agree with you and #hunterhastings that UX is not just design. It takes all disciplines acting in concert around the consumers interests to create the optimal experience. We call them Creative Developers at Modea but it's the same thing. Thanks for posting, I'm going to share this w/ my agency.

@Hunter - Thanks, will do!

@Don - I have thought about the point you raise a bit and admittedly I had some concerns. Ultimately it comes down to more than just the tools. You still need someone with that overall UX mentality and the ability to "live in both worlds" to create great experiences. In the end, I think tools like those you mentioned are just something else for the UX developer to add to their repetoire.

I'm in the same boat, although I go by UI Developer. I do mockups, prototyping and design work for a number of products. The only difference is towards the end of the development phase I go in and polish up the application so it meets all of the visual requirements that may have been overlooked.
I'm curious to hear the author's thoughts on the growing use of prototyping tools like Axure or iRise. Does the author view these as a threat to this role? Or is it something that adds to the UX Developer's tool kit?
Way to go against the grain. UX is important across the board - and for some reason, people assume it's something that needs to be "designed". The fact is that a solid user experience is (A) logical, numeric, and precise like development, and (B) important to implement in a consistent manner from start to finish. It sounds to me like you've found an angle that allows you to take UX to the next level. Best of luck to you! If you're ever in San Francisco, beer is on me - shoot me a tweet.
This is basically what I am, though I've never called myself a UX developer, I just stick with Front End Developer. In a sense though, I suppose UX Developer sounds like it includes more... I feel like a lot of companies don't understand the importance of us though. Everyone's looking for an all-in-one Designer/Programmer hybrid, and they really have no idea that what they're asking for is darn near impossible to find. True designers don't think like programmers, and most programmers (that I've met) can't design for anything. It's a tough place for us really.