Software Developer (Junior / Mid)
Summary
Build and maintain integrations with partner REST APIs and write backend services in PHP (Laravel) on MySQL, handling exact transaction flows like retries, refunds and currency conversion. You'll also debug production issues, support reporting pipelines (ClickHouse), review code via Git, and keep docs up to date on a small Kuala Lumpur team.
Salary: RM 4,000 – RM 6,000 per month
About the role
You will build and maintain integrations with partner REST APIs, write backend services in PHP (Laravel) on MySQL, and handle transaction flows where every record must be exact. You will investigate production issues, support reporting and data pipelines, work with internal product teams to agree API contracts, review code through Git pull requests, and keep technical docs up to date. The team is small, so your work ships to production and you see what it does.
Key responsibilities
Build and maintain integrations with partner REST APIs: read their specs, map their data to our internal contract, and handle their errors and edge cases.
Write backend services in PHP (Laravel) on MySQL.
Handle transaction flows where every record must be exact: retries, refunds, reversals and currency conversion.
Investigate production issues: trace a request through logs and databases, find the cause, and fix it.
Support reporting and data pipelines (batch jobs, ClickHouse, event streams).
Work with internal product teams to agree API contracts and hand over finished features.
Review teammates' code and have yours reviewed, through Git pull requests.
Keep technical docs up to date.
About you
Junior (0–2 years):
Working knowledge of PHP or another backend language.
Comfortable with SQL: joins, indexes, transactions.
Understands REST APIs and JSON.
Uses Git day to day.
Reads technical documents carefully and asks questions when something is unclear.
Mid (2–5 years), all of the above, plus:
Has built at least one production integration with an external API.
Experience with Laravel or a similar MVC framework.
Knows why a payment-style write must be idempotent, and how to make it so.
Can debug a production issue alone, from first report to fix.
Nice to have:
Message queues (RabbitMQ, Kafka or Redpanda)
ClickHouse or other analytics databases
Docker
Python
Experience with payments, fintech or other high-volume transaction systems