Engineering Team Lead/Software Architect @ BUX (12-2019–09-2021)

Extending a trading platform with various features. One major project was scaling their quote stream which handles price data from an external provider. As more products were introduced and their existing provider license ended, their existing architecture could not handle the load of the new external provider. Other projects were about introducing infrastructure-as-code for the core team based on Terraform modules, making their whole cloud-infrastructure declarative.

Responsibilities:

  • Introduced infrastructure-as-code for the core teams to ensure traceability of changes
  • Research on using GraalVM (a polyglot runtime with Ahead-of-Time capabilities) for microservices
  • Hands-on cross-team feature development
  • Defined architectural constraints and extension points with ADRs (Architectural Decision Records)
  • Managed a part of the core team

Achievements:

  • Scaled the existing quote stream components from 1-per-second to sub-second processing
  • Reduced startup time for their microservices from 60+ to a 5 seconds on average
  • Carried out the promotion of a team member

Engineering Team Lead @ BUX (12-2019–09-2021)

Extending a trading platform with various features. Leading a team of engineers around their career development, goals, and growth in the company. The company uses CQRS (Command-Query Response Segregation) excessively, maintaining its own framework library in Java. As all members of the platform team left the company, I extended it with a business process management layer on top of events and commands using ByteBuddy.

Responsibilities:

  • Led a team (two sub-teams) of eight software engineers to foster their professional growth
  • Designed a system for deferred execution of stock orders
  • Extended the in-house CQRS library to support modelling business processes
  • Feature development to extend the core platform

Achievements:

  • Achieved a 100% retention rate during my time as team-lead and facilitated the promotion of a team member
  • Seamlessly rolled out deferred execution stock orders, processing over 5000 orders daily without any major operational disruptions
  • Significantly reduced development time of two microservices by using the business process abstraction
  • Defined and set up a seamless on-call rotation with clear separation of responsibilities on alerts among two sub-teams

Senior Software Engineer @ BUX (10-2018–11-2019)

Greenfield development of a trading platform. The platform executes stock orders received by the end-user through the middleware. Orders are validated and tracked throughout their lifecycle. Required cash and assets are reserved and exchanged after the order is executed. A product catalog and quotes are maintained to allow the end-user to choose which stock to buy/sell at which price.

Responsibilities:

  • Implemented an order management system in a team of two from scratch
  • Implemented a core product catalog which is automatically synced throughout all microservices
  • Implemented a data pipeline providing quotes for services who need price tags
  • Defined and managed all infrastructure needed for testing, operations, and monitoring (we build it, we run it)
  • Defined and implemented CI/CD and integration tests

Achievements:

  • Go-live of the trading platform (order management, quotes, product catalog) with no delay
  • Enabled an efficient way for operations to do product updates across the services
  • Set up a greenfield project around observability, CI/CD, and cloud infrastructure

Tools

Java Kotlin Spring/Spring Boot Terraform Kubernetes GitHub Workflow Grafana Prometheus AlertManager Google Cloud Kafka RabbitMQ PostgreSQL CQRS Event Driven Architecture