PHP

2 posts
challenge-icon

Do You Believe the “Tech Stack Determines Salary” Myth?

user-avatar
Phan Trung Nghĩa
10/06/2026

Tôi Từng Đổi Stack Vì Lương — Và Đây Là Những Gì Thực Sự Xảy Ra

Tôi là ai, đang làm gìNăm đó tôi đang làm PHP backend được khoảng 3 năm. Không tệ. Lương ổn ở mức trung bình thị trường, công việc quen tay, không áp lực. Nhưng mỗi lần lướt LinkedIn hay đọc các group dev Việt, tôi đều thấy một pattern lặp đi lặp lại: Node.js, React, Go, Rust... lương cao hơn hẳn.Đặc biệt là Node.js. Cùng là backend, nhưng JD Node thường offer cao hơn JD PHP từ 20–40%. Tôi bắt đầu tự hỏi: mình đang bỏ tiền trên bàn à?Sau 2 tháng đắn đo, tôi quyết định: đổi stack.Giai đoạn 1: Hưng phấn và ảo tưởng (tháng 1–3)Tôi học Node.js và Express ban đêm sau giờ làm. Rồi NestJS. Rồi TypeScript. Rồi thấy cần học thêm Docker vì JD nào cũng hỏi. Rồi Kubernetes vì "thị trường đang cần". Rồi...Bạn thấy vấn đề chưa?Tôi sa vào tutorial hell — cái bẫy mà dân học lập trình ai cũng biết nhưng vẫn rơi vào. Mỗi ngày học một thứ mới, cảm giác productive lắm, nhưng không có gì thực sự hoàn chỉnh để show ra.Sau 3 tháng, tôi có thể viết được một REST API bằng NestJS. Nhưng khi ngồi code thật, tôi chậm hơn so với PHP của mình gấp 3–4 lần. Còn khi debug một cái bug liên quan đến async/await và event loop, tôi mất cả buổi chiều cho thứ mà một dev Node senior có thể xử lý trong 10 phút.Giai đoạn 2: Thực tế phũ phàng khi đi phỏng vấn (tháng 4–5)Tôi bắt đầu apply. Kết quả? Rớt liên tục ở vòng technical.Không phải vì tôi không biết Node. Mà vì tôi biết Node ở mức đủ để làm tutorial, không đủ để làm production. Các câu hỏi về performance, về memory leak, về cách tối ưu query trong một hệ thống lớn — tôi trả lời được về mặt lý thuyết, nhưng thiếu kinh nghiệm thực chiến để nói chuyện ngang hàng với interviewer.Trong khi đó, ở công ty cũ với PHP, tôi đã từng:Tối ưu một query chạy 8 giây xuống còn 0.3 giâyXử lý bottleneck cache cho hệ thống 50k request/ngàyDebug một race condition trong batch job chạy đêmĐó là thứ tạo ra giá trị. Không phải cái tên của ngôn ngữ.Nhưng tôi đã bỏ hết nền tảng đó lại phía sau.Giai đoạn 3: Nhận job — nhưng không phải như kỳ vọng (tháng 6)Cuối cùng tôi cũng nhận được offer Node.js. Lương? Cao hơn PHP cũ 15%.Không phải 40% như tôi kỳ vọng.Lý do HR giải thích rất thẳng: "Bạn có background PHP mạnh, nhưng Node thực tế mới hơn 1 năm, nên chúng tôi offer ở mức mid-junior."Tôi đã "reset" gần 2 năm kinh nghiệm trong mắt nhà tuyển dụng. Từ một senior PHP developer có thể negotiate lương, tôi trở thành một mid Node.js developer cần chứng minh lại từ đầu.Vậy điều gì thực sự tác động đến lương?Sau trải nghiệm đó, tôi ngồi lại và nhìn những người xung quanh — người lương cao, người lương thấp, cùng stack lẫn khác stack. Và tôi nhận ra:1. Depth > Breadth Một người biết PHP/MySQL sâu đến tận xương tủy — biết cách tối ưu, biết cạm bẫy, biết xử lý edge case — luôn được trả cao hơn người biết 5 ngôn ngữ ở mức "làm được tutorial".2. Problem-solving > Syntax Interviewer không hỏi bạn nhớ API hay không. Họ hỏi: khi hệ thống chậm, bạn debug như thế nào? Khi database bị lock, bạn xử lý ra sao? Câu trả lời đó đến từ kinh nghiệm thực chiến, không phải từ tên stack.3. Môi trường quan trọng hơn ngôn ngữ Cùng là Node.js developer: làm outsource cho agency nhỏ, lương 800–1200 USD. Làm product company có funding, lương 2000–3500 USD. Làm remote cho công ty nước ngoài, 3000–6000 USD. Stack giống nhau, lương cách nhau 5–7 lần.4. Khả năng deliver và communicate Senior developer không chỉ code giỏi — họ biết estimate chính xác, biết communicate risk, biết push back khi requirement không hợp lý. Đây là thứ không stack nào dạy bạn.Vậy đổi stack có đáng không?Câu trả lời thật của tôi: đáng — nhưng không vì lý do bạn nghĩ.Tôi không kiếm được nhiều hơn đáng kể sau khi đổi sang Node.js. Nhưng tôi học được cách tư duy về hệ thống theo một góc nhìn khác. Tôi hiểu event-driven architecture sâu hơn. Và sau 1.5 năm với Node thực chiến, tôi thực sự có thể negotiate lương tốt hơn — không phải vì tôi biết Node, mà vì tôi đã xây dựng lại depth trong stack mới đó.Nếu quay lại, tôi sẽ làm khác:Không đổi stack vì lương — mà đổi vì thấy thực sự thú vị hoặc vì domain bạn muốn vào yêu cầu stack đóTrước khi đổi, maximize giá trị ở stack hiện tại — senior với PHP vẫn kiếm hơn mid với NodeĐổi từ từ — làm side project, contribute open source, rồi mới apply full-timeKếtTech stack là vé vào cửa. Nhưng thứ quyết định bạn ngồi hàng ghế nào bên trong — lương, vị trí, cơ hội — là độ sâu của kiến thức, khả năng giải quyết vấn đề thực tế, và môi trường bạn chọn.Tôi đã mất gần một năm để học điều đó theo cách khó nhất.Bạn không cần phải vậy.
challenge-post-cover
#5
4
124
challenge-icon

My Funemployment Story

user-avatar
Vu Nguyen Thanh
04/03/2026

Thất nghiệp rồi "bát" bại – câu chuyện Funemployment

1. FunemploymentFunemployment = fun + unemploymentCó lẽ các bạn cũng sẽ nghĩ như mình: "thất nghiệp mà vui sao nổi".Đúng vậy, vừa mất kế sinh nhai cho bản thân và gia đình vừa chẳng tài nào vui được.Dù trước mắt ta không thể thay đổi điều đó, mà không vui quá 1 phút 30 giây đó chả được gì.Trái đất vẫn xoay và ta có thể lập trình lại bản thân.Hãy vui mừng đi! Vì mình được thoát khỏi những ngày vội vã, cật lực và chuẩn bị cho cơ hội sắp đến.2. Khi nào thất nghiệp trở thành funemployment?Nếu ta vẫn thấy mất mát và chưa sẵn sàng để nghĩ về cơ hội thì việc đơn giản nhất có lẽ là làm một giấc ngủ cho đã đời.Còn gì mà vương vấn? Vất hết hôm nay để ngày mai đầy pin mà tính tiếp.Vui ở đây có lẽ là cảm giác nhận ra giai đoạn này có ý nghĩa.Cần một động cơ cụ thể là xác định được việc cần làm, kiến thức cần học và nâng tầm giá trị bản thân.3. Làm gì để biến giai đoạn này thành tiến bộ?Một mai qua cơn mê, đây là cơ hội vàng để điều chỉnh lại trạng thái và làm những điều mình chưa có giờ thử.Chăm chút bản thân và gia đình.Cập nhật CV.Luyện tập phỏng vấn, kỹ năng mềm và ngoại ngữ.Rải CV.Bổ sung kiến thức còn thiếu từ JD hoặc thị trường.Nhìn nhận lại quy trình làm việc của bản thân.Tạo chứng minh thư cho kỹ năng của mình bằng những bản demo, bài nghiên cứu hoặc đóng góp cho cộng đồng.Gặp gỡ bạn bè trong ngành, mở rộng mối quan hệ.Có thể lúc này không có ai giúp mình nhưng có AI giúp mìnhNhìn lại thì ta thấy có cả tá việc làm muốn không xuể. Mỗi việc nhỏ đều là bước tiến, không phải thất bại.4. Thông điệp gửi đến "ta" đang lo lắngCảm giác lo âu là bình thường.Đó cũng là động lực để ta tìm kiếm và hoạch định những bước tiến tiếp theo.Bước ra khỏi phòng tắm hơi đó trước khi xỉu nhé!Thất nghiệp không định nghĩa giá trị của bạn.Đây là chương “chuyển tiếp” chứ không phải “kết thúc”.Còn thở là còn gỡ.Hãy coi đây là cơ hội để chuẩn bị cho bước tiếp theo.5. Kết luậnfunemployment là cách nhìn tích cực về thất nghiệp.Thất nghiệp có thể là khoảng thời gian để học hỏi, phát triển và tìm lại chính mình.“Bạn không hề đứng yên, bạn đang chuẩn bị cho cú nhảy tiếp theo.”Kết luận cá nhân: Đây là bước đóng góp cho cộng đồng hiếm hoi trong sự nghiệp của mình. Dù hành văn có hơi phóng túng nhưng hy vọng bà con cô bác anh chị em vui và sớm gặt hái thành công như ý nhé!Chúc mừng năm mới!
challenge-post-cover
#12
2
210

You've reached the end.