- Phát triển dựa trên AI agent đã vượt qua mức tự động hoàn thành để bước vào giai đoạn thực hiện công việc thực tế, khiến vai trò và cấu trúc gia nhập của kỹ nghệ phần mềm rung chuyển nhanh chóng
- Sự sụt giảm tuyển dụng junior và tổ chức lấy hiệu suất làm trung tâm xuất hiện đồng thời, làm lan rộng mô hình trong đó một số ít nhân sự dày dạn kinh nghiệm xử lý khối lượng công việc lớn hơn bằng công cụ AI
- Khả năng kiểm chứng, thiết kế và phán đoán hơn là bản thân việc viết mã ngày càng trở nên quan trọng, và năng lực con người trong việc xử lý đầu ra của AI đang nổi lên như yếu tố khác biệt cốt lõi
- Nhân tài hình chữ T (chuyên môn sâu + khả năng thích ứng rộng) có lợi thế trong môi trường AI thay đổi nhanh, và xu hướng đòi hỏi đồng thời chiều sâu ở một lĩnh vực cùng khả năng thích ứng đa lĩnh vực đang tăng tốc
- Cùng với sự suy yếu của lộ trình truyền thống lấy bằng CS làm trung tâm, hệ sinh thái học tập đa tầng như portfolio, bootcamp và đào tạo do doanh nghiệp dẫn dắt đang mở rộng
1. Vấn đề của lập trình viên junior
- Khi AI tự động hóa công việc cấp độ đầu vào, xu hướng tuyển dụng lập trình viên junior giảm mạnh tồn tại song song với xu hướng nhu cầu tăng trở lại khi phần mềm lan rộng sang mọi ngành
- Trong nghiên cứu của Harvard trên 62 triệu người lao động, khi doanh nghiệp áp dụng AI tạo sinh thì tuyển dụng lập trình viên junior giảm khoảng 9-10%, trong khi tuyển dụng senior hầu như không bị ảnh hưởng
- Các công ty Big Tech đã cắt giảm 50% tuyển dụng người mới trong 3 năm qua
- Cách nói của một kỹ sư: "Nếu AI coding agent rẻ hơn, tại sao phải trả 90.000 USD cho một junior?"
- Các yếu tố vĩ mô như lãi suất tăng và điều chỉnh hậu đại dịch vào khoảng năm 2022 đã tác động trước cả khi công cụ AI phổ biến, nhưng AI đang làm xu hướng này tăng tốc
- Một kỹ sư senior với hỗ trợ AI có thể xử lý khối lượng công việc trước đây cần cả một nhóm nhỏ
- Kịch bản lạc quan: AI có thể làm nhu cầu lập trình viên bùng nổ không chỉ trong công nghệ mà còn ở y tế, nông nghiệp, sản xuất, tài chính và mọi ngành khác
- Thay vì thay thế lập trình viên, AI đóng vai trò bộ khuếch đại lực (force multiplier) giúp mở rộng công việc phát triển sang các lĩnh vực trước đây chưa từng tuyển coder
- Có thể xuất hiện nhiều vai trò cấp độ đầu vào kiểu mới, nơi các lập trình viên “AI-native” nhanh chóng xây dựng tự động hóa và tích hợp cho những ngách cụ thể
- Cục Thống kê Lao động Hoa Kỳ vẫn dự báo tăng trưởng khoảng 15% cho nghề phần mềm trong giai đoạn 2024-2034
- Rủi ro dài hạn của kịch bản bi quan: junior hôm nay sẽ là kỹ sư senior và lãnh đạo kỹ thuật ngày mai, nên nếu cắt đứt hoàn toàn pipeline nhân tài thì sau 5-10 năm sẽ xuất hiện khoảng trống lãnh đạo
- Các cựu binh trong ngành gọi đây là "suy thoái chậm (slow decay)": một hệ sinh thái ngừng nuôi dưỡng lớp kế cận
-
Lời khuyên cho lập trình viên junior
- Cần có độ thành thạo với AI và tính đa năng
- Phải chứng minh rằng một junior + AI có thể tạo ra đầu ra ở mức của một nhóm nhỏ
- Dùng các AI coding agent như Cursor, Antigravity, Claude Code, Gemini CLI để xây dựng tính năng lớn hơn, nhưng vẫn phải hiểu và giải thích được phần lớn mã nguồn
- Tập trung vào các kỹ năng AI khó thay thế: giao tiếp, phân rã vấn đề, kiến thức miền
- Cân nhắc các vai trò lân cận như QA, DevRel, phân tích dữ liệu làm điểm vào
- Xây dựng portfolio bao gồm các dự án tích hợp AI API
- Tích lũy kinh nghiệm dưới nhiều hình thức như thực tập nghề, internship, hợp đồng ngắn hạn, đóng góp mã nguồn mở
- Không phải là một người mới nữa cần được đào tạo, mà phải trở thành một kỹ sư có thể triển khai ngay: học nhanh và đóng góp ngay lập tức
-
Lời khuyên cho lập trình viên senior
- Khi junior giảm đi, nhiều việc đơn giản và việc lặp lại hơn sẽ dồn về senior
- Hãy tận dụng tự động hóa cho công việc thường nhật, nhưng đừng làm mọi thứ một mình
- Thiết lập CI/CD, linter, kiểm thử dựa trên AI để chặn sớm các vấn đề cơ bản
- Đảm nhận vai trò mentor không chính thức thông qua mã nguồn mở hoặc hướng dẫn đồng nghiệp ở bộ phận khác
- Cần truyền đạt rõ cho ban lãnh đạo về rủi ro dài hạn của đội ngũ toàn senior
- Chuẩn bị onboarding hiệu quả và cấu trúc phân việc dựa trên AI cho trường hợp nhu cầu junior tăng trở lại
- Tập trung giá trị vào vai trò khuếch đại đầu ra và tác động của cả nhóm, chứ không chỉ năng suất cá nhân
2. Vấn đề kỹ năng
- Hiện tại 84% lập trình viên sử dụng công cụ hỗ trợ AI thường xuyên
- Khi đối mặt với bug hoặc tính năng mới, thay vì viết mã từ đầu thì cách làm phổ biến là viết prompt và ghép các đoạn mã do AI tạo ra
- Các coder cấp độ đầu vào đang bỏ qua “cách khó”: có thể họ chưa từng tự xây cây tìm kiếm nhị phân từ đầu hoặc trực tiếp debug memory leak
- Trọng tâm năng lực đang dịch chuyển từ triển khai thuật toán sang đặt câu hỏi đúng cho AI và kiểm chứng đầu ra
- Một số kỹ sư senior lo ngại xu hướng này có thể tạo ra một thế hệ không thể tự lập trình độc lập, tức quá trình mất kỹ năng
- Mã do AI tạo ra có thể chứa bug tinh vi và lỗ hổng bảo mật mà lập trình viên ít kinh nghiệm dễ bỏ sót
-
Kịch bản thay thế
- AI xử lý 80% công việc mang tính lặp lại và thường nhật, còn con người tập trung vào 20% vấn đề khó nhất
- Thiết kế kiến trúc, tích hợp phức tạp, thiết kế sáng tạo, xử lý edge case
- Sự phổ biến của AI không làm kiến thức sâu trở nên vô dụng mà ngược lại còn khiến chuyên môn của con người quan trọng hơn
- Khi mọi người đều có quyền truy cập AI coding agent, điều phân biệt lập trình viên xuất sắc là biết khi nào AI sai hoặc chưa tối ưu
- Như lời một kỹ sư senior: "Kỹ sư phần mềm giỏi nhất không phải là người code nhanh nhất mà là người biết khi nào phải nghi ngờ AI"
-
Sự thay đổi của lập trình
- Việc viết boilerplate giảm đi, trong khi tỷ trọng rà soát lỗi logic, lỗ hổng bảo mật và sự không khớp với yêu cầu trong đầu ra AI tăng lên
- Năng lực cốt lõi: kiến trúc phần mềm, thiết kế hệ thống, tinh chỉnh hiệu năng, phân tích bảo mật
- AI có thể tạo ứng dụng web rất nhanh, nhưng kỹ sư chuyên môn sẽ kiểm tra việc tuân thủ các thực tiễn bảo mật tốt nhất và khả năng phát sinh race condition
- Trong cộng đồng lập trình viên năm 2025, tranh luận chia thành hai phía
- Quan điểm cho rằng hầu như không còn viết mã bằng tay và cả phỏng vấn coding cũng phải thay đổi
- Quan điểm cho rằng nếu bỏ qua nền tảng cơ bản thì khi kết quả AI hỏng sẽ phải vật lộn với nhiều vấn đề hơn
- Toàn ngành đang hình thành kỳ vọng về những kỹ sư vừa có tốc độ của AI vừa có sự khôn ngoan nền tảng để kiểm soát nó
-
Lời khuyên cho lập trình viên junior
- Hãy dùng AI như công cụ học tập, không phải công cụ để phụ thuộc
- Phân tích vì sao đoạn mã AI gợi ý lại hoạt động và xác định các điểm yếu tiềm ẩn
- Định kỳ tắt hỗ trợ AI và tự triển khai các thuật toán cốt lõi từ đầu
- Tập trung vào năng lực nền tảng CS: cấu trúc dữ liệu, thuật toán, độ phức tạp thời gian/không gian, quản lý bộ nhớ
- Triển khai một dự án hai lần (cùng AI và không có AI) rồi so sánh
- Học một cách có hệ thống về thiết kế prompt và cách sử dụng công cụ
- Hình thành thói quen kiểm thử nghiêm ngặt: viết unit test, đọc stack trace thay vì hỏi AI ngay lập tức, và làm quen với debugger
- Củng cố các năng lực bổ trợ mà AI không thể sao chép: cảm quan về thiết kế hệ thống, trực giác về trải nghiệm người dùng, tư duy về vấn đề đồng thời
-
Lời khuyên cho lập trình viên senior
- Định vị mình ở vai trò chịu trách nhiệm về chất lượng và độ phức tạp
- Củng cố chuyên môn cốt lõi: kiến trúc, bảo mật, scaling, kiến thức miền
- Mô hình hóa các hệ thống có thành phần AI và liên tục rà soát các kịch bản thất bại
- Luôn cập nhật nhận thức về các kiểu lỗ hổng và dạng vấn đề thường gặp trong mã do AI tạo ra
- Chấp nhận vai trò mentor và reviewer: xác định phạm vi được phép dùng AI và những khu vực bắt buộc review thủ công (như thanh toán hoặc mã liên quan đến an toàn)
- Giao các công việc kết nối API lặp đi lặp lại cho tổ hợp junior+AI, và tập trung vào vai trò sáng tạo, chiến lược trong việc quyết định nên thiết kế API nào
- Tiếp tục đầu tư vào kỹ năng mềm như giao tiếp và hiểu biết liên miền
- Tập trung vào những yếu tố khiến lập trình viên con người không thể bị thay thế: phán đoán lành mạnh, tư duy ở cấp độ hệ thống, năng lực dẫn dắt
3. Vấn đề vai trò
- Có hai khả năng cùng tồn tại: vai trò của lập trình viên bị thu hẹp thành kiểm toán viên giới hạn giám sát mã do AI tạo ra, hoặc được mở rộng thành người điều phối cốt lõi thiết kế và điều phối các hệ thống do AI dẫn dắt
- Kịch bản cực đoan 1:
- Trách nhiệm sáng tạo của lập trình viên bị thu hẹp, tập trung vào kiểm toán và giám sát đầu ra của AI hơn là xây dựng phần mềm
- Các hệ thống AI (hoặc "lập trình viên công dân" dùng nền tảng no-code) phụ trách production; lập trình viên con người xem xét mã được tạo tự động, kiểm tra lỗi, thiên lệch, vấn đề bảo mật và phê duyệt triển khai
- Người tạo ra sản phẩm biến thành người kiểm tra, khi niềm vui sáng tạo mã được thay thế bằng nỗi lo của quản trị rủi ro
- Một số kỹ sư đang dành nhiều thời gian hơn để đánh giá pull request do AI tạo ra và quản lý pipeline tự động hóa thay vì viết mã từ đầu
- Lời của một kỹ sư: "Tôi không muốn kết thúc như một lao công dọn mã chỉ đi dọn những gì AI ném ra"
-
Tương lai thay thế: người điều phối cấp cao
- Lập trình viên tiến hóa thành người điều phối cấp cao kết hợp trách nhiệm kỹ thuật, chiến lược và đạo đức
- Nhờ các "worker" AI, lập trình viên con người đảm nhiệm vai trò kiến trúc sư hoặc tổng thầu:
- Thiết kế cấu trúc toàn bộ hệ thống
- Quyết định giao tác vụ nào cho AI nào hoặc thành phần phần mềm nào
- Kết hợp nhiều thành phần để tạo thành giải pháp
- Trong môi trường phát triển agentic, kỹ sư đảm nhận vai trò gần với nhà soạn nhạc chỉ huy một dàn hòa tấu gồm các tác nhân AI và dịch vụ
- Không trực tiếp viết mọi dòng mã, nhưng định nghĩa giai điệu của kiến trúc, giao diện và tương tác giữa các agent
- Một dạng kết hợp vai trò giữa kỹ sư phần mềm, kiến trúc sư hệ thống và chiến lược gia sản phẩm
- Góc nhìn lạc quan: khi AI xử lý các công việc đơn điệu, vai trò của lập trình viên tất yếu dịch chuyển sang các hoạt động giá trị cao. Công việc có thể trở nên thú vị hơn
- Hướng đi sẽ phụ thuộc vào cách tổ chức tích hợp AI
- Công ty xem AI là công cụ thay thế lao động: thu hẹp đội ngũ phát triển, yêu cầu các kỹ sư còn lại duy trì hệ thống tự động hóa
- Công ty xem AI là công cụ khuếch đại năng lực đội ngũ: giữ nguyên nhân sự nhưng để mỗi kỹ sư giải quyết những vấn đề lớn hơn và các dự án tham vọng hơn
-
Lời khuyên cho lập trình viên junior
- Tìm cách mở rộng vai trò vượt ra ngoài phạm vi chỉ viết mã đơn thuần
- Xây dựng năng lực mang tính kiểm toán viên và quản trị viên như viết test case, thiết lập pipeline CI, giám sát ứng dụng
- Duy trì trải nghiệm tự tay làm thông qua các dự án cá nhân để giữ động lực sáng tạo
- Phát triển tư duy hệ thống: hiểu cách các thành phần giao tiếp, học các đặc điểm của một API được thiết kế tốt
- Liên tục học qua blog kỹ thuật và các case study về thiết kế hệ thống
- Ngoài tạo mã, mở rộng hiểu biết về toàn bộ công cụ tự động hóa như framework điều phối và AI API
- Tạo thói quen viết tài liệu rõ ràng như thể đang giải thích cho người khác
- Hỏi senior không chỉ “mã có chạy không” mà còn “có bỏ sót yếu tố quan trọng nào không”
- Chuẩn bị để phát triển thành người kiểm chứng, nhà thiết kế và người giao tiếp, chứ không chỉ là coder
-
Lời khuyên cho lập trình viên senior
- Chủ động đảm nhận trách nhiệm về lãnh đạo và kiến trúc
- Định nghĩa các tiêu chuẩn và framework để AI và junior có thể làm theo
- Xác định checklist chất lượng mã và chính sách sử dụng AI có đạo đức
- Luôn cập nhật nhận thức về các vấn đề tuân thủ và bảo mật liên quan đến phần mềm do AI tạo ra
- Tập trung vào chuyên môn thiết kế và tích hợp hệ thống; lập bản đồ luồng dữ liệu giữa các dịch vụ và xác định trước các điểm lỗi
- Làm quen với các nền tảng điều phối (Kubernetes, Airflow, framework serverless, công cụ điều phối agent)
- Tăng cường vai trò cố vấn kỹ thuật: nhiều code review hơn, thảo luận thiết kế và hướng dẫn kỹ thuật
- Rèn luyện khả năng nhanh chóng đánh giá mã của người khác (hoặc thứ gì đó khác) và đưa ra phản hồi ở cấp độ cao
- Phát triển cảm quan về sản phẩm và kinh doanh: hiểu vì sao một tính năng được tạo ra và khách hàng coi trọng điều gì
- Duy trì năng lượng sáng tạo thông qua prototype, hackathon và khám phá công nghệ mới
- Chuyển đổi từ người viết mã sang người chỉ huy hệ thống
4. Vấn đề chuyên gia vs generalist
- Chuyên gia chỉ đặc hóa trong một phạm vi hẹp có nguy cơ mảng ngách của mình bị tự động hóa hoặc nhanh chóng mất giá trị
- Trong môi trường AI thay đổi nhanh, kỹ sư hình chữ T (khả năng thích ứng rộng + một hoặc hai kỹ năng chuyên sâu) có lợi thế
- Trong bối cảnh mô hình, công cụ và framework nổi lên rồi suy tàn nhanh chóng, đặt cược sự nghiệp vào một tech stack duy nhất là rủi ro
- Chuyên gia framework legacy có thể đối mặt với nhu cầu sụt giảm mạnh ngay khi công cụ AI mới xử lý được cùng công việc với mức can thiệp tối thiểu của con người
- Lập trình viên chỉ chuyên sâu hẹp vào "một stack·framework·lĩnh vực sản phẩm cụ thể" có thể mất phương hướng khi lĩnh vực đó suy thoái hoặc bị chồng lấn
- Giống như lập trình viên COBOL, lập trình viên Flash, hay các chuyên gia game engine di động đã không chuyển hướng khi ngành thay đổi
- Điểm khác so với trước đây là tốc độ thay đổi; tự động hóa bằng AI có thể gần như ngay lập tức biến một số tác vụ lập trình cụ thể thành việc tầm thường, làm suy yếu các vai trò xoay quanh những tác vụ đó
- Chuyên gia chỉ biết một thứ duy nhất (tinh chỉnh vi mô truy vấn SQL, cắt thiết kế Photoshop sang HTML) có thể phải đối mặt với tình huống AI xử lý 90% công việc đó
- Thị trường tuyển dụng chạy theo các ngách mới nhất: vài năm trước còn cần chuyên gia hạ tầng cloud, còn hiện nay nhu cầu với kỹ sư AI/ML đang tăng vọt
- Những người chỉ chuyên hóa hẹp vào kỹ năng của ngày hôm qua sẽ cảm nhận sự chững lại trong sự nghiệp khi sức hút của ngách đó biến mất
-
Lập trình viên hình chữ T: kết quả thay thế
- "Chuyên gia đa năng" hoặc lập trình viên hình chữ T: chuyên môn sâu ở một hoặc hai lĩnh vực (nét dọc) + sự quen thuộc rộng với nhiều lĩnh vực khác (nét ngang)
- Những kỹ sư này đóng vai trò "chất keo" trong các nhóm đa ngành: giao tiếp với nhiều kiểu chuyên gia khác nhau và lấp khoảng trống khi cần
- Các công ty ưa chuộng nhân sự có năng lực cốt lõi mạnh + có thể xử lý trên toàn stack, thay vì lập trình viên quá nông hoặc quá tập trung hẹp
- Kỹ sư hình chữ T có thể giải quyết vấn đề end-to-end mà không cần chờ handoff, từ đó nâng cao hiệu suất
- Kiến thức từ các lĩnh vực khác nhau kết hợp lại, mở rộng khả năng đổi mới
- Công cụ AI thực tế còn khuếch đại generalist nhiều hơn: một người có thể xử lý nhiều component dễ dàng hơn
- Kỹ sư backend có thể triển khai UI cơ bản với sự hỗ trợ của AI
- Lập trình viên frontend có thể dùng AI để tạo boilerplate phía server
- Trong môi trường giàu AI, việc một người bao quát phạm vi rộng hơn trở nên dễ dàng hơn
- Ngược lại, nhân sự chỉ có chuyên môn sâu có thể bị giới hạn con đường mở rộng nếu ngách của họ bị tự động hóa một phần
- Hiện tại khoảng 45% vị trí kỹ sư yêu cầu năng lực thành thạo đa domain
- Lập trình + kiến thức hạ tầng cloud
- Frontend + hiểu biết cơ bản về ML
-
Lời khuyên cho lập trình viên junior
- Chủ động xây dựng nền tảng rộng ngay từ đầu sự nghiệp
- Dù được tuyển cho một vai trò cụ thể, vẫn nên liên tục quan sát các lĩnh vực ngoài silo đó
- Lập trình viên mobile nên nắm nền tảng backend, còn lập trình viên frontend nên có kinh nghiệm triển khai server đơn giản
- Học các công cụ triển khai và vận hành như Docker, GitHub Actions
- Chọn một hoặc hai lĩnh vực mà bản thân thực sự hứng thú để đào sâu, từ đó hình thành chuyên môn theo chiều dọc
- Xây dựng thương hiệu lai
- Ví dụ: lập trình viên full-stack tập trung vào bảo mật cloud
- Ví dụ: lập trình viên frontend có chuyên môn UX
- Tận dụng công cụ AI để học domain mới nhanh hơn
- Khi mới bắt đầu với backend, có thể dùng AI để tạo mã API cơ bản rồi hiểu cấu trúc của nó
- Biến reskill liên tục thành thói quen hằng ngày
- Tham gia hackathon hoặc các dự án cross-functional để buộc bản thân mở rộng sang vai trò generalist
- Hãy nói với quản lý rằng bạn muốn tham gia vào các phần việc khác của dự án
- Ở giai đoạn đầu sự nghiệp, khả năng thích ứng tự thân là lợi thế cạnh tranh mạnh nhất
-
Lời khuyên cho lập trình viên senior
- Nắm rõ bản đồ kỹ năng của bản thân
- Lĩnh vực chuyên môn mà bạn có chiều sâu
- Những domain lân cận mà bạn mới chỉ tiếp xúc bề mặt
- Chọn một hoặc hai lĩnh vực liền kề để nâng lên mức có thể đối thoại chuyên môn
- Nếu là chuyên gia cơ sở dữ liệu, hãy làm quen với framework frontend hiện đại hoặc học nền tảng về pipeline ML
- Tận dụng hỗ trợ của AI để thực hiện các dự án thử nghiệm nhỏ trong những lĩnh vực mình còn yếu
- Kết nối chuyên môn hiện có của mình với bối cảnh mới
- Nếu là chuyên gia hiệu năng web app, hãy khám phá cách kỹ năng đó có thể áp dụng vào tối ưu suy luận ML
- Thiết kế vai trò của mình theo hướng cross-functional hơn hoặc chủ động đề xuất các vị trí như vậy
- Tình nguyện đảm nhận vai trò người chịu trách nhiệm tích hợp trong các dự án có nhiều lĩnh vực đan xen
- Mentor cho người khác để lan tỏa kỹ năng, đồng thời học thêm góc nhìn mới và những điều mới từ họ
- Cập nhật CV để thể hiện rõ tính đa năng và khả năng mở rộng
- Dựa trên kinh nghiệm tích lũy để hệ thống hóa các mẫu lặp lại và tri thức có thể chuyển giao
- Hãy trở thành hình mẫu chữ T: có chiều sâu trong chuyên môn (tạo uy tín và sự tự tin) đồng thời tích cực mở rộng theo chiều ngang
5. Vấn đề giáo dục
- Chưa rõ liệu bằng khoa học máy tính (CS) có tiếp tục là tiêu chuẩn vàng hay sẽ bị những lộ trình học nhanh hơn như bootcamp, nền tảng online và chương trình đào tạo do nhà tuyển dụng dẫn dắt thay thế
- Cũng có khả năng đại học rơi vào thế khó theo kịp tốc độ thay đổi của ngành vốn biến động theo từng tháng
-
Kịch bản 1: Đại học vẫn quan trọng nhưng khó duy trì tính liên quan
- Bằng cấp vẫn là điều kiện cơ bản, nhưng bị tụt lại trước tốc độ thay đổi do chu kỳ cập nhật chương trình học chậm và quy trình phê duyệt mang tính quan liêu
- Sinh viên và nhà tuyển dụng cảm thấy giới học thuật tách rời khỏi ngành, dạy lý thuyết hoặc thực hành lỗi thời không chuyển hóa thành kỹ năng công việc
- Nhiều sinh viên mới tốt nghiệp cho biết họ chưa từng được học về điện toán đám mây, DevOps hiện đại hay công cụ AI trong chương trình đào tạo
- Nếu đại học đòi hỏi đầu tư lớn về thời gian và tài chính nhưng lại cung cấp nền giáo dục ít liên quan, họ có nguy cơ bị xem là người gác cổng đắt đỏ
- Nhiều công ty vẫn yêu cầu bằng cử nhân theo quán tính, nên gánh nặng bị chuyển sang sinh viên, những người phải lấp khoảng trống bằng bootcamp, khóa học online và dự án tự học
- Nợ vay sinh viên là rất lớn, trong khi các công ty chi hàng tỷ USD để đào tạo sinh viên mới ra trường do họ thiếu kỹ năng cần thiết cho công việc
- Đại học có thể bổ sung lớp học về đạo đức AI hoặc môn tự chọn về điện toán đám mây, nhưng đến lúc triển khai thực tế thì công cụ trong ngành có thể đã thay đổi
-
Kịch bản 2: Giáo dục truyền thống dần bị thay thế bởi hệ thống mới
- Bootcamp lập trình, chứng chỉ online, portfolio tự học, học viện đào tạo do nhà tuyển dụng tạo ra
- Các công ty lớn như Google và IBM đã xóa bỏ yêu cầu bằng cấp với một số vị trí kỹ thuật nhất định
- Tính đến năm 2024, khoảng 45% doanh nghiệp có kế hoạch bỏ yêu cầu bằng cử nhân cho một số vị trí
- Bootcamp bước vào giai đoạn trưởng thành, đào tạo ra nhân lực được tuyển vào các công ty hàng đầu cùng với sinh viên tốt nghiệp CS
- Các chương trình này ngắn hơn (chuyên sâu 12 tuần) và tập trung vào kỹ năng thực tiễn: framework hiện hành, dịch vụ đám mây, làm việc nhóm
- Tiêu chí tuyển dụng chuyển từ bằng cấp sang portfolio thực tế, micro-credential và kỹ năng đã được kiểm chứng
- Một portfolio GitHub vững chắc hoặc chứng chỉ có uy tín có thể trở thành cách để vượt qua yêu cầu bằng cấp
- Đào tạo do nhà tuyển dụng dẫn dắt đang mở rộng: công ty tự xây pipeline đào tạo hoặc thiết lập quan hệ đối tác trực tiếp với bootcamp
- Một số công ty Big Tech đã bắt đầu vận hành chương trình đào tạo nội bộ kiểu “đại học” dành cho nhân tài phi truyền thống
- Bản thân AI cũng mang đến phương thức học mới: AI tutor, sandbox lập trình tương tác và môi trường học tập cá nhân hóa được cung cấp ngoài trường đại học
- Hệ sinh thái học tập mô-đun vượt trội hơn bằng đại học 4 năm chi phí cao về khả năng tiếp cận và tính linh hoạt
- Người học ở những quốc gia không có đại học CS mạnh vẫn có thể học cùng khóa Coursera như người ở Silicon Valley và xây dựng cùng loại portfolio
-
Lời khuyên cho người muốn theo nghề/lập trình viên junior
- Dù đang theo học chương trình CS truyền thống, đừng giả định rằng chỉ vậy là đủ
- Bổ sung việc học bằng các dự án thực tế: xây dựng ứng dụng web, đóng góp cho mã nguồn mở
- Tích cực tận dụng thực tập hoặc chương trình hợp tác giữa nhà trường và doanh nghiệp
- Bù đắp các chủ đề mới còn thiếu trong chương trình bằng những nền tảng online
- Lấy chứng chỉ ngành như GCP, AWS, Azure để phát tín hiệu rõ ràng về năng lực thực chiến
- Nếu đang tự học hoặc tham gia bootcamp, hãy tập trung vào portfolio có sức thuyết phục: ít nhất một dự án thực chất được tài liệu hóa tốt
- Hoạt động trong cộng đồng lập trình viên: đóng góp mã nguồn mở, viết bài kỹ thuật
- Networking qua LinkedIn, meetup và các sự kiện dành cho lập trình viên
- Tìm kiếm sự giới thiệu và tín nhiệm từ các lập trình viên giàu kinh nghiệm
- Tư duy với tiền đề là phải học liên tục: vòng đời hiệu lực của kỹ năng kỹ thuật rất ngắn
- Chủ động dùng AI như một gia sư cá nhân
- Chứng minh kỹ năng bằng cách cụ thể: portfolio, chứng chỉ và khả năng nói một cách sắc sảo về công việc của mình sẽ mở ra cánh cửa
-
Lời khuyên cho lập trình viên senior và lãnh đạo
- Không thể trụ mãi chỉ nhờ chứng chỉ hay bằng cấp trong quá khứ
- Đầu tư vào học tập liên tục: khóa học online, workshop, hội nghị, chứng chỉ
- Xác thực kỹ năng theo cách mới; chuẩn bị cho các cuộc phỏng vấn đánh giá năng lực hiện tại qua vấn đề thực tế
- Duy trì các dự án phụ sử dụng công nghệ mới
- Đánh giá lại yêu cầu công việc: có thực sự cần bằng CS hay chỉ cần kỹ năng cụ thể và năng lực học hỏi?
- Thúc đẩy tuyển dụng dựa trên kỹ năng để mở rộng nguồn nhân lực
- Hỗ trợ các chương trình đào tạo nội bộ hoặc vai trò kiểu học việc
- Hỗ trợ các vòng tròn cố vấn cho lập trình viên junior không có nền tảng chính quy
- Tăng cường giao lưu với giới học thuật và giáo dục thay thế: hội đồng tư vấn, diễn thuyết khách mời, phản hồi về khoảng trống trong chương trình đào tạo
- Phản ánh điều đó vào sự phát triển sự nghiệp của chính mình: thành quả thực tế và học tập liên tục quan trọng hơn bằng cấp bổ sung
Điểm cốt lõi xuyên suốt
- Các kịch bản được nêu ra không loại trừ lẫn nhau; thực tế sẽ diễn ra dưới dạng pha trộn các yếu tố của từng kịch bản
- Một số công ty đang giảm tuyển junior, trong khi công ty khác lại mở rộng đội ngũ phát triển ở các lĩnh vực mới
- AI càng tự động hóa việc viết mã thường nhật, tiêu chuẩn chất lượng cho phần code do con người trực tiếp xử lý lại càng tăng
- Lập trình viên có thể làm việc theo kiểu buổi sáng rà soát đầu ra do AI tạo ra, buổi chiều thiết kế kiến trúc ở cấp độ cao
- Bối cảnh xuyên suốt là nhận thức rằng thay đổi là yếu tố duy nhất không thay đổi
- Càng duy trì đồng thời cả việc theo dõi xu hướng công nghệ lẫn góc nhìn hoài nghi với chúng, càng ít có khả năng bị cuốn vào kỳ vọng quá mức hoặc bi quan quá đà
- Càng liên tục cập nhật công nghệ, mở rộng năng lực và tập trung vào những thế mạnh riêng của con người như sáng tạo, tư duy phản biện và hợp tác, càng ít bị rơi khỏi dòng chảy
- Dù một thời kỳ phục hưng của lập trình xuất hiện hay kỷ nguyên code tự tự viết đến, nhu cầu đối với những kỹ sư nhìn được bức tranh tổng thể, học hỏi liên tục và áp dụng công nghệ để giải quyết vấn đề thực tế sẽ luôn tồn tại
- Cách tốt nhất để dự đoán tương lai là chủ động kỹ nghệ hóa nó
9 bình luận
Dù Fortran ra đi, C++ xuất hiện, Java xuất hiện hay Next.js xuất hiện, cũng giống như SWE cần phải biết CS, tôi nghĩ dù AI xuất hiện thì kiến thức nền tảng về CS vẫn là điều bắt buộc. Cuối cùng chỉ là công cụ thay đổi, còn bản chất thì vẫn vậy... Một khi đã ở trong ngành IT thì việc tiếp tục học hỏi là số phận không thể tránh khỏi..
Hay quá. Đây là bài mà từ junior đến senior đều nên đọc.
Mình nghĩ từ năm ngoái đến năm sau sẽ là giai đoạn chuyển đổi lớn nhất của kỹ nghệ phần mềm.
Nếu bỏ lỡ dòng chảy của thời đại ở đây, có khi sẽ bị tụt lại rất xa.
Tôi cũng thỉnh thoảng nghĩ như vậy. Không có hồi kết.
"Đôi khi tôi tự hỏi liệu việc chọn phát triển phần mềm có phải là một quyết định sai lầm không
Dù đã trở thành senior vẫn vẫn bị đòi hỏi phải tiếp tục học và làm dự án side project
Không biết đến bao giờ mới có thể có sở thích riêng hay đời sống xã hội nữa"
Nếu lúc này bạn vẫn chưa tích hợp AI đủ sâu vào công việc, thì có cảm giác FOMO một chút cũng có vẻ là điều tốt.
Tôi nghĩ đây là một bài viết có insight thật sự.
Tôi là một lập trình viên senior đang làm việc thực tế với 23 năm kinh nghiệm, và từ nửa cuối năm 2024 đến nay đang thử đẩy việc phát triển bằng LLM và vibe coding đến mức cực hạn. Tôi đang ứng dụng nó theo rất nhiều cách khác nhau, từ AOS/iOS, full-stack web service, batch cho tới fine-tuning mô hình, và thường chạy khoảng 5 agent để làm việc.
Tôi không ngờ mình lại có thể trải nghiệm cảm giác mải mê lập trình đến mức ngủ quên, điều mà tôi chưa từng có lại từ đầu những năm 2000 haha.
Nói ngắn gọn, suy nghĩ gần đây của tôi là lĩnh vực phát triển phần mềm giờ đây đã trở thành thứ mà ai cũng có thể làm.
Sự phát triển của các coding agent sẽ còn tăng tốc hơn nữa, và việc phát triển sẽ ngày càng dễ dàng, tiện lợi hơn. Nó rồi sẽ ở mức như dùng Excel hay soạn tài liệu Word vậy.
Tôi đồng ý với ý của Andrej Karpathy rằng ngôn ngữ lập trình tốt nhất là "tiếng Anh".
Về cá nhân, tôi đang cố đọc nhiều hơn các paper AI và viết nhiều hơn để diễn đạt một cách logic. (Tôi cũng đang cố gắng trò chuyện với AI nhiều hơn nữa.)
Dạo này thực sự rất hào hứng.
Bài viết rất sâu sắc, tôi cứ đọc đi đọc lại mãi.
Sẽ là thời đại mà Architecture, QA Engineer sống sót. Việc đánh giá xem điều này có đúng hay không....
Ý kiến trên Hacker News
Thành thật mà nói thì lúc này mọi thứ đều giống như một canh bạc khổng lồ
Công nghệ, học vấn, quan hệ hay công việc đều không đảm bảo được nền tảng ổn định cho cuộc sống
Những người đã trả nợ, mua nhà và xây dựng gia đình thì như đang đem sự an nhàn trong tương lai ra đánh cược, còn người mới ra trường với khoản vay học phí và nền tảng xã hội bấp bênh thì như đang cược cả cuộc đời mình
Giờ có gia đình rồi nên không thể dễ dàng chuyển chỗ ở hay sống ở chế độ tiết kiệm, vì thế thấy bất an hơn rất nhiều
Dù là lập trình viên hay không, ai cũng đang sống trong nỗi lo sẽ sớm bị thay thế
Kinh tế Mỹ cũng rất tệ nên đây là giai đoạn khó sống
Cũng có phần tài chính, nhưng còn là nỗi sợ mất đi một công việc ổn định mà trước đây ngay cả người thiếu kỹ năng xã hội vẫn có thể có được
4 năm rưỡi nữa thì tôi có thể đạt được mức độc lập tài chính cơ bản, nên cũng tò mò không biết khi đó mình sẽ cảm thấy thế nào
25 tuổi thì có thể bắt đầu lại, nhưng nếu 42 tuổi và có gia đình thì chắc đó sẽ là một chuyện căng thẳng thật sự
Thời điểm tốt nhất là đầu sự nghiệp, và thời điểm tốt thứ hai là ngay lúc này
Theo kinh nghiệm của tôi, LLM không hẳn tự động hóa việc lập trình mà là một công cụ giúp tăng tốc
Tôi hình dung giải pháp mong muốn trong đầu, rồi giải thích cho LLM theo từng khối để dần xây dựng mã
Điểm lớn nhất là giảm nhu cầu phải tra cứu hàm thư viện hay cú pháp
Vấn đề là mã tệ đôi khi vẫn đủ sinh lời
Nó ổn cho prototype hay proof of concept, nhưng không phù hợp với mã có thể bảo trì
Giống như phép so sánh giữa ghế băng và đập nước: ai cũng có thể làm ghế băng, nhưng đập nước thì không
LLM khiến việc tạo mã chất lượng thấp trở nên dễ dàng, nhưng mã chất lượng cao vẫn luôn cần thiết
Nhưng trên HN thì chỉ toàn những câu chuyện phóng đại kiểu “vibecoding”, nên rất khó có được một thảo luận thực chất
Đúng là LLM đang phát triển theo hướng có thể làm việc tự chủ hơn, nhưng tốc độ đó là dần dần
Ngược lại, thay đổi thật sự là việc những người không phải developer lần đầu tiên có thể tự động hóa công việc của chính họ
Điều này sẽ ảnh hưởng lớn tới toàn ngành, và rốt cuộc cũng gần hơn với mục đích nguyên bản của máy tính
Dùng AI để tăng số dòng code không phải là thành tựu, mà ngược lại là đang tích lũy nợ kỹ thuật
Rust đặc biệt hữu ích
Tôi có một trải nghiệm nghịch lý là hệ thống càng lớn thì việc phát triển lại càng dễ hơn
Nếu AI tự động hóa công việc của junior, thì đó chỉ là 'định nghĩa của junior' thay đổi
Không phải junior biến mất, mà là vai trò thay đổi
Số intern từ 14 người năm 2024 giảm còn 4 người vào năm 2025 — cắt 60~70% ngân sách
Trước đây một nửa đội là người mới, còn bây giờ toàn là đội senior
Tôi đồng cảm với kịch bản cho rằng AI sẽ làm bùng nổ nhu cầu developer trong từng ngành
Tuy nhiên tôi không nghĩ vai trò đó nhất thiết phải là “developer”
Những vị trí hiện có trong mỗi ngành sẽ tiến hóa theo hướng biết sử dụng AI tốt
Cuối cùng, điều quan trọng là vừa học kiến thức miền cụ thể vừa rèn năng lực sử dụng AI
Nhưng khi các CTO nhận ra họ có thể thay thế SaaS, sẽ có một làn sóng phát triển giải pháp nội bộ
Nếu đây là thời đại AI viết code thay người, thì cốt lõi là tốc độ xác minh
Tự viết code thì mức độ hiểu sẽ cao hơn, mà có hiểu thì mới xác minh được
Cuối cùng phải chấp nhận trade-off giữa tốc độ và độ chính xác
Code đổ về một lúc, và vì FOMO với tốc độ nhanh nên có nguy cơ chất lượng review bị giảm
Chính UX của công cụ cũng khuyến khích sự mất cảnh giác
Tôi hoài nghi về lập luận rằng AI sẽ làm tăng nhu cầu developer ở mọi ngành
Phần mềm đã ăn sâu vào mọi ngành rồi, thứ còn lại chỉ là tự động hóa hoàn toàn
Nhưng nút thắt ở đây không phải công nghệ mà là vấn đề chính trị và thực tế
Nó không tạo ra các nhóm nghề mới như cuộc cách mạng ô tô từng làm
Cần phải thoát phụ thuộc vào phần mềm, và đặc biệt là Đức giờ phải thật sự bắt đầu dùng máy tính
Có vẻ tác giả bài gốc thiếu hiểu biết về những câu hỏi cốt lõi liên quan đến AI
Ví dụ, câu “chuyên gia có nguy cơ bị tự động hóa” là ngược lại
Chuyên gia giám sát công cụ, còn người không chuyên thì làm theo chỉ dẫn của công cụ
Trường đại học cũng vậy, người hiểu lý thuyết sẽ kiểm soát máy móc
À, chỉ là một câu đùa kiểu muốn từ bỏ tất cả thôi
Điều buồn cười là tác giả có nhắc đến COBOL, và hàng xóm của tôi vẫn đang làm COBOL ở ngân hàng
14 năm trước đã vậy và bây giờ vẫn thế
Đôi khi tôi tự hỏi liệu chọn phát triển phần mềm có phải là một quyết định sai lầm không
Dù đã là senior nhưng vẫn bị đòi hỏi phải học liên tục và làm side project
Tôi không biết đến bao giờ mình mới có thể có sở thích hay đời sống xã hội
Mỗi lần framework JS thay đổi là sự nghiệp lại giống như một canh bạc
Tôi từng all-in vào Angular rồi lại thấy mọi thứ chuyển sang React, nên lúc nào cũng phải nghĩ xem nên đầu tư vào đâu
Cuối cùng cứ như đang đặt cược trong bất an suốt cả đời
Nhưng nếu muốn xuất sắc, thì cần thêm nỗ lực
Cả hai đều là lựa chọn chính đáng
Mục tiêu của công ty là tạo lợi nhuận, nên mỗi cá nhân phải tự bảo vệ đời sống của mình
Bạn có thể làm ở công ty ổn định và học chậm rãi, hoặc chạy theo xu hướng để tăng trưởng nhanh
Cuối cùng đây là vấn đề phụ thuộc vào mục tiêu và giá trị quan của chính bạn
Nhưng nếu mục tiêu là tiền và bạn đã đạt được điều đó thì cũng không sao
Chỉ là nếu muốn trở thành người giỏi nhất, bạn phải yêu chính công việc này
Rất hữu ích 👍👍