What brought you to study at UC in the first place? How did you choose your degree?
I grew up tinkering in my father's workshop, pulling old appliances apart to see how they work and trying (often failing) to put them back together. When a high school teacher recommended Mechatronics Engineering, I saw it as a natural fit for my interests. UC’s great reputation for its engineering curriculum and the recent completion of the engineering core meant the facilities were top-notch, so it was an easy pick for me.
During my first year of engineering, I had to take an introduction to programming course. I have been programming since I was about 12 years old, and I simply thrived in this course. However, a relatively high course load, bad study habits, and difficulty adjusting to life in the city meant that I didn’t do as well in other courses during my first year. I decided to take some time off to travel and work. After reflecting on the courses that I enjoyed, I returned to complete a Bachelor of Science, majoring in Computer Science which turned out to be a great fit for me.
Can you tell us a bit about your career so far and what you are up to at Xero now?
I joined Xero through their graduate program in 2021 and spent the year moving through a few different teams within the company. I worked on internal tools, core products, and even did some mobile development. It was a great opportunity to experience various technologies and team dynamics while getting paid to learn!
Since then, I have moved around the organization a bit but have settled in the internal tooling & enablement space, where I primarily develop software and processes to help other engineering teams make changes to our core product in a fast and secure manner. It’s nice to reach a point in my career where I can really lean on my prior experience to guide new engineers and have accumulated the credibility to enact wider change within the company.
What is most challenging about your role? And what do you enjoy most?
A mentor of mine would regularly say, 'Tech is the easy part; people are the hard part.' As I’ve matured in my career, this statement has become a lot more evident.
Creating software is a bit like assembling a jigsaw puzzle. If it’s a small, well-defined puzzle, it’s fairly straightforward to assemble it yourself. However, that’s rarely the case in industry. Instead, you’re often working in one or more teams of 6+ people on a 10-year-old puzzle that is constantly changing and never-ending. Everyone has a different idea of what the picture is and where each piece goes. The challenging part of my role isn’t assembling the puzzle; it’s fostering a collaborative environment that allows everyone to contribute to the puzzle in a meaningful way and ensuring that those who work on it in the future can do so with little difficulty.
The aspect of this job that I enjoy most is the scale of what we do and the impact even minor changes can bring. For example, decreasing a webpage load time by 100 milliseconds doesn’t sound like much, but when that webpage is loaded 100 million times per month by millions of users, that 100 milliseconds translates to approximately 116 days' worth of collective time saved every month. Optimisation excites me.
How do you think your time at UC set you up for your career in computer science?
The tech industry is moving fast. We have access to a vast amount of information in this digital age, and I believe that developing a strong foundation is crucial for critically assessing the value behind the hype of the latest advancements. My time at UC provided me with the opportunity to build this foundation and understand fundamental concepts such as algorithms, data structures, and software engineering principles. It's not just about knowing how to use the latest tools; it's about understanding the underlying principles that drive technology forward.
While I studied computer science, UC allowed me to enroll in the software engineering course, SENG302, a year-long course that gave me experience working in a group to create a complex application. It gave me a taste of solving that constantly changing, never-ending puzzle as a group. This was unlike any other university course I had taken to date, and there was a clear objective of preparing students for a career in software engineering. I find myself referencing experiences and material from SENG302 to this day.
What are the memories or experiences that stand out when thinking back on your time at UC?
Apart from the great events organized by the student association and clubs, I simply enjoyed the overall campus environment. The ample green spaces throughout Ōtautahi Christchurch were especially noticeable at UC, something I have grown to appreciate after visiting other university campuses around the world. Fond memories include biking through Ilam Gardens, enjoying the fragrances of the rhododendrons, and spending time chatting with friends on the lawn in front of the main lecture hall between classes.
What advice do you have for future and current Computer Science students?
Just like any challenge, it becomes easier with time and dedication! I initially struggled a lot but found the greatest success when I treated university as if it were a job and simply showed up every day. Given the broad application of Computer Science and the problem-solving mindset it nurtures, recognise that you are investing in skills that will pay dividends throughout your life—not only in your vocational endeavors but in all aspects of your personal and professional growth.