Employment
Grid Smarter Cities
Duration:
July 2021 - December 2023
Position:
Senior Mobile Developer
Role Summary:
Development and support of the Kerb Driver mobile app for Android & iOS using Flutter.
As the senior developer I was key to driving architecture design and implementation, coding standards and providing extensive documentation of systems and practices. I also supported junior developers through knowledge sharing, code reviews and general day-to-day advice and support.
I was also responsible for various other areas of mobile app project management and CI/CD including:
-
Unit testing and Flutter Widget testing coverage across multiple libraries.
-
Writing and maintenance of shell scripts to support various build configurations and generation of code coverage reports.
-
Remote build server workflow management for Android & iOS mobile app builds and app store uploads.
-
Crash report analysis, write ups and resolution planning.
-
Running ticket refinement meetings.
-
Sprint planning.
Key Projects & Accomplishments:
Planned and implemented the migration of an Android-only Kotlin based mobile app (with partial Flutter integration) to a fully re-written Dart/Flutter based mobile app, enabling the Kerb Driver product to also run on an Apple iPhone for the first time.
Core Skills:
-
Android: Dart, Flutter, Kotlin, Android Studio.
-
Apple: Swift, Xcode, Apple Configurator.
-
Atlassian: Jira, Confluence.
-
Other: GitHub, Visual Studio Code, Bitrise, Miro, AWS, Retro, Slack, Firebase Crashlytics & Dynamic Links, LCOV, JSON, Swagger, Markdown, Shell Scripts.
Products:
Kerb Driver & Kerb Delivery, R&D.
Kerb Driver on the app stores:
Independent iOS Developer
Duration:
May 2019 - July 2021
Role Summary:
Based at home developing my own iOS apps and building frameworks for future projects. Self-taught use of Swift, Xcode, UIKit, Storyboards, SwiftUI and Combine etc.
Key Projects & Accomplishments:
My first published app 'Sigma Money' was a personal finance app for managing multiple users, portfolios of accounts and scheduled repeating or one-off payments. The app provides overviews/calculations of single or multiple accounts & payments to summarise net income & expenditure over a defined period. The app is intended to help users understand their personal finances (accumulated cost of direct debits etc) and aid management & budgeting.
Core Skills:
-
Apple: Xcode v10+, Swift 4+, iOS 11+, SwiftUI, UIKit, Core Graphics, Core Data, Store Kit, Crypto Kit, Foundation, Localisation, JSON.
-
Atlassian: Bitbucket, Sourcetree.
-
Other: Affinity Designer.
Products:
Sigma Money
Jagex Ltd
Duration:
March 2013 - April 2019
Position:
Senior Tools Developer
Role Summary:
Design, development and support of Java based desktop applications used for game level design, scripting, asset creation and content management. Mainly worked on RuneScape Tools related products to extend existing functionality and resolve legacy issues. Designed and implemented a new C#/.NET based tools framework that should act as the basis for future development and replace Java legacy products. I also worked on RS core engine technologies.
I initially joined to work on Transformers Universe as a C#/.NET Senior Tools Developer implementing interop code layers between tools managed C#/C++ code and unmanaged C++ engine code. Unfortunately, the long running TU project was scrapped shortly afterwards so I was then moved over to RuneScape.
Core Skills:
-
Oracle Java: Java 7+, AWT, Swing, JNI, Eclipse.
-
Microsoft: C++, Managed C++, C#, .NET, WPF, Win32, Visual Studio.
-
Atlassian: Jira, Confluence, Stash.
-
Other: Git, TortoiseGit, Perforce, Unity, XML, JSON.
Products:
RuneScape, Transformers Universe, R&D.
Spiral Software Ltd
Duration:
April 2012 - October 2012
Position:
Desktop C# Applications Developer
Role Summary:
Design, development and support of applications for Microsoft Windows. I worked primarily on CrudeSuite Desktop related products to extend existing functionality or resolve issues with current implementation. I also worked on Spiral Plan product prototype and other Planning & Scheduling related components.
Core Skills:
-
Microsoft: C++, C#, .NET, WinForms, WPF, Visual Studio, Microsoft TFS.
-
Other: XML.
Products:
CrudeSuite Desktop Products, R&D.
Frontier Developments Ltd
Duration:
October 2008 - April 2012
Position:
Senior Programmer, Tools Team
Role Summary:
Design, development and support of desktop tools & applications for Microsoft Windows providing game level design, content creation and live editing of runtime data on remotely connected games consoles such as Xbox 360 and PlayStation 3. The position also included general support for core engine and game code maintenance & development as well as helping team members on use of C#, .NET and WPF. Development also included the occasional requirement to develop software to support areas of company internal management and IT.
Key Projects & Accomplishments:
2010 - 2012
External & integrated tool development for the Disneyland Adventures game for Xbox 360 & Kinect device and other NDA projects. Writing custom Windows Services to aid IT department administration of company PCs.
2009 - 2010
External & integrated application/tool development for the Kinectimals game for Xbox 360 & Kinect device and other NDA projects.
2008 - 2010
External & integrated application/tool development for the Outsider game and other NDA projects. Writing integration components & Add-Ins for Microsoft Project to help with time scheduling management of development teams.
Core Skills:
-
Microsoft: C++, Managed C++, C#, STL, .NET, WinForms, WPF, Win32, Visual Studio, Xbox 360 SDK, Kinect SDK.
-
Other: SVN, TortoiseSVN, Hansoft, XWiki, XML.
Products:
The Outsider, Kinectimals & DLC, Kinect Disneyland Adventures, Elite: Dangerous, other NDA projects.
AVEVA Solutions Ltd
Duration:
April 2006 - October 2008
Position:
Software Engineer
Role Summary:
Design and development of engineering software applications and components for use in the plant, power and marine industries. Development included data management and interactive visualisation in 2D and 3D environments.
Key Projects & Accomplishments:
2007 - 2008
Development and expansion for the existing Review brand product. Design and development of the new ReviewShare collaboration application and the underlying VizStream data-streaming 3D visualisation component.
2006 - 2007
GUI (2D & 3D) development for the VNET brand products.
Core Skills:
-
Microsoft: C++, C#, .NET, WinForms, WPF, WCF, COM, Visual Studio, Microsoft TFS.
-
Other: XML, XSD.
Products:
VNET Products, AVEVA Review, AVEVA ReviewShare, R&D.
Integrated Geochemical Interpretation Ltd
Duration:
November 1998 - April 2006
Position:
Applications / Software Developer & IT Manager
Role Summary:
All design and development of geochemical interpretation application software for use within IGI Ltd and for commercial sale to the international oil & gas industry. My development role also included: software licensing (network & hardware key based systems), authoring help manuals and direct customer support.
My other main role was the management & technical support of the company computer systems and internal network.
Key Projects & Accomplishments:
2004 - 2006
Added further features & content to p:IGI-2 including mapping, gridding & contouring and expert systems. IGI Ltd now had over 50 client companies using its software throughout the world. I also built image measurement, 3D surface viewing and further data management applications to extend IGI Ltd’s software portfolio.
2001 - 2004
Designed the new p:IGI-2 software from scratch in C++ and Microsoft MFC. Built to surpass p:IGI-1 in functionality, p:IGI-2 was ready for commercial release in 2004.
1998 - 2000
Took over development of the existing p:IGI-1 software (undocumented 8 year ongoing project) and completed it, removing bugs and adding additional features & content. After integrating software licensing (using Safenet SentinelLM), the first commercial sales of the software began in 2000.
Core Skills:
-
Microsoft: C++, Managed C++, STL, Win32, GDI+, GDI, MFC, .NET, Visual Studio, Microsoft FrontPage.
-
Borland: Borland C++, Borland C++ Builder, OWL.
-
Other: OpenGL, Safenet Sentinel LM & SuperPro, InstallShield, Robohelp.
Products:
p:IGI-1, p:IGI-2, p:IGI-3, ig.Net, R&D.