IT Story

Create post
103 posts

Not sure where your story fits? It probably fits here – a space for thoughts and stories meant for everyone in IT.

Write freely. Sometimes, one post is all it takes to connect with the right people.

challenge-icon

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

user-avatar
Huyền
26/06/2026

Tech Stack Quyết Định Mức Lương? Tôi Không Còn Tin Điều Đó Sau Nhiều Năm Làm IT

Trong ngành IT, có một câu hỏi mà mình thấy xuất hiện khá thường xuyên:"Học công nghệ nào để lương cao?"Mỗi khi có một công nghệ mới nổi lên, rất nhiều bài viết bắt đầu xuất hiện với những tiêu đề như:Học AI để tăng gấp đôi thu nhập..Học Rust vì đây là tương lai của ngành lập trình.Fullstack React + Next.js đang được săn đón với mức lương hấp dẫn.Điều đó khiến nhiều người tin rằng mức lương của lập trình viên phụ thuộc gần như hoàn toàn vào tech stack mà họ đang sử dụng. Nhưng sau nhiều năm làm việc, mình nhận ra rằng câu chuyện không đơn giản như vậy.Tech Stack Có Ảnh Hưởng Đến Thu NhậpMình không phủ nhận điều đó. Thị trường luôn có những giai đoạn mà một công nghệ nào đó trở nên "hot" hơn những công nghệ khác.Ví dụ:AI và Machine Learning đang được đầu tư mạnh.Cloud Computing ngày càng phổ biến.Golang được nhiều công ty sử dụng cho hệ thống backend hiệu năng cao.React, Next.js hay TypeScript gần như đã trở thành tiêu chuẩn ở nhiều dự án frontend hiện đại.Khi nhu cầu tuyển dụng tăng nhưng nguồn nhân lực chưa đủ, mức lương cho những vị trí này thường cao hơn mặt bằng chung. Đó là quy luật cung và cầu rất bình thường.Tuy nhiên...Tech Stack Không Phải Là Yếu Tố Duy NhấtMình từng gặp những trường hợp rất thú vị. Có người sử dụng một tech stack được xem là "cũ", nhưng mức lương vẫn cao hơn nhiều người đang làm công nghệ mới. Ngược lại, cũng có những người liên tục chạy theo trend công nghệ nhưng thu nhập lại không cải thiện đáng kể.Tại sao?Bởi vì doanh nghiệp không chỉ trả tiền cho việc bạn biết sử dụng một framework hay một ngôn ngữ lập trình.Họ trả tiền cho:Khả năng giải quyết vấn đề.Tư duy thiết kế hệ thống.Kinh nghiệm thực chiến.Kỹ năng giao tiếp và làm việc nhóm.Khả năng dẫn dắt dự án.Mức độ ảnh hưởng đến sản phẩm và doanh nghiệp.Một lập trình viên có thể học React trong vài tháng. Nhưng để trở thành người có thể thiết kế kiến trúc hệ thống, tối ưu hiệu năng, mentoring cho đội nhóm và chịu trách nhiệm cho một sản phẩm lớn thì cần nhiều năm kinh nghiệm. Và chính những giá trị đó thường tạo nên khoảng cách lớn về thu nhập.Mình Đã Từng Muốn Đổi Tech Stack Vì TiềnMình nghĩ rất nhiều người trong ngành cũng từng như vậy. Khi thấy một công nghệ nào đó đang được trả lương cao hơn, chúng ta dễ có cảm giác rằng: "Nếu mình chuyển sang công nghệ đó thì thu nhập sẽ tăng nhanh hơn." Điều đó không sai, nhưng mình nhận ra một điều:Chỉ đổi tech stack thôi chưa đủ.Nếu chỉ học cú pháp mới, framework mới nhưng không nâng cao năng lực giải quyết vấn đề, thì mức lương có thể tăng trong ngắn hạn nhưng rất khó tạo ra sự khác biệt lớn trong dài hạn. Ngược lại, khi có nền tảng kỹ thuật tốt, việc chuyển đổi giữa các công nghệ thường dễ dàng hơn rất nhiều.Điều Quan Trọng Hơn Là Giá Trị Bạn Tạo RaSau cùng, mình cho rằng tech stack chỉ là một công cụ. Giống như một người thợ mộc, chỉ với một chiếc búa tốt có thể giúp công việc hiệu quả hơn, nhưng giá trị thực sự vẫn nằm ở tay nghề của người sử dụng nó. Trong ngành IT cũng vậy. Tech stack có thể mở ra cơ hội mới. Tech stack có thể giúp bạn tiếp cận những dự án tốt hơn. Tech stack có thể giúp mức lương khởi điểm cao hơn. Nhưng thứ quyết định sự phát triển lâu dài vẫn là khả năng học hỏi, thích nghi và tạo ra giá trị cho sản phẩm, khách hàng và doanh nghiệp.Góc Nhìn Cá NhânNếu bây giờ có người hỏi mình:"Nên chọn tech stack nào để lương cao?"Có lẽ mình sẽ trả lời:Hãy chọn một công nghệ có nhu cầu thực tế trên thị trường, phù hợp với định hướng của bạn và đầu tư đủ sâu để trở thành người giỏi trong lĩnh vực đó.Bởi vì một lập trình viên giỏi trong một tech stack "bình thường" thường có giá trị hơn một lập trình viên chỉ biết sơ qua nhiều công nghệ đang là xu hướng.Còn bạn thì sao?Tech stack bạn đang làm có thực sự tác động đến mức lương của bạn không?Bạn đã từng đổi công nghệ vì lý do thu nhập chưa?Và nếu nhìn lại, quyết định đó có mang lại kết quả như bạn kỳ vọng không?Mình rất muốn nghe thêm góc nhìn và trải nghiệm của mọi người.
challenge-post-cover
#3
4
37
challenge-icon

Solo builder: Vibe coding vs Cybersecurity?

user-avatar
Ngo Thi Thanh Ha
24/06/2026

Solo Builder: Vibe Coding vs Cybersecurity? Kéo Tốc Độ Ra Thị Trường Có Đánh Đổi Bằng Sự An Toàn?

Chào các đồng nghiệp solo builder! Bạn biết cảm giác đó: một ý tưởng tuyệt vời, code chảy tràn, và bạn muốn đưa nó ra thị trường ngay lập tức. Đó là thời kỳ "Vibe Coding" — giai đoạn hưng phấn khi sản phẩm hình thành với tốc độ ánh sáng. Nhưng khi sản phẩm bắt đầu đi xa hơn, một bóng ma bắt đầu xuất hiện: an toàn thông tin (Cybersecurity). Vậy bạn dung hòa tốc độ và an toàn thế nào?Câu Chuyện Thật: Khi Vibe Sụp Đổ Trước Dữ Liệu ThựcHai năm trước, tôi bắt đầu xây dựng dự án solo đầu tiên: một công cụ phân tích SEO nhỏ cho các blogger. Giai đoạn đầu, tôi hoàn toàn 'vibe'. Tôi ưu tiên giao diện, tính năng chính và tốc độ release. "Lúc đầu ai cũng vậy," tôi tự nhủ, "chỉ cần hoạt động là được, security tính sau."Sản phẩm được release trong 2 tháng, và tôi rất tự hào. Cho đến khi người dùng đầu tiên — một người dùng trả phí — báo cáo một vấn đề. Anh ấy đã vô tình truy cập vào bảng điều khiển của một người dùng khác chỉ bằng cách thay đổi một số trong URL. Đó là lỗ hổng IDOR (Insecure Direct Object Reference) kinh điển.Sự hưng phấn biến mất, thay vào đó là sự sợ hãi. Tôi phải đóng cửa dịch vụ ngay lập tức, sửa lỗi, và liên lạc với người dùng để xin lỗi. Tôi đã build quá nhanh mà không kiểm tra quyền truy cập cơ bản. Đó là một bài học đắt giá về việc 'nợ an toàn' sẽ phải trả giá đắt như thế nào.Giải Quyết: Xây Dựng Khung An Toàn Từ Số 0Tình huống đó buộc tôi phải thay đổi toàn bộ quy trình build. Tôi không thể để security là một yếu tố phụ nữa. Tôi đã làm gì để giải quyết nợ an toàn mà vẫn giữ được tốc độ cần thiết?1. Bắt Đầu Quan Tâm Đến Security Ngay Từ Giai Đoạn Build: Thay vì để sang giai đoạn sau, tôi đưa an toàn vào ngay quy trình phát triển:Nguyên tắc "Mặc Định An Toàn": Ngay từ khi viết function đầu tiên, tôi đã xác thực quyền truy cập. Nếu function đó tương tác với dữ liệu, nó phải được bảo vệ bởi default.Tự Động Hóa Kiểm Tra: Tôi sử dụng các tool static code analysis (SAST) và dynamic analysis (DAST) cơ bản trong CI/CD pipeline để phát hiện các lỗi phổ biến (SQLi, XSS) ngay khi commit code. Nó chỉ mất 5 phút để tích hợp, nhưng đã ngăn chặn vô số lỗi sau này.2. Không Cần Hoàn Hảo, Chỉ Cần Chắc Chắn: Tôi không cố gắng xây dựng một hệ thống bảo mật cấp ngân hàng. Thay vào đó, tôi tập trung vào:Top 10 OWASP: Tôi học và nắm vững 10 lỗ hổng bảo mật web phổ biến nhất. Điều này giúp tôi tránh được 80% rủi ro với 20% nỗ lực.Xác Thực và Phân Quyền Mạnh: Đây là cốt lõi. Tôi đã build lại hệ thống auth, đảm bảo quyền truy cập được kiểm tra ở mọi endpoint và API.Giá Trị Cho Bạn: Insight Có Thể Áp Dụng LạiNếu bạn là solo builder, đừng để security là "nỗi sợ" mà là một "công cụ hỗ trợ" cho sự phát triển.Bài học 1: Bắt đầu ngay, không cần lớn. Tích hợp security audit tool cơ bản hoặc nắm vững Top 10 OWASP không tốn quá nhiều thời gian nhưng có thể ngăn chặn 90% các lỗ hổng cơ bản. Nó giúp bạn tự tin hơn khi đưa sản phẩm ra thị trường.Bài học 2: 'Dung hòa' không phải là 'đánh đổi'. Tốc độ và an toàn có thể đi cùng nhau. Xây dựng một quy trình build an toàn ngay từ đầu sẽ giúp bạn build nhanh hơn trong dài hạn, vì bạn không phải mất hàng tuần để sửa lỗi sau này.Bài học 3: Xem an toàn là lợi thế cạnh tranh. Việc có một sản phẩm an toàn và minh bạch về bảo vệ dữ liệu sẽ giúp bạn chiếm được lòng tin của người dùng nhanh hơn, đặc biệt là người dùng doanh nghiệp.Tôi có thay đổi cách build của mình không? Hoàn toàn có. Tôi vẫn 'vibe', nhưng 'vibe' của tôi hiện tại đã có một lớp bảo vệ. Và bạn, bạn quan tâm đến an toàn sản phẩm từ lúc nào?
challenge-post-cover
#5
5
70
challenge-icon

Is Being Good at Coding Enough to Grow in the IT Industry?

user-avatar
Mai Thi Khoi Nguyen
15/06/2026

Khi AI biết code, điều gì còn làm nên giá trị của con người?

AI có thể code.AI có thể generate workflow.AI có thể viết SQL.Nhưng AI chưa thể khiến một đội sales bỏ Excel để dùng CRM.Tôi chưa từng học IT.Nhưng tôi đã triển khai CRM, hệ thống đặt lịch và LMS cho startup của mình.Hồi làm cho một start-up, tôi ở vị trí vận hành (back office) kiêm đủ thứ vai trong đó có quản lý đội sales. Điều làm tôi đau đầu nhất ngoài việc ra các chính sách bán hàng còn là quản lý các đơn hàng, doanh số. File excel dùng chung hay gặp sự cố khi ai cũng điều chỉnh được, số liệu thiếu, sai ở đâu khó mà truy vết. Bao nhiêu đội sales là bấy nhiêu file phải đối chiếu đến mờ mắt, vào lúc flash sales thì đó là ác mộng.Tôi không muốn quản lý thủ công vậy nữa. Việc quản lý ngày càng nhiều càng cần hệ thống tự động.Rồi tôi tìm đến CRM. Ai làm start-up đều hiểu, ngân sách hạn chế, nhân lực kiêm nhiệm, một phần mềm rẻ, đơn giản, ít tốn công là ưu tiên. Tôi tìm thấy một CRM mini thỏa đủ các yêu cầu sau khi tìm hiểu không ít loại trên thị trường. Nó đáp ứng đủ tiêu chí: rẻ - đơn giản - có giao diện tiếng Việt - ít cài đặt. Một mình tôi cân hết từ thiết lập hệ thống, quy trình, hướng dẫn sử dụng, chạy thử, đưa vào vận hành, tinh chỉnh cho đến khi dùng mượt mà. Không đụng đến một dòng code.Thay đổi một thói quen không dễ. Ứng dụng công nghệ vào công việc cũng vậy.“Vẫn thấy dùng Excel ổn mà,” “Gì mà phải nhập liệu lại từ đầu mắc công vậy?” “Mình không quen dùng,…”Dựng hệ thống không mệt bằng thuyết phục người dùng dùng hệ thống.CRM triển khai tuần đầu gần như không ai dùng.Tôi nghiên cứu, tìm kiếm bằng chứng để thuyết phục đội sales, cho họ dùng thử, hỏi cảm nhận, rồi lại trấn an. Một tuần, hai tuần có lai rai vài phản ánh, rồi một tháng, ai cũng thấy hiệu quả khi quản lý được doanh số, khách hàng và đội nhóm, hệ thống dần được chấp nhận.Tôi còn thêm vào quy trình gửi thư xác nhận thanh toán tự động cho kế toán, mô phỏng theo quy trình có sẵn trên hệ thống.Bạn nghĩ tôi học IT mới biết cách làm vậy sao? Không, tôi học Công nghệ Thực phẩm ra.Theo đà phát triển, start-up tôi mở phòng khám trị liệu online. Tránh việc quản lý thủ công đặt lịch trên Excel hay Calendar cho cả khách hàng và trị liệu viên, tôi lại muốn tự động hoá càng nhiều càng tốt. Không chỉ cho quản lý mà còn tăng trải nghiệm khách hàng nữa.Tôi lại lao vào tìm kiếm, demo và chọn được cái ưng ý. Phần mềm tiếng Anh, tôi đọc nát hướng dẫn sử dụng, FAQ để thiết lập đúng với yêu cầu mà mình cần. Chạy thử, sửa, làm video hướng dẫn cho cả khách hàng và trị liệu viên, điều chỉnh cho đến khi hệ thống ổn định.Cũng may là lần thứ hai ứng dụng công nghệ và mọi người thấy được lợi ích cho công việc nên phản đối thay bằng chấp nhận và làm theo.Vấn đề vẫn chưa hết.Chúng tôi có năm phòng Zoom để chạy năm lớp, tôi nắm account và thiết lập toàn bộ. Cho đến khi số lượng lớp học tăng lên, việc mở phòng, đăng ghi âm cho học viên trở nên quá tải và cồng kềnh trong khi nhân sự còn mỏng. Thế là tôi lại muốn tự động hoá.Lúc chưa có đội IT vào, tôi thử một hệ thống LMS và thất bại vì có những rủi ro, những lỗi hệ thống tôi không lường được. Quá nhiều yếu tố chi phối khiến tôi hoang mang. Nó không đơn giản như hai hệ thống trước.Lúc có đội IT vào, tôi đỡ việc hơn và hệ thống cũng đi vào hoạt động nhanh hơn. Tôi học được nhiều điều về triển khai từ các bạn ấy.Nắm thông tin lớp học, giảng viên, nội dung giảng dạy, tôi thiết kế bộ khung từng lớp.IT hỏi tôi rất nhiều về hệ thống Zoom cũ, khó khăn của đội admin, trải nghiệm của học viên và giảng viên nên như thế nào, người dùng có rành công nghệ hay không.Tôi không viết một dòng code nào trong dự án đó. Tôi chỉ thử nghiệm, nêu ý kiến cải thiện, và một số yêu cầu.Khi làm việc cùng đội ngũ IT, tôi nhận ra một điều thú vị:Những kỹ sư giỏi luôn dành nhiều thời gian để hiểu sâu vấn đề trước khi xây giải pháp phù hợp.Tôi từng nghĩ giá trị nằm ở công cụ. Sau đó tôi nhận ra giá trị nằm ở khả năng nhìn thấy vấn đề, kết nối con người và biến công nghệ thành thói quen làm việc.Lần triển khai LMS thành công cho lớp đầu tiên, tôi vừa run vừa háo hức.Run vì không biết mọi chuyện có chạy ổn thoả không? Học viên và giáo viên có thấy thoải mái không?Tôi thử dùng nhiều loại account để đảm bảo không có sai sót.Háo hức thật sự vì tôi được giải phóng khỏi công việc admin cồng kềnh, tốn nhiều thời gian. Giờ tôi có thêm khoảng không để sáng tạo thêm những hạng mục khác, nhằm tăng trải nghiệm cho khách hàng và cải tiến dịch vụ.“Chị có học IT không mà biết triển khai hệ thống vậy?” câu khen này tôi nhớ mãi.Ừ thì đâu cần biết dòng code nào, ngôn ngữ lập trình gì mà vẫn đưa công nghệ vào đời sống đó thôi.Khoảng cách giữa người dùng và người code không phải vì kiến thức khác biệt mà là chưa tìm được ngôn ngữ chung để hiểu, để dung hoà được ngôn ngữ lập trình với cách con người vận hành công việc hằng ngày.Con đường phát triển của IT không nhất thiết tuyến tính từ lập trình viên Dev lên Ops rồi Lead. Đôi khi đó chỉ là những con người phiên dịch được ngôn ngữ kỹ thuật thành một thứ hữu dụng và thân thiện với đời sống.Khi AI ngày càng giỏi viết code, tôi càng tin rằng giá trị của con người không nằm ở việc gõ nhanh hơn máy.Giá trị nằm ở việc nhìn thấy vấn đề nào đáng giải quyết, hiểu người dùng nào đang gặp khó khăn và biến công nghệ thành một phần tự nhiên trong công việc hằng ngày.
challenge-post-cover
#1
9
479
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
123
challenge-icon

Is Being Good at Coding Enough to Grow in the IT Industry?

user-avatar
Lê Ngọc Phúc
08/06/2026

Code Giỏi Thôi Là Đủ Để Thăng Tiến Trong Ngành IT? Góc Nhìn Từ Một "Dân Code" Gần 6 Năm Lăn Lộn

Lại một chủ đề kinh điển nhưng chưa bao giờ lỗi mốt, đặc biệt là trong cái thời buổi AI bùng nổ đến mức viết code còn giỏi hơn cả tôi. "Nắm vững Python, Java, C++,..." có còn là tấm vé vàng bảo chứng cho sự thăng tiến?Góc nhìn của tôi? Thẳng thắn mà nói: KHÔNG. Code giỏi chỉ là điều kiện CẦN, nhưng điều kiện ĐỦ để bứt phá, để thăng tiến từ một Senior Developer lên Software Architect, Engineering Manager hay xa hơn nữa, lại nằm ở những thứ... không hề liên quan đến dòng code.1. "Dính Bẫy" Chuyên Môn: Code Rất Giỏi, Nhưng Lương Chỉ Tăng Theo... Niên HạnThú thật với anh em, 5-6 năm đầu sự nghiệp, tôi là một kẻ cuồng kỹ thuật. Tôi tự hào mình nắm Java như lòng bàn tay, tối ưu hiệu năng SQL "bá đạo", và luôn xung phong giải quyết các bug kỹ thuật khó nhất. Tôi nghĩ chỉ cần code thật nhanh, thật sạch, mọi người sẽ tự khắc công nhận và thăng tiến tôi.Kết quả? Lương tôi tăng, nhưng theo... niên hạn và lạm phát, chứ không hề có một cú bứt phá thực sự. Tôi cứ ở mãi mức Senior, nhìn những người khác (mà tôi tự đánh giá là code... bình thường) thăng chức lên Project Lead, Manager. Tôi tự ái, nghĩ rằng mình bị "underrated" (đánh giá thấp).2. "Cú Tát" Từ AI Và "Dự Án Tỉ Đô": Khi Code Giỏi Trở Thành... Kỹ Năng Giá RẻRồi AI đến. Các công cụ như Copilot, ChatGPT bắt đầu viết code chuẩn chỉnh, nhanh hơn tôi gấp 10 lần. Tôi bắt đầu hoang mang: "Nếu chỉ cần code chạy được, thì mình khác gì một cỗ máy đắt tiền?""Cú tát" thực sự khiến tôi tỉnh ngộ là khi tôi được giao vai trò Tech Lead cho một dự án di chuyển hệ thống sang Cloud. Tôi nghĩ đơn giản: "Vấn đề gì khó, tớ nhảy vào code là xong."Nhưng...Vấn đề: Đội ngũ Outsourcing không hiểu rõ thiết kế, code rối tung lên.Cách giải quyết của tôi (sai): Tự mình nhảy vào refactor (viết lại code).Hậu quả: Tôi kiệt sức, deadline vẫn trễ, team Outsourcing thì ỷ lại. Kỹ năng code của tôi vô dụng trong việc quản lý con người.Vấn đề: Khách hàng (người không rành kỹ thuật) yêu cầu một tính năng... phi thực tế vì tốn quá nhiều tài nguyên, chi phí Cloud.Cách giải quyết của tôi (sai): Cố giải thích bằng thuật ngữ kỹ thuật, REST API, Database schema.Hậu quả: Khách hàng chán ngán, dự án bế tắc. Kỹ năng code của tôi vô dụng trong việc đàm phán thương mại.Insight xương máu của tôi: Khi bạn đi xa hơn, vấn đề không còn là "Làm thế nào để viết code?". Nó là "Chúng ta đang giải quyết bài toán gì cho kinh doanh? Tại sao chúng ta lại dùng Cloud mà không dùng Server vật lý? Tại sao chúng ta lại ưu tiên tính năng A hơn tính năng B?".3. "Giải Phóng" Bản Thân: Học Cách Giao Tiếp Bằng... Ngôn Ngữ Của Tiền Và Vấn ĐềThất bại đó buộc tôi phải thay đổi. Tôi nhận ra: Thăng tiến nghĩa là tầm ảnh hưởng (impact) của bạn ngày càng lớn, và code giỏi chỉ là một phần rất nhỏ trong tầm ảnh hưởng đó.Đây là những thứ tôi tập trung giải quyết:Cái gì hiệu quả?Giao tiếp & Tư duy Kinh doanh (Business Acumen):Tôi học cách nói chuyện với khách hàng bằng ngôn ngữ của họ: Giá trị, Chi phí, Doanh thu. Thay vì nói: "Chúng tôi cần refactor Database vì nó bị nghẽn (瓶頸)", tôi nói: "Nếu không tối ưu, hệ thống sẽ chậm 30% vào dịp Sale Tết, có thể làm giảm 20% doanh thu. Chi phí tối ưu chỉ bằng 1/5 số doanh thu đó."Insight: Học cách kết nối dòng code của bạn với số tiền mà doanh nghiệp kiếm được hoặc chi ra.Kỹ năng Làm việc Nhóm & Lãnh đạo (Leadership & Soft Skills):Thay vì tự refactor, tôi tổ chức các buổi Code Review kỹ lưỡng, chia sẻ tài liệu thiết kế chuẩn. Tôi học cách ủy quyền, cố vấn (mentoring) cho Juniors.Insight: Thăng tiến lên làm sếp không phải là code giỏi hơn sếp, mà là làm cho cả team code giỏi hơn khi có bạn.Tư duy Hệ thống & Giải quyết Vấn đề (System Thinking):Thay vì chỉ code cho tính năng chạy, tôi bắt đầu đặt những câu hỏi lớn hơn: "Hệ thống này có dễ scale không? Nếu AI ngày càng thông minh, thì phần logic nào trong hệ thống sẽ lỗi thời?"Insight: Học cách nhìn toàn cảnh, dự đoán tương lai và thiết kế các giải pháp bền vững.Ngoại ngữ: Không chỉ để đọc tài liệu, mà là để đàm phán, trình bày, làm việc với các team đa quốc gia. Mở ra vô số cơ hội thăng tiến ở các công ty Global.Bài học xương máu: Cách định vị bản thân để bứt phá thu nhậpNếu nhìn lại, tôi không hối hận vì đã code giỏi. Nhưng tôi sẽ thay đổi cách tiếp cận:Trở thành một "T-Shape Engineer" càng sớm càng tốt:Trục dọc (Biết sâu): Giữ vững chuyên môn kỹ thuật một stack cốt lõi (Go, Java, Python...). Đây là nền tảng.Trục ngang (Biết rộng): Tích cực mở rộng kỹ năng mềm, kiến thức kinh doanh, ngoại ngữ. Đây là bệ phóng.Và hãy nhớ: Trò chơi thăng tiến trong ngành IT không phải là cuộc đua xem ai code nhanh nhất. Nó là cuộc đua xem ai giải quyết được các vấn đề quan trọng nhất của doanh nghiệp. Bạn code giỏi, nhưng chỉ dùng nó để giải quyết các bug kỹ thuật thì impact của bạn rất hạn chế. Bạn code giỏi, và biết dùng nó kết hợp với kỹ năng mềm để giải quyết các vấn đề về Scale, về Chi phí, về Trải nghiệm Người dùng, về Quy trình... thì trần thăng tiến của bạn là không có giới hạn.Chúc anh em tìm được trục dọc và trục ngang của đời mình và sớm bứt phá thu nhập trong kỳ review sắp tới!
challenge-post-cover
#2
9
133
challenge-icon

Beyond Tasks: How I "build impact" in Fintech

user-avatar
DAT NGUYEN
11/05/2026

Giải Quyết Vấn Đề Cá Nhân Hoã Bằng Một Lớp Card Skin

Ai cũng nói "impact" như thể đó là thứ gì đó to lớn, xa xôi. Cho đến ngày team launch tính năng thay đổi skin card trên Apple Pay và Google Pay Wallet, lần đầu tiên có ở Việt Nam. mình đã có 1 góc nhìn mới mẻ hơn! Không phải rebuild lại hệ thống core banking. Không phải launch một sản phẩm mới hoàn toàn. Chỉ là — cho người dùng đổi hình nền chiếc card số của họ trên Wallet. Nghe nhỏ hơi nhỏ đúng không ? Nhưng impact không phải lúc nào cũng ồn ào.Trong port sản phẩm của các ngân hàng VN luôn có một sản phẩm khá đặc biệt — chiếc thẻ 2in1, vừa debit vừa credit trong cùng một chiếc thẻ vật lý. Concept thì hay, nhưng khi đưa lên Wallet (Apple Pay, Google Pay), nó đối mặt với một vấn đề rất thực: chiếc card số trông y hệt hàng ngàn card khác trong Wallet của người dùng.Không có sự khác biệt. Không có cảm giác "sở hữu". Không có lý do gì để mở app lên, nhìn vào card, và cảm thấy nó là của mình.Đó là khoảng trống mà team mình muốn lấp — bằng cách cho phép người dùng thay đổi skin của digital card trực tiếp trên Apple Pay và Google Pay Wallet.Thanh thật mà nói, khi mở Wallet, bạn nhìn thấy một dãy card giống hệt nhau. Màu cơ bản, logo ngân hàng, số thẻ. Không có gì phân biệt. Card trở thành một công cụ, giống như chìa khóa nhà — bạn dùng nó, nhưng không bao giờ ngắm nghía nó. Nhưng khi bạn có thể đổi skin card — chọn một thiết kế phản ánh cá tính bạn, mood hôm nay, hoặc đơn giản là một hình ảnh khiến bạn cười mỗi lần mở Wallet — chiếc card không còn là công cụ nữa. Nó trở thành định danh. Nó là cái của bạn.Và khi thứ gì đó trở thành "cái của mình", bạn dùng nó nhiều hơn. Đó là tâm lý học cơ bản, không phải lý thuyết xuông đâu! Adoption bắt đầu từ Emotional Connection.Trong Fintech Việt Nam, thị trường ở giai đoạn mà adoption không còn là bài toán "có hay không" — mà là "dùng nhiều hay ít, gắn bó hay rời đi". Mọi người đã có tài khoản ngân hàng số. Đã có e-wallet. Đã có thẻ. Vấn đề là: tại sao họ phải chọn bạn?Personalization trả lời câu hỏi đó. Không bằng lãi suất thấp hơn 0.5%, không bằng cashback thêm 10k — mà bằng một cảm giác: ngân hàng này hiểu tôi, cho tôi thể hiện bản thân mình.Đó là emotional connection. Và emotional connection tạo ra habit — thói quen mở app, thói quen quẹt thẻ, thói quen gắn bó.Ở Việt Nam, Fintech vẫn đang đi từ infrastructure phase sang experience phase. Người trẻ, thế hệ Alpha rất quan tâm đến self-expression. Từ avatar, đến cover photo, đến case điện thoại. Card số trên Wallet chỉ là canvas tiếp theo. Mình từng nghĩ impact phải đến từ những thứ lớn — rebuild architecture, launch marketplace, tạo disruption. Nhưng thực sự mà nói: Impact là khi bạn nhìn thấy vấn đề từ góc nhìn người dùng, và giải quyết nó bằng cách khiến họ cảm thấy được lắng nghe.Khi Fintech Việt Nam đang bước sang phase cạnh tranh bằng experience, có lẽ đây chính là cách mình build impact.
challenge-post-cover
#2
5
754
ITviec's Choice
Winning badge
challenge-icon

Beyond Tasks: How I "build impact" in Fintech

user-avatar
Đoàn Trung Quý
28/04/2026

Beyond "Fixed": Khi 0.0001 Decimal Là Cả Một Sự Thấu Cảm Trong Hệ Thống HRMS

1. Phía sau những Ticket là cuộc sống thựcTrong một hệ thống quản trị nguồn nhân lực (HRMS) quy mô lớn, công việc của một Software Developer đôi khi bị đóng khung trong những Ticket khô khan trên Jira hay Trello. Tôi cũng từng có lúc xem việc "Cấu hình tham số" hay "Sửa lỗi sắp xếp" chỉ là những bài toán logic cần giải quyết để kịp Deadline. Tuy nhiên, hành trình thực chiến tại dự án này đã giúp tôi nhận ra một góc nhìn sâu sắc hơn: Phía sau mỗi module nhỏ trong HRMS là quyền lợi sát sườn của hàng ngàn người lao động.2. Thử thách: Khi một Feature nhỏ mang trọng trách lớnTôi nhận nhiệm vụ tối ưu hóa tính năng Salary Parameter Settings – một mắt xích khiêm tốn nhưng lại là "trạm điều chuyển" cho toàn bộ công thức tính toán thù lao của module Payroll.Bài toán kỹ thuật: Hệ thống yêu cầu độ chính xác cực cao (16,4 cho tham số lương và 12,6 cho tỷ giá). Logic cũ thường tự động ép giá trị về 0 khi có sai sót nhập liệu để đảm bảo an toàn hệ thống.Tư duy "Beyond Tasks": Thay vì chọn cách xử lý nhanh chóng, tôi tự đặt câu hỏi: "Nếu chỉ dừng lại ở việc hoàn thành ticket, liệu tôi đã thực sự mang lại giá trị tối ưu cho người dùng?". Việc xóa sạch dữ liệu lỗi của bộ phận HR sẽ khiến họ mất dấu vết và hoang mang. Trong lĩnh vực Fintech nội bộ, tôi tin rằng sự minh bạch và bền vững quan trọng hơn sự tiện lợi nhất thời.3. Giải pháp: Nỗ lực vì sự bền vững của hệ thốngĐể bảo vệ tính toàn vẹn của dữ liệu tài chính, tôi đã tập trung vào hai giải pháp cốt lõi:Bảo toàn dữ liệu gốc (Data Integrity): Tôi sử dụng Dynamic và Anonymous Objects để giữ nguyên những gì người dùng nhập vào, kể cả khi đó là lỗi. Điều này giúp bộ phận kế toán dễ dàng nhận diện sai sót để điều chỉnh thay vì phải đoán mò lý do tại sao dòng tiền bị biến mất trên hệ thống.Tối ưu hóa nền tảng (Backend Optimization): Tôi đã tái cấu trúc cách lọc dữ liệu thông qua hàm dùng chung GetPredicate và áp dụng logic Numeric Sort (Cseq). Trong một hệ thống quản lý hàng ngàn nhân viên, việc mã số 10 đứng sau số 2 (thay vì số 1) là một cải tiến nhỏ về code nhưng là một bước tiến lớn về trải nghiệm đối soát tài chính thực tế.4. Tác động (Impact): Khi Code góp phần xây dựng niềm tinTôi tin rằng những nỗ lực tối ưu hóa dù là nhỏ nhất cũng góp phần mang lại giá trị thực tế cho hệ thống HRMS:Độ chính xác tài chính: Đảm bảo sai số gần như bằng không khi nhân khối lượng lớn dữ liệu công và phụ cấp cho toàn bộ nhân sự tại tập đoàn.Tính linh hoạt & Chủ động: Bộ phận HR giờ đây có thể tự điều khiển các tham số tài chính biến động (như đơn giá hay tỷ giá hàng tháng) một cách ổn định mà không cần sự can thiệp kỹ thuật thường xuyên.Minh bạch hóa dòng tiền: Mọi thay đổi đều được lưu vết chi tiết qua Update_By và Update_Time, tạo ra một môi trường làm việc tin cậy, nơi mọi con số đều có "gốc gác" rõ ràng.5. Kết luận: Không ngừng chăm chút cho những giá trị nhỏTừng may mắn được ghi nhận tại thử thách AI for Good, tôi hiểu rằng công nghệ chỉ thực sự có giá trị khi nó phục vụ con người một cách tận tâm. Dự án HRMS này một lần nữa củng cố niềm tin trong tôi: Một Software Developer không chỉ là người viết ra những hệ thống phức tạp, mà là người biết trân trọng và chăm chút cho từng tính năng nhỏ nhất. Đừng chỉ dừng lại ở việc "xong task", hãy làm việc với tâm thế của một người làm chủ sản phẩm, bởi mỗi dòng code của chúng ta đều đang mang trên mình một phần trách nhiệm với cộng đồng.
challenge-post-cover
#1
6
163
Community's Choice
Winning badge
user-avatar
Philipp Eiselt
15/04/2026

The Accidenture Problem

Most meetings fail before they even start.Not because of bad ideas. Not because of the wrong people in the room. Because the person running it didn't do the work beforehand.Ever had a hard time getting a decision out of a meeting? Ever watched stakeholders glaze over somewhere around slide 14 — knowing full well your actual idea is on slide 25?That's not an attention problem. That's a preparation problem. Here's the uncomfortable truth:If you walk into a meeting trying to convince people of something — you've already lost and end in an  discussion about what the actual problem is rather then talking about the solution. Convincing is not a meeting activity. Convincing is homework.The meeting is where you collect the signature on work that was already done in the hallway, the Slack thread, the quick call on Tuesday, and the coffee you had with the one stakeholder you knew was going to push back.Align before the meeting. Use the meeting to decide.That's the whole playbook.And when you do it right, something almost magical happens:👉 The meeting ends early 👉 Decisions happen fast 👉 Nobody fights you in the roomBecause the resistance didn't disappear. You just dealt with it before anyone opened a calendar invite.For decision meetings, my rule is simple:3–5 slides. No more.Structure:Outcome → "We are going to do this."How → The approach, the solution, the planDecision → What needs approval, right now, in this roomThree lines per slide. Visuals over text walls.If your slide needs more than three lines to explain — you haven't finished thinking yet.And if you're on slide 25 before you get to the point — you haven't respected the room.But the real work happened before slide one.You talked to the key stakeholders earlyYou understood their concerns before they became objectionsYou incorporated their input so they already see themselves in the solutionYou gave them time to digest — so they're not processing and deciding at the same timeThat last part matters more than people realize.Nobody makes good decisions cold. When someone hears an idea for the first time in a meeting, their first instinct is protection, not progress. They poke holes. They ask for more time. They "want to take it offline."But when they've already had the conversation? When they've already raised their concern and seen it addressed?They walk in ready. The meeting becomes a formality — in the best possible way.This is also how you respect everyone in that room.Your developers, your consultants, your strategy leads, your junior team members — they're not there to watch a 45-minute presentation. They're there because their judgment matters.Pre-alignment means when they arrive, the context is already shared. Their energy goes toward the decision — not catching up, not sitting politely through slides that don't concern them.Great presenters inform. Great leaders close.The debate, the brainstorming, the messy back-and-forth — that belongs in the channels you already have.Do the work before the meeting. Keep it to 5 slides. Walk out with a decision.That's the difference between people who run meetings and people who actually get things done.The slide 25 line is the funniest and most relatable moment in this version — everyone has lived that meeting. Want me to now write the short series intro lines for all three posts so they feel like a cohesive LinkedIn series?
0
909
user-avatar
Philipp Eiselt
15/04/2026

1 Hour Meeting Blockers (And why you shouldn't like them)

Let me disappoint you:Your meetings are not fixing your delivery problem.They're often making it worse.The biggest issue isn't the tools. It isn't the framework. It isn't even the team.It's the calendar.Instead of clarity, we get:1-hour discussions that needed 10 minutesCircular updates where everyone nods and nothing movesRooms full of people waiting for a decision that never comesBlockers are "raised." Concerns are "noted." Actions are "taken offline."You have Slack. You have Teams. You have email, shared docs, and approximately 14 other ways to communicate before anyone opens a calendar invite.The brainstorming, the context, the messy back-and-forth — that belongs there. Not in a room with 10 people on the clock. By the time you're in the meeting, everyone should already know the problem. The meeting exists for one thing only: the decision.That's it. Walk in prepared. Walk out with an answer.In fast-paced environments — manufacturing floors, large enterprise IT, high-stakes portfolios — I learned something brutally simple:👉 A good update is 3 sentences.What happenedWhat we're doing about itHow we prevent it next time  / What do we learn from itIf I need more detail, I pull the right person into a follow-up. Everyone else goes back to work.Because here's what nobody talks about enough:The people most hurt by bad meetings aren't the managers sitting in them.It's the developers. The consultants. The strategy leads. The junior team members who came in with a sharp idea, waited 55 minutes for their moment, and then watched the meeting end without a single decision being made.That's not just a time problem. That's a talent problem.You hired experienced people. You brought in consultants. You have junior developers who are closer to the actual code than anyone in that room. And then you trap them in a loop of alignment theater — pulling them away from the exact work they were hired to do, and the exact thinking they were hired to bring.Great meetings don't just save time. They signal respect for the people in the room.Modern IT has normalized:Endless alignment before any actionBrainstorming that should have been a Slack threadOwnership so shared it belongs to nobodyThe truth is uncomfortable:Meetings have become the work, instead of enabling the work.Come prepared. Decide fast. Let people go build things.Execution doesn't need more discussion. It needs clarity, a decision, and one person responsible for it.Everything else is just a very organized way of going nowhere.
0
872
user-avatar
Philipp Eiselt
15/04/2026

The "Plot Twist" angle

Disclaimer: This is a high-level PM management experience on the view of agile projects in a strategic portfolio management situation. I'm a full agile believer------------------------------------------------------------------------------------------------------------------------------------There are few things more ironic than watching Agile turn back into Waterfall.After managing ~90 projects and programs per year in an IT portfolio, I've seen almost every "Agile transformation" playbook.Same pattern every time:New frameworksNew rolesMore ceremoniesMore alignment layersAnd yet… delivery slows down.Why?Because somewhere above your beautiful two-week sprints, a CFO is sitting at a spreadsheet doing a very Waterfall thing: approving an annual budget.Your team ships in quarters. Finance plans in fiscal years. And somewhere in a risk register nobody reads, a contingency budget is quietly held back "just in case", which means the money only flows when the year (or the deadline) is almost over.But it's not just the money.It's the deadlines too.In portfolio planning, every project gets a delivery window, because projects don't exist in a vacuum and resources have to be aligned on a multi year project roadmap. They exist to support something. A product launch. A market entry. A regulatory deadline.The new product goes live in October? Then the cybersecurity project must be done by September. Not "done enough." Done.Suddenly your "Agile" cybersecurity team isn't prioritizing based on risk or value anymore. They're prioritizing based on a date that was set in a portfolio spreadsheet eight months ago — before anyone wrote a single user story.The budget flows down like a waterfall. The deadline flows down like a waterfall. The scope follows quietly behind.Congrats. Your Agile project just became a Waterfall project in a hoodie.Real agility isn't a framework. It's what happens when funding, decisions, and delivery all move at the same speed.Everything else is just stand-ups with extra steps.
1
768