Senior Software Engineer (Core Payment)

Xendit (YC S15)

July 2019 - Present, Jakarta, Indonesia
Tags go nodejs typescript postgresql mongodb redis jenkins rabbitmq docker docker-compose aws software-architecture refactor re-architect present

Roles and Responsibility

  • Help Xendit’s Payment team to re-architect the legacy service.
    • Phase 0
      • Helping on reducing the issue on production related to Virtual Account
      • Helping on creating automation helper like script and endpoint to fix Virtual Account Issues.
    • Phase 1
      • Create the proposal for Re-Architecture the Virtual Account System from end-to-end.
      • Design the Software Architecture and Simplify the flow for Virtual Account Process, from creation to payment. The architecture also can be re-used to other payment channel for Retail Outlets.
      • Become the PIC for the Re-archictecture from Planning, Design, Development and helping the Techlead and PM to breaking the task with teams.
      • Help and Discussed to decide the tech-stack, like, proposing Golang, proposing Event Driven Architecture.
      • Develop and Deploy the new architecture for Virtual Account from end-to-end with only 2 person.
    • Phase 2
      • TBD
  • Help to restructure the CI/CD flow of Xendit, as my team become the first PoC. We work closely with Infra teams to design the full flow of deployment.
  • Introduce the “Docs First Development", to write the API Docs first before implementing the codes. We use OpenAPI. And from the OpenAPI we can generate the SDKs and Mock Server to faster the development process.
  • Revive the Semantic Release versioning, to make every application clear on each deployed version.
  • Evangelist Golang programming language to Xendit’s engineer. Create weekly class and course for the engineer.
  • Help to evangelist a few of engineering practice like dockerize, docker-compose, Clean Architecture for Typescript and Clean Architecture for Golang.

Speaker and Community

1. GoJakarta Meetup, 27 August 2019

In this monthly event, I have a chance to present for August meetup. I'm talking about Profiling Golang API, to detect the slow function in our application.

2. GDG Devfest Bogor, 2 November 2019

In this yearly event of GDG, Devfest, I got a chance to speak in GDG Bogor Devfest. In this session I was talking about Introduction Golang to the GDG Community.

3. GDG Devfest Depok, 23 November 2019

In this yearly event of GDG, Devfest, I got a chance to speak in GDG Depok Devfest. In this session I was talking about Introduction Golang to the GDG Community.

Articles and Publication (might be not updated)

Iman Tumorang
Software Engineer