Résumé
I’m a capable software engineer with over 20 years experience building complete solutions across embedded systems, mobile, and desktop platforms. I work comfortably at every level—from OS services, databases, and system architecture through application development to user experience design. I’m particularly skilled at understanding complex technical systems and translating them into clear, intuitive user experiences—working collaboratively with design and product teams when available, or delivering end-to-end when working independently.
I’m drawn to work that respects user privacy and autonomy. Over the past five years, I’ve focused on building open-source tools that give users control over their data and workflows, with an emphasis on offline-first, local-first architectures.
I value transparent organizations with clear business models that put users first. I believe in open communication, collaborative development, and safe workplaces. I see generative AI as a useful resource for exploring and understanding problems, but I believe well-understood and considered code and architectures are key to robust, sustainable software.
Experience
Independent, jbmorley.co.uk (2020.09 - Present)
- Hawaii. Independent software developer working on a range of open source software across macOS, iOS, and Linux, with a focus on lightweight and sustainable software, data management, developer tooling, permacomputing, and preservation. I use a combination of technologies including Swift, SwiftUI, AppKit, UIKit, C, C++, JavaScript, and Python to create full-stack experiences.
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 life-cycle 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.
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.
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
- Accessing Health Records with HealthKit, WWDC 18
Technologies
Tools and technologies I use on a regular basis include Swift, SwiftUI, AppKit, UIKit, Python, C, C++, Ansible, Bash, SQLite, HTML, JavaScript, CSS, OPL, GitHub Actions, and Docker. I have experience of React, Java, and PostgeSQL. I am familiar with a range of design methodologies and approaches to parallelism and concurrency.
Patents
- Generation of customized personal health ontologies
- Index-based deidentification
- Method and apparatus for remote connection
- On-device searching using medical term expressions
- Software activation systems
- System and method for remote computer control
- System and method for remote controlling computing device
- Virtual interface devices
Education
- University of Cambridge, Computer Science (2001 - 2004)
Contact
If you’d like to work with me, I’d love to hear from you. Get in touch by email, or through LinkedIn.