Full Stack Engineer (AI) - #1771
Must-have:TypeScriptJavaScriptJavaC#ReactNode.jsCloudFrontendBackendFullstackCI/CDAISecurityJunior
About the role
We are looking for a Full-Stack Engineer to build and run production software that people in government rely on. You will initially join a team building an AI-enabled platform for high-volume document processing, and you may move to other teams as priorities change. For that reason, we care more about strong fundamentals and the ability to learn quickly than about the exact tools you have used before.
What you'll do
- Design, build and maintain web applications, APIs, background jobs and database models.
- Turn real user and operational workflows into software that people trust under pressure, working closely with product managers and operations teams.
- Integrate AI services (LLMs, computer vision, OCR) into product features, with sensible handling of failures, cost and output quality.
- Write tested, typed and readable code, and take part in code reviews, CI/CD and incident follow-ups.
- Contribute to system design discussions and document decisions so the next engineer can pick the work up.
- Pick up work across the stack as the team needs, including integration or desktop work.
- Maintain the systems you build, including API integrations with other government systems. This covers ongoing upkeep as well as support for security assessments (such as VAPT), audits and compliance reviews, and fixing the findings that come out of them.
- Depending on seniority: own the design of larger components, and mentor junior engineers.
What we're looking for
Most of our projects written on JavaScript, so we expect hands-on experience with Node.js, React and TypeScript. Beyond that, these are the fundamentals that matter most:
- Solid full-stack experience across web front end (React), backend APIs (Node.js) and relational databases, with TypeScript as your main language.
- The ability to design a system within a set of constraints and explain the trade-offs you made.
- A working understanding of concurrency (threads, event loops, async/await) well enough to reason about race conditions and bottlenecks.
- A habit of writing tests and using typed code, plus good practice in version control, code review and CI/CD.
- Familiarity with cloud basics: containers, managed services, object storage and job queues.
- A methodical approach to debugging problems that cross a system boundary, such as a network call, a third-party service or the operating system.
- Clear communication, and comfort working with evolving requirements.
Good to have
None of these is required. Any of them will help, and we will help you grow into the rest.
- Experience integrating AI/ML or LLM APIs into production systems, including handling rate limits, retries, token budgets, prompt versioning and output evaluation.
- Exposure to agentic workflows or to MCP and similar tool-permission frameworks.
- Familiarity with Go, C# or Java, are welcome.
- Prior work with the Singapore Government Tech Stack.
- Experience with observability (logging, metrics, tracing) and writing runbooks for operational failure modes.
- Awareness of secure development practices and of handling sensitive data.
- Experience supporting systems where downtime has real-world consequences.
- Experience writing technical documentation such as architecture decision records or onboarding guides.
How we work
- Fundamentals over frameworks. Engineers who understand why systems behave the way they do pick up new tools quickly.
- You own what you ship. Testing, security and operability are part of the job, not someone else's.
- AI tools are welcome. We use AI coding assistants and encourage it, but the engineer owns the design, verifies the output and catches the mistakes.
- Adaptable by design. Team assignments can change, so we value clear documentation and engineers who are comfortable picking up a new domain.