First of all, can you tell us about your background and how you got into the world of software?
It all started back in the 70s; my dad, off the back of an advert from The Sunday Times Magazine, bought a Sinclair ZX-81 computer. He set it up in a small room at the back of the house with a TV attached to it. Then he said, “well, there it is. If you want to use it, do whatever you want.”
I didn't look at it in initially, but then on my summer holidays, I got very bored, and I thought: What’s the worst I can do? I just grabbed the magazine with it and did what it said to do. Hello World came up on the screen and believe it or not, I managed to rotate it! Which doesn’t sound like much now, but back then it really fascinated me. So, I set out to learn as much as I could, and eventually did computer science as an A-level subject, which was fairly new at the time. Then I went on to study Maths and Computer Science at the University of Hull, which was only the second year they ran this degree.
After that, I joined a defence company, and I spent four-and-a-half years with them learning on the job. Your degree gives you some background, but you really have to learn your trade when you start working. I did things like pairing up a full sonar system from a transputer, which was brand new cutting-edge technology. It was absolutely fascinating, but the company stopped trading, so I moved on to a different industry.
I spent time working in the commercial industry, working on planes, trains, cars, and boats. I went from software engineering to building big teams. I learned a lot about recruitment, about management of teams, about the structure and the growth of successful teams, and I learned to make sure everybody's looked after.
At my last employer, I was responsible for a team of about 450 people, multidisciplined in hardware, software, electronic systems, testing and so on. I worked for them for seven years, but companies change, and they made many of our department redundant, including myself. After a few months, I joined SEA as Head of Software, which felt like a bit of a full-circle moment.
I had a few big life-changes during that time as well, including a divorce and meeting a new partner, so I moved back to Wales and started looking for a new role. I got offered a few different roles, but Darren Boyle, our Engineering and Quality Director, really impressed me. He explained the culture to me, which sounded great, and he seemed like a great chap to work for. SEA are really the type of people that want to sit down and talk about a problem.
How would you describe your role as Head of Software at SEA?
For me, it's all about people, process and performance.
It's about having the right people, those who are suitably qualified and experienced in the different domains. Having the capacity of people who have the right attitude and performance to work as a team. Sometimes, one person can pull a whole team down, and I’ve become quite good at recognising those situations. A team that performs well, is generally a happy team, so it’s an all-round good thing if your team is happy.
My first challenge at SEA was that a lot of projects needed software engineers. We recruited heavily and quickly and went from a team of around 24 people to almost 60. At that point, it becomes important to have the right structure in place, including the right line managers to ensure we have the capacity to manage people’s careers.
We’ve promoted a number of people into line management positions, but we’ve also taken some people that were more technical out of line management, which allows them to be more technical, and we created a strong structure.
The second thing we needed to do at SEA, was put in place a solid software development process. My first approach was to create a top level overarching view of the end-to-end process, including the steps that need to be taken, the quality checkpoints that need to be in place, and then put the detail underneath that to explain and guide people in terms of the right way of working. There will always be areas that need to be detailed out and improved, as continuous improvement is so important.
The other side of it is improving the tools we use. The engineering toolset is really important to get right, because it's about efficiency, and then it's about having consistency of use across the projects. If you have a consistent process, using consistent tools, you can move people from one project to the other quite easily, because they know how to work, they just need to understand the domain they're working within.
So, the main thing for me, is about getting the right people, processes and tools to drive efficiency and make sure we can deliver projects on time.
What do you like most about your job and working at SEA?
I'm really enjoying the culture here. It’s refreshing to be able to sit down and talk with anyone about something that's wrong, something that's a challenge to the organisation and constructively come to a solution.
For example, part of a recent project was completely outside of the scope of the original bid, and we just sat down and discussed it calmly. We studied, and we came back with three solutions and recommended one of them. There was a good discussion about them and the one we recommended was chosen. I think that professional approach is so nice to be a part of.
It is really the people that make SEA a great place to work for. We have the right balance of people who are interested and inquisitive, they want to know, they want to learn, and they want to help you make the right decision. That combined with the company’s willingness to help, and the flexibility make it a great place to work. I want to help SEA succeed and improve. We have a great, friendly crowd of people we work with, and in a culture like that, nothing seems insurmountable. There are problems we need to solve, and then we move on. Being part of that positive environment helps me wake up in the morning, get started and stay motivated.
What would you say are the key skills needed to perform in a role like yours?
I would say empathy. Being a listener and trying to understand people. You need to understand what drives and motivates people.
That said, you also need to be able to be firm and fair. You can't be somebody that's just saying yes to everything and doing everything that everybody wants. Sometimes you have to say no and sometimes it’s a difficult no, and you have to be prepared for that.
Preparation is important to make sure that you structure your communication well, that you get your point across properly and professionally. Communication is always supposed to be professional and not personal, whether it’s positive or negative, and it's important that the language used gets that message across in a professional way. You also need to be able to operate at different levels, because I'm working with the software engineers right in the thick of the projects, and then I'm dealing with the directors about other things I need to ask for approval for, or about things I think need to be purchased or changed and I need to change my approach and my language depending on who I'm talking to.
Do you have any advice for people starting out their career in software?
Work hard, learn all the time as much as you can, and never be afraid of making a decision.
I've heard too many people say “Oh, I'm not paid enough to make that decision”, and for me, that’s nonsense. You’re part of an organisation, and you’ve got knowledge where you think you can move things forward. Sometimes it’s better to make a quick decision and move forward, rather than procrastinate and delay.
Even if the decision isn't completely right, is better to make that decision and move forward than not do anything at all. If you think it’s the right thing to do, trust your judgement.
Thank you, Pete!