If you’re a graphic designer and considering a career change into software development, you may already have a lot of skills that will come in handy – maybe some you’re not even aware of!
I have transitioned from graphic designer to software engineer and would like to share my experience with you, along with some of the surprising ways my visual communication skills have helped me in my new career.
First a little about me. Four years ago I was finishing up university and working some of my first gigs as a graphic designer. Sitting and staring at the screen for long hours processing photos and pushing pixels around, I found myself listening to podcasts and YouTube videos about learning to code. I’d already had some exposure to HTML and CSS in the web design section of our courses, and when I got the opportunity to design websites for a client and work closely with a web developer, my interest peaked. How did this all work? What was really going on behind those components I’d designed?
"If I could design it, why not build it too?"
I looked around at the opportunities for designers around me. As print media waned and industry-scale digitisation surged ahead, more and more designers were taking on roles in UX and UI design. This was interesting, but what about those attractive salaries and the seemingly endless opportunities for developers… ? It was time to learn to code.
If you can relate to any of this, I hope that the following will be of some help. Here are some of the skills I developed as a graphic designer that have helped me in my career as a software developer.
1. Creative problem solving
Graphic design is all about problem solving, as is software development; identifying problems, understanding them, and coming up with solutions. When faced with a tough technical or design problem, we benefit from the ability to step back and think creatively about the problem. How could this be done differently? How can we think outside the box to reach the best possible solution, even if no one has ever done it that way before?
2. Understanding the designers on your team
As you’ve been in their shoes, you understand and empathize with the designers on your team. You know what makes them tick because you’ve been there, and you understand their work. This is extremely valuable, as you can act as a communication bridge between designers and developers, improving the product and even team productivity.
As designers, much of our work revolves around empathizing with end users; our designs must be accessible and understandable to users. In much the same way, as developers we need to think about the other developers who will read our code next. Have we written clean, well-organized code that will be easily maintainable in the future?
4. Technical diagrams
A diagram is often the starting point to a discussion. Visually explaining a solution or technical proposal can quickly get everyone on the same page, and help the team to reach consensus about the direction of an implementation. It also works as great documentation for later, which will speed up delivery by helping busy devs get swiftly on board with the project’s systems.
As a designer, you know that good visual communication is not just about “making things pretty”. You’ll likely have a good sense for what information the particular audience will need, and what can be left out. Your team will appreciate that you make complex technical topics seem easy to understand, and less technical stakeholders will especially appreciate your ability to effectively communicate business value.
Image: Example diagram from a current project.
5. Prototyping workflow
If you’ve ever created an original logo design or presented a layout concept to a client, you know that the first draft is almost never the final release. It may take several iterations to get the desired result.
In agile software development we work in much the same way: analyzing, developing and releasing small pieces of functionality, collecting feedback, and improving from there.
6. Continuous learning
One of the most valuable skills any of us can have in today’s digital world is the ability to quickly figure out how to do something we’ve never done before.
If you’ve spent any time as a graphic designer, you are likely resourceful in figuring out how to learn a new tool to get the result you want. An orientation towards continuous learning will help you greatly in software development as well.
There are of course many differences between these two fields, which I have not covered here. But if you are thinking of making the switch, you may be more prepared than you think.
Best of luck!
Photo by Emily Bernal on Unsplash
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.