I've been a developer for over 6 years, mainly working in the web context, and generally distributed applications, services, and also front-facing apps. I got into programming originally through Interactive Design studies back in university, but then moved away from that as I'm most definitely not a graphic designer.

However, I really have a passion for visual arts, visual design, UI design, and user experience. When I say UI design, I mean more toward the Information Architecture side of things, as opposed to "graphic design".

With that in mind, How would a programmer make a career move into the User Experience area?

For example:

  • Would I have to go back to school (I really don't want to do this)?
  • Do I just throw myself into the deep end and apply for jobs?
  • Can I leverage the skills and experience I have as a software developer to help get work?
  • What would a portfolio for a UI/User experience guy look like?
  • What are employers looking for when they look for this kind of position?
  • Would building some UI centric apps/wireframes in my own time help?
  • 9
    How is your transition into the UX design field going at the moment? How have you found the tips and advice given here?
    – Michael Lai
    Commented Jun 29, 2014 at 22:41
  • 1
    you should think of making an update to that question since almost 8 years past and there are probably people still curios yet. Commented Mar 4, 2018 at 17:36

8 Answers 8


Start working on your 10,000 hours any way you can. That means reading up on material concerning the field, diving in and applying for a job, hacking away at something as a hobby, keeping up with industry developments, paying attention to the thought leaders (eg. Jakob Nielsen, Jared Spool, Steve Krug, etc) and asking lots of questions. So I'd expect to see your reputation here go up quickly!

You don't need to go back to school unless you want to, which you don't, so skip it. Instead, read books, blogs, and attend conferences and events. Leverage your approach to the field from an engineering point of view as an advantage other visual or UX designers don't have: you know how the guts of software works and have a much clearer idea of constraints and limitations introduced into an architecture by technology. This angle can be a much needed ground in reality for many design teams.


A good portfolio for a UI/UX designer consists mostly of stories. You encountered such-and-such problem in such-and-such situation and considered a bunch of different variables in order to offer a certain solution. As you can tell from answers on this site, with UI/UX there can be many possible solutions to a problem, which is different from engineering where there is frequently a solution that was intended by the creator of the ecosystem you're working in.

In this field, however, things are more subjective, and the only way to solve problems is through experience and common sense. The experience part takes time, and common sense is something that gradually evolves from having seen a lot (which you probably have if you've been using the Web for the past 10 years). So you should be on the lookout for great UI/UX and start building an encyclopedia in your head.

Aside from stories, make sure you have a clear idea in your head of what platforms you know. There's a big difference between designing a UI for a Winforms desktop app compared to an iPhone app. If you can demonstrate knowledge in both areas, congrats, you're special.


It's hard to say what employers look for in "User Experience Designers". Personally I try to stay away from that term as it's so broad (like "software engineer") that it doesn't really specify what you're doing. Instead, try to specialise your knowledge and let that give you a head start. The user experience field is all about overseeing many things and making the best decisions based on carefully assessing different variables (business logic, user needs, technical requirements, etc), which hopefully lead to the best decision for the user.

User research methods are important, so brush up on them but don't obsess too much. Make sure you expose yourself to testing. User testing, usability testing and remote testing are important and you should familiarise yourself with each of them, even if you do it Steve Krug-style.

Hope that helps. You'll get other answers telling you something completely different, and they'll all be as valid as this one, which is typical of the field. (Unless someone comes in and says you should go to school or fry - they just don't know what's up. ;))

  • 2
    +1 - I'm a huge fan of Gladwell. He writes very interesting and thought-provoking books. Commented Oct 7, 2010 at 16:57
  • What's "Steve Krug-style"?
    – Quamis
    Commented Oct 8, 2010 at 12:55
  • 1
    Steve Krug is the author of Don't Make Me Think and he often advocates "hallway usability testing", eg. doing tests without needing expensive labs and procedures. You can test your app by just grabbing someone in the hallway and observing them as they use it.
    – Rahul
    Commented Oct 8, 2010 at 12:57

I agree with Rahul, some very good points there.

Having a solid background as a developer helps me a lot during my work as a user experience designer (I used to develop websites, but quickly moved to UXD). You know the techniques (and their limitations) you work with. In my opinion this helps you design (technically) realistic products that are possible within the scope and used techniques during a project.

And maybe even better, you know the language programmers speak. Designers and developers often clash because of how different they think. Being able to 'speak their language' greatly benefits your day to day work, at least it does for me. This comes in handy during internal meetings with managers and developers, but it can also help you during meetings with clients.

As a resource, here are some good UX related websites to read:

  • The uxbooth.com link was a great resource. I found it very useful.
    – Travis J
    Commented Oct 12, 2015 at 19:00

Mostly agree with what Rahul said - but I'd like to especially emphasise one thing.

Practice doing user experience work. Practice it a lot.

Reading blogs, books, papers, and courses are all great. But knowing how to apply that knowledge is a different thing. The real learning comes when you try and apply your knowledge, make mistakes, and fix 'em.

You don't have to have a UX related job title to do UX work. Start looking at your current projects. Look at ways you can make the front-end better. Lobby for some lightweight usability testing. Talk to users and see if the design of the software fits in with the users mental models. Poke. Tweak. Experiment.


I work with a LOT of developers. They are highly intelligent and have a certain logical mindset that makes them very good at being developers. It's easy to believe that everyone thinks like you do, which I can assure you they do not.

In addition to what the others have said, I would suggest that you spend time watching users. Get inside their heads to see how they think. Observing usability testing would be invaluable to you. I've spent almost two decades as a UX designer and I'm still surprised during usability testing at what is hard and what is easy for some users. Equally as interesting is what they want and don't want in an interface.

Once you've mastered getting out of your own head and into others' heads, information architecture is a lot easier.

As for a portfolio, demonstrating that your development work (current and future) is influenced by your mastery of UX and usability best practices is crucial. Work on re-framing your resume and portfolio with the right "UX" vocabulary.

  • 1
    +1: thanks jk, great advice! Yeah, I'm gonna push at my current place to work more on user facing apps and start from there. The user watching is also great advice... if on my very very simple site whenever I see someone using it, I can immediately see several things to change, to make it easier. thanks again!
    – andy
    Commented Oct 10, 2010 at 22:15

I've been attempting to navigate this transition for about five years, and I've learned a lot along the way.

First, experience is almost everything. As mentioned in another answer, the 10,000 hours thing (although it's a Gladwell gimmick) is fairly good as a first approximation. But it matters what kind of experience you have.

All of my experience is in startups and small organizations, and I think that has helped me more than I could've predicted. My first job was in a small, very fast-paced nonprofit. I was doing full stack programming, including UI work, and my "sprints" were measured in days, not weeks. I was building mostly in-house tools, so feedback was immediate and unfiltered.

I was too inexperienced to know why people were having trouble in places, but I began to see patterns in interfaces that were easy to use and ones that were not.

My next few jobs got me exposure to different audiences. I worked at an association where I got exposure to poorly motivated elderly people, and I worked at a startup where I had to create interfaces for Joe and Jane Sixpack as customers.

If experience is almost everything, then study is basically everything else. And I don't mean going back to school. You should read. A lot.

Here is a list of useful books I put together a little while ago list of UX and UI books

There are a few types of books that will be helpful to you:

  • General design approaches - Books like The design of everyday things, Steve Krug's stuff. These books will help you develop the right thought process to tackle UX problems.
  • Theory of design - The Lidwell book is great. These books are your basic design 101, and you learn things like color theory, Gestalt principles, layout, etc. (This applies more to the design side of things than IA, but you need a basic understanding here regardless)
  • Information architecture - Information architecture for the World Wide Web is one. These are all about taxonomy, hierarchy, and user flows.
  • Design patterns - Designing interfaces is a good one. These are just big long lists of problems and solutions. This type of book is great to help you build your mental map of solutions. For a while, you're going to feel like there are an infinite number of solutions to each problem, but after digesting a few of these books you will realize that most problems have already been solved.
  • Case studies - Nielsen used to be great here, but I feel like his stuff is getting pretty dated. Case studies are super important and the benefits to you will be similar to learning about design patterns, only more general.

Start with the general books, hit some design theory and IA, go through the design patterns books, and finish up with practice and case studies.

Finally, on managing your career transition... There will be points in your transition where you just have to close your eyes and jump. For instance, you can do all the self-study in the world, but if you are a programmer at a large corporation where you're insulated from customer and user feedback, it's going to be very difficult to get the needed experience to bridge the gap. On the other hand, leaving a six-figure programming job to take an entry-level UX job usually isn't wise.

But the biggest problem is that nobody is going to believe that you are UX guy until you have had a job where your primary responsibility was UX, and nobody wants to give you one of those jobs unless you have previous UX experience. It's very hard to sit in an interview and say that "yes, I was a programmer, but I studied user experience in my spare time". I handled the problem by quitting my job and deciding there and then that I would start being a UX guy. Nobody will hire you, but you can be a consultant. That's how I did it, and I wouldn't have been able to manage the transition otherwise. I hated consulting, and hustling clients was the worst part, but when I interviewed for my next job, I could point to my resume and say that I'd been doing just UX for the last couple of years.


Find the archetypes that lives within you:

Trainer/Author Coder Lead Techonologist

Then see how much percentage of these four archetypes occupy your attention when you are in your best flow.

There are Branches in the Interaction Design disciplines... some of them relate more to strategic perspectives related to value proposition and business modeling aspect of product-service design, other requires Modelization Skills to fully represent Interactions between user-interface. Of course knowing how to sketch and flesh out UI components is Key to any successful UX advisor-planner-designer... then of course if you know how to develop meaningful and useful product-services... maybe you can also make it Usable, Accessible and Measurable.


The best way to make the transition, as adrianh has said, is to do it. If you're passionate and interested, it shows.

So bug companies you respect for an internship. The might just say yes. Find out what they might need some help on. We had someone do that to us and we eventually gave her a job because she was so clearly passionate about user experience.


I think the first step is to start caring about user experience. So, empathy, basically. That should be the main drive of any UX effort. If you feel you're starting to have that already then I'd say you're on your way and the rest is practice, learning from good examples, reading, etc. But that first step is a necessary condition, and often is sufficient to make sure your application eventually has good UX.

Not the answer you're looking for? Browse other questions tagged or ask your own question.