{"id":17100,"date":"2024-05-03T11:24:52","date_gmt":"2024-05-03T03:24:52","guid":{"rendered":"https:\/\/www.hydrax.io\/?page_id=17100"},"modified":"2026-05-14T15:40:13","modified_gmt":"2026-05-14T07:40:13","slug":"full-stack-engineer","status":"publish","type":"page","link":"https:\/\/www.hydrax.io\/vn\/careers\/full-stack-engineer\/","title":{"rendered":"K\u1ef9 s\u01b0 Full Stack"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"17100\" class=\"elementor elementor-17100\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1ff6bd5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1ff6bd5\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8fb1598\" data-id=\"8fb1598\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1d1cf31 elementor-button-info elementor-align-left elementor-mobile-align-left elementor-widget elementor-widget-button\" data-id=\"1d1cf31\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xs\" href=\"https:\/\/www.hydrax.io\/vn\/careers\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-left-arrow\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Quay l\u1ea1i Danh s\u00e1ch Tuy\u1ec3n d\u1ee5ng<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c27db0a elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"c27db0a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Senior Full Stack Engineer<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fccf984 elementor-widget-tablet__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"fccf984\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Employment Type: Full-time | Location : Singapore, Indonesia, Malaysia\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b0b8c8 elementor-button-info elementor-widget elementor-widget-button\" data-id=\"5b0b8c8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"#ApplyForm\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u1ee8ng tuy\u1ec3n ngay<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8cd7833\" data-id=\"8cd7833\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cd069e4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cd069e4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3784850\" data-id=\"3784850\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f479a74 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"f479a74\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Mission<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-15c9eca elementor-widget-tablet__width-inherit elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"15c9eca\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Hydra X is a MAS-licensed digital capital-markets infrastructure platform \u2014 tokenisation, institutional custody, bilateral dealing, and the AGX digital exchange. We are in the middle of a multi-phase transformation to rebuild the way we design, build, and operate software \u2014 with AI agents as the default execution layer across the SDLC, and guardrails suitable for a regulated environment.<\/span><\/p><p><span style=\"font-weight: 400;\">We are hiring a <\/span><b>Senior Full-Stack Engineer who is backend+devops heavy and works AI-native by default<\/b><span style=\"font-weight: 400;\">. You will own the build of production systems that Hydra X runs on \u2014 services that integrate with third-party APIs, enforce strict data and audit boundaries, and ship with the kind of test coverage you would want to show a regulator. Some of these systems will be used daily by Ops, Compliance, and Risk; some will sit closer to our clients and our regulated offerings. You will work on both.<\/span><\/p><p><span style=\"font-weight: 400;\">You will typically:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Own and maintain Go-based HTTP services backed by PostgreSQL.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Build the thin but polished Next.js dashboards and web surfaces that the people using the system actually use.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Wire up conversation-based workflows where that is the best interface for the job.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Take a system from spec to staging UAT to production, including CI\/CD and deployment onto our shared AWS platform.<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">You are expected to do most of this by orchestrating AI coding agents (local \/ background) across the SDLC, rather than typing production code.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f6ba380 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f6ba380\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9a836a4\" data-id=\"9a836a4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-400e8ea elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"400e8ea\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Why this role exists<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9017b92 elementor-widget-tablet__width-inherit elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"9017b92\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Our team has pushed our engineering specs to a point where a capable engineer, using Cursor (or equivalent) well, can ship a full system (backend frontend tests deployment) in weeks rather than quarters. We need another engineer in the seat to keep the throughput up without dropping our compliance and security bar.<\/span><\/p><p><span style=\"font-weight: 400;\">The constraint is no longer typing speed. The constraint is judgement \u2014 which part of a build goes to a background agent, which part needs a tight local loop, which failure modes must have named tests before an agent writes a line, and which architectural decisions must stay with a human because the model will otherwise pick the locally-elegant-but-globally-wrong option.<\/span><\/p><p><span style=\"font-weight: 400;\">We want someone who can hold that line while still shipping fast.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-37cfcf9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"37cfcf9\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f45bcc1\" data-id=\"f45bcc1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6805305 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"6805305\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Working style: AI-Native<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44ef5c1 elementor-widget-tablet__width-inherit elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"44ef5c1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">This is not a &#8220;bring Copilot as an autocomplete&#8221; role. It is also not a &#8220;you must already run 6 parallel background agents&#8221; role. We are looking for someone in the middle \u2014 clearly moving in the AI-native direction, comfortable being coached on our specific patterns, and allergic to going back to the old way.<\/span><\/p><p><span style=\"font-weight: 400;\">Concretely, by the end of your first 60 days, we expect you to be able to:<\/span><\/p><ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Use Cursor (or equivalent) as your primary IDE<\/b><span style=\"font-weight: 400;\">, with local agents handling a meaningful share of day-to-day work \u2014 not just autocomplete.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Hand off self-contained components to background agents<\/b><span style=\"font-weight: 400;\"> from a spec we provide, converge them via a test-driven loop, and return a mergeable pull request.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Drive QA through agents<\/b><span style=\"font-weight: 400;\"> \u2014 generate test matrices from specs, close coverage gaps, generate realistic fixtures, identify weak tests, and run integration suites against real dependencies (containerised PostgreSQL, mocked external services). You treat tests as the holdout set that defines &#8220;done,&#8221; not as a post-hoc checkbox.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Recognise the common failure modes of AI code generation<\/b><span style=\"font-weight: 400;\"> \u2014 hallucinated APIs, plausible-but-wrong library versions, tautological tests, silent mocking of the thing under test, spec\/implementation drift, secrets in diffs \u2014 and build small habits around catching each before merge.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Write specs that agents can execute<\/b><span style=\"font-weight: 400;\"> without you hand-holding every step. You will co-author specs with the team lead and, over time, start authoring your own.<\/span><\/li><\/ol><p><span style=\"font-weight: 400;\">If you already work this way, great \u2014 you will fit quickly and probably push the team further. If you have strong fundamentals and are moving in this direction but not fully there yet, that is also fine \u2014 we will pair you with our most AI-fluent engineers during onboarding and expect you to be fully productive by month two.<\/span><\/p><p><span style=\"font-weight: 400;\">What we are <\/span><b>not<\/b><span style=\"font-weight: 400;\"> hiring for:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Someone who resists agent-driven development on principle.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Someone who treats AI tooling as an optional add-on.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Someone who wants to hand-write everything because it feels more &#8220;real.&#8221;<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">That working style is incompatible with how the team ships today.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e35fe09 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e35fe09\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-662d120\" data-id=\"662d120\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a614fc3 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"a614fc3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">What you will build<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-156dec9 elementor-widget-tablet__width-inherit elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"156dec9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The systems we build tend to share a shape, regardless of whether they face Ops, Compliance, Risk, engineering, or our clients:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A <\/span><b>Go HTTP service<\/b><span style=\"font-weight: 400;\"> (Gin or similar) that integrates with one or more third-party APIs, enforces business rules, writes to a PostgreSQL database designed for auditability, and exposes a versioned REST API documented in OpenAPI.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A <\/span><b>Next.js web surface<\/b><span style=\"font-weight: 400;\"> \u2014 dashboard, portal, or purpose-built UI \u2014 that gives its users a clean view of the system&#8217;s state and the forms and flows they need to get work done.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The <\/span><b>tests<\/b><span style=\"font-weight: 400;\"> that back all of it \u2014 unit tests, integration tests against a real containerised database, end-to-end tests verifying data boundaries and audit properties, and a CI pipeline that runs them on every push.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The <\/span><b>deployment<\/b><span style=\"font-weight: 400;\"> onto our shared AWS platform \u2014 containerised service, registered against the shared platform&#8217;s Terraform modules (you will read and extend these, not own them single-handedly), wired into secrets, logs, and alarms.<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">Expect to ship one complete system roughly every 4\u20136 weeks once ramped, sustainably. That is our current pace, not an aspirational one.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3a9c943 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3a9c943\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bc5773d\" data-id=\"bc5773d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e57d7f3 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"e57d7f3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Core responsibilities<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-558b561 elementor-widget-tablet__width-inherit elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"558b561\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Own end-to-end delivery of production systems.<\/b><span style=\"font-weight: 400;\"> Spec \u2192 schema \u2192 backend \u2192 API \u2192 optional conversational surface \u2192 web UI \u2192 tests \u2192 CI\/CD \u2192 staging UAT \u2192 production. You coordinate with specialists (infra, compliance, product) where depth matters, but you drive the loop.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Write clear specs before you write code.<\/b><span style=\"font-weight: 400;\"> Prerequisites, acceptance criteria, a named test list, and the compliance or security controls that need to be enforced. This is the single highest-leverage habit we expect you to develop and keep.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Run red\/green\/refactor TDD strictly.<\/b><span style=\"font-weight: 400;\"> Every new behaviour starts with a failing test that describes it. You orchestrate an agent to write the tests, confirm they fail for the right reason, then make them pass.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Choose local vs background agents deliberately.<\/b><span style=\"font-weight: 400;\"> Exploratory, architecturally-uncertain work \u2192 local agent with you in the loop. Self-contained, spec-complete components with a clear test list \u2192 background agent on a feature branch, human pull request review on the way out.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Drive QA through agents.<\/b><span style=\"font-weight: 400;\"> Generate exhaustive test matrices from specs, close coverage gaps, write property-based and table-driven tests, generate realistic fixtures, and maintain integration suites that run against real dependencies rather than over-mocked ones.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Hold the quality and security line on pull requests.<\/b><span style=\"font-weight: 400;\"> Linters and pull request review bots catch the mechanical issues \u2014 you catch the layered ones. Logic in the wrong layer, concrete dependencies where interfaces belong, over-mocked critical paths, tests that assert on the wrong thing, fixtures that do not match the real upstream contract.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Keep our engineering platform getting cheaper to build on.<\/b><span style=\"font-weight: 400;\"> Promote reusable patterns \u2014 web UI scaffolding, audit store patterns, conversational surface helpers, evidence generation \u2014 into shared libraries so the third system you build takes less effort than the first.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Document for the next engineer and the next agent.<\/b><span> Repo-level AGENTS.md, WORKLOG.md, per-component build prompts, fixtures with provenance. If another engineer or background agent cannot self-onboard from your docs, the docs are incomplete.<\/span><\/li><\/ol>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f2b87a5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f2b87a5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5dff6ac\" data-id=\"5dff6ac\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-efd2168 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"efd2168\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Must-have experience<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb1a8ff elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"fb1a8ff\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">7+ years in software engineering with real production ownership of backend systems, relational databases, HTTP APIs, and the web front-ends on top of them.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Strong Go \u2014 standard library fluency, concurrency patterns, interface-driven design, table-driven testing. We write a lot of Go and we need you to be strong in it on day one.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Strong TypeScript React\/Next.js \u2014 enough that you can own the front-end portions of a system without needing a dedicated front-end engineer. We do not need specialist-level React; we need competent full-stack.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">PostgreSQL schema design and migration discipline \u2014 indexes, constraints, forward-only migrations, role-based access, reasoning about JSONB vs relational trade-offs.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">TDD experience that is actually TDD \u2014 RED phase is real, mocks are explicit, integration tests use real dependencies in containers.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">HTTP API design \u2014 versioned REST, OpenAPI as a source of truth, RBAC middleware, input validation including basic injection defences, rate limiting, structured errors, request-ID propagation.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">AWS cloud experience in production \u2014 you have deployed and operated services on AWS. You are comfortable in the console and via IaC. You know your way around at least: VPC basics, IAM, a container runtime (ECS Fargate, EKS, or equivalent), a load balancer, RDS, Secrets Manager, CloudWatch, and GitHub Actions-based deploys (preferably via OIDC). You can read and extend Terraform modules that someone else wrote.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">CI\/CD ownership \u2014 GitHub Actions or equivalent, Docker multi-stage builds, lint test scan gates on every pull request.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">AI-native-leaning working style, as described above \u2014 evidenced by recent work, not just claimed.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9e42543 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9e42543\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8d7cf78\" data-id=\"8d7cf78\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0f06063 elementor-widget__width-initial elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"0f06063\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Good to have (any of these is a plus; none are required)\n<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e78bac elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"1e78bac\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Terraform \u2014 deeper than \"I've edited someone else's module.\" Module design, workspaces, state management, drift handling. This is very helpful because our shared platform is Terraform-based.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Compliance and controls experience \u2014 MAS \/ SOC 2 \/ ISO 27001 \/ similar. Exposure to audit evidence, access controls, data retention, incident response. You understand that in a regulated environment, evidence is part of the product, not paperwork.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Regulated \/ security-sensitive systems \u2014 fintech, payments, healthcare, or equivalent where a security lapse has regulatory consequences.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Multi-agent system design \u2014 supervisor\/worker patterns, composable prompts, RAG knowledge bases. Useful for a subset of our systems but not something you need on day one.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Conversational \/ chat-platform experience \u2014 slash commands, modals, message buttons, signed webhooks. Useful but learnable in a week if you are strong elsewhere.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Capital markets \/ tokenisation \/ digital assets exposure \u2014 we will teach you the domain if you are strong on the engineering and AI-native working style.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b4c2df7 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b4c2df7\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-28d1738\" data-id=\"28d1738\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0bcd892 elementor-widget elementor-widget-menu-anchor\" data-id=\"0bcd892\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"applyform\"><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ab4a63 elementor-widget elementor-widget-heading\" data-id=\"3ab4a63\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u1ee8ng tuy\u1ec3n t\u1ea1i \u0111\u00e2y<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2241a24 elementor-widget elementor-widget-text-editor\" data-id=\"2241a24\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>\u0110\u1ec3 ti\u1ebfp t\u1ee5c \u0111\u01a1n \u1ee9ng tuy\u1ec3n c\u1ee7a b\u1ea1n, vui l\u00f2ng theo li\u00ean k\u1ebft ph\u00f9 h\u1ee3p b\u00ean d\u01b0\u1edbi d\u1ef1a tr\u00ean v\u1ecb tr\u00ed c\u1ee7a b\u1ea1n. B\u1ea1n s\u1ebd c\u1ea7n t\u1ea3i l\u00ean CV v\u00e0 ho\u00e0n th\u00e0nh c\u00e1c b\u1ea3ng c\u00e2u h\u1ecfi b\u1eaft bu\u1ed9c. Nh\u1ea5p v\u00e0o li\u00ean k\u1ebft t\u01b0\u01a1ng \u1ee9ng \u0111\u1ec3 b\u1eaft \u0111\u1ea7u:<\/p><ul><li>D\u00e0nh cho \u1ee9ng vi\u00ean t\u1ea1i Singapore: <a href=\"https:\/\/job.pulsifi.me\/companies\/hydrax\/0640b868-f50a-4b5c-a484-4cb8a896352a\/full-stack-engineer-singapore\">https:\/\/job.pulsifi.me\/companies\/hydrax\/0640b868-f50a-4b5c-a484-4cb8a896352a\/full-stack-engineer-singapore<\/a><\/li><li>D\u00e0nh cho \u1ee9ng vi\u00ean t\u1ea1i Malaysia: <a href=\"https:\/\/job.pulsifi.me\/companies\/hydrax\/bba8505c-3fe4-46e0-aff3-7d2a556def9f\/full-stack-engineer-malaysia\">https:\/\/job.pulsifi.me\/companies\/hydrax\/bba8505c-3fe4-46e0-aff3-7d2a556def9f\/full-stack-engineer-malaysia<\/a><\/li><li>D\u00e0nh cho \u1ee9ng vi\u00ean t\u1ea1i Indonesia: <a href=\"https:\/\/job.pulsifi.me\/companies\/hydrax\/59a6ac0b-0d84-4b95-b398-4de0eec0a780\/full-stack-engineer-indonesia\">https:\/\/job.pulsifi.me\/companies\/hydrax\/59a6ac0b-0d84-4b95-b398-4de0eec0a780\/full-stack-engineer-indonesia<\/a><\/li><\/ul><p>H\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng t\u1ea5t c\u1ea3 th\u00f4ng tin \u0111\u00e3 n\u1ed9p l\u00e0 \u0111\u1ea7y \u0111\u1ee7 v\u00e0 ch\u00ednh x\u00e1c. Ch\u00fang t\u00f4i mong \u0111\u01b0\u1ee3c xem x\u00e9t \u0111\u01a1n \u1ee9ng tuy\u1ec3n c\u1ee7a b\u1ea1n!<\/p><p><span data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Reach out to us. A member of our team will be in touch shortly. \\n&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:15295,&quot;3&quot;:{&quot;1&quot;:0},&quot;4&quot;:[null,2,3963096],&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;10&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:[null,2,16777215],&quot;15&quot;:&quot;Franklin Gothic&quot;,&quot;16&quot;:12}\" data-sheets-formula=\"=if(isblank(R[0]C[13])=true,&quot;Description Description&quot;,R[0]C[13]) \">\u00a0<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b84baae elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b84baae\" data-element_type=\"section\" id=\"ApplyForm\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-672640d\" data-id=\"672640d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-821e2e9 elementor-widget elementor-widget-menu-anchor\" data-id=\"821e2e9\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"applyform\"><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-132d081 elementor-widget elementor-widget-heading\" data-id=\"132d081\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u1ee8ng tuy\u1ec3n t\u1ea1i \u0111\u00e2y<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6caeefd elementor-widget elementor-widget-text-editor\" data-id=\"6caeefd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Reach out to us. A member of our team will be in touch shortly. \\n&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:15295,&quot;3&quot;:{&quot;1&quot;:0},&quot;4&quot;:[null,2,3963096],&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:[null,2,3963096]},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;10&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:[null,2,16777215],&quot;15&quot;:&quot;Franklin Gothic&quot;,&quot;16&quot;:12}\" data-sheets-formula=\"=if(isblank(R[0]C[13])=true,&quot;Description Description&quot;,R[0]C[13]) \">Tham gia \u0111\u1ed9i ng\u0169 \u0111\u1ec3 x\u00e2y d\u1ef1ng t\u01b0\u01a1ng lai c\u1ee7a th\u1ecb tr\u01b0\u1eddng v\u1ed1n.<\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b14f4f3\" data-id=\"b14f4f3\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f6e0075 elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"f6e0075\" data-element_type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"New Form\" action=\"\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"17100\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"f6e0075\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Hydra X\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tFull Name\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\" aria-required=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-email elementor-col-50 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tPhone\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\" aria-required=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-field_0a6378f elementor-col-50 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_0a6378f\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[field_0a6378f]\" id=\"form-field-field_0a6378f\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\" aria-required=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-message elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tRole Applied for\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before\">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-caret-down\"><\/i>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[message]\" id=\"form-field-message\" class=\"elementor-field-textual elementor-size-sm\" required=\"required\" aria-required=\"true\">\n\t\t\t\t\t\t\t\t\t<option value=\"Senior Full Stack Engineer\u200b\">Senior Full Stack Engineer\u200b<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_93405c5 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_93405c5\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tHighest Education\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_93405c5]\" id=\"form-field-field_93405c5\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"e.g. Diploma, Bachelor&#039;s Degree, Master&#039;s Degree\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_0dbb1ab elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_0dbb1ab\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tLinkedin Profile\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_0dbb1ab]\" id=\"form-field-field_0dbb1ab\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" required=\"required\" aria-required=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-field_6de0b4d elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_6de0b4d\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tHow Did You Hear About Us\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[field_6de0b4d]\" id=\"form-field-field_6de0b4d\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"e.g. Job Sites, School Postings, Referral\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_4a2e6e5 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_4a2e6e5\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tAvailability (Full-time\/ Part-time)\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_4a2e6e5]\" id=\"form-field-field_4a2e6e5\" class=\"elementor-field elementor-size-sm  elementor-field-textual\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_68237c9 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_68237c9\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tDuration of Availability\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_68237c9]\" id=\"form-field-field_68237c9\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"in months\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-upload elementor-field-group elementor-column elementor-field-group-field_04d51c4 elementor-col-100 elementor-field-required elementor-mark-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_04d51c4\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tResume\/CV\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input type=\"file\" name=\"form_fields[field_04d51c4]\" id=\"form-field-field_04d51c4\" class=\"elementor-field elementor-size-sm  elementor-upload-field\" required=\"required\" aria-required=\"true\" data-maxsize=\"2\" data-maxsize-message=\"This file exceeds the maximum allowed size.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-field_caecf54 elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_caecf54\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tCover Letter\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-sm\" name=\"form_fields[field_caecf54]\" id=\"form-field-field_caecf54\" rows=\"3\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-recaptcha elementor-field-group elementor-column elementor-field-group-field_cd22a98 elementor-col-100\">\n\t\t\t\t\t<div class=\"elementor-field\" id=\"form-field-field_cd22a98\"><div class=\"elementor-g-recaptcha\" data-sitekey=\"6LczUscgAAAAAFWb_YvDyazNNgSNCWnlWtsYJyAS\" data-type=\"v2_checkbox\" data-theme=\"light\" data-size=\"normal\"><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Submit<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"vn\"\/><\/form>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Back to Job Openings Senior Full Stack Engineer Employment Type: Full-time | Location : Singapore, Indonesia, Malaysia\u00a0 Apply Now Mission Hydra X is a MAS-licensed digital capital-markets infrastructure platform \u2014 tokenisation, institutional custody, bilateral dealing, and the AGX digital exchange. We are in the middle of a multi-phase transformation to rebuild the way we design, [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":12117,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-17100","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Full Stack Engineer | Hydra X<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hydrax.io\/vn\/careers\/full-stack-engineer\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Full Stack Engineer | Hydra X\" \/>\n<meta property=\"og:description\" content=\"Back to Job Openings Senior Full Stack Engineer Employment Type: Full-time | Location : Singapore, Indonesia, Malaysia\u00a0 Apply Now Mission Hydra X is a MAS-licensed digital capital-markets infrastructure platform \u2014 tokenisation, institutional custody, bilateral dealing, and the AGX digital exchange. We are in the middle of a multi-phase transformation to rebuild the way we design, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hydrax.io\/vn\/careers\/full-stack-engineer\/\" \/>\n<meta property=\"og:site_name\" content=\"Hydra X\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T07:40:13+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/\",\"url\":\"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/\",\"name\":\"Full Stack Engineer | Hydra X\",\"isPartOf\":{\"@id\":\"https:\/\/www.hydrax.io\/#website\"},\"datePublished\":\"2024-05-03T03:24:52+00:00\",\"dateModified\":\"2026-05-14T07:40:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hydrax.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Careers\",\"item\":\"https:\/\/www.hydrax.io\/careers\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Full Stack Engineer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hydrax.io\/#website\",\"url\":\"https:\/\/www.hydrax.io\/\",\"name\":\"Hydra X\",\"description\":\"Professional Trading Technology\",\"publisher\":{\"@id\":\"https:\/\/www.hydrax.io\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hydrax.io\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hydrax.io\/#organization\",\"name\":\"Hydra X\",\"url\":\"https:\/\/www.hydrax.io\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.hydrax.io\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hydrax.io\/wp-content\/uploads\/2019\/10\/Hydra-X-Logo-Blue.png\",\"contentUrl\":\"https:\/\/www.hydrax.io\/wp-content\/uploads\/2019\/10\/Hydra-X-Logo-Blue.png\",\"width\":1052,\"height\":849,\"caption\":\"Hydra X\"},\"image\":{\"@id\":\"https:\/\/www.hydrax.io\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Full Stack Engineer | Hydra X","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hydrax.io\/vn\/careers\/full-stack-engineer\/","og_locale":"vi_VN","og_type":"article","og_title":"Full Stack Engineer | Hydra X","og_description":"Back to Job Openings Senior Full Stack Engineer Employment Type: Full-time | Location : Singapore, Indonesia, Malaysia\u00a0 Apply Now Mission Hydra X is a MAS-licensed digital capital-markets infrastructure platform \u2014 tokenisation, institutional custody, bilateral dealing, and the AGX digital exchange. We are in the middle of a multi-phase transformation to rebuild the way we design, [&hellip;]","og_url":"https:\/\/www.hydrax.io\/vn\/careers\/full-stack-engineer\/","og_site_name":"Hydra X","article_modified_time":"2026-05-14T07:40:13+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"8 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/","url":"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/","name":"Full Stack Engineer | Hydra X","isPartOf":{"@id":"https:\/\/www.hydrax.io\/#website"},"datePublished":"2024-05-03T03:24:52+00:00","dateModified":"2026-05-14T07:40:13+00:00","breadcrumb":{"@id":"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.hydrax.io\/careers\/full-stack-engineer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hydrax.io\/"},{"@type":"ListItem","position":2,"name":"Careers","item":"https:\/\/www.hydrax.io\/careers\/"},{"@type":"ListItem","position":3,"name":"Full Stack Engineer"}]},{"@type":"WebSite","@id":"https:\/\/www.hydrax.io\/#website","url":"https:\/\/www.hydrax.io\/","name":"Hydra X","description":"Professional Trading Technology","publisher":{"@id":"https:\/\/www.hydrax.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hydrax.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.hydrax.io\/#organization","name":"Hydra X","url":"https:\/\/www.hydrax.io\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.hydrax.io\/#\/schema\/logo\/image\/","url":"https:\/\/www.hydrax.io\/wp-content\/uploads\/2019\/10\/Hydra-X-Logo-Blue.png","contentUrl":"https:\/\/www.hydrax.io\/wp-content\/uploads\/2019\/10\/Hydra-X-Logo-Blue.png","width":1052,"height":849,"caption":"Hydra X"},"image":{"@id":"https:\/\/www.hydrax.io\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/pages\/17100"}],"collection":[{"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/comments?post=17100"}],"version-history":[{"count":28,"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/pages\/17100\/revisions"}],"predecessor-version":[{"id":26265,"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/pages\/17100\/revisions\/26265"}],"up":[{"embeddable":true,"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/pages\/12117"}],"wp:attachment":[{"href":"https:\/\/www.hydrax.io\/vn\/wp-json\/wp\/v2\/media?parent=17100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}