Engineering and Product
Kevin Norris, Senior Software Engineer at Joyous
From baker to software maker, Kevin shares with Matchstiq his career journey to date, explaining why he traded his keyboard for a rolling pin and then back again. He shares some great insight into the importance of having a passion for your craft outside of your job as well as the role software engineers play outside of just coding. Thanks for sharing Kevin.
Firstly, how would you explain to a five year old what it is you do?
I tell computers how to do useful things. They are very powerful but not very smart and need people like me to help them do what we want them to do.
And for the adults, what does that translate to in regards to your day-to-day?
I design and build maintainable and scalable software systems. As a startup with big goals, we need to ensure what we build can thrive during the scaling journey and provide a solid foundation we can continue to extend.
“I don’t understand how people expect junior engineers to already have their career mapped out when they have experienced so few of the possibilities.”
What are some of the common misconceptions about working in Software Engineering?
1. You need to have a degree in Computer Science or Software Engineering to be a good engineer.
This is a complete fallacy. While it is the most traditional route into Software Engineering as a career, some of the best engineers I’ve had the pleasure of working with came from a non-traditional background.
2. You will learn everything you need to know on the job.
Software engineering is an extraordinarily broad and ever-expanding landscape. You will learn a lot on the job but your main objective is delivering business objectives, learning is secondary. To become a great software engineer you will need to have passion and drive to continue to grow outside of work.
3. You should know what area you want to specialize in early.
I remember four months into starting my career as a software engineer being asked what direction I wanted to take with my career. I had no idea, I had only done frontend professionally and even that for a very short time.
I don’t understand how people expect junior engineers to already have their career mapped out when they have experienced so few of the possibilities. Find opportunities and make the best of them, even if they're not in line with a roadmap that you’ve drawn before understanding the landscape.
Was working in tech something you dreamed about doing as a kid, if not what was?
I never had a clear vision of what I wanted to work as when I was a kid. I always figured I would one day come across something that captured my interest. This attitude drove me to search for a career that kept me engaged and interested. You can never know if you’ll like something until you’re immersed. It can look very appealing from the outside but fail the litmus test of enjoyment once you’re in the thick of it.
“After completing my masters I wanted to do something completely different. I had always enjoyed baking, and thought doing something with my hands that did not involve a keyboard would be a nice change of pace”
Tell us a little bit more about your career journey and ultimately about how you ended up working at Joyous?
When I started Uni I had no idea what I wanted to do. I knew I liked science more than arts and that’s about it. The first semester I took a variety of science papers, one of which was a computer science paper. The computer science paper was so much more interesting and fun to me than the others. I had found my major and tried to take as many computer science papers as I could.
For a time I thought of becoming an academic. My mom is a professor and it seemed an enjoyable and meaningful career. This led me to doing a Masters in AI. My experience, while good, convinced me that academia was not for me. After completing my masters I wanted to do something completely different.
I had always enjoyed baking, and thought doing something with my hands that did not involve a keyboard would be a nice change of pace. I started a baked goods market stall and did markets around Auckland for half a year. This was a great learning experience, but baking commercially took the fun out of it and the hours were not enviable.
After baking I stepped back towards tech, but from a different angle. I spent half a year building an affiliate marketing portfolio. I found making landing pages to be the most enjoyable part of this process and started to teach myself web development through Free Code Camp.
I believe joining a company with a strong technical culture massively propelled my growth. Not only did I learn tons on the job but being surrounded by people passionate about tech drove me to continue learning on my own.
Two and a half years ago Philip Carden reached out to me about Joyous. At this point Joyous was in a shed above Britomart Country club, consisting of the two founders and two engineers. I was intrigued by the concept, the people, and the breadth of experience I would have growing with a small startup.
It has been a great time. Joyous and I have both grown heaps. From five people in a shed we are now twenty strong and hiring. I have been privileged to delve much deeper across the full stack, contribute heavily to the core architecture and start to explore leadership responsibilities.
Can you share some more insight into what that transition was like?
The transition from Movio to Joyous was stark. From a modern office with thirty plus engineers and a triple monitor setup to sitting at a lunch bar in a shed on a poorly-constructed chair with my laptop. From well defined guidelines and processes to introducing pull requests and helping define Joyous’ ways of working.
While I missed the guidance from the wide range of awesome software engineers at Movio I absolutely loved the impact I was able to have at such an early stage. We were, and still are, an extremely collaborative team at Joyous.
What is it specifically that you like about working at Joyous relative to your past jobs?
I really enjoyed the breadth of experience and impact I have been able to have at Joyous. I feel like I’ve been involved in every aspect of the company, especially early on. Having that close connection with the team, the customers, the tech and the culture has been wonderful.
“Being a software engineer is not just about coding. Software engineers are hired to provide business value and, especially in smaller companies, this takes on many forms.”
Do you have any advice for people considering tech as a career path and how they might get there quicker?
Learn on your own. There are tons of great resources online and the best way to become better is by doing. All the people that I’ve seen progress quickly are passionate about tech.
When learning to code, the most important factor is understanding. Your job as a software engineer is to solve problems that you have never come across before. Every day you will be faced with something you don’t know how to do and you will have to come up with a solution.
Understanding the language, tools and code base you work with will greatly improve your ability to solve any problem you face. When you find yourself unsure of how something works, dig into it. Most bugs are due to incorrect assumptions.
Being a software engineer is not just about coding. Software engineers are hired to provide business value and, especially in smaller companies, this takes on many forms. If you come from a non-standard background you have a lot of valuable skills to bring to the table.
Lastly, Joyous continues to evolve. What kind of candidates do you think Joyous is looking for in terms of experience, attitude and character?
Joyous is looking for motivated individuals who are passionate about tech and improving the lives of workers. We are looking for people who collaborate early and often, and are interested in solving hard problems at scale. As we continue to grow we will be looking for people with all levels of experience.