What you are worth

Advertised monthly salaries · trailing 90 days (2026-06-23 → 2026-09-20, SGT) · 6+ yrs
Experience: all0-23-56+unstated
Role: allAI-MLBackendDataFrontendFullstackMobileOther-ITPlatformSRESecurity

Every figure below is a salary a posting actually advertised — quartiles are picked from the sample, never interpolated. The quartiles come from the 3115 postings advertising a monthly range — they pin the unit so the figures are comparable — so they describe that subset, not the market. Separately, 100.0% of SWE postings state pay at all (3115 of 3115, in any unit); the rest hide it, and no figure here describes them. Cells with fewer than 5 disclosed salaries are withheld rather than shown: a quartile over a handful of postings is both false precision and close to publishing one employer's range.

1. Median by seniority and role

Each cell: median on top, 25th–75th percentile below.

SeniorityAI-MLBackendDataFrontendFullstackMobileOther-ITPlatformSRESecurityAll roles
Intern —(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0) —(n=0)
Junior —(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=2)—(n=0)—(n=0) —(n=2)
Mid —(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0)—(n=0) —(n=0)
Senior S$11000
S$10500–S$12500
S$9500
S$8500–S$11000
S$10000
S$9000–S$11750
S$8750
S$7750–S$9750
S$9000
S$7800–S$10250
S$9250
S$8350–S$9500
—(n=0)S$9500
S$8250–S$11250
S$9900
S$8500–S$12000
S$10000
S$8500–S$10500
S$9750
S$8500–S$11000
Staff+ S$13500
S$12000–S$18150
S$13500
S$10500–S$19012
S$15500
S$12250–S$17500
—(n=4)—(n=3)S$16000
S$11250–S$19500
—(n=0)S$17000
S$11500–S$18500
—(n=1)S$18500
S$13500–S$21000
S$15000
S$10900–S$18500
Lead S$13500
S$12000–S$14500
S$11500
S$9500–S$13500
S$11500
S$8750–S$17000
—(n=1)S$10000
S$7850–S$12000
—(n=3)—(n=0)S$10000
S$7750–S$12650
—(n=3)S$12000
S$10750–S$12000
S$11000
S$9250–S$13000
Manager S$11000
S$10000–S$15000
S$10000
S$8500–S$13000
S$10250
S$8250–S$14000
S$9250
S$7500–S$12500
S$9000
S$8000–S$11500
S$8500
S$8000–S$9250
—(n=0)S$9750
S$8500–S$11500
—(n=3)S$11000
S$9000–S$12500
S$10000
S$8500–S$12000
All levelsS$12000
S$10500–S$14000
S$10000
S$8750–S$12000
S$10350
S$8800–S$12500
S$9500
S$7750–S$11700
S$9000
S$7850–S$11000
S$9250
S$8500–S$12000
—(n=0)S$9750
S$8250–S$11500
S$10500
S$8750–S$14500
S$10500
S$9000–S$12000
S$10000
S$8500–S$12000

2. Experience ladder

What another year of experience is worth. "0" means the posting explicitly asks for no experience; "unstated" means it did not say — for someone deciding whether to apply those are different answers, so they are never merged. This ladder is the experience dimension itself, so the experience filter above does not narrow it (the role filter does). Seniority in the grid above is a classification from the job title, level and stated experience; the rungs here are the stated experience alone, so the two do not line up row for row.

0S$52501-2S$50003-5S$75006+S$10000
Years requiredPostingsp25Medianp75
0621 S$3750S$5250S$6250
1-23133 S$4000S$5000S$6250
3-57065 S$6250S$7500S$9250
6+3115 S$8500S$10000S$12000
unstated0 —(n=0)

3. Who discloses pay

Salary transparency by employer type: the share of postings that state pay at all, in any unit — a posting advertising an annual salary is not hiding it. Unlike the quartiles above, this rate is not limited to monthly ranges. A type with fewer than 5 postings in the window is withheld rather than ranked on a handful.

Employer typePostingsDisclose a salary
Bank & FinTech149 100.0% (149)
Consulting1210 100.0% (1210)
Government34 100.0% (34)
Local Tech313 100.0% (313)
MNC43 100.0% (43)
Other1236 100.0% (1236)
Startup130 100.0% (130)
Numbers computed by SQL from public MyCareersFuture data; data is refreshed daily, so it lags the live market by up to 24h. Methodology: docs/03-data-model.md · data freshness · Compliance: aggregate statistics only, no personal data.