Alan Kan
Senior Software Engineer
+61 434 220 172 | [email protected] alankan976 | alank976 | alank976About 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
- 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