Bảng lương thực tế của fresher và junior IT Việt Nam năm 2026 theo từng stack - PHP/Laravel, Node.js, ReactJS, Flutter - kèm cách đọc con số để biết bạn đang ở đâu trên thị trường, dù bạn chưa đi làm hay đã đi làm 1-2 năm.
Có hai kiểu người tìm bài này: người chưa đi làm cần biết nên quote bao nhiêu khi HR hỏi, và người đang đi làm muốn biết mình có đang bị trả thấp hơn thị trường không. Bài viết phục vụ cả hai - nhưng nếu bạn cần con số ngay, bảng lương ở ngay phần tiếp theo.
Mục lục:
1. Bảng lương fresher junior IT 2026 theo stack (xem ngay)
2. Đọc con số đúng cách - những yếu tố làm lương lên hoặc xuống
3. Nếu bạn chưa đi làm - quote bao nhiêu khi HR hỏi?
4. Nếu bạn đang đi làm - cách biết mình có đang bị undervalue
5. Tại sao cùng stack mà lương chênh nhau 2x?
6. FAQ
7. Tóm tắt
1. Bảng lương fresher junior IT 2026 theo stack
Tất cả con số dưới đây là lương gross (chưa trừ thuế, chưa trừ BHXH) tại TP.HCM và Hà Nội. Các tỉnh thành khác thường thấp hơn 15-25%, trừ khi vị trí là remote-first.
1.1. PHP / Laravel
- Fresher (0-6 tháng kinh nghiệm): 7 - 12 triệu/tháng
- Junior (6-18 tháng): 12 - 18 triệu/tháng
- Junior có thêm Docker + Redis + hiểu query optimization: 18 - 22 triệu tại công ty product
PHP là stack phổ biến nhất trong outsource Việt Nam - cầu cao nhưng cung cũng lớn, nên mức khởi điểm không phải cao nhất. Điểm bứt phá nằm ở việc biết Laravel patterns thực chiến (Repository, Service Layer) và MySQL optimization, thứ mà fresher học online ít ai nắm được.
1.2. Node.js / Express / NestJS
- Fresher (0-6 tháng): 8 - 14 triệu/tháng
- Junior (6-18 tháng): 14 - 20 triệu/tháng
- Junior có NestJS + TypeScript + biết microservices cơ bản: 20 - 28 triệu
Node.js đang tăng mạnh ở startup và product company. Fresher Node.js nhận được offer cao hơn PHP cùng level vì nguồn cung ít hơn. Năm 2026, TypeScript không còn là “nice to have” - nhiều JD đã ghi là bắt buộc. Nếu bạn đang học Node.js, đầu tư TypeScript sớm là quyết định đúng nhất.
1.3. ReactJS / Frontend
- Fresher Frontend (0-6 tháng): 8 - 13 triệu/tháng
- Junior React (6-18 tháng): 13 - 20 triệu/tháng
- Junior React có Next.js + Tailwind + đã deploy dự án thực: 18 - 25 triệu tại product company
Frontend đang hưởng lợi từ làn sóng startup SaaS nội địa. Điểm phân biệt rõ nhất giữa fresher 9 triệu và fresher 13 triệu không phải là số lượng khóa học - mà là có dự án thực với traffic thật hay không. Core Web Vitals và Next.js SSR là hai kỹ năng đẩy junior React từ nhóm 13M lên nhóm 18-20M nhanh nhất.
1.4. Flutter / React Native
- Fresher Mobile (0-6 tháng): 9 - 15 triệu/tháng
- Junior Flutter (6-18 tháng): 15 - 22 triệu/tháng
- Junior React Native có kinh nghiệm deploy App Store / Play Store: 18 - 26 triệu
Flutter junior là phân khúc thiếu hụt nhất thị trường IT Việt Nam hiện tại. Cầu cao, cung thấp, learning curve với Dart dốc hơn các stack khác - nên mức starting wage luôn nhỉnh hơn. Fresher Flutter có 1 app đã publish trên store có lợi thế cực kỳ rõ ràng ngay từ vòng CV.
2. Đọc con số đúng cách - yếu tố làm lương lên hoặc xuống
Cùng một stack, cùng thời gian kinh nghiệm, nhưng lương có thể chênh nhau 30-50%. Bốn yếu tố quyết định bạn nằm ở đầu hay cuối của range:
2.1. Loại công ty
Outsource company chạy theo band lương cứng, ít room đàm phán. Product company và startup linh hoạt hơn 20-30% - nhưng đổi lại yêu cầu kỹ năng cao hơn và thường có probation period chặt hơn. Startup early-stage đôi khi offer thấp hơn thị trường nhưng bù bằng equity hoặc tốc độ học rất nhanh.
2.2. Portfolio và dự án thực tế
Fresher có side project đã deploy lên production - dù nhỏ - thường được offer cao hơn 15-25% so với fresher chỉ có project trên localhost. HR và tech lead nhìn portfolio để đánh giá judgment, không phải chỉ skill. Một app thật với 100 user thật thuyết phục hơn 10 chứng chỉ Udemy.
2.3. Stack phụ và độ sâu kỹ thuật
Biết thêm Docker, Redis, TypeScript, hoặc có kiến thức về CI/CD cơ bản đẩy bạn lên nửa trên của range ngay cả khi kinh nghiệm chưa nhiều. Đây là lý do hai junior cùng 12 tháng kinh nghiệm có thể chênh nhau 4-6 triệu.
2.4. Khả năng trình bày trong phỏng vấn
Kỹ năng technical như nhau, nhưng người giải thích rõ tư duy xử lý vấn đề - không chỉ đưa ra đáp án - luôn được offer cao hơn. Điều này không phải bẩm sinh - nó là kỹ năng luyện được. Bài tips phỏng vấn junior IT A-Z có hướng dẫn cụ thể cách trình bày technical answer đúng cách.
3. Nếu bạn chưa đi làm - quote bao nhiêu khi HR hỏi?
HR hỏi “Bạn kỳ vọng mức lương bao nhiêu?” là câu hỏi bẫy không phải vì câu hỏi khó - mà vì hầu hết fresher không có anchor trong đầu. Hai sai lầm phổ biến nhất:
- Nói “tùy công ty”: nghe khiêm tốn nhưng thực ra là không chuẩn bị. HR cần một con số để đánh giá budget fit - deferring chỉ kéo dài conversation vô ích.
- Quote quá thấp vì sợ: nếu bạn nói 8 triệu cho vị trí PHP junior có budget 13 triệu, HR đồng ý ngay và bạn mất 5 triệu/tháng mà không biết.
Cách quote đúng: dùng range, không phải con số cứng. Lấy mức thấp nhất bạn chấp nhận được, cộng thêm 2-3 triệu để ra range quote. Ví dụ với ReactJS fresher có 1 side project: walk-away = 10 triệu → quote “11-14 triệu tùy job scope và benefit”. Câu này cho thấy bạn có nghiên cứu thị trường, linh hoạt, và không cứng nhắc - ba thứ HR đánh giá cao nhất ở fresher.
Nếu HR hỏi tại sao bạn kỳ vọng mức đó, trả lời bằng 2 thành phần: mức thị trường cho stack này, và điểm khác biệt cụ thể của bạn. Không cần dài - 2-3 câu là đủ.
4. Nếu bạn đang đi làm - cách biết mình có đang bị undervalue
Đây là phần mà hầu hết bài viết về lương IT bỏ qua. Rất nhiều junior đã đi làm 1-2 năm nhưng không biết mình đang nhận thấp hơn thị trường 20-30% vì không có điểm so sánh.
4.1. Ba dấu hiệu bạn đang bị undervalue
- Bạn phỏng vấn thử vị trí tương đương ở công ty khác và offer nhận được cao hơn lương hiện tại 20% trở lên.
- Đồng nghiệp join sau bạn 6 tháng nhưng lương khởi điểm ngang hoặc cao hơn bạn hiện tại.
- Công ty không có lộ trình review lương rõ ràng - bạn đã hỏi nhiều lần nhưng chỉ nhận câu trả lời mơ hồ.
4.2. Làm gì khi phát hiện mình đang bị undervalue?
Bước 1: Phỏng vấn thử 2-3 công ty trong 1 tháng - không cần có ý định nhảy việc, chỉ để có offer letter thật làm leverage. Bước 2: Đặt lịch 1-1 với manager, trình bày thẳng: “Tôi nhận được offer X từ công ty Y. Tôi muốn ở lại vì [lý do thật], nhưng cần mức lương phản ánh đúng giá trị thị trường.” Bước 3: Nếu công ty không phản hồi được trong 2-4 tuần, đó là câu trả lời - và bạn đã có offer sẵn để quyết định.
Chiến lược này không phải về việc ép lương - mà về việc có thông tin thật trước khi đưa ra quyết định nghề nghiệp quan trọng.
5. Tại sao cùng stack mà lương chênh nhau 2x?
Câu hỏi này thực ra đã được trả lời rải rác ở các phần trên, nhưng đáng gom lại để nhìn rõ bức tranh toàn cảnh. Fresher PHP 7 triệu và junior PHP 18 triệu không chỉ chênh nhau về số năm kinh nghiệm. Họ chênh nhau về:
- Depth of ownership: Junior 18 triệu đã từng chịu trách nhiệm một module hoặc feature từ đầu đến cuối - không chỉ làm task được giao.
- Debugging độc lập: Không cần hỏi senior mỗi khi gặp bug lạ - tự trace được log, tự đọc được source của thư viện.
- Chủ động đặt câu hỏi đúng: Khi nhận task, biết hỏi “edge case này xử lý thế nào?” thay vì code xong mới phát hiện thiếu case.
- Có context về production: Hiểu tại sao deploy cần staging, tại sao không nên commit secret, tại sao query chậm ảnh hưởng đến toàn bộ service.
Những thứ này không học được từ khóa học - chỉ học được từ môi trường làm việc thật. Đây là lý do chọn công ty đầu tiên đúng quan trọng hơn lương đầu tiên cao. Nếu bạn đang cân nhắc outsource hay product company, bài 10 câu hỏi phỏng vấn fresher IT có phần phân tích kỹ về cách đánh giá môi trường học tập qua buổi phỏng vấn.
6. FAQ
Fresher ở tỉnh lẻ nhận được bao nhiêu so với HCM/Hà Nội?
Thấp hơn 15-25% nếu làm onsite. Nếu vị trí là remote-first, nhiều công ty trả theo mức HCM bất kể địa điểm. Tìm kiếm vị trí WFH full-time ngay từ đầu là chiến lược đúng nếu bạn không ở hai thành phố lớn.
Full-stack junior được trả cao hơn chuyên một stack không?
Ở outsource company thì có - cao hơn 10-20% vì tính linh hoạt. Ở product company thì không nhất thiết - họ prefer người chuyên sâu hơn. Chiến lược tốt nhất: chuyên sâu một stack chính, biết cơ bản stack còn lại ở mức deploy được - đủ để label full-stack nhưng vẫn có điểm mạnh rõ ràng.
Internship có tính là kinh nghiệm không khi HR xét lương?
Có, và đáng kể. Fresher có 3-6 tháng internship thực tế thường được offer cao hơn 15-25% so với fresher chỉ có project học thuật. Một internship không lương nhưng có code chạy thật trên production thuyết phục hơn nhiều chứng chỉ khi HR đánh giá.
Khi nào nên nghĩ đến việc nhảy việc vì lương?
Khi mức hiện tại thấp hơn benchmark thị trường từ 20% trở lên sau ít nhất 12 tháng làm việc và đã thử đàm phán nội bộ không thành. Nhảy việc chỉ vì lương mà không có lý do kỹ thuật hoặc học hỏi thường tạo pattern xấu trên CV - HR dễ nhận ra người “nhảy vì tiền” qua thời gian ở từng công ty.
Stack nào nên học nếu muốn lương cao nhất ở mức fresher?
Flutter và Node.js/NestJS đang có mức starting cao nhất tính theo tỷ lệ cung-cầu năm 2026. Nhưng stack tốt nhất là stack bạn học được nhanh nhất và có thể build được dự án thật trong vòng 3-4 tháng - vì portfolio thực tế quan trọng hơn tên stack trên CV.
7. Tóm tắt
Nếu bạn chưa đi làm: PHP fresher quote 7-12 triệu, Node.js 8-14 triệu, React 8-13 triệu, Flutter 9-15 triệu là hợp lý ở HCM năm 2026. Có portfolio thực tế đẩy bạn lên nửa trên của range. Dùng range khi HR hỏi - không nói “tùy công ty”, không quote con số cứng.
Nếu bạn đang đi làm: phỏng vấn thử là cách duy nhất để biết chính xác bạn đang ở đâu so với thị trường - không phải đọc bảng lương online. Có offer thật trong tay trước khi đàm phán nội bộ là chiến lược cho kết quả tốt nhất.
Bước tiếp theo: nếu bạn đang chuẩn bị phỏng vấn, xem tips phỏng vấn junior IT A-Z để biết cách trả lời câu hỏi lương đúng lúc, đúng cách - kể cả khi bị hỏi ngay vòng đầu tiên.