- Highly competent technical lead with more than 20 years' professional development experience.
- Excellent verbal and written communication skills and an ability to build positive relationships across the organisation at any level.
- Very experienced with, and an advocate for, modern agile development practices.
- Enthusiastic problem-solver with a positive approach to new challenges.
- Actively enjoys learning new skills, languages and methodologies.
- Strong design and implementation skills, throughout the software life-cycle.
Mar 2017 - Present : Elsevier
- Led a team of 10, with line-management responsibility for the five developers in the team. Some of the key achievements of this team were:
- Delivered GDPR compliance for our products on-time and on-budget. We were the first team in the department to achieve this, and ended up loaning developers to other teams to help them complete on time.
- Developed a reimplementation of a key feature of our flagship product to deliver a better user experience as well as improved performance and significantly reduced system load.
- Delivered a PoC for an entirely new user-facing product in two sprints.
- Technical owner of the team's components. I was responsible for liaising with stakeholders, designing solutions, coding aspects of the final product, and mentoring the devs in the team in structuring/writing their code.
- Instrumental in the work to move from a legacy Oracle application stack to a modern, microservice/Angular based architecture.
- Drove adoption of pipelined CI deployments from dev through to Production (including static analysis and automated testing steps) for several projects, and managed the team that first made the move from Jenkins to GitLab pipelines for that purpose.
- Designed and implemented an automated, version controlled, database change deployment process using Liquibase, which replaced an error-prone, labour-intensive manual process.
- Regularly involved in working with Ops to investigate production defects, outages and alarms.
- Known and recognised in the organisation for building and maintaining an excellent relationship with Product. Worked closely with my product owner to help with backlog management, sizing and prioritisation.
- Interacted and negotiated throughout the organisation, at all levels, to best position my team in the organisation and make sure we had sufficient work on our backlog, and the necessary support to complete that work.
- One of three people involved in the hiring process for the department, including CV triage, conducting interviews and making decisions. Had final authority for decisions regarding my own team.
Aug 2012 - Feb 2017 : BSI Group (contract)
XQuery, XML, MarkLogic, XSLT, C#, Java, web, web-services
- Technical owner of the company's MarkLogic databases, which form the basis of four major web products. This includes designing the data model for the contained content and maintaining a large XQuery codebase that manages, processes and queries the data for the products.
- Responsible for liaising with stakeholders, designing solutions (in collaboration with business analysts where the project was large enough), implementing the product and overseeing and supporting deployment into production.
- Recognised as a domain-expert within the company, and regularly fielded questions about MarkLogic in general, our specific implementation and XML-related technologies.
- Worked regularly with the Operational Support team, to aid with deployments, help diagnose and fix production issues, as well as provide advice about configuration and management of production MarkLogic installations.
- Maintained, and migrated away from, legacy Java applications.
- Contributed to client applications written in C#, and took ownership of a C# reverse-proxy, used in one of our products, to reduce reliance on other development teams.
Feb 2009 - Aug 2012 : Yell
Java, XML, XQuery, XSLT, MarkLogic, Spring, JSP, JSTL, Shell, web, web-services, web-crawl, Unix
- Developed merchant information discovery tools, including a web scraper, several feed ingesters (using a variety of feed retrieval methods, including REST and SOAP).
- Designed and implemented a Java REST web-service providing third-party access to the merchant information store.
- Designed and implemented the MarkLogic database and XQuery code to store rich information for businesses in our national listings site.
- Worked on the core-search MarkLogic database.
- Designed and implemented a REST web-service providing third-party access to the yell.com provisioning system for Yell Group's global re-architecture.
- Worked on the existing JSP front-end rendering code to integrate display of merchant information with the existing yell.com site.
Aug 2004 - Dec 2008: NDS
Java, C, JSP, web, Linux, Oracle, TCP/IP, UDP, broadcast
- Part of a high-profile troubleshooting team, responsible for working directly with customers to diagnose and fix critical live issues in an expedient way, before feeding the root cause and our solution back to the responsible development team for them to fix in the main codebase.
- Maintained and extended a web-app for tracking live customer issues.
- Designed, and was tech-lead for, a project to redesign the components interfacing between an oracle database and the secure cryptographic components.
- Maintained a suite of legacy Oracle client applications, written in C.
Mar 2002 - Aug 2004: Sun Microsystems
C, Unix (Solaris), device drivers, kernel
- Optimised the Solaris kernel for Sun's CMT processors, resulting in a 25% improvement in SPECweb performance.
- Maintained a gigabit Ethernet NIC driver. This included troubleshooting a critical problem found late in the day and flying out to the NIC supplier's site to work closely with them on root causing and screening for the problem.
- Responsible for maintaining a service processor administration utility.
Jan 2001 - Dec 2001: Ashpool Telecom
C++, C, Linux, kernel, device drivers, XML, Telephony, Audio
Apr 2000 - Dec 2000: TaoTalk Ltd.
C++, C, Linux, Win32, TCP/IP, GSM
Aug 1999 - Apr 2000: Monarch Software
C++, MFC, SQL, Win32, Multi-Threading, Oracle
Oct 1998 - Aug 1999: Bits per Second Ltd.
C++, MFC, Win32, ATL, COM, ActiveX, Multi-Threading, DLL, VB
Jun 1997 - Oct 1998: Interface Devices Ltd.
C++, C, MFC, Win32, Network management, CGI, Delphi, VB
University of Sussex
BA (HONS) Artificial Intelligence - 2:2
Scarborough Sixth Form College
|A-Level General Studies||C|
The Graham School - Scarborough
7 GCSEs Grade A - C