Gareth McGrath, Software Engineer, Guidewire
How did you get into your job?
Coming out of secondary school, I didn't really know what I wanted to do. I had an interest in IT as well as business so I decided to look into one of the courses in DIT called Business Computer. I was lucky enough to get an internship with Guidewire. It was a six month role split into two parts – three months downstairs with the customer facing applications and three months with the core applications – so it was kind of split into back end and front end development.
What does your job as a software engineer involve?
What skills are important to be successful?
The most important skill for me is attention to detail. If you're debugging a piece of code and trying to find out why something isn't working you could be going through hundreds of lines of code and it could be a missing semi-colon or missing digit, or code formatted incorrectly, which could be causing the build to fail. Teamwork plays a massive part in software engineering on a daily basis. One of the main things portrayed to me on my internship was that everybody in the company is approachable, every team member, regardless of whether they're junior or senior, can be approached at any time with a question.
What do you love about your job?
I really like trying to work through a problem and trying to find out why something isn't working or how to get it working, how to optimise it to get the best result. Even if you're working through a small defect and trying for ages to understand why it's not working, the final result is very satisfying.
What advice would you give a first year student?
Within the first two weeks of my internship, one of the main things that stuck with me was the need to find your area of expertise, whether it's front end or back end development, databases or management. If you're interested in and happy with what you do you're more likely to progress, so stick with it and excel in that area. In my line of work we use a lot of the latest technologies on our front end application. Keeping up to date with those technologies can be difficult sometimes and something you learned a couple of years ago could be replaced with a completely new framework or architecture. It is interesting to keep up to date but it can be a bit of a challenge.