Summary
Senior full stack developer with two decades of commercial experience at fintech and IT outsourcing companies: Java backend and tooling by default, Flutter and web on the front end. I work with AI-assisted development day to day, encoding project constraints, failure modes and verification steps into agent-executable skills.
At Bravura Solutions (2014-2025) I became sole owner of the Sonata Installer, work previously handled by a team of 4 covering BA, dev, QA, release management, documentation and user support. Sonata is the company’s flagship wealth management platform; the installer deploys it at client sites, including production scale database upgrades, and I cut one large client’s upgrade from 2 days to 12 hours. Alongside it I worked on a change data capture pipeline with Debezium, Kafka and Kubernetes.
Solo founder of BirdCorner Apps (2025-present). My open source Flutter delivery platform takes a new application from an empty repository to signed builds in Apple TestFlight and Google Play in 30 to 60 minutes; by hand the same work is an error-prone 1 to 2 day checklist across 8 separate consoles.
At Noveo (2007-2013) I delivered 20+ outsourcing projects for European clients across a wide range of stacks and team sizes, and travelled to France to document and transfer knowledge on client projects and processes.
Stack
Languages: Java (primary), Groovy, SQL, JavaScript, Dart, Bash
Frameworks: Spring Boot, Spring (core, MVC, ORM, JDBC, security), JPA (Hibernate), JSP/Servlets, Flutter
Databases and data: Oracle, PostgreSQL, Liquibase, Debezium (change data capture), Kafka
Build, CI/CD, infrastructure: Maven, Jenkins, Docker and docker-compose, Kubernetes (including Strimzi for Kafka), Git, GitHub Actions, Fastlane, Codemagic, AWS, Terraform
Testing: JUnit, Spock, Selenium, SoapUI, Firebase Test Lab
Integration: REST, SOAP (JAX-WS), JMS, HTTP, JSON, XML
Documentation: AsciiDoc, Markdown, Hugo
Tools: Claude Code, Google Antigravity, IntelliJ IDEA, Jira and Confluence (including REST API integrations), Slack in CI/CD, Ubuntu Linux
Experience
Founder and Software Developer, BirdCorner Apps
Apr 2025 to present - Self-employed - Auckland, New Zealand
Independent mobile and web application development, end to end: architecture, implementation, release engineering, store publishing and production monitoring.
Flutter application delivery platform (open source, public domain)
A template and provisioning system that bootstraps a new Flutter application, across dev, staging and production flavours, in 30 to 60 minutes. Sets up integrations with Apple Developer Portal, App Store Connect, Google Play Console, Google Cloud, Firebase, OneSignal, Shorebird, Sentry, Codemagic and Slack. Creates and configures projects, system accounts, IAM bindings, GCloud APIs, code signing, FCM/APN certificates and a Test Lab results bucket. Automates store listing updates.
The template ships skills for AI coding agents: a dependency upgrade procedure and the project’s architecture conventions.
Other work
- Domain Sonar, a domain availability scanner that queries hundreds of TLDs.
- EPUB Liberator, a web tool that fixes formatting in EPUB books.
- Metronome Plus, an Obsidian plugin, and Guitar Tabs Downloader, a Chrome extension: two tools for musicians.
- Numerista and RootSinger, two Flutter mobile applications in development.
Dart, Flutter, TypeScript, Bash, Google Cloud, Firebase, Codemagic, Fastlane, Riverpod, Sentry, OneSignal, Shorebird, App Store Connect, Google Play Console, REST APIs, Claude Code, Hugo
Senior Java Developer and Senior Technical Consultant, Bravura Solutions
Oct 2014 to Mar 2025 - Auckland, New Zealand (onsite, then hybrid, then remote)
Bravura Solutions builds wealth and superannuation management software for clients in the UK, Australia and New Zealand; Sonata is its flagship platform.
For my last 4 years there I owned the full Sonata Installer project lifecycle, from gathering requirements to supporting end users.
Installer is the Java application (Swing GUI, CLI and Docker for automated cloud deployments) used to install and upgrade that platform in-house and at client sites: deployment to JBoss/EAP/WildFly with hundreds of server configuration points, database initialisation, smart schema migration, 3-way merge conflict resolution on client data during upgrades, and other Ops functions.
- Absorbed the work of the former 4-person team by methodically applying continuous improvement principles: cutting waste, simplifying processes, improving quality.
- Cut installation time 6-fold, from 1 hour to 10 minutes on an average company laptop, for a payload of 0.5 to 1 GB of binaries plus around 3,500 database tables with seed data.
- Cut a large client’s production database upgrade from 2 days to 12 hours.
- Cut the installer release pipeline 10-fold, from 1 hour to 4 minutes.
- Made changes to the installer UX that saved internal users 15 to 60 minutes per local deployment.
- Automated the manual, error-prone process of porting fixes across 20+ active branches.
- Automated user guide generation (AsciiDoc, doclets) to document all 1,000+ installer options at 100% accuracy where the hand-written guide had drifted.
- Automated the release admin over the Jira and Confluence REST APIs (release notes, dates, versions, user guide) and the platform version compatibility matrix on the installer website, and kept process and resource documentation current as the project’s contingency plan.
- Built Docker images and docker-compose setups to standardise dev and test environments, cutting initial setup and recovery from 2 to 3 hours down to minutes.
Streaming data pipeline proof of concept (2022)
I joined a 5-person team for 4 months to prove out near real-time change data capture, Debezium streaming PostgreSQL changes into Kafka, as a replacement for a once-daily batch transfer between two databases. I owned the Debezium connector configuration and the Kubernetes and Strimzi manifests, on an on-prem cluster and on local kind clusters, and wrote a generator that produced Java data classes and Liquibase changelogs from the company’s in-house schema definition format.
Java, Spring Boot, JPA, Swing, Oracle, PostgreSQL, JBoss/EAP/Wildfly, Groovy, Maven, Git, Docker, AsciiDoc, Kafka, Debezium, Kubernetes, Strimzi, Liquibase
Senior Java Developer, Sberbank-Technologies
Jun 2013 to Jun 2014 - Novosibirsk, Russia
The IT arm of Sberbank, the largest bank in Russia and Eastern Europe.
- Built and maintained the integration test suite for newly developed web services in Groovy, Spock and groovy-wslite. Designed a mini-framework to reduce the amount of boilerplate code in new tests.
- Implemented integration with the billing systems of mobile and internet providers for the bank’s payment terminal back end.
- Interviewed candidates for developer positions and assessed their technical skills.
Java, Groovy, Spock, SOAP, web services, SQL
Software Developer, then Senior Software Developer, Noveo
Apr 2007 to May 2013 - Novosibirsk, Russia
An outsourcing company of around 200 people, with most clients in France, Germany and Denmark.
- Moved between 20+ client projects of very different sizes, durations and stacks, solo and in teams, which meant repeatedly picking up an unfamiliar codebase. Travelled to Paris 3 times for on-site work and knowledge transfer.
- Designed a full build and installation process for a major client, covering semi-automatic generation of installation and user guides from AsciiDoc, DocBook and live configuration files. This cut installation and update time, and removed most of the misconfiguration problems that had been surfacing in test and production environments.
- Built an internal time reporting tool in Groovy and Grails, replacing cumbersome Microsoft Project with a lightweight web application.
- Trained junior developers, interviewed candidates, and estimated work for business proposals.
Java, EJB, JSP/Servlets, JSF, SOAP and JAX-WS, JMS, HTML, CSS, JavaScript, Groovy, Grails, Sybase, MS SQL
Certifications
- AWS Certified Cloud Practitioner, Amazon Web Services, July 2022
- Terraform Associate, HashiCorp, September 2022
Education
Bachelor’s degree in Geophysics, Novosibirsk State University, Russia, 1999 to 2003
Languages
English (fluent), Russian (native), Spanish (learning)
How I work
Continuous improvement, applied literally: eliminate waste, standardise the process, and spend the time to find a root cause instead of shipping a quick fix. The Bravura record is what that looks like in practice, from pipeline speed to environment automation to documentation that is accurate because it is generated rather than maintained by hand.
Reading that shaped how I work
The Factory of One (Daniel Markovitz) and The Spirit of Kaizen (Robert Maurer) for process, Deep Work and So Good They Can’t Ignore You (Cal Newport) for focus and craft, The Mythical Man-Month (Frederick Brooks) because it keeps being right. On the engineering side: Effective Java (Joshua Bloch), Java Concurrency in Practice (Brian Goetz), The Pragmatic Programmer (Hunt and Thomas), and Don’t Make Me Think (Steve Krug), which is short, old, and still the fastest way to stop building confusing interfaces.
Away from the keyboard
Singing and electric guitar, including open mic nights, which is where two of the projects above came from. Callisthenics, acro-yoga and running, with the Auckland and Rotorua marathons under my belt. Motorcycles, including two 1,600 km rallies inside 24 hours. Learning Spanish through films and fiction.
Last updated: August 2026.