Software Engineer

Sreeram Sreedharan

Software Engineer, Navico Asia Pacific

Earning: $55,000 (approximate starting salary)
In a nutshell: Developing software systems for marine electronics.
Why? “I get a great sense of elation from making something new and seeing it work.”

Pathway: St Peters College, Year 13: Calculus, Statistics, Physics, Chemistry, Biology
University of Auckland: Bachelor of Engineering majoring in Software Engineering

Software engineering has been an obvious career choice for Sreeram Sreedharan since he was a kid.

“I was good at maths and science. I liked video games and wanted to know how they worked. I fixed my own computer and tried to modify it to do more than it was originally designed for. And I was interested in websites and writing HTML code.”

Sreeram is a software engineer for Navico Asia Pacific. He creates software for marine electronics, like radar, GPS, sonar and multifunction displays. “I write programmes that make the hardware work and also make the hardware easy to use.”

One project involved finding ways to improve a radar system.  “The old product could track ten targets. The next radar had two separate display outputs and the product manager wanted it to be able to track ten split between the two, five for each screen. While investigating this request, I discovered that with a few optimisations to the tracking code it was possible to track 20 targets at once and implemented this in the final version.”

He uses his knowledge of theoretical maths to solve problems – “in the end any software programme can be reduced down to a mathematical equation” – but he also uses practical science to make sure the systems work properly.

“Physics is important to the understanding of how the systems I am working on function. If I am writing software for a radar system, for example, I need to know how radar works in order to integrate my part within the whole.”

Sreeram’s week usually starts with a team meeting to discuss tasks and priorities. He looks at the requirements for any new features and works out how they could be done using the existing equipment. Then he designs, codes and tests the new software, making sure the end result meets the initial requirements.

The work requires him to be analytical, but he also needs to be able to think outside the box. “A solution may be fast, but it may not be scalable or it may not fit in with an existing design. You’ve got to be quite creative, because people are always coming up with zany ideas and you’ve got to make them happen.

“It’s very satisfying to see something that started as an abstract idea actually made into a reality. I get a great sense of elation from making something new and actually seeing it work.”

Posted May 2012