Could you tell us about your role here at Spearline?
So I started in Spearline four and a half years ago, in June 2015, and I was a junior software engineer at the time. When I started, there were only four of us on the development team and we've grown into a team of over 15, it's great to see a big team grow and evolve.
How did you fall into the role?
So I actually studied electronic engineering at CIT and that actually was where I started programming first, I actually didn't do any code prior to college. So the languages I started with were C++ and visual studio. And then once I graduated, I was actually very keen on the software side of things, I ended up working with Apple as a test engineer in the Holly Hill manufacturing site. My role there involved me working on the iMac all day, writing test software to make sure that all the hardware is working, and just making sure that it goes through to the manufacturing process as early as possible.
So then I joined Spearline in 2015 as a junior software engineer, and it was great because I'm actually from Skibbereen, where the headquarters are located, so it's good to come home and find a job, particularly in the area of software, rather travel further away up the country or abroad to work.
A software engineer seems like a fairly big and complex role, could you expand a bit more about it?
So every day can be different. We have our own set of projects that we have to develop, but then I could come in and there could be issues with our current systems, bugs that need to be fixed. But we also research new technologies as well. See what's currently trending, what people are using and not using, liaison with different teams and departments, and most importantly to just develop a new product for Spearline and our customers. It's a fairly creative role because you're starting off with a blank canvas essentially and you're building something from scratch that people are using around the world and it gives you a sense of satisfaction.
What would the process be when starting a new project?
We follow the software development life cycle called the pipeline. So this is just automation for the deployment of our software. It's broken up into different stages. The first stage would be the research and analysis of an idea, which can be time-consuming because if it's anything new, we have to research it and see if it's viable with our current system. And not only from a development point of view but from a company perspective, you have to ask yourself is it worthwhile for the company?
Once we've researched and found out if the idea is worthwhile, the next stage would involve us to go off and design a technical solution. We draft up all the technologies we need down on paper. There could also be something with the back end kind of infrastructure that we need to update. Once we're happy with the design of the projects, then we actually go into our development. Depending on the scale of the project this could take between a few weeks to a few months.
We'll then have a set team for that project who will go and develop it, test it themselves and then once they're done with that, then we go into the QA testing phase. So that's our Quality Assurance team here and they have software that actually acts as the user on our platform. They run loads of automated tests, testing all the functionalities of the platform in different scenarios, so for example, if you put in the wrong password, what happens and they get a report back of what failed, what passed, etc. And we're just constantly making sure that everything is running smoothly. It's an important process, we need it and the customer needs it if they want a good customer experience. Once it passes QA we then release it to the customer. Customer feedback is always necessary, we want to provide them with the best experience as possible and this pipeline is essential in doing so.
What would be some of the key advantages of working as a software engineer?
As I mentioned before, the general satisfaction of building something that people use. I personally get a good feeling from that, especially when the customer is satisfied. Being creative with new ideas is also another big advantage of my role, and the fact we're such a close team that everyone has an input with their own different ideas and we can see what's doable, and what's not. But at the end of the day, everyone gets a bit of an input, because it's more of a team effort, and it helps that we're not only teammates but close friends. It's always nice too whenever a new developer joins because they have different experiences and ideas with different technologies that they can bring in and teach us and we, in turn, teach them our ideas.
To listen in on more of this interview, be sure to tune in to the Spearline Podcast.