I like thinking about systems. Mostly interested in conceptual design, architecture, and technical leadership in complex, correctness-critical spaces. Big fan of functional programming.
Creating dependently typed abstractions over ledgered and event sourced business processes to produce a reliable, operable, observable and self-documenting/diagramming banking core.
Conceived, architected and delivered a ledgered state machine platform underpinning our investment products to improve reliability, observability, maintainability and correctness.
Technically led a small team of engineers building a commerce platform targeting SaaS companies. Personally delivered a general-purpose streaming batch process service, an authentication system, price policies, quoting, subscription lifecycles, and billing/invoicing with a strong focus on correctness.
Primarily built in functional Kotlin+Arrow (migrating from Java) running on AWS ECS. Backed by Aurora Postgres, DynamoDB and SQS. Defended by property-based tests.
Designed and built distributed systems for Atlassian's authentication infrastructure in a microservice architecture, with a focus on ultra-high reliability, low latency, and correctness. Technologies included purely functional Scala, functional and non-blocking Java + Kotlin, and Typescript running on NodeJS.
Major projects included making web session state safely multi-region active-active, and collaborating on the design and development of S2S authn/z frameworks to minimize blast radius in the event of an attack. Also had significant input into security modeling for the ongoing custom domains initiative.
I spent my last year with the company on a small team working across the entire Platform organization to tackle the slow rate of platform solution adoption by new and acquired products. In pursuit of this goal, I conceived, pitched and delivered a dynamic configuration transformation framework and delivery infrastructure in functional Typescript. This allowed products' declared intents to be automatically interpreted as complex Platform instructions often by multiple independent systems, reducing the time required for adoption of integrated capabilities by new and acquired products from weeks or even months, to minutes. The solution allowed for declared behaviour to vary on the basis of arbitrary environmental dimensions, including stage, region, and end-user locale.
Other:
* Won one and placed well in a number of other company hackathons.
* Consulted as a domain and system authority on almost all critical identity-related incidents.
Delivered authentication and security features for Atlassian's global account system in Scala, Java, Kotlin and Javascript/Typescript. These included multi-factor authentication, and later administrative controls and policy around it, web session management for end-users and administrators, and a new generation of APIs with improved consistency.
My largest project in this role was leading a nine-month campaign to safely introduce support for soft-email verification to the Atlassian web authentication platform, a blocker for the tighter integration of Trello. I also participated in cross-org project groups to integrate acquired products – Trello and Opsgenie – with core Platform systems.