My software engineering life started in the early 1980s with the Commodore VIC-20, typing BASIC programs from a magazine. I didn’t follow a traditional career path – in fact, I had no formal computer training outside of secondary school. Instead, I was largely self-taught. After a spell in the military, I gained more detailed commercial experience working with my family in a new internet start-up, for which I coded all of our software systems. That experience taught me many skills which became invaluable to my life at Fasthosts.
What were your first few weeks like with Fasthosts?
It was in at the deep end. I joined Fasthosts in 2002, and as a software developer in a small team, there was nowhere to hide. I was in awe at the knowledge and expertise of the team, but every one of my colleagues was extremely supportive. Within a couple of weeks, I was up and running and in charge of my first development project – increasing the capacity of a database auditing system from a single MS SQL instance to a horizontally partitioned federation. I’d never used MS SQL, so this was a steep learning curve. That same system is still running to this day, with almost zero code changes, having grown to 100+ databases instances and over 2TB in storage.
How has your career developed with us?
Over the years I’ve worked on a number of major projects, including customer account restructuring, virtual server and physical server provisioning systems, and a host of other business-critical products many of which allowed zero margin for error.
That’s the thing I love about our work in development at Fasthosts. Our developers don’t just code – we analyse problems, develop solutions, and design products. We form an integral part of the product delivery cycle. As such we have the autonomy and responsibility to build working solutions.
I moved into development team leadership a number of years ago – it seemed the natural progression for me. Being a Development Team Leader at Fasthosts means I must wear many different hats – systems analysis and architecture, development, QA, project management, stakeholder management, product ownership, and of course, team management. These days I have little time for coding – instead, I prefer to leave that to the experts!
What motivates you to further your career with Fasthosts?
Fasthosts works at the cutting-edge of technology. My team is currently leading on Docker, Kubernetes and OpenShift to develop next-generation hosting products which are marketed not just within the UK, but around the world via our parent company. We use modern development techniques, including the latest automated testing methodologies for integration testing and continuous build and automated deployment. We work closely with our Systems and Operations team in a true DevOps environment.
Achieving a balance between build quality, resources, and commercial objectives is always a challenge, and sometimes the pressure to deliver is immense. But the rewards are obvious too. I work with colleagues in teams from across Europe and, with my team members, I travel to Spain and Germany to work on collaborative projects.
Is there anything else you think might be of interest to new starters?
For developers: we use many different programming languages, though we prefer strongly typed languages. Our main focus is PHP (including Laravel and Zend), C# (with Delphi), Python (including Django), but we also use whatever the technology requires, for example, Go and Java. We use modern techniques and tooling, architecting microservices with queuing mechanisms such as RabbitMQ, and use toolings such as Git (and Gogs), Jenkins (and Drone), and Jira.
I’ve always believed that good software development is language-agnostic – when building robust systems which must support tens of thousands of users, the language used in the code base is less significant than the architecture. When it comes to code, we like clean and human-readable. When it comes to architectures, we like robust and concise.
"As a Linux systems engineer we're given problems and expected to come up with solutions to those problems."