Career History
Software Engineer,
(remote)
2021 - Present
Full life-cycle development of the Windows version for a popular consumer Mac desktop application.
- Created the Windows App SDK based desktop application.
- Ported existing non-UI Objective-C codebase to Windows.
C#, .NET 7, Windows, WinUI 3, Objective-C.
Senior Software Developer,
Raising the Floor - US (remote)
2016 - 2021
The primary developer of an open-source consumer desktop client, Morphic,
and the accompanying web backend, which enables public or shared computers to automatically adjust to a
user's personal requirements, with a heavy focus on accessibility. Deployed campus-wide in universities and
libraries across the USA.
Also, a core developer of the Global Public Inclusive Infrastructure (GPII), a
research project to create a cross-platform auto-personalisation system.
-
Web-based interactive customisation tool. The back-end used .NET Core on Linux, and Vue.js for the front-end.
-
Desktop client developed in C# with WPF on .NET Core.
- Full-featured research project developed with node.js, Electron and .NET.
Contributions include:
- Lead the implementation of the Windows specific features.
- Various API servers, in both .NET core and node.js, running on Linux.
- Design and implementation of the Install on Demand feature, where assistive software is automatically
installed based on the user's needs.
- Developed a desktop toolbar with a web-based customisation tool, providing easy to access functions
specific to the user.
- Discovery of various undocumented methods of OS configuration.
C#, .NET Core, Linux, Windows API, node.js, Vue.js, Electron.
Senior Software Developer,
Certero Ltd - Warrington, UK
2015 – 2016
Implementation of the licence compliance & optimisation module of a large-scale web-based software asset
management platform, and automated system inventory of Oracle databases and applications.
C#, .NET MVC, MS SQL Server, Entity Framework, Oracle.
Software Engineer,
Multos International & Gemalto - UK
2011 – 2015
Full life-cycle development of web-based systems that handle the creation and management of X.509 (for
Secure3D) and EMV bank card certificates.
- Systems developed with C#, ASP.NET, and SQL Server.
- External penetration tests revealed no unintended security weakness.
Designed and implemented a hybrid desktop & web application to perform bulk encryption and signing via
smartcards and hardware security modules.
Back-end and front-end development of an existing high-availability system, handling the roll-out of government
identity and bank cards.
- ASP.NET based web-site and web service, with MS Message Queuing.
- Implemented X.509 client certificate enrolment.
- Handles 5 million card orders per month, worldwide.
Built an Android contactless mobile payment application, and several proof of concept applications
related to mobile payments.
Developed an internal application to assist the distribution of brochures at trade shows.
- Dart + Bootstrap administration site.
- jQuery Mobile client application.
- ASP.NET MVC API based back-end, with SQLite.
Provided 2nd line support for all systems, and the successful handover of all systems to the new development team.
C#, ASP.NET, MS SQL Server, Android, JavaScript, Dart.
Web Developer,
CSI Media Ltd - Crewe
2010 – 2011
Development of a web service serving many travel websites, handling flight & hotel matching, availability,
comparison, and bookings.
Mainly back-end development, such as integration of third-party XML feeds and payment gateways, and automated
screen-scraping.
C#, ASP.NET, Web Services, XSLT.
Software Developer,
University of Chester Informatics Centre - Chester (remote)
2010
Developed a web-based WYSIWYG designer generating PDFs for printed media, such as tickets and business cards.
Working remotely, the developer of the PHP+MySQL based system with a JavaScript+jQuery front-end.
PHP, MySql, jQuery, HTML/CSS/Javascript, Linux
Software Developer,
Self-employed
2006 – 2010
Solely developed, maintained, and supported a successful commercial desktop application.
In addition to the full software development cycle of the desktop application, this project also includes
the creation of the software's ASP.NET MVC based website with payment gateway integration, and maintenance of
the software's Linux-based web and email servers.
VB6, C, PHP, MySQL, C#, ASP.NET, Linux