About

11 Jan 2025

Software Architecture with Kotlin

I am the author of the book titled “Software Architecture with Kotlin”. The project has been a labour of love, driven by my passion for clean architecture, scalable systems, and Kotlin. My hope is that the book will be helpful to engineers and architects who want to design resilient, maintainable software systems using one of my favourite programming languages.

Here are the links to the book if you’re interested. I’d love to hear your thoughts and feedbacks!

Amazon

Packt

My day job is a Tech Lead in a wealth management platform engineering department. I developed 3 Financial Exchange Systems with the team in the last 10 years.

My first degree was Cognitive Science, which is an interdisciplinary, scientific study of the mind and its processes. It has embraced the studies of philosophy, psychology, neuroscience, linguistics, anthropology, and artificial intelligence in pursue of understanding how human mind works.

As artificial intelligence study required simulation of human behaviours with computer programs, I started learning programming languages seriously, enrolled in the same class with Computer Science and Engineering students. From Logo, Basic, LISP, C++ to finally Java, I started my self-study of programming and started developing software in a part-time job.

Due to my education background, I paid attention to the human factors in software engineering and how psychology could help in development process and engineering culture. Also with a bit of aid from Linguistics, I kept borrowing concepts of syntax and semantics to my day job in understanding multiple layers of meanings and concepts of software design and programming techniques.

To eliminate my self-doubt of my knowledge coverage in Computer Science, I completed the Master degree of Computer Science in the early stage of my career. It gave me the confidence to persevere a meaningful career in software development.

Speciality

  • Financial Exchange Systems
  • Matching Engine
  • Clearing House
  • FIX Connectivity
  • FIX Rules of Engagement Design
  • Low-latency, multi-threaded, and real-time Systems
  • Event-driven Systems

Methodology

  • Functional Programming
  • SOLID Principles
  • Event Sourcing
  • Command Query Responsibility Segregation (CQRS)
  • Ports and Adapters (Hexagonal Architecture) and Function Core Imperative Shell (FCIS)
  • Test-driven Development (TDD) and Behaviour-driven Development (BDD)
  • Scrum and Kanban

Skills

  • Kotlin V2, Core Java 21+
  • Spring, Http4K, Ktor, Micronaut
  • Kotest, Mockk
  • Kotlin benchmarking, JMH, YourKit
  • Disruptor
  • Confinity Low-latency messaging, Kafka, Reuters Foundation API (RFA)
  • QuickfixJ
  • Postgres, mySQL< Oracle
  • Bash scripting

I am a social tango dancer and a yogi.

Tango

Published on 11 Jan 2025 Find me on LinkedIn!