A Wellington local, Philip found Te Herenga Waka—Victoria University of Wellington to be a natural choice, but it wasn’t just the location that drew him in.
“The software engineering programme seemed to be one of the best in the country,” he explains. “But I was also considering a composition degree at the School of Music.
“In the end, I figured it was probably easier to have software engineering as a job and music as a hobby.”
Music still plays a big part in his life, with an international tour coming up as a member of New Zealand’s Youth Choir. However, it was his early interest in computer programming, supported by some great teachers, that made software engineering the clear path forward.
Philip began his studies with a Bachelor of Engineering (Hons), a programme that combines academic learning with practical industry exposure. He was fortunate to secure two internships at Rocket Lab, an aerospace company based in Auckland, which gave him valuable hands-on experience.
“I’ve always had an interest in space. While I was doing my Bachelor’s, a group of us started a university club, which over time became the New Zealand Students’ Space Association.”
The club’s goal was to make science more accessible and create pathways for people outside of STEM to get involved, especially in what was at the time a very new industry. At Rocket Lab, Philip experienced the New Zealand space industry firsthand.
“The whole company is in one building: offices upstairs, rocket manufacturing downstairs. Anyone can wander down, see the rockets being built, and chat with the team.
“I was there for five different launches. During those, we’d head into Mission Control. It was just like the launch videos you see, everyone yelling and cheering. It was pretty neat.”
After completing his Honours, one of his former supervisors approached him with a funded PhD opportunity. The topic intrigued him, and with the uncertainty of 2020 unfolding, the stability of a research position made it an appealing option.
Philip’s PhD research focused on improving how developers respond to software crashes. When a programme fails, developers usually rely on a stack trace, a record of the programme’s final steps, to diagnose the issue. However, this process is often slow and manual.
His work aimed to automate the crash reproduction process in JavaScript applications, helping developers debug more quickly and accurately in large and complex systems.
“The idea behind the project was to take the stack trace from a crash and automatically generate a software test that replicates the behaviour,” Philip explains. “The goal was to reduce the time spent debugging, so developers could focus more on developing new features, which is what they really enjoy.”
Initially, the project sought to apply established techniques, developed for other programming languages, to JavaScript. However, during the first year of his research, a paper was published that addressed this exact approach. As a result, Philip pivoted and focused on adapting the existing techniques explained in that paper for JavaScript’s unique features.
He discovered that some of the guiding functions, known as fitness functions, worked much better in JavaScript than others. In Java, these functions didn’t increase the number of crashes reproduced, but they helped identify them more quickly, delivering practical benefits.
After completing his PhD, Philip joined TakeFlite as a developer, initially rotating through various teams to get a broad view of the company’s products. He now works on the web apps team, managing both web and mobile applications used by airline staff.
“I look after our web applications and mobile app. The mobile app is used a lot by pilots for flight logs and other tasks, so they don’t have to do everything on paper. All the data is then sent to the server, making it easily accessible to everyone.”
Although his day-to-day work doesn’t focus on testing, some of his responsibilities still connect to his PhD research, particularly around DevOps practices and tools that improve the developer experience. He hopes to eventually apply his PhD tool to real-world software crash data within the company.