A flexible project lead with over a decade working across multiple project areas, from devops to Web to enterprise software development. I have a proven track record of designing and delivering software products, managing customer relationships and leading development teams.
- Project and technical lead for multiple concurrent projects
- Practicing and promoting agile methodologies (including scrum, sprints and story point estimation)
- DevOps approach (Ansible, AWX, Foreman, Puppet, deploying to bare metal, VMs and Kuberneties)
- Product delivery, support and maintenance of in life products (both software and cyber security)
- Build & Continuous Integration (Jenkins, Docker, Codenarc, Cobertura, jUnit, Maven, Ant, Artifactory)
2008 - Current: Various roles, BT Security
Software developer working on secure and security related applications.
2016 - Current: Technical Delivery Manager
Technical lead for four concurrent projects across three customers areas. I was responsbile for managing customer relationships, ensuring deliveries where met and managing the transition of the projects from development into operationals support.
Over the past two years I’ve focused on a single project & enjoyed being more hands on. I lead a team responsible for modernising the development and operational support environment and tools for a large, legacy project.
Automated the deployment of a large legacy application using Ansible. Enabled the project support team to migrate existing systems over to automation by developing tools to convert and rationalise complex configuration files to ansible templates, created playbooks for standard admin tasks and setup Ansible Tower to provide a management UI.
Migrated existing development tools from old hardware onto an Openshift PaaS platform. This has included dockerizing exising bespoke and opensource tools (Jenkins, Grafana, Elastic, Prometheus, Ansible Tower and Netbox).
This project had no dedicated test environment when I joined the team. I helped define the requirements for a test model and succeeded in getting customer buy in and investment in using BT’s test automation platform. I’ve onboarded a test team and created the initial automated test plan. I’m currently working with the project managers to transitioning testing from a time and materials contract to a sustainable service based model.
2014 - 2016: Lead developer
Leading the technical direction and project managing multiple teams across multiple sites. Works closely with customers to capture requirements and to assist in setting the technical direction of their area. Built new teams to solve challenging customer problems.
Adopted agile methodologies to give greater personal responsibility and investment on individual developers. Implemented a DevOps mentality accelerate turnaround time of functionality and deliver earlier to end users. Transitioned to new toolset to allow great collaboration between Ipswich, Cheltenham and customer sites.
Performing project manager responsibilities keeping project on budget, tracking milestones and deliveries and managing resourcing profile. Invested in project innovation and people’s skills through quarterly ‘innovation weeks’ which allow experimentation in new technologies and independent learning time. Knowledge gathered is fed back to wider team. Brought on board new team members, upskilling and knowledge sharing where required. Maintained quality throughout by setting policies on code reviews and test coverage.
Took on additional responsibilities in leading a cyber-threat mitigation team. A new area to me this required me to quickly get on top of the work area, practices and customer space. Worked on technical problems, process improvement and working cross business on transitioning the project from the prototype stage to business as usual within BT Security Enterprise.
Involved with technical assessment and business potential assessment for new areas.
2011 - 2014: Consultant Software Developer
Worked on a large scale enterprise application spanning a number of technologies for Web interfaces, messaging, system control and data visualisation. Working closely with the customer I captured requirements with user stories and wireframe paper prototypes before designing and implementing a prototype system using the Grails framework. Shifted for a full time developer into design and delivery manager role, managing milestones and writing design specifications for a team of up to 4 developers whilst coordinating test effort with the test team.
Brought on board both a graduate and experienced developers. Maintained code quality and consistency through pair programming, code reviews and a high standard of unit test coverage.
A proponent of Continuous Integration, I set up a CI build environment using Jenkins to drive our automated testing and static code analysis tools with an Artifactory repository storing external dependencies and our code releases.
Used my experience with GIS systems to put a failing mapping product back on track for delivery. I reassessed the technology choices made, identified developers with the appropriate skills and planned delivery milestones.
2009 - 2011: BT Graduate Scheme
I was seconded for most of my graduate scheme years to a BT customer where I worked with the customers and other contractors to build a information search, storage and collation system. The system was based up the Spring framework, JMS messaging and Hibernate. I implemented web services using Jersey and Jackson to provide access to the customers legacy Perl and PHP systems. I used Apache Lucene to demonstrate full text searching of structured and unstructured documents.
Returning from secondment I project managed two summer students building an offline mapping solution for Android and web using map data from OpenStreetMap. I presented and demonstrated our work to senior BT customers.
2008 - 2009: Software developer
Java J2EE developer working on a 3 tier enterprise application using Oracle, EJB 2 (deployed on Weblogic) with a Eclipse RCP client. My efforts concentrated on the middle tier, where using Restlet I built a Restful JSON interface to enable 3rd party access to our existing services.
Before I joined the project build management and automated testing were lacking. I migrated the code base from CVS to SVN and to Maven for builds, running JUnit tests and static code analysis. This was driven by an early version of Hudson to provide the team with a Continuous Integration environment and Nexus for archiving build artifacts.
2007 - 2008: Web Developer, University of Birmingham
I was the main developer of STACK 2 an open source computer aided assessment tool specialising in higher level maths. I refactored the existing codebase into a OO design and integrated STACK with the Moodle CMS. STACK was written in PHP using a MySQL or PostgeSQL database and used the Maxima computer algebra system.
As well as developing, my role also involved reaching out to the development and teaching communities to publicise STACK. The source code is available at: http://sourceforge.net/projects/stack/
2005 - 2007: Web developer, Wickersley School
I managed and designer of the wickersley.net website, migrating it from a static website to a Drupal CMS. In addition I ran the college’s intranet and performed a minor technical support role.
Certificates & Training
- Currently working toward Kuberneties Certified Developer
- 2021 AWS Cloud Practioner Certification
- 2017 Understanding the Java Spring Framework Course By QA
- 2017 Java SE8 Developer training (SL-PROG-SE8)
- 2016 M101JS: MongoDB for Node.js Developers Certification
- 2016 Cloudera Administrator Training Course
2002 – 2005: University of Durham
BSc. (Hons) 2(i) Computer Science Dissertation Title: ‘Resource Based Navigation in Virtual Worlds’
2000 – 2002: Thomas Rotherham College
Studied for A2 and AS levels including: A2 Computing (A), A2 Physics (B), A2 Maths (D), A2 General Studies (C) and AS Geography (A).
1995 – 2000: Rawmarsh Comprehensive School
Ten GCSEs at grade A* to B including Maths and English.