- Ministerie van Volksgezondheid, Welzijn en SportCoronaCheck: Senior iOS DeveloperMarch 2021 - Today (3 years and 9 months)The Hague, NetherlandsBuilt the CoronaCheck and Scanner iOS apps for the Dutch government during the pandemic. A high-pressure project operating under intense public scrutiny, with repeated and extreme deadlines, and the stated crucial objective of "safely opening up Dutch society again" during the COVID-19 pandemic. In a tiny team we swiftly developed an open-source "holder" and "scanner" pair of apps that could be used to prove a user's negative test COVID-19 (later also vaccinated or recovered) status. A high level of unit-test coverage resulted in largely stable and bug-free deployed apps, which were shipped to millions of users via often bi-weekly releases. I also built out the CI/CD pipeline, and was given responsibility for releasing the apps to the AppStore. The apps were fully accessible for VoiceOver, VoiceControl, SwitchControl to enable as many people access to the app as possible. In 2021 CoronaCheck was the most downloaded app in The Netherlands, was frequently featured in the iOS AppStore, and won the Big Brother Awards Publieksprijs 2021 for the attention that was paid to the protection of personal data and user privacy.
- INGSenior iOS DeveloperAugust 2020 - February 2021 (6 months)Amsterdam, NetherlandsHigh-pressure role with a fixed deadline, in partnership with Mastercard. Together with another iOS developer, I worked intensively to ship a pilot of a new Dutch payment mechanism within the ING Bankieren app. The project involved a great deal of problem-solving to get the pilot off the ground, frequent contact with numerous stakeholders, iterating over the core concept, and delivering regular builds for feedback. 90% unit testing coverage, achieved an "A rating" in SonarQube for all metrics
- FEDEXSenior iOS DeveloperJanuary 2019 - January 2020 (1 year)Shipped frequent updates to millions of users. My first responsibility was mentoring the existing team in the USA and India to increase code quality: teaching modularity; writing code to be testable; hosting a weekly "Tech Council" where we discussed techniques & ideas; overhauling the CI/CD setup; adding static code analysis, etc. Leading by example. To assist with developing against an unstable test-backend, in my spare time I wrote a macOS app in SwiftUI which could transparently replay HTTP sessions (recorded in Charles Proxy), back to the app, to allow us to easily reproduce many different tricky test-data scenarios we'd seen during development. I plan to open-source this soon.
- Master of ScienceUniversity of Newcastle-upon-Tyne2009Master of Science (MSc), Systems Design of Internet Applications
- Bachelor of ScienceUniversity of Newcastle-upon-Tyne2008Bachelor of Science (BSc), Hons, Computer Science