Description
Title: Full Stack Golang Engineer (Mid-Senior Level) Location: Bangkok (Head Office – Sathorn) Location Type: Onsite only (No remote or hybrid option) Employment Type: Fixed-term contract, 12 months ****Please note that all interview stages and this role are fully onsite . , Ltd. operates a group of medical aesthetic clinics in Thailand, serving customers through its clinic network alongside a business-to-business arm covering training and medical supply.
The group is building its own technology platform to support its next stage of growth, with the core platform, the point-of-sale (POS) system, and the mobile application portfolio all under active construction.
About the role
You will write the Go services that Aura’s products run on, and the screens that sit on top of them. Go is Aura’s standard backend language: the core platform is built in Go, and every new service — including the ones this seat delivers — is written in Go. Your work spans both sides of that line, from schema and application programming interface (API) contract through to the web front end, on a twelve-month engagement with a defined delivery target.
The immediate delivery target is Aura POS: branch checkout, running on core-platform APIs, used by front-desk Beauty Advisors to take payment and record course-session use. This is money-handling software in a physical location. Correctness under failure — a card that times out mid-payment, two branches touching the same customer’s last remaining session, an end-of-day total that does not match the payment provider — is the core of the job, not an edge case at the end of it.
POS is not only checkout. The same build covers the commerce domain behind it: the product and service catalogue with its stock-keeping units (SKUs), multi-branch inventory and stock movement, and the promotion and discount engine that decides what a basket actually costs. That engine is the hardest part of the system.
Aura runs course packages, bundles, member tiers, staff and campaign discounts, and manual overrides, and they stack — so rule precedence, mutual exclusion, caps, rounding, and the audit trail explaining why a given basket reached a given price all have to be designed deliberately rather than discovered in production. Your first four months Own one POS vertical slice end to end — most likely the payment and session-consumption path — from data model through API contract to the checkout screen the Beauty Advisor actually touches. Build and operate the Go core-platform services that slice depends on, to the team’s existing service conventions: contracts, error semantics, versioning, observability.
Make the failure paths correct and provable: idempotent payment handling, concurrency control across branches, and a reconciliation path when POS totals and provider totals disagree. Model the commerce core the checkout sits on — catalogue and SKUs, pricing, and branch-level inventory — to a structure the promotion engine and later products can build on. Deliver a first working version of the promotion and discount engine: explicit rule precedence, stacking and exclusion behaviour, caps and rounding, and a per-line audit trail of every rule applied.
Reach independent delivery quickly. This is a twelve-month contract; the ramp is measured in weeks, not quarters. Key
Responsibilities
Design, build, test, deploy and operate Go services in production, including monitoring and fixing them when they break. Design data models and API contracts that survive change, and defend them in review. Own the commerce domain services end to end: catalogue and SKU management, pricing, multi-branch inventory and stock movement, and the promotion and discount engine.
Keep pricing outcomes explainable and auditable — every discount applied to a basket traceable to the rule that caused it, for finance, audit and dispute handling. Build the web front end for the surfaces you own — the checkout screen and the back-office screens where catalogue, inventory and promotion rules are maintained — to Aura’s user-experience standards. Handle personal and health-related data in line with Thailand’s Personal Data Protection Act (PDPA) and Aura’s security policies.
Work directly with product owners, the platform team, and clinic operations to turn branch reality into a working system.
Qualifications
3+ years shipping production full-stack work — both sides of a stack, in front of real users, not demos. This is a hard requirement. Production Go experience.
You have written, shipped and operated Go services that other systems depend on. Not Go from a course; Go in production. Demonstrated transactional correctness.
You have built systems where money, orders, ledgers, inventory, payments or reconciliation were at stake, and can explain how you handled idempotency, concurrency and partial failure. Commerce domain modelling. You have modelled at least one of catalogue and SKUs, pricing, inventory, or promotions and discounts in production, and can defend the structure you chose against the ones you rejected.
Rule-driven logic. You have implemented business logic where rules stack, conflict or must be applied in a defined order — promotions, pricing, eligibility, entitlements, commission calculation — and can explain how you made precedence explicit and the outcome auditable. Sound relational data modelling and API design — schema design, indexing and query behaviour under real load, contract discipline, versioning, error handling.
js, Vue or equivalent, to a production standard. We judge fundamentals, not framework names. Right to work in Thailand without Aura sponsoring a visa or work permit.
The contract length does not support sponsorship. Able to work on site in Bangkok. POS work requires branch access, and the selection process is on site.
Fluent, everyday use of AI tools in engineering work ,
Employer contacts (email/phone/telegram) are hidden from the public preview —
send your CV, and we will connect you directly.