Making the Transition from Development to Design—My Experience and Advice

Just how does a person with development background move over to design? Here are some tips as someone who has gone through the process.

A couple months ago, a person emailed me asking for tips for transitioning to design from a development background. As someone who had loosely gone through the same path (from programming to design to programming then back to design), I wanted to share any advice I could possibly give. After writing the letter, I thought it may be useful to a few other people out there. So if you are a developer looking to get into design, this is written specifically for you. To preface, this article is not why developers can be good designers. This article does a great job of articulating those ideas. So instead of duplicating good work, I spent time on some ways a developer can get into design.

Before I get into the meat of this response, I highly recommend you start your transition in the software design world (e.g., web apps, mobile apps, traditional software, etc.). If that is not the case, I highly recommend you reconsider, at least in the short term. I hold the belief that software design is going to be changing a lot in the next 5 years, and those changes are going to greatly benefit people with development and design skills. I think the future designer is going to look and act a lot more like a design technologist. So don’t look at your current position as a disadvantage, view it as a great starting point towards a complementary vocation. 

I tried to put together a list of tips that would have been helpful to know when I first got started. The design technologist role was still taking shape when I entered the professional sector and a lot of my own progression was from muddling around in the dark. To be honest, I don’t think I would change that even if I had the opportunity to do so. So, while I believe these tips could be helpful, there is something to be said about just getting yourself lost with the faith that you will find your way out and learn something in the process. If there is one thing to take away from this email, it is to refrain from mentally separating design and development. When you are creating wireframes, you are implying code that needs to be written. When you are coding, you are actualizing user experiences. To mentally separate each process is the first step towards viewing the creation of software as an assembly-line process. We have a lot of horrendous software due to that line of thinking. 

My List of Tips

Remember, these are tips based on my personal philosophy and things that have shaped my approach. A lot of the thoughts below are opinions that a lot of other designers may disagree with. That’s what makes this topic so interesting.

Tip #1: Don’t stop building things

It will not be long before anyone designing software will require an understanding of how to make software. I have been saying this for nearly half a decade and it is finally starting to play out. Developers interested in design do not realize their development background is their greatest asset. Designers will be desperately working to have the skills you already have. 

It is important to keep your development skills honed. If your goal is to shift your emphasis towards design, your day-to-day development tasks may change but they can still be used. The most obvious area where they can be used productively is prototyping. As interaction design becomes increasingly complex, prototypes will become a greater necessity. Your coding background will allow you to make more sophisticated, accurate and (hopefully) insightful prototypes. Ultimately, the real goal is to see no difference between your development and design skills. The skills gained from each focus are connected, interdependent and equally important towards making good software.

Tip #2: Learn design in order of dependency

Trying to tackle the entire universe of design at once will set you up for failure. I highly suggest easing into the process. A great way to do this is to start at what is most vital for software (its function) to what makes it delightful to use (its form). A worthwhile read on this subject can be found here. I decided to modify the author’s hierarchy a bit for our case (if you’ve looked at the diagram from the link provided, the list below starts at the bottom and moves up):

These steps gradate from the rational to the emotional. Learning design by progressing through these steps is optimal for two reasons. The first reason is that each tier is dependent on its predecessor—for instance, learning visual design without a strong understanding of interaction design will lead to poor output. The second reason is that this transition gradually moves you from pure logical, quantitative thinking to more qualitative, aesthetic thinking.

The first two steps (design for reliability and design for performance) will probably be areas you’re familiar with. However, it is important to understand how much design can impact the reliability and performance of software. Designing for organization is all about information architecture and content hierarchy. Designing for order and structure relates to traditional interface design (which is traditionally represented with wireframes). Designing for interaction, determines the details of how a human being actually uses software (translating a static interface into a rich interactive experience). Designing for aesthetics is obviously visual/motion design. There are ample material for each of these areas which will be easy enough to find—this article is not about detailing every step, it’s about explaining the progression of learning.

There is another step which does not exist on the pyramid, and it is arguably the most important. The last step is to learn to use all the skills concurrently. The end goal is to not treat these facets of design as separate steps, but as variables in a complex equation that is accounted for throughout the entire process. While the hierarchy of design needs will continue in the order illustrated, the aggregate of all skills are used to solve each need.

Tip #3: Design everything you do

During my first internship out of college, Stella Lai gave me this tip and it has been the best professional advice I ever received. Try to practice this tip as literally as possible. The obvious areas are how you dress and how your house/apartment/room is organized. I would suggest not stopping there. Your emails should be written/composed clearly and beautifully. Your conversations with individuals should be designed through how you listen, how you maintain eye contact, how you respond (both spoken and unspoken). Everything you do should have a reason, no matter how small. Design requires constant practice, this is a great way to keep growing. 

Tip #4: Care about your audience

The work you care about will likely turn out better than the work you don’t care about. So what happens in the case when you simply cannot get yourself to care? I advise you to put your focus on the people your work will affect as much if not more than the subject of your work itself. If you care about your audience, you’ll automatically care more about the subject. The opposite is not always the case. The more we put others (the audience) in front of ourselves, the better the results tend to be.

Tip #5: Talk about design and listen even more

Reading is great, but I have learned far more through discussions with experienced, knowledgable and trustworthy people. When you find yourself in such a situation, ask questions and listen. I want to emphasize the importance of truly listening. In the short term, it is important to absorb as much good information as you can while you are in the learning process to challenge your preconceptions and push your thinking. In the long term, it is important because listening will be a vital skill in your practice. The best designers I know are amazing listeners. You will be doing it a lot (with your colleagues, your audience, your clients, etc.), so you should be good at it.

Tip #6: Learn to write, then learn to speak

Early in your practice it will be important to absorb ideas to help you form your own philosophies and approaches. However, at some point (preferably earlier than it is comfortable for you), it will be important to start formulating those points of view to an audience. Thoughts kept in your head have the luxury of being biased, irrational or simply flawed. Communicating those thoughts to an audience and opening them up to scrutiny forces us to improve our thinking. Writing well is also essential to practicing design. I’ve done some of my best learning through writing on my blog. I would suggest blogging as the first step towards sharing your ideas. 

In the long term, I suggest trying to speak in front of an audience at least once. Some people love it, others hate it. I have spoken only a half-dozen times or so and I find the process as rewarding as I do terrifying. The skills necessary for successful speaking (e.g., compelling storytelling, brevity, connecting with the audience, etc.) will help you in your daily practice, especially client-facing interactions. Sometimes, communicating the thinking behind your work is as important as the work itself.

Tip #7: Focus on defining and solving problems

A lot of the work you see at design showcase websites are great examples of well executed decorations that lack substance. The people that can perform this type of work are countless and the skills highly commoditized. Avoid pixel-pushing at all costs – your job is to solve problems. View your work through that lens at all times. Always know what problems you are trying to solve while in the process of designing (e.g., people are having a hard time knowing where to go next in a flow, or, the current visual design does not reflect the mood of our brand). Good designers solve problems, great ones ensure they are solving the right ones. Accurately defining the problem goes a long way towards solving it.

Tip #8: Listen to your gut, but trust your brain

Trends come and go, but elegant, rational and utilitarian products never go out of style. It’s not bad to follow your instincts, but always follow up to understand why you did it in the first place. “Because it felt right” is a fine way to start a conversation, but not a good way to end one.

Tip #9: Be your biggest critic

You will never be perfect, but that shouldn’t stop you from trying. There are always areas to grow. Your work and your practice always can (and  should) be improved. When in doubt lean towards being too hard on yourself rather than too easy.

Tip #10: learn from the time-tested—and emulate it

Few things prove a design’s success better than how long it remains relevant. Look to the timeless to guide your approach. This need not be limited to software, the thinking behind designing a great chair often parallels the thinking behind designing great software. Understand how others before you have solved similar problems and try to determine why it took the shape it did. Value precedence; it carries considerable weight. Blindly echoing design trends is a great way to have a dated portfolio in a couple years.

Focusing on digital influences to follow, the operating system is one of the most time-tested and finely tuned pieces of software in existence. Explore the nuances, understand the patterns and know them like the back of your hand. When do you use a drop down as opposed to radio boxes? Why? There are smart reasons behind most of these details and they are worthwhile to know.

Tip #11: Ideate romantically, create pragmatically

Our ideas should be bigger than reality, but our execution should be married to it. This allows us to see the grand future of a product while ensuring that it can exist to have any future at all. Both are important, but they can be detrimental if out of balance or practiced at the wrong times.

The design world is in a phase of rapid change. Designers who understand and can work with code are becoming the prototype. Your transition is not going to happen overnight and a lot of your thinking will need to bend. However, I think you will be surprised by how much of your thinking will not. A lot of your shift is about understanding that you have already been creatively solving problems as a developer, and that a lot of that thinking is universal.

52 thoughts on “Making the Transition from Development to Design—My Experience and Advice”

  1. Great post. Design today is so exciting. For so many years, it seemed what we were doing was making pictures of brochures and putting them online. Recently, we’ve begun designing for the medium itself. New devices are forcing us to move quickly, which is a good thing.

    As someone that’s come up doing both design and (front-end) development from the start, I couldn’t agree more with your point. If it’s not necessary already, soon enough we’ll all need to be multidisciplinary. It’s just not possible to design something without having a basic understanding of how it functions. It would be like an architect who drew beautiful sketches but had no concept of how his buildings would be supported. The more we can understand each other, the better our products will be.

  2. P.J.

    Thank you for your honest advice. It has helped me tremendously. Coming from a development background into the design world. You give some great foundation points.

    Thanks again,
    Beena

  3. “I hold the belief that software design is going to be changing a lot in the next 5 years”

    Can you tell us a little more about what changes are in store?

  4. Great advice! Now, any advice for the designer who wants to learn more about development? Thanks for taking the time to share this post with the whole community …

  5. Well, I can do nothing but praise you for the advices given in this post. By the way, really like your design.
    The only thing one could note is that your feed and twitter icons looks a bit pixelated.

    -k0nsl

  6. Theses are greate ideas and advices. I am a developer but customers want more than software. They want to have eye-catching products.

  7. Thanks for writing this. As a developer interested in how to make my software more usable and aesthetically pleasing, it’s not so easy to find encouraging words online, let alone a roadmap for how to incorporate design into my skillset.

    I’ve found a number of blogs spouting the virtues of good design, how it is extremely important for your website/app/product, and how you should not dare tackle design work yourself if you are a developer. “Hire a real designer,” they say, “because you’re sure to get it wrong.”

    I’m glad I found this article and hackdesign.org 🙂 I’ve been looking for something like this for quite a while.

  8. Excellent synthesis of your experience.

    Plenty of nuggets of wisdom to reflect on scattered through the article.

    Overall I can appreciate the sincerity in the advice, thanks!

  9. I’m trying to cross that bridge between developers and designers world. I left my Computer Sciences career after 4 years, because I was more interested on how my app would interact with users that the program itself, and I had a lot of problems because that way of think was not necessary (another reason why we have a lot of horrendous software). Now I will study Graphic Design and let see what come from that. Maybe a nice article like this one.

  10. Excellent read. I’ve subconsciously made this transition in role and mindset during the past 5 years. It’s reassuring to read this and feel that my journey is validated beyond my own personal reflection. Thank you.

  11. Excellent article. I did the transition in the exact opposite direction. After earning a degree in graphic design and working in that field for 8 years, I decided to move to programming. Coincidentally, the steps and principles for going from designer to developer are almost identical, and much of the advice would be similar as well (don’t stop designing things).

    You hit the nail on the head with the idea that as a designer, the former developers development skills will be their most valuable asset. In my experience, as a designer-turned-developer, my design skills are very valuable and often differentiate me from my developer peers.

  12. Great thoughts! Coming from the QA world and familiar with technology – I can see how a developer would quickly transition to design if they spend time focusing on your tips. This article even gave me a few tips on what to look for as I’m testing design. Thank you!

  13. Wish I had read this a couple of years ago.
    I’ve been developing iOS apps for over two years, and I tried to learn some design along the way. But never managed to find a tutorial that fits me.
    This is exactly what I’m looking for.
    Awesome, keep going.

  14. Thank you very much for writing this. I am in the middle of figuring this stuff out, I have been developer for 10+ years and always had more interest in UI and design side of things. Its good to know that someone has done this successfully. This gives me boost.

  15. I come from a design background with a Bachelor’s of Fine Arts degree, and I have seen the changes of design and development before my eyes. This year I decided to teach myself coding languages (Javascript, html,css,python) & I think it’s made me a better problem solver. I am still undergoing self studies with online training like code academy and by purchasing O’Reilly training books. I feel this transition I’m taking is a necessary trait for future designers. I know your post was significant to developers learning and executing design, but this is also complementing designers who are also learning & executing development. It’s an interesting and exciting era for design!

  16. I am a Computer Engineering student who is also doing actuarial science and am extremely interested in startups. I have got to say, this is one of the most inspirational articles that I have read in quite some time. I came across this while going through the lectures on hackdesign.org, and even though my programming knowledge is still very elementary, it is extremely inspiring and motivating to read about people who are bringing about a positive impact in people’s lives through their work. I still have a lot to learn, and often, the scope of things gets overwhelming, but thanks for sharing your thoughts over here.

  17. Hi there!

    I am new to the world of design, programming and networking. I began the process of earning a BSc (Honours) in Computing and IT with the Open University in 2010.

    Your discussion above is really inspiring.

    Regards

    Albert

  18. Really good read!

    Your article inspired me to read about Maslow’s Hierarchy of Needs, which is the foundation for tip #2. I learned that in the original model, it’s not necessary to fullfil each stage to a hundred percent. Its enough to satisfy each need to about 70% to move to a higher stage of need. Maslow himself never created such a static hierarchy, he made it way more dynamic.

    With your experience in being a design technologist, do you think that this fact also applies to the different steps of design learning?

    There’s also another point that would fit your article well: Maslow said that each step requires constant work. It can never be truly satisfied. Thus he describes the whole thing as a holistic idea, which again, would fit your idea of holistic design.

  19. This is really a great insight. I am a self taught developer and still learning the trade. I have been engaged in a couple of projects and from my short experience, your arguments holds true. I seek to improve on my design skills and this article in invaluable. Thank you.

  20. thank you very much for this, has been very helpful now that I’m in a period where a lot of people feel confused because they don’t know exactly what they want.
    I’m a weaver and beginner textile designer and also I’ve a lot of interesting in other form of design.
    Thank you very much.

  21. Great article. I liked the complete article and particularly #3 Design everything you do. I am a developer and just started taking design seriously. I will be referring back to this article time to time.

    Thanks a lot!

  22. Thanks for your share. It so useful for me . BTW, I translate it into chinese,so that more and more people who wanna make the transition into designer can get the points you offered.

Leave a Reply

Your email address will not be published. Required fields are marked *