1 Jun 2017
For the first time, a software engineering student has won the Ray Meyer Medal for Excellence in Student Design. Is this a sign of things to come?
The question of whether software engineers see themselves as a part of traditional engineering is a common theme for a profession still in its infancy, he says. “I identify as an engineer in some ways in that I have a strong grasp of theory and a focus on building things. But it's really important not to see software engineering as classical engineering, which generally has solid outcomes that don't change often in their lifetime – like bridges. With software, you can’t build a house out of code – it’s too fluid and changing all the time. By the time you've built it, you'd have to tear it down and start all over again because it's out of date.
“We’ve only had 60 years to do it, as opposed to the thousands of years of theory that other forms of engineering have had. You spend a lot of time at uni discussing why software engineering is a thing. It doesn’t feel like engineering, but in some ways you could argue we’re moving towards a disciplined approached to what we do.”
Looking ahead, it’s a profession that’s only going to become more in demand as so much of what we do is software-related. Jack says “I see the major challenge for software is that demand is far outstripping our abilities, and always has done, and it’s this which software engineering is attempting to mitigate.”
Engineering firsts
Jack’s project was supervised by Professor Dale Carnegie, Dean of Victoria’s School of Engineering and Computer Science, and senior lecturer Dr David Pearce. Dale says "Jack was very motivated from the beginning and worked hard throughout the project. The award is great recognition of the work he has done – one that solves a real-world problem. Jack displays all of the qualities we hope to instil in our engineering graduates."
Not only is this the first time a software engineering project has won the award, it’s also a first for a project from Victoria University of Wellington. While Jack is no longer involved in the project, the web system he developed is 70 per cent of the way to being commercially marketable and is ready for someone to pick it up and run with it. And Jack is chuffed with the end result. “Towards the end of the project I got a letter from a contractor on the Kapiti Coast saying they’d tested the system and really wanted something like it,” he says. “That really helped validate what I’d done. It also brought home the fact this wasn’t just a uni project – it has real-life applications.”
As for the future, Jack doesn’t have any set views about what field of software engineering he wants to pursue. For now, he’s keen to get stuck into his projects at Xero, keep on learning and see where the work takes him.
What I love about software engineering is the ability to create anything you want out of nothing. The only limit is your imagination, which is pretty cool.
Over the course of a year, on top of full-time study and virtually single-handedly, Jack Robinson designed a web application that’s being touted as a game-changer for the highly specialised field of traffic management.
The project was carried out as part of Jack’s final-year project for a Bachelor of Engineering with Honours in Software Engineering at Victoria University of Wellington. As the sole developer on the project, Jack – who’s now a graduate developer with accounting software company Xero in Wellington – worked with Taupo-based traffic management consultancy Coneheads.
“They told me roughly what they wanted,” Jack says. “They knew what problem they wanted to solve. But they didn’t know what the solution would look like and how it would work. This gave me quite a bit of freedom to develop a solution myself. I was given a clean slate.”
The task at hand was to build a web system that would improve what’s known as temporary traffic management plans – 10-page documents that roading contractors need to submit to the local council before beginning roadworks. The plans cover everything from how the site will be monitored at night, to how far down the road traffic signallers need to be positioned to warn incoming vehicles.
It’s a highly regimented process that must conform with the NZ Transport Agency’s (the Transport Agency) Code of Practice, a 500-page document of legalese that codifies the various rules around what needs to be included in traffic management plans. The problem was, as Coneheads saw it, due to the sheer size of the document and complexity of what was required, contractors weren’t filling out the applications correctly. This was delaying turnaround times for processing the forms and holding up work.
A key requirement in the forms is to provide diagrams of the proposed worksite. “But more often than not,” says Jack, “these were being hand-drawn or done in Microsoft Paint, so they didn’t accurately represent what the proposed worksite looked like. My project is about allowing contractors to complete the application more easily, as well as to define their worksites using Google-map style diagrams. This would mean they’d be able to readily generate detailed information about the site, such as road width, how often cars use the road, where the driveways are located – things like that. It’s about giving contractors more of a contextual overview of their worksite, rather than turning up and having something that doesn’t represent the site at all.”
Jack says one of the difficulties was making sure his design referenced and adhered to the Transport Agency’s Code of Practice. “I basically ran most of what I developed off that,” he says.
Endless options
Any given worksite is variable in so many ways. To deal with this, Jack obtained data from the Transport Agency and the Taupo District Council about all the known values that dictate the possible ways sites are defined. “When you’re designing a bridge, say, you have known variables – the volume of traffic, the weight of cars, the set features that need to be added to the bridge. Programming isn’t like that.” He explains it by using Channing Walton’s anology of making someone a cup of tea and the seemingly endless list of options that entails – from choosing the cup size to its colour, whether it’s with or without a saucer, to what sort of tea bag and so on. “That’s a good example of what software development is – how we do it and what we use to get there,” Jack says. “Software engineering is about coming up with solutions to manage complexity.”
Like all software engineers, Jack says, “I went to uni to do video games”. But he ended up doing software engineering for the simple reason he’d always been fascinated with computers and how they worked.