Contact me on LinkedIn

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

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.