Posted
Fully remote

Coins is the 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, our mission is to increase financial inclusion across Southeast Asia's 650 million population, which remains largely unbanked.

We are looking for a remote Python and Go developer to work on existing and new payments related services in our Logistics team, which objective is to make sure our customers can reliably transfer funds within and outside Coins as fast as possible and our company complies with regulatory requirements. It would be great if you have hands-on experience with Postgres partitioning, investigating bottlenecks, estimating capacity of components, backpressure strategies. As part of any service evolution, gardening is part of the job: upgrading dependencies, troubleshooting, automation.

You will do well on this position if you pay attention to details and are 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)

 

HOW WE WORK

Across the organisation we use a proposal process inspired by Go proposal and Kubernetes enhancements. Significant changes to Coins infrastructure and services are firstly 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.

Logistics department consists of three teams:

  • Ops Compliance team covers all compliance-related matters: ensures that the verification system, which allows our customers to make transactions, works efficiently. It is also responsible for preparing regular dashboards to the Central bank. Tasks may include the support and maintenance of the Python/Go code as well as designing something new.
  • Core transactions team is responsible for several mission critical high load services at Coins. For example, an internal ledger that is responsible for making payments between accounts or a service that monitors customer activity limits. The team's objective is to make sure our customers can reliably transfer funds within and outside Coins as fast as possible and our company complies with regulatory requirements.
  • Crypto team maintains and develops the backend services of Coins.pro app: quotes for exchanges, cryptocurrency integrations, trader bots on crypto exchanges, money balancers. Current stack is Golang and Python, we do new services on Golang and support as well as reqrite the old ones in Python. 

REQUIRED SKILLS AND EXPERIENCE

  • 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).

WHAT WE OFFER

  • Work anywhere in a remote friendly environment with flexible schedule and extended vacation - if desired, it is possible to relocate to the Philippines or Thailand and work there;
  • Friendly geo distributed team of experienced professionals, who happily joined us after working in well-known IT/product companies and perspective startups;
  • Work and collaborate effectively with cross-functional compact teams which are constantly improving their tools, pipelines and working environment;
  • Customer-driven development: we don't develop features without listening to our customers, each step makes the product more convenient, useful, secure and reliable for our users;
  • Professional growth: we invest time and money in your career by sponsoring IT conferences, courses and trainings;
  • Paid medical insurance, coworking rental, technical equipment at choice and business trips to our Manila HQ;
  • Ever-open offices in Manila and Bangkok, which you can visit at any time.

How to apply

andrea.almira@coins.ph

Does this job really require Go skills? If not, please report it and we will take a look.