Financial services · 2015–2016
From an early-stage monolith to an enterprise-ready product
As CTO of Envizage, a wealth-management fintech start-up, I turned an early-stage monolith into a multi-tenant product ready for enterprise clients, and built the team to deliver it.
The challenge
The start-up had a wealth-management product and its first enterprise customer, but the platform wasn’t robust enough to scale, and the engineering team needed to grow and work as one. It needed an architecture that could grow with the business, and a team that could deliver it.
What I did
I joined as chief architect and DevOps lead, and became CTO six months later.
- Stabilised what was there: refactored the Java API, adding caching and OAuth security, and built a multi-region AWS environment, automated with Terraform, Ansible and Packer.
- Redesigned the product: after the first enterprise sale, redesigned it as a multi-tenant, event-driven microservices architecture on Spring Boot and Spring Cloud, Docker, Kafka and RabbitMQ, with neo4j and InfluxDB.
- Built the analytics core: designed the data model and the Monte Carlo simulation engine behind the product’s financial planning.
- Built the team: built and led a distributed engineering team, and introduced Scrum, Kanban and CI/CD.
- Represented technology: reported to the board, and worked with investors and enterprise clients.
The outcome
A multi-tenant product on an architecture built to scale, delivered by the team I built, that the business could sell to enterprise clients.
Have a hard problem worth solving?
Tell me about the system, the team or the deadline. I'll tell you honestly whether I can help.