I interviewed Spencer to find out how a UX Designer changed career to become a Software Developer. Read on for tips on learning to code, building relationships and the benefits of side projects.
Hey, so can you introduce yourself?
I’m Spencer, I live in Australia and I build things. I studied a design degree at University and got a job at a company that builds banking software as a UX Designer. I did a variety of UX and UI work and in my spare time taught myself to code. I started working as a Front End Developer within the company, specifically on their mobile app (a phone gap wrapped HTML app).
I realised I really wanted to work for myself and impulsively quit my job when I felt I was no longer learning by staying there. I then dabbled and launched a few projects and eventually joined my girlfriend in an online personalised chocolate business: https://www.chocolab.com.au/
I started managing the marketing, building the website and building tools for the internal procssses. The business has been alive for seven years, and alongside it I have continued to build and launch new projects.
Why and how do you switch from design to development?
I somewhat accidentally moved. I have ADHD and tend to just follow what ever interests me at a point in time. I loved designing websites and apps, but I wanted to be able to create things entirely on my way own. A user can’t use an image.
I personally believe that digital designers should be coding or at least have a strong understanding of what is going on under the hood.
I think the biggest obstacles designers have in learning to code is they set up mental barriers and excuses for why they can’t. Some think of themselves as creatives, but the truth is creativity is often just problem solving. Programming is incredibly creative. It’s all about coming up with solutions to difficult programs.
How did you learn coding?
I’ve never really followed any courses or boot camps. I’ve personally found I can’t engage my brain unless there is an immediate purpose behind what I am building. The way I learnt was simple, I just kept trying to build things. As you build things logical questions come up and you keep answering them. Like "ok how do I make this appear on the screen", "how do I store data so my user can access it when they come back" and so on.
I could see visible progress as I learnt and over time I had amassed a huge amount of knowledge, which is far more comprehensive then any bootcamp would be. The problem with boot camps is they teach you one way of doing something, but you need to develop the skill to find the best approach on your own.
Learning this way has enabled me to work across backend, front end and native app development in 5 different languages. Launching real projects and building tools for Chocolab has been the best way to learn, as I’ve had to do everything myself.
How has your life changed since learning to code?
I’m 100% self sufficient when launching anything tech related. I don’t need to look for a technical co founder to bring my designs into reality. If I ever need to fall back to working for someone else it has also widened my skill set considerably and rather then showing a portfolio of images I can show a portfolio of real products.
Even if you don’t want to be a developer, having the ability to automate parts of your process for whatever job/business you do is a super power and can save hours everyday.
What was the interview process like for your first developer job?
I started at the company as a UX Designer, I naturally transitioned within the company overtime without any formal process. Building relationships with the existing developers was key, and helped highlight the areas I specifically needed to learn to be useful within the company.
What does a day working on Choco Lab’s website look like?
Chocolabs website is build on top of WordPress. I use a variety of third party plugins, my own plugins and custom code to allow us to take orders for and create personalised Chocolate bars. Things like printing edible messages and images as well as nutritional information are run by Raspberry Pi’s inside Chocolab using Python and Tkinter which communicate via WordPress APIs.
Most of my development time inside Chocolab is spent on building new tools for new products and maintaining the existing ones. I’m always trying to find ways to make my staff more efficient in meeting orders, which is key to a business that allows personalisation.
What are your career goals for the future?
I’m starting to focus the majority of my time on launching new tech products. Specifically at the moment I have gone deep into iOS native development where I have built two apps:
- CheckYourList.app a way to create repeatable checklists.
- Beeptestwatch.com a way to run a beep test on Apple Watch to determine cardio fitness.
I’m spending the majority of my time building CheckYourList and integrating it with iOS platform features currently. I’m going to keep releasing other iOS apps as well. As an indie dev iOS stops me answering the constant questions of which tech stack to use on web which has made me more productive. It also gives me a marketing ecosystem through the App Store that helps get off the ground quickly.
I’m building in public with the goal to get my apps to $1000 a month and eventually be my full time income. You can follow my progress on twitter: @Swaldy and I have an open page for CheckYourList which shares its revenue and all the todos I complete.
If you want any advice on learning to code, or help with what you are working on feel free to reach out via twitter.