Introduction

I'm a strong engineer with experience across a wide range of platforms and technologies, and a lifelong drive to deliver high quality user experience and products.

I throw myself into work with great passion, can deeply understand and communicate problems, and find robust solutions. I enjoy bridging the gap between software engineering and other disciplines. I thrive in new product areas and problem domains.

I value multicultural companies with clear, honest, transparent business models that respect users' time and cherish their privacy. I believe in open communication and safe workplaces. I aspire to promote those values everywhere I work.

I have a wide range of experience with platforms and technologies, predominantly in cellphones and embedded systems. I am happy to pick up and use the right tool for the job. Most recently, I've been using Swift and SwiftUI, Objective-C, SQLite, and Python, but I'm more than happy to drop down to C, or up to JavaScript, HTML and CSS.

Experience

  • Developer, OpoLua (2021.11 - Present)

    • San Francisco. One of a two-person team building an open source re-implementation of the Psion OPL runtime for iPhone and iPad.
  • Senior Software Engineer, Apple (2016.11 - 2020.09)

    • Cupertino. Lead engineer responsible for bringing Health Records for iOS to market. Introduced and championed new data modelling techniques in Apple's Health framework, HealthKit. Built an on-device graph database and new data lifecycle to allow scaling from hand-crafted data types to an unlimited, dynamic set, consistent with modern medical ontologies. Designed and built code generation tools used across multiple teams for modelling data.
  • Developer, Anytime (2016.10 - Present)

    • Vienna. Devised and developed Anytime, a service and apps that let you know what time it is where your friends are, and keeps their time up-to-date as they travel. It answers the age-old question of, 'is it an OK time to call?'.
  • Senior Software Engineer, Bromium (2014.01 - 2016.10)

    • Vienna. Developed micro-virtualisation software for OS X using Objective-C, Cocoa, C++ and C across the whole software stack: authored a custom Cocoa WebKit2-based web browser, developed the guest-host graphics pipeline including capture, rendering, and driver development, and implemented a CoreAudio-based QEMU host audio device.
  • Developer, Game Play Color (2012.10 - Present)

    • Cambridge. Created an open source JavaScript-based Game Boy Color emulator for iOS.
  • Product Architect, RealVNC (2009.12 - 2013.11)

    • Cambridge. Created and managed the team responsible for VNC Viewer products for iOS, Android, Chrome OS, including initial software development of all three products. Architectural and product lead on the company's first cloud-hosted platform, responsible for taking it all the way from conception to market.
  • Technical Consultant, Fen Systems (2009.09 - 2009.11)

    • Cambridge. Developed a high-performance Perl and PostgreSQL based open source Warehouse Control System as part of a small team working for the Unipart Group.
  • Senior Technical Consultant, Symbian (2004.10 - 2009.05)

    • Beijing. Lead on-site engineer for Sony Ericsson Mobile Communications responsible for cellphone development, ensuring rapid response to all technical issues.

    • Tokyo. Two-year secondment working with DoCoMo, Fujitsu, Mitsubishi, Sharp, and Sony Ericsson to bring Symbian OS smartphones to market. Focused on OS-wide performance (such as boot times and UI optimisation), implementing customer specific requirements, and long-term OS roadmap planning.

    • London. Architected and developed 3GPP Cell Broadcast for UIQ 3.1. Developed defect management and SCM solutions to improve customer-specific OS build and integration.

Talks

Patents

Education

Contact

If you'd like to work with me, I'd love to hear from you. Get in touch by email, or through LinkedIn.