
Staff Software Engineer — Developer Experience / Platform Engineering
Xendit (YC S15)
November 2020 - January 2024 — Singapore, Singapore
Tags
go
nodejs
typescript
postgresql
mongodb
redis
jenkins
rabbitmq
docker
docker-compose
aws
software-architecture
refactor
re-architect
developer-experience
platform-engineering
As a Staff Software Engineer at Xendit, I focused on the Developer Platform, Internal Tools, Internal Libraries, Engineering Blog, and XenOSS (Open Source at Xendit). I ensured that the developer experience was smooth, allowing engineers to focus on what matters to them.
Roles and Responsibilities
- Led monolith (
internally called: business service
) decoupling initiative for Invoice and Cashpay team. - Led the notification re-architecture to omnichannel notification v2 for better maintenance. Reduced toil to maintenance notification services from 60 queues into only N channels (1 notification channel = 1 queue).
- Led an RFC implementation for the consolidated queue-service library that impacts all engineering teams at Xendit that use Message Broker. This will later help improve reliability and scalability for all microservices that use the queue/message broker platform in Xendit (e.g., RabbitMQ, SNS + SQS) and remove the single point of failure across the Xendit organization regarding RabbitMQ failure.
- Maintained the Engineering blog by encouraging the engineers to write a blog, creating a reward system for every blog posted, and reviewing all drafts by the engineers that later helped to build the Xendit brand in engineering communities and increase the hiring rate.
- Coordinated the development of the Xendit core libraries (Go Logger, Queue Service, Go Open API, Go Tracing, Go Circuit Breaker, Go Transactional Outbox, and Go Mod Proxy), which will help reduce developer toil on standard tooling.