What does a full-stack developer do?
A full-stack developer builds both the part of an app that users see and the server side behind it.
You write interface code, APIs and database queries, then release them to production. The job sits in the software engineering family.
In Singapore, you find this role in start-ups, banks, government agencies, software houses and agencies that build apps for clients. Most full-stack developers sit in a product or engineering team, often a small squad that owns a feature from design to release.
You work with product managers, designers, QA engineers and DevOps or site reliability engineers. You also speak with business stakeholders to confirm what users need. Singapore's occupation classification files the job under software developer.
What the work involves
- Write front-end code in React or a similar framework, and back-end services that feed it data.
- Join discussions with stakeholders and turn user needs into technical specifications.
- Test your own work, find defects, and support final pre-release checks with stakeholders.
- Follow secure-coding standards and help with threat modelling to reduce security risks.
- Track code changes in Git, record approved changes and prepare releases.
- Work with site reliability engineers to keep products reliable and able to scale.
Pay in Singapore
The median is S$7,808 a month, gross.
Closest MOM occupation: Software developer (SSOC 25121). MOM, Occupational Wages 2025, Table 4 (all industries), June 2025. Full-time resident employees; gross monthly wage, excluding bonuses. Full pay data
Skills a full-stack developer needs
Core skills
- APIs
- System design
- Web performance
Tools and platforms
- JavaScript & TypeScript
- React & Next.js
- Node.js
- PostgreSQL
- Supabase & Firebase
- Docker
- Git
AI
- Claude Code
- Vibe coding
Full-stack developer job description
A full-stack developer builds and maintains web applications across the front end, back end and database.
You join an agile team with product managers, designers and QA engineers. You turn requirements into working features and release them safely. You should be comfortable with JavaScript or TypeScript, APIs and SQL, and write code that others can read and maintain.
Responsibilities
- Build user interfaces that are responsive, easy to use and tested on common devices.
- Design, code and maintain back-end services and APIs.
- Design database tables and write queries that stay fast as data grows.
- Work with stakeholders to understand user requirements and write technical specifications.
- Suggest technical options and explain the trade-offs to the team.
- Write and run tests, fix defects and support pre-release testing.
- Follow secure-coding practices and fix security issues found in reviews or scans.
- Manage code changes in Git and take part in code reviews.
- Work with DevOps or site reliability engineers on builds, deployments and monitoring.
- Gather user feedback and improve the product in each release.
Requirements
- Diploma or degree in computer science, information technology or a related field. Some employers accept bootcamp or self-taught developers with a strong portfolio.
- Typically 2 to 5 years of experience for a full-stack role. Fresh graduates are usually hired into junior roles.
- Working skill in JavaScript or TypeScript, React or Next.js, and Node.js or another back-end language.
- Experience with a relational database such as PostgreSQL, and with building and consuming APIs.
- Familiarity with Git, Docker and a CI/CD pipeline, plus basic knowledge of a cloud platform.
- Clear written and spoken English for working with business and technical colleagues.
Full-stack developer career path
Most full-stack developers start in a junior role, move to senior developer, then choose between a technical lead path and a people management path.
The SkillsFuture Skills Framework lists two steps for this job, and employers add lead titles above them.
Junior full-stack developer
Entry
You fix bugs and build small features under guidance. You learn the codebase, code review habits and the team's release process.
Full-stack developer
Mid · SkillsFuture title
You code features across front end and back end, support testing, and follow secure-coding standards. You work with stakeholders to understand requirements.
Senior full-stack developer
Senior · SkillsFuture title
You own the design of larger features and guide others on technical choices. You also set quality standards and work closely with business teams and site reliability engineers.
Tech lead or principal engineer
Lead
You set technical direction for a product or several squads. You review designs, reduce technical risk and mentor senior developers.
Steps marked "SkillsFuture title" follow the career pathway in the SkillsFuture Skills Framework. The others are titles commonly used in Singapore.
Related jobs and their pay
| Related job | Median pay a month | Why it is related |
|---|---|---|
| Backend developer | Same MOM occupation | If you enjoy databases, APIs and performance more than interfaces, you can focus on server-side systems. |
| Frontend developer | Same MOM occupation | If you care most about user experience and web performance, you can specialise in the interface layer. |
| DevOps & platform engineer | S$10,169 | Your work with Docker, deployments and monitoring gives you a base for infrastructure and automation roles. |
| Solutions & enterprise architect | S$13,614 | Experience across the whole stack helps you design systems and advise on technology choices for larger organisations. |
MOM Occupational Wages 2025, gross monthly wage, full-time resident employees. Each figure links to its salary guide.
Full-stack developer interview questions
We wrote these questions from the skills this job needs. They are not an official question bank.
How would you design a REST API for a clinic booking app? Cover versioning, errors and pagination.
What a good answer covers
- Uses clear resource names and correct HTTP methods and status codes
- Returns consistent error messages that a client can act on
- Adds pagination for list endpoints and explains the choice
- Plans versioning so existing clients do not break
- Mentions authentication and input validation
Explain server-side rendering, static generation and client-side rendering in Next.js. When would you pick each?
What a good answer covers
- Describes where and when the HTML is built in each approach
- Links static generation to content that rarely changes
- Links server-side rendering to personalised or fast-changing pages
- Notes the effect on load time, search visibility and server cost
- Gives a real example of a page for each approach
What does TypeScript give you over plain JavaScript, and where does it not protect you?
What a good answer covers
- Explains that types catch many mistakes before the code runs
- Mentions better editor support and safer refactoring
- Points out that types disappear at runtime
- Says data from APIs or forms still needs runtime validation
- Notes the cost of strict settings on a fast-moving codebase
A PostgreSQL query on a table with 20 million rows has become slow. How do you find and fix the cause?
What a good answer covers
- Runs EXPLAIN ANALYZE to see the query plan
- Checks for missing or unused indexes and sequential scans
- Looks at how the query is written, such as joins and filters
- Considers table statistics, vacuuming and data volume
- Tests the fix on realistic data before release
Walk through a Dockerfile for a Node.js app. How do you keep the image small and safe?
What a good answer covers
- Starts from a small, pinned base image
- Copies package files first so dependency layers are cached
- Uses a multi-stage build to leave out build tools
- Runs the app as a non-root user
- Keeps secrets out of the image and scans for vulnerabilities
A page loads slowly on mobile data. Which measures do you check, and what do you change first?
What a good answer covers
- Measures with tools such as Lighthouse and real user data
- Names metrics like largest contentful paint and layout shift
- Checks image sizes, bundle size and render-blocking scripts
- Considers caching, a CDN and lazy loading
- Fixes the biggest problem first and measures again
When would you choose Supabase or Firebase over writing your own back end?
What a good answer covers
- Names the gains: built-in authentication, hosted database and fast setup
- Compares Supabase's relational model with Firebase's document model
- Explains access rules, such as row-level security or Firebase security rules
- Raises vendor lock-in and cost as usage grows
- Says when custom logic or complex queries call for a separate API
Design a food-ordering system that handles lunchtime peaks from offices in the Central Business District. What are the main parts and risks?
What a good answer covers
- Clarifies requirements such as order volume, latency and payments
- Separates the web app, API, database and background workers
- Uses caching and queues to absorb the lunch peak
- Plans for payment failures and duplicate orders
- Describes monitoring and how the system scales out
A teammate used Claude Code to generate a new feature and sends it for review. How do you review it?
What a good answer covers
- Treats AI-written code like any other pull request
- Reads the code for logic, security and fit with existing patterns
- Checks that tests exist and cover edge cases, and runs them
- Looks for invented libraries, outdated APIs and hidden data leaks
- Asks the author to explain the code before it merges
A founder wants a working prototype in a weekend using vibe coding. What do you build that way, and what do you rewrite before launch?
What a good answer covers
- Uses AI prompts for quick prototypes and throwaway screens
- Keeps the prototype scoped so it proves one idea
- Rewrites or reviews authentication, payments and data handling by hand
- Adds tests, version control and a deployment process before real users arrive
- Explains the limits to the founder without jargon
After a release, checkout fails for some users. What do you do in the first hour?
What a good answer covers
- Confirms the scope and impact using logs, monitoring and user reports
- Decides quickly whether to roll back or ship a fix
- Tells the product owner and support team what is known
- Reproduces the bug and finds the cause using the release changes in Git
- Writes a short review afterwards and adds a test
Tell me about a time you disagreed with a designer or product manager about scope or a deadline.
What a good answer covers
- Describes the situation and the other person's goal fairly
- Uses facts such as effort, risk and user impact
- Offers options, such as a smaller first release
- Reaches a decision and keeps the working relationship
- Says what you learned
Describe a mistake in your own code that reached production. What did you do?
What a good answer covers
- Owns the mistake without blaming others
- Explains how it was found and fixed
- Describes the effect on users and how it was communicated
- Names the test, check or process change that followed
You are building a sign-up form for a Singapore app that collects NRIC numbers, phone numbers and email addresses. How do you handle this under the Personal Data Protection Act (PDPA)?
What a good answer covers
- Collects only the data the app needs and states the purpose clearly
- Gets consent where required and records it
- Protects data with access control, encryption and secure storage
- Sets retention and deletion rules and supports access and correction requests
- Flags that NRIC collection is restricted and checks with the data protection officer or legal team
Your client is a financial institution regulated by the Monetary Authority of Singapore (MAS). How does that change the way you build and release software?
What a good answer covers
- Expects stricter change control, approvals and audit trails
- Follows the client's security reviews and secure-coding standards
- Pays attention to access control, logging and data handling
- Plans for outsourcing and cloud rules set by the client's risk team
- Asks the client's compliance team which guidelines apply instead of guessing
Common questions about a full-stack developer job
What is a full-stack developer?
A full-stack developer works on both the front end and the back end of software. You build what users see, the server logic behind it and the database that stores the data.
What is the meaning of full stack in software development?
The stack is the set of layers that make an application work: interface, server code, database and deployment. Full stack means you can work across all of these layers.
How is a full-stack developer different from a frontend or backend developer?
A frontend developer focuses on the interface and a backend developer on servers, data and APIs. A full-stack developer covers both, usually with more depth in one area.