Go Engineer (Wallet team)

Manila, Metro Manila, Philippines | Engineering | Full-time | Allows remote

Apply

Coins is Southeast Asia's leading platform that allows anyone to access financial services from their phone (banking, remittances, mobile air-time (prepaid load), bill payments, game credits, online shopping, and digital currency purchases). Founded in 2014 in the Philippines and serving over 5 million customers, Coins' mission is to increase financial inclusion across Southeast Asia's 650 million population, which remains largely unbanked.

About the job

Wallet team is responsible for one of the mission critical services at Coins. The team's objective is to make sure our customers can reliably transfer funds within Coins as fast as possible.

We are looking for a remote Go developer to work on existing and new payments related services. It will be great if you have hands-on experience with Kafka, Postgres partitioning/sharding, estimating capacity of components, backpressure strategies.

A new engineer will do well on this position if she or he pays attention to details and interested in:

  • clear, idiomatic code
  • reasoning about service boundaries, SLAs
  • designing and building resilient systems (chaos engineering)
  • databases and distributed systems
  • load testing (we use Yandex.Tank)

We would love to learn from you and share our experience.

Engineering

Across the organisation we use a proposal process inspired by Go proposal and Kubernetes enhancements. Significant changes to Coins infrastructure and services are first discussed, and formally documented, before they can be implemented.

We endorse everyone to write documentation and share knowledge. Coins has the docs repository of engineering guidelines (style guides, development workflow, service layout, observability) including storage usage advice, e.g., how to efficiently implement finite state machine in PostgreSQL, row locks vs advisory locks, reliable data delivery in Kafka. In order to see the bigger picture, Coins architecture is described as well (developers understand how a service fits in there). Anyone is free to propose new ideas which go through a peer review.

Coins engineers aspire to keep code and tech stack boring to tame accidental complexity and focus on delivering value to our customers:

  • AWS, Terraform
  • Kubernetes, Helm, Nginx, Envoy
  • Jaeger, Prometheus, VictoriaMetrics, Grafana
  • Postgres
  • Kafka
  • Redis
  • Go (domain-driven design based on Go kit)
  • Python (mostly Django, you may rarely encounter Tornado, aiohttp, and Flask)

Please come work with us. There are more Coins teams (Logistics, Product) looking for Python and Go engineers.