Alan Kan

Senior Software Engineer

+61 434 220 172 | [email protected] alankan976 | alank976 | alank976

About Me

I’m a software enthusiast who’s spent 10 years exploring the ins and outs of the FinTech and Investment banking worlds. My coding journey has been a mix of Java, Kotlin, Go, and Python, resulting in a blend of creative solutions and practical experience.

Sometimes, I’ve immersed myself in the world of Rust, engaging in diverse toy projects that provide a hands-on exploration to develop a taste of memory-safety.

In the realm of modern microservices architecture, orchestration is imperative. As the go-to person for Kubernetes, I excel in leveraging tools like Terraform to craft structured infrastructure systems that empower the team’s sustained success, even in my absence.

While I can certainly handle frontend development with React and more, I feel most at home delving into the depths of backend work and the intricacies of DevOps.

Fuelled by an insatiable thirst for knowledge, I actively explore online articles, engage in dev.to discussions, and participate in virtual conferences. I’m committed to shaping the ever-evolving tech landscape by staying ahead of backend, DevOps, and architectural trends

Experience

Pepperstone

Senior Software Engineer Oct 2024 - Present
Technologies: Go, AWS, Event-driven architecture (MSK & EventBridge), OAuth2 (Auth0), Typescript, Terraform, Github Actions, React, React Native
  • Architected and delivered an Firebase-based push notification system utilizing event-driven architecture patterns such as CQRS, event sourcing and outbox patterns to ensure scalability and fault tolerance across distributed systems
  • Established engineering excellence standards by championing TDD and implementing comprehensive testing frameworks across the team.
  • Enhanced system observability through distributed tracing for Kafka message flows, Auth0 post-login action monitoring and disaster recovery mechanisms, significantly improving system reliability and debugging efficiency.
  • Identified and remediated critical security vulnerabilities through both immediate tactical fixes and long-term architectural improvements, demonstrating strong security awareness and proactive risk management.
  • Drive technical evolution by actively participating in architectural discussions and leading initiatives to decommision legacy systems, contributing to cleaner, more maintainable codebases and modern design patterns.
  • Provide technical leadership through hands-on mentorship of junior and mid-level developers, conducting pair programming sessions if needed and delivering actionable feedback through thorough code reviews to elevate team capabilities.

Skills

Programming
go, rustkotlin, java, groovytypescript, python
App Framework
spring, micronautecho, actix, flask, react
Containers & Kubernetes
docker, containerdk3s, helm, rancher, istio
CI/CD
jenkins, circleci, teamcity, github action
Infrastructure as Code
terraformansible
Technical Methodogies & Architectures
microservices, domain-driven design (ddd), event sourcing, cqrstest-driven design (tdd), pair programming
Data & Observabilities
kafka, postgres, sql server, mongodbfluentbit, elastic, kibana, datadog, prometheus, grafana
Authentication
oauth2, auth0, fusionauth, keycloak

Languages

English - Fluent

Cantonese - Native

Mandarin - Fluent

Interests

  • Coding
  • Software Craftsmanship
  • Software Architecture
  • Alan Kan

    Senior Software Engineer

    +61 434 220 172 | [email protected] alankan976 | alank976 | alank976

    Experience

    FinoComp (Bravura Solutions)

    Software Engineer Feb 2021 - Oct 2024
    Technologies: Java, Micronaut, Kafka, k8s, Terraform, TeamCity
    • Developed software within a distributed microservices ecosystem for multiple wealth management platform businesses.
    • Proficiently provisioned, deployed, and managed testing environments and development infrastructures across AWS, Azure, GCP, and on-premises setups, leveraging a highly automated approach.
    • Mentored junior engineers by actively engaging in pair programming and conducting regular knowledge-sharing sessions.
    • Demonstrated proactive involvement in technical design and architectural deliberations.

    Mox Bank

    Staff Engineer, Backend Jul 2019 - Jan 2021
    Technologies: Kotlin, Spring Boot, Kafka, k8s, Istio
    • Developed web services (e.g. SMS/Push/OTP notification & verification) as a part of the distributed system in microservices, event-driven architecture for the FinTech (Virtual Banking) business.
    • Built shared internal framework & libraries incl. Spring Boot starters, Gradle plugins, libraries for OAuth2, API contracts codegen, Kafka, testing framework to make product team developer lives easier.
    • Designed and involved in architecturing, design and implementation, such as fault tolerance, API contract-first design.

    Certifications

    CKA: Certified Kubernetes Administrator

    The Linux Foundation - 2023

    Financial Risk Manager (FRM®)

    Global Association of Risk Professionals (GARP) - 2015

    Alan Kan

    Senior Software Engineer

    +61 434 220 172 | [email protected] alankan976 | alank976 | alank976

    Education

    City University of Hong Kong

    MSc in Financial Engineering
    2015 - 2016 | GPA: 3.87 / 4.00

    Specialized in financial modelling with programming

    The Hong Kong Polytechnic University

    BSc in Major in Computing and Minor in Business
    2008 - 2011

    Specialized in OOP, Android app development, etc

    Awards

    Quant Finance Lab of CASH Algo Finance Group (CAFG) - Hong Kong

    Team Leader, Inter-University Algo Trading Contest - 2015 - 2016
    • Researched and developed quantitative models, trading algorithms trading program with Python
    • Shortlisted for final round (12 teams picked out of 70)

    Toy Projects

    DigitalOcean Kubernetes Challenge

    2021

    explored, deployed and demonstrated use of vcluster in a DigitalOcean k8s cluster

    A few Rust toy projects developed intermittently

    2020 - 2021

    To acquire a taste for Rust with Actix, Tide, async/await, Cloudflare Workers, and FaunaDB with/without plain old Java dependency injection mindset

    TradeMatching

    2019

    buy & sell trade matching in reactive stream manner using Reactor, Spring webflux and Gradle Kotlin DSL