Fullstack Engineer (Backend Depth)
Summary
Fullstack engineer on a software delivery squad who owns modules end to end (API, UI, data, tests) with extra depth on hard backend cores like AI engines, integrations, ETL, and algorithmic logic. Stack is Ruby on Rails API, Express.js, and a React TypeScript web app, on live client engagements.
Salary: Rp 8.000.000 – Rp 12.000.000 per month
Must have
Minimum 3 years of professional experience shipping fullstack features in production, or equivalent demonstrable skill.
Can build and ship a feature across the whole stack: the API, the screen that uses it, the data behind it, and the tests. Our internal platform is a Ruby on Rails API, Express.js and a React (TypeScript) web app; fullstack experience in any comparable stack transfers in fast, Rails included.
Extra strength on the backend: server logic, data modeling, and integrations are where you are most comfortable and want to go deepest.
Writes tests for their own code as standard practice, unprompted.
Uses AI as leverage and verifies every output before shipping it.
Comfortable working directly with client-facing deliverables under a Technical Lead’s guidance.
Any exposure to LLM or AI feature work (prompts, evaluations, retrieval, structured output).
Nice to have
ETL, integration, or data-pipeline experience.
Consulting or enterprise-client delivery experience.
A shipped fullstack project (production, personal, or open source) you can walk us through and defend.
Elite frontend polish. You must be able to build the UI for your module, but the backend is your depth.
Deskripsi pekerjaan
On our delivery squads, every engineer owns a module across the whole stack, its API, its UI, its data, and its tests, and carries it from prototype to working, tested software.
Depth is where you go deeper than the rest of the squad, while still owning your module end to end. Your depth is the backend: the modules with hard server-side architecture such as AI engines, integrations, ETL, and algorithmic cores. When a module has a difficult backend core, it comes to you, and you build its UI, its data, and its tests too, like every fullstack owner. You are the person the squad trusts with the hard backend problem, and you keep building the rest of the module yourself.
From day one, you own real modules on live client squads and on internal product, at a scope matched to your experience: routine-to-common backend complexity you run independently, with a Technical Lead or a more senior fullstack engineer backing you on the hardest architecture calls. As your backend mastery deepens, the scope you own grows with it, on a clear path toward owning the seat’s hardest backend cores outright.
What you will do
Own a module across the whole stack: build its API, its UI, its data layer, and its tests. You finish a whole feature.
Take the modules where the backend is the hard part (AI engines, integrations, ETL, algorithmic cores) and go deep there, while still delivering the rest of the module yourself.
Write the tests for what you build, from week one, as continuous regression.
Turn a Definition of Done and a clickable prototype into working, traceable software, on real client engagements.
Join story kickoffs and walk the acceptance criteria and edge cases before you write code.
Work on AI features (for example a report-generation or extraction flow) alongside the Technical Lead, and learn how they move through the three AI stages: proof of concept, core function integrated end to end, and measurable outcome.
Use AI heavily to move fast, then verify. Generating a thousand lines of plausible code is cheap. Knowing whether it is correct is the skill.
What you own now
Modules built fullstack, end to end, at routine-to-common backend complexity: API, UI, data, and tests, traced to a requirement.
Your module’s defects and its demo.
Who you will work with
Reports to: Technical Lead. Hiring decision: CTO.
You get a Definition of Done and a prototype from the product and tech layers, you give honest constraint signals early, and you hand the SDET a module that is testable in CI.
