Skills

Experience Level

Expert
Expert
Expert
Expert
Expert
Intermediate
Intermediate
Intermediate

Language

English
Fluent

Work Experience

Associate Principal Software Engineer at Dyson
January 1, 2022 - January 1, 2024
Led tools and infrastructure group as Team Lead/Technical Lead. Mentored undergraduate placement students and junior developers. Updated in-house Yocto Linux OS to support regular updates; re-architected to accommodate new products. Introduced a build pipeline to streamline daily builds and testing. Redesigned robotics build system to be reproducible and improve change traceability. Implemented regular codebase scans with SonarQube and Black Duck to report CVEs, licensing, and static analysis issues.
Senior Software Engineer at Dyson
January 1, 2019 - January 1, 2022
Re-architected C++ base system to improve separation of system responsibilities. Aided undergraduate students in their placement rotations. Maintained internal SDKs and build environments for the entire robotics team. Upgraded SDK and code base C++ support from C++11 to C++14. Maintained Yocto based distribution system targeting multiple products. Implemented robust build/test pipelines and contributed to overall software quality.
Software Engineer at Intercede
January 1, 2014 - January 1, 2019
Created and implemented several technical specifications for features such as role-based authentication and securely identifying issued mobile devices for licensing purposes. Migrated backend C++ business logic to AES-256 encryption while maintaining backwards compatibility with existing 3DES encrypted data. Developed a new C# data base layer to allow the existing C++ backend components to use Microsoft Azure SQL. Implemented a Simple Certificate Enrollment Protocol (SCEP) compliant module using C++ backend and C# web front end. Produced a proof of concept for SNMP implementation to enable real-time monitoring. Participated in ISO 9001 internal audits and mentored graduate trainees during induction weeks.
Software Engineer at Games Warehouse
January 1, 2008 - January 1, 2014
Ported and maintained a Linux C/C++ based gaming system to Windows using a mix of Cygwin/STL/Allegro/OpenGL and Irrlicht for a national gaming network. Collaborated on a PHP/MySQL/AJAX website used by customers to audit and diagnose systems remotely. Created DLLs in C++ using Boost and STL as central information storage components. Migrated existing C++ to a multi-threaded turnkey connectivity software to support frequent network updates for a new US-style tournament gaming system. Designed and implemented a bespoke tournament system using C++, STL, Boost (client DLL) and PHP/MySQL (server). Implemented a Jenkins-based release pipeline to streamline releases, testing, and traceability.
Software Engineer at Scholarly Digital Editions / Birmingham University
January 1, 2000 - January 1, 2008
Developed cross-platform software using C/C++, STL and other open source libraries. Developed and maintained an XML publishing system written in C using TCL and SGREP libraries. Rewrote core application functions to work as an Apache module with MySQL bindings. Created custom memory handling functions to improve stability, efficiency and diagnostics. Provided technical support to clients in the UK and abroad. Developed and assisted in the creation of large XML-encoded documents. Installed and configured several servers for the company and clients using Linux, Apache, MySQL and custom software. Collaborated on joint projects with clients, scholars and universities worldwide. Used LaTeX to aid scholars in publishing several printed works.

Education

BSc Computer Science at De Montfort University, Leicester
January 11, 2030 - January 1, 2026

Qualifications

Add your qualifications or awards here.

Industry Experience

Software & Internet, Professional Services, Manufacturing