I am a systems engineer, technical leader, consultant and innovator with a holistic approach to Systems, DevOps and software development and delivery. This includes software development itself, architecture, continuous delivery, reducing duplicated effort and the human side of how teams ship changes safely at pace.
Roles I would be looking for next would be Staff or Principal Engineer roles starting from £120,000 and upwards. I prefer to remain able to touch on any technology stack, but my bias would be towards projects primarily using Python or Java.
I am currently working as a Lead Software Engineer at INRIX, overseeing the UK half of a team distributed between Manchester and Kirkland. I am working on a number of projects using Java, Kafka and Kubernetes to continuously deliver services that provide traffic data at scale to customers.
Areas I covered as part of working on BBC online included analytics, microservices for distributed teams and centralised delivery automation. I was driver of reducing overheads and undifferentiated heavy lifting in how we build, test and deliver sevices.
Agile, Apache HTTP Server, AWS, AWS Cloudformation, BDD, CentOS, Continuous Delivery, Debian, DevOps, Infrastructure as Code, Java, Jenkins, Jenkins Pipelines, Kanban, Linked Data, Maven, nginx, Python, RDF, Red Hat, REST, Scrum, SQL, Systems, TDD, Troposphere, UML
AWS EKS, AWS Lambda, AWS MSK, Cucumber, Data Pipelines, DevOps, Django, Docker, Elasticsearch, Flask, Git, GNU Make, GNU/Linux, Gradle, JAX-RS, Kubernetes, LaTeX, MySQL, Node.js, PostgreSQL, Quarkus, Ruby, Serverless, Solr, Spring Boot, Subversion, Terraform
ActiveMQ, Apache Spark, FastAPI, GCP, Google BigQuery, Groovy, Jupyter, Kafka, Kafka Connect, Prolog, RabbitMQ, Redis, Selenium, Soft Systems Methodology, SPARQL, Typescript
Apache Airflow, Clojure, Grafana, Haskell, MongoDB
Lead Software Engineer at INRIX: 2022-12 to present
Lead role on a team distributed between Manchester, UK and Kirkland, USA. Responsibilities include line management of UK engineers, planning project implementations and mentoring practices around Continuous Delivery and DevOps.
I have been tackling challenges with communications over an 8 hour time difference, setting technical direction/vision where needed and learning more around Kubernetes-based deployments and use of Terraform for infrastructure management.
Key challenges are delivering data at high scale which has meant the use of Kafka, RabbitMQ and reactive patterns in the Quarkus framework. There are emerging efforts to do more with generative AI models, data lakes, AWS Athena.
Principal Software Engineer at BBC North: 2015-06 to 2022-12
Role in the Search and Navigation team supporting other engineers where needed and doing more “hands on” technical work when it comes to prototyping or in the DevOps and deployment automation domain. I was also involved in architectural design and data modelling for improving our pan-website analytics and work to improve our tracking beyond simple impressions and clicks, e.g. user engagement tracking and audience demographics.
The technical stacks were a mix of Java (Spring Boot, Jersey), Node.js (Express) and Python (Flask dashboard, Django for internal tools). I contributed significantly to Python and Groovy-based automation for AWS and Jenkins CD pipelines.
Senior Software Engineer at BBC North: 2012-02 to 2015-06
Enterprise Integration project migrating the BBC Search product onto Java microservices using a mix of REST (JAX-RS, Jersey) and message-driven architecture (Apache Camel and ActiveMQ). I worked on migrating some services to Spring Boot on AWS later on. Services were defined via formal BBC processes involving Cucumber and Ruby.
Contract Software Engineer at BBC Cymru Wales: 2010-12 to 2012-02
Building Java services feeding data to the Home page with some work PHP/JS front end contributions too. Also worked on the BBC Weather location using using Apache Solr and Java REST frameworks.
Systems Developer at Cranfield University: 2007-04 to 2010-06
Role in the university IT department, working on in-house Java solutions to connect various systems.
Tester at Transversal Corporation: 2006-02 to 2005-10
Manual and (Python) automation tester for a web-based software product.
Fundraiser at Tim Lilley Fundraising: 2005-10 to 2006-12
House to house fundraiser on behalf of Amnesty International.
Tester at Level 5 Networks: 2004-07 to 2004-09
I tested performance for a new Ethernet interface and its drivers on both Linux and Windows servers.
MSc Software Engineering at University of Bradford (2016)
Software Engineering and Internet Architecture. Awarded by Bradford, run in conjunction with the BBC.
MA Computer Science at University of Cambridge (2005)
MA (Hons) (Cantab) in Computer Science from the University of Cambridge.
Further Education (2002)
Gained an A grade in each of A-Level Mathematics, Further Mathematics, German and Physics. Additionally achieved a B grade in AS-Level French. Also completed STEP I Mathematics with grade 1 and STEP Physics with grade 3.
10 GCSEs including A* in Mathematics, Sciences, German and French. Attained A in English Language. Also obtained an A grade in an Additional Mathematics qualification having completed the GCSE the previous year (1999).