Andrew Hu | Software Engineer Intern (Airports) | Auckland

Qualifications: Currently studying Software Engineering at the University of Auckland

How did you secure the internship?
I was overseas competing at a competition, and my randomly-assigned roommate (coincidentally) worked at Gentrack at the time. Throughout the trip, we became good friends and he was nice enough to give me a referral when we got back to New Zealand! Afterwards, I went through the normal interview process, involving a phone screening, followed by an online technical test (containing some basic data structure and algorithm questions) and an in-person interview at the Gentrack offices.  A few days after the last interview, I received an email with the good news!

Why did you apply for an internship?
After learning the theoretical component of software development at university, I was still curious to understand how this content is all applied in a practical industry environment. An internship seemed like the best opportunity to gain this experience while school was still out for the summer. Also, I had heard good things about Gentrack as a company, so I was excited to check it out for myself.

What did you get involved in as an intern?

I was tasked to work on test automation for the Airports 20/20 application. My project required writing automation code to support end-to-end testing – a completely different beast to the unit testing I was used to at university. Essentially, this style of testing involved simulating different user workflows – automating actions such as navigating between screens, filling out forms and interacting with data grids. If it was something a user could do, then code had to be written to achieve it.

I also designed and documented a common testing convention that will be used to help the future developers working on our code base. Throughout the process, I had to make many challenging architectural decisions – each involving careful consideration and discussion around the different trade-offs. I was able to apply many of the different skills I learnt through my university courses such as object orientated programming, design patterns and data structures.

How did the internship impact your professional development?
The internship helped solidify a lot of the knowledge I had learnt at university. I now have a stronger understanding of good software practices and gained experience when it comes to writing cleaner code.  Overall, my problem-solving ability has also increased, and I feel as though I am a more confident developer, with the ability to tackle anything I put my mind to.  Furthermore, I have been able to use the knowledge I have gained with technologies such as JavaScript and Typescript outside of work, on a personal project I have been working on through the summer.

Did the internship meet your expectations?
Definitely! I had an extremely positive experience with the internship. The work I did each day was challenging, yet meaningful, as I knew the code I was writing would be used for a long time to come. It’s an awesome feeling knowing that you’re providing real value to the company.

What did you love about working at Gentrack?
This is quite a cliché answer, and I’ve heard many Gentrackers say this before but it’s true – it’s definitely the people. From playing table tennis, to basketball, to random chats standing beside the coffee machine, I was able to meet with so many interesting people. There’s a true sense of community at the company, and that’s something I really appreciate. Oh, and while on the topic of basketball, being able to play every day at lunch on a private court is a sweet perk.

Do you have any tips for future Gentrack interns?
Talk to as many people as you can! The company is very diverse, and you’ll meet heaps of people with similar interests, as well as others with fresh ideas and perspectives. Also, don’t be afraid to ask questions – there’s an abundance of knowledge here, and everyone is willing to help.