The Role
You will work across both new and existing products and take full technical ownership of the features you build — from technical design through to production.
Starting from product requirements, you will define the technical specification, plan and estimate the work, commit to delivery timelines, implement the solution, and remain responsible for ensuring the feature works correctly in production.
This role requires strong ownership and independent decision-making. You will be expected to define the technical approach and break down the work yourself rather than relying on others to provide detailed designs or task breakdowns.
AI coding tools are part of our everyday engineering workflow. We expect engineers to use tools such as Claude Code, Cursor, Copilot, or similar solutions effectively. However, the focus is on the engineering judgment behind those tools — understanding the problem, deciding what to build and how to build it, identifying incorrect output, and taking responsibility for everything that is shipped.
We are looking for engineers who can think through problems, plan the work, deliver independently, and use AI to accelerate their engineering workflow rather than replace their technical understanding.
What You Will Do
Design & Planning
-
Translate product requirements into clear technical specifications covering functional requirements, acceptance criteria, data models, service boundaries, state changes, and failure scenarios.
-
Identify and raise concerns around timeline, feasibility, and scope while requirements are still being defined.
-
Present technical designs during architecture reviews, explain and defend your decisions, and refine the design when genuine gaps are identified.
-
Break features into actionable tasks, provide hour-based estimates and target dates, and take ownership of your commitments.
Build & Delivery
-
Develop features end to end, leveraging AI coding tools where appropriate while applying your own engineering judgment throughout the process.
-
Keep technical specifications updated as designs evolve during implementation, ensuring QA and other engineers always work from the current design.
-
Write meaningful tests that validate actual system behaviour. Test results and coverage are considered a baseline rather than definitive proof of correctness.
-
Review your own implementation before requesting peer review and provide supporting evidence when merging, including tests, results, and validation performed.
-
Provide daily progress updates and proactively communicate any potential delays, including their impact and proposed solutions.
-
Deploy and validate features in production, investigate issues, and fix problems when they occur. A feature is considered complete only after it has been verified to work correctly in production.
Team Collaboration
-
Work closely with Product Managers and QA Engineers throughout the feature lifecycle, from requirements definition through release.
-
Review other engineers' code, including AI-generated code, with the same level of attention applied to your own work.
-
Document the systems and solutions you build so other engineers can understand and maintain them effectively.
What We Look For
1. Strong Planning & Problem-Solving
You think through the problem before starting implementation. When requirements are unclear, you identify the missing information, ask the right questions, and develop a plan covering data, edge cases, failure scenarios, and validation methods before using AI coding tools.
You should be able to demonstrate technical specifications or designs you have created.
2. Independent Ownership
You are comfortable taking a problem from requirements through production without requiring step-by-step direction. When facing challenges, you bring potential solutions and a recommendation rather than simply raising a question.
You take ownership of committed delivery dates and communicate early when those commitments may not be met.
3. Effective Use of AI Coding Tools
You use tools such as Claude Code, Cursor, Copilot, or similar AI coding tools regularly in production development.
You understand common AI-generated code failure modes, including incorrect APIs or fields, flawed data assumptions, race conditions, missing tenant or permission checks, and ineffective tests.
You are able to explain the code you ship and demonstrate how AI tools have improved your productivity while also showing how you identify and correct incorrect AI-generated output.
4. Production Engineering Experience
You have built and operated software that runs in production and have been accountable for it, including debugging live issues, analyzing logs and metrics, fixing problems, and documenting their root causes.
You should be able to explain systems you have built and the technical decisions behind them.
5. Strong Engineering Fundamentals
You have a solid understanding of:
-
Data modelling
-
Transactions and consistency
-
Idempotency
-
Retries and timeouts
-
Queues and events
-
API design
-
Failure handling for network calls
6. Clear Written Communication
You can write clear and actionable technical specifications, merge request descriptions, and status updates.
Strong written communication is important as much of the team's coordination happens asynchronously.
Requirements
-
Bachelor's degree in Computer Science, Software Engineering, or a related field.
-
5+ years of professional software development experience, including 3+ years working on backend or full-stack services in production, with experience designing and owning systems end to end.
-
3+ years of TypeScript/Node.js or Python as a primary language, plus 1+ year of experience with the other.
-
2+ years of SQL with PostgreSQL, including schema design, migrations, indexing, and transactions.
-
Experience designing and owning an end-to-end production data flow, from API or webhook ingestion through queue/synchronization and storage to downstream consumers.
-
Production experience with a message queue such as Kafka, RabbitMQ, SQS, or similar, including idempotency and retry mechanisms.
-
Experience troubleshooting own services on Kubernetes, including
kubectl, pod logs/events, and rollouts. -
Experience implementing structured logging and production metrics, using Prometheus, Grafana, Loki, or equivalent tools.
-
Experience writing technical specifications or design documents that have been used by others for implementation or review, and can be demonstrated.
-
6+ months of daily experience using AI coding tools on production code, including reviewing and testing AI-generated code.
-
Experience with Git, pull-request code reviews, and CI.
-
Strong written and spoken English.
Nice to Have
-
Experience with financial, accounting, e-commerce, or marketplace systems, or integrations with third-party APIs.
-
Experience with workflow orchestration such as Kestra, Redis, or vector search.
-
Experience building agent workflows, MCP servers, or other AI tooling.
-
Frontend development experience with React.
-
Open-source contributions, a technical blog, or side projects that can be reviewed.
What You Get
-
Competitive compensation package.
-
Professional working environment.
-
Opportunities to take on challenges and develop your career.
-
Social insurance, health insurance, and unemployment insurance in accordance with Vietnamese labor law.
-
Premium healthcare.
-
Opportunity to participate in a stock option program.
-
15 days of annual leave.
-
Public holidays in accordance with Vietnamese labor law.