- Dùng AI rõ ràng sẽ làm giảm lượng học hỏi về cách thực hiện công việc đó, nhưng đó không phải là lý do để từ chối AI
- Ngay cả khi AI về lâu dài làm suy yếu năng lực của kỹ sư, nếu lợi ích năng suất trong ngắn hạn là đủ lớn thì việc sử dụng vẫn là điều khó tránh khỏi
- Giống như công nhân xây dựng phải nâng vật nặng dù gánh nặng thể chất lớn đến đâu, ta vẫn buộc phải tuân theo những yêu cầu mang tính bản chất của nghề nghiệp
- Có thể kiên trì với việc tự viết code bằng tay, nhưng cũng như thợ mộc từ chối dụng cụ điện sẽ không còn việc làm, kỹ sư từ chối AI nhiều khả năng sẽ thua trong cạnh tranh trước những kỹ sư chấp nhận AI
- Kỹ sư phần mềm cũng có thể trở thành thế hệ đầu tiên giống như vận động viên chuyên nghiệp, với tuổi thọ sự nghiệp bị giới hạn, nên cần lập kế hoạch phù hợp với khả năng đó
Việc dùng AI và tuổi thọ sự nghiệp của kỹ sư phần mềm
- Không có bằng chứng mạnh cho thấy AI làm giảm trí thông minh tổng thể của con người, nhưng khi dùng AI để xử lý một công việc nào đó thì rõ ràng lượng học được về việc thực hiện chính công việc ấy sẽ giảm đi
- Lập luận của một số kỹ sư phần mềm cho rằng nên tránh dùng AI trong công việc gần với như sau
- Dùng AI sẽ khiến ta học được ít hơn trong quá trình làm việc
- Theo thời gian, năng lực kỹ thuật sẽ bị thoái hóa, khiến ta trở thành kỹ sư kém hiệu quả hơn
- Vì vậy đi đến kết luận rằng không nên dùng AI trong công việc
- Tuy nhiên, tiền đề thứ hai không chắc chắn
- Khi chuyển từ assembly sang C, lập trình viên ở một số khía cạnh trở nên kém hiệu quả hơn, nhưng ở những khía cạnh khác lại hiệu quả hơn
- Việc chuyển từ tự viết code sang dùng AI có thể là một thay đổi còn lớn hơn, nên khó thể khẳng định kết quả
- Ngay cả khi việc dùng AI về lâu dài thực sự khiến kỹ sư kém hiệu quả hơn, chỉ riêng điều đó cũng chưa đủ để kết luận rằng không nên dùng AI
- Cho đến khoảng năm 2024, cách tốt nhất để học software engineering là trực tiếp làm software engineering
- Người ta có thể biến sở thích viết code thành một sự nghiệp thu nhập cao, và những người yêu thích công việc này sẽ ngày càng giỏi hơn theo thời gian
- Điều đó gần với một sự trùng hợp may mắn hơn là bản chất bất biến của software engineering
Xung đột giữa năng suất ngắn hạn và năng lực dài hạn
- Ngay cả khi dùng AI về lâu dài làm suy giảm năng lực nghề nghiệp hay khả năng suy luận nói chung, kỹ sư vẫn có thể phải dùng AI nếu lợi ích ngắn hạn đủ lớn
- Công nhân xây dựng phải nâng vật nặng để làm việc hiệu quả, nhưng kiểu công việc đó về lâu dài có thể bào mòn lưng và khớp, khiến họ theo thời gian trở thành lao động kém hiệu quả hơn
- Công nhân xây dựng không nói rằng “không nâng vật nặng mới là công nhân xây dựng giỏi”, mà nói “không còn cách nào khác, đó là công việc”
- Trong công trường xây dựng có những kỹ thuật như cẩu, xe đẩy tay và xe nâng để tránh phải mang vác vật nặng
- Với kỹ sư phần mềm, cũng có thể cần những kỹ thuật để duy trì sự tập trung tinh thần, nhưng có lẽ vẫn chưa tìm ra được cách tiếp cận tương tự
- Nếu AI thực sự làm con người kém thông minh hơn, ta vẫn có thể tiếp tục viết code bằng tay
- Nhưng cũng như thợ mộc từ chối dụng cụ điện hầu như không còn việc làm, việc chỉ viết code thủ công có thể sẽ khó kiếm lương hơn
- Nếu mô hình đủ tốt, bạn sẽ bị lép vế trong cạnh tranh trước những kỹ sư sẵn sàng đánh đổi năng lực nhận thức dài hạn để lấy sự nghiệp thu nhập cao trong ngắn hạn
- Công đoàn về mặt lý thuyết có thể làm chậm quá trình này
- Ở các ngành khác, họ từng buộc giới chủ làm chậm cuộc đua xuống đáy
- Nhưng lao động công nghệ được trả lương cao và có thể làm việc từ bất cứ đâu trên thế giới, nên vẫn có thể bị thay thế; vì vậy tác giả khá bi quan về công đoàn trong ngành công nghệ
- Tuổi thọ sự nghiệp của vận động viên chuyên nghiệp thường tối đa khoảng 15 năm, và họ có cơ hội kiếm rất nhiều tiền cho đến khoảng giữa tuổi 30, nhưng sau đó cơ thể không còn theo kịp nữa
- Hình tượng bi kịch thường thấy ngày nay là vận động viên chuyên nghiệp không chuẩn bị cho cuộc sống sau giải nghệ vì tin rằng “buổi diễn sẽ kéo dài mãi mãi”
- Kỹ sư phần mềm cũng có thể là thế hệ đầu tiên rơi vào hoàn cảnh tương tự, và nếu vậy thì lập kế hoạch phù hợp với điều đó là lựa chọn khôn ngoan
1 bình luận
Ý kiến trên Hacker News
Tôi có cùng một cuộc trò chuyện này vài lần mỗi tuần: người ta nói “AI sẽ khiến lập trình viên trở nên vô nghĩa”, tôi hỏi tại sao thì họ đáp “vì LLM có thể viết code”
Nhưng trong công việc tôi làm để kiếm sống ngoài đời thực, viết code trước đây chỉ chiếm 2–5%, còn bây giờ thì còn ít hơn, và phần còn lại là áp dụng năng lực hiểu sự vật rồi cấu trúc nên giải pháp
Những lập trình viên vẫn tin rằng công việc của mình là gõ code có thể sẽ không còn việc trong tương lai, và các chủ doanh nghiệp tin rằng LLM sẽ thay thế được lập trình viên nên thử làm mà không có lập trình viên thì rốt cuộc sẽ bị chọn lọc tự nhiên xử lý
Khoảng ngày thứ tư, ông ấy nói “Tôi sẽ dạy cậu điều hữu ích nhất cho sự nghiệp của tôi”, rồi bảo “luôn đánh số lên thẻ đục lỗ, để nếu làm rơi thì còn dễ xếp lại theo thứ tự”
Tôi thất vọng vì thời đó đã qua rất lâu kể từ khi người ta còn dùng thẻ đục lỗ, nhưng ông ấy nói thêm: “Tôi có nói đó là điều hữu ích với tôi chứ không phải với cậu. Phần mềm luôn thay đổi.” Dạo này tôi hay nhớ lại câu đó
Còn có cả thời gian đập đầu vào tường để làm cho đoạn code đã viết lại theo một API thiếu tài liệu chạy được
Cách diễn đạt của bình luận gốc khiến kỹ nghệ phần mềm trông như một hoạt động thuần khiết và cao quý kiểu toán học, nhưng thực tế nó giống công nhân khoan dầu hơn: dù bước vào với một kế hoạch, bạn vẫn phải dùng búa tạ đập kim loại để lắp cho vừa chuỗi cần khoan trong tiến độ gấp gáp khi hiện thực không khớp
Công việc “hiểu sự vật và cấu trúc giải pháp” cũng chính là vùng mà AI đang nhắm tới
Có thể bạn chỉ đang may mắn ở trong môi trường nơi đóng góp của mình được ghi nhận, hoặc ở ngành/lĩnh vực ít xuất hiện trong dữ liệu huấn luyện, hoặc trong không gian vấn đề quá phức tạp để AI xử lý
Những người xử lý ticket Jira và làm web CRUD có khả năng cao sẽ thấy kế sinh nhai thường xuyên biến mất, hoặc bị yêu cầu tạo ra nhiều hơn với cùng mức lương hoặc thấp hơn và phải dùng AI để bắt kịp
Nếu làm được thì nó sẽ làm được, phương pháp sẽ lan rộng, ai cũng nhanh chóng tiếp cận được và tiến bộ sẽ tiếp tục
Nếu không làm được thì điều đó sẽ lộ ra ở chỗ không có kết quả thực tế; chỉ nói “tôi đang thấy điều đó” là không đủ. Nó phải là một thực tế mà ai cũng có thể nhìn thấy và sử dụng, không thể tránh né và không thể phủ nhận
Có thể là nếu bạn ở vị trí cực cao kiểu cố vấn CTO trong tập đoàn lớn, nhưng như vậy cũng có nghĩa là bạn vốn đã ở một vị trí cực kỳ hiếm rồi
Phản ứng phân cực với AI có vẻ phụ thuộc vào lăng kính bạn nhìn qua. Vai trò junior đang biến mất nhanh chóng, nhưng ở vai trò senior thì kinh nghiệm và khả năng phán đoán lại quan trọng hơn bao giờ hết
Vì vậy, kỹ nghệ phần mềm có thể sẽ không còn là nghề trọn đời với nhiều người nữa. Nó giống như thể thao đỉnh cao không phải là nghề thực tế với đa số mọi người, nhưng vẫn sẽ có một số người sống được bằng nghề đó, và nên như vậy
Trải nghiệm của tôi thì hoàn toàn ngược lại. Những kỹ sư rất giỏi thực sự cố dùng công cụ mới nhất, kể cả người ở độ tuổi 40 và 50, giờ làm tốt hơn trước rất nhiều
Một lý do khiến lập trình viên truyền thống suy giảm hiệu quả thực chiến theo thời gian là giống cờ vua: khả năng tập trung và tính toán sâu giảm đi. Một kỳ thủ lớn tuổi hiểu cờ hơn thiên tài 19 tuổi rất nhiều, nhưng không thể tính lâu với cùng tốc độ, nên rốt cuộc kinh nghiệm thua sức tính toán thuần túy
Claude Code và Codex giúp gánh bớt gánh nặng tính toán, còn toàn bộ bản năng tích lũy từ kinh nghiệm và “trực giác” 2 giây thì vẫn còn nguyên
Giờ không chỉ là sân chơi công bằng hơn mà thậm chí còn thành bất công theo chiều ngược lại. Trước đây một senior dẫn dắt nhóm 6 người, giờ họ dẫn dắt một đội tác tử, và review code như trước. Có khi đổi hướng tác tử còn dễ hơn đổi hướng junior xung quanh mình
Tuy vậy, câu hỏi cấp bách nhưng chưa thể biết là: liệu có thể xuất hiện kiến trúc sư giỏi mà không đi qua chiến hào thực chiến hay không
Cũng cần phân biệt vì LLM cũng làm thứ gì đó gần giống trực giác. LLM gần hơn với vô thức tập thể của internet, và rõ ràng khác với gu hình thành từ trải nghiệm tốt và xấu
Rốt cuộc trực giác nảy ra chính là “gu tốt”, và đó gần như là phần cốt lõi trong công việc của vai trò senior ở bất kỳ lĩnh vực kỹ thuật nào
Trong nông nghiệp, những người bị máy kéo thay thế đã không giữ được việc. Lần này có gì khác?
Nhóm 6 người đó không còn cần nữa và về logic sẽ bị loại khỏi công ty
Vậy nên kỹ nghệ phần mềm có thể vẫn là nghề với một số người, nhưng quy mô nhân lực có thể giảm 85%
Nhưng công ty đó không còn tồn tại nữa, và giờ để học cách làm việc hiệu quả với những công cụ mới tôi mất nhiều thời gian hơn hẳn. Vì tôi chưa từng có 10 năm để thuộc nằm lòng chi tiết của môi trường mới
Vì vậy AI tiết kiệm cho tôi rất nhiều thời gian trong việc tìm đúng cú pháp và nhớ các chi tiết của framework kiểm thử đơn vị. Nếu ở lại 1–3 năm thì có lẽ tôi sẽ nhanh hơn nhiều và cũng nắm công cụ tốt hơn
Nếu kỹ sư senior đó biến mất thì chẳng còn gì cả. Có một nhóm 6 người vẫn tốt hơn
Nghe buồn nhưng về dài hạn tôi nghĩ câu “người dùng AI theo thời gian sẽ bị teo năng lực kỹ thuật và trở thành kỹ sư kém hiệu quả hơn” nhìn chung là đúng
Xét trong nghề nghiệp, con người đa số chia thành hai nhóm: người dùng AI để tăng cường suy luận, và người dùng AI để thay thế suy luận. Tôi không quá lo nhóm đầu, mà lo nhóm sau
Mẹ tôi là giáo viên trung học công lập ở Mỹ và bà than phiền rằng học sinh thường coi “Google AI overview” như nguồn chân lý tuyệt đối
Có lẽ đây chỉ là hiện tượng mới tương tự kiểu “không được trích Wikipedia” ngày xưa, nhưng bà cảm thấy khả năng tư duy phản biện của học sinh vào lớp sau đại dịch đã giảm đi thấy rõ
Đã có một hai thế hệ lớn lên trong môi trường mà influencer và những người vô danh trên internet nói cho họ biết nên thích gì, ghét gì, tin gì. Họ đã thuê ngoài việc suy luận từ trước cả thời LLM, và dường như không hề sẵn sàng để tương tác một cách hiệu quả với những hệ thống được thiết kế để khiến họ tin rằng mình đang nhận được thứ mình muốn, dù chất lượng còn đáng ngờ
Toàn bộ PR đầy dấu vết của Claude, và gần như chắc chắn là họ hầu như không sửa gì. Đó là nhóm A
Ngược lại, cũng có đồng nghiệp xử lý vấn đề đến tận cùng, dựng harness để thử thay đổi, xác minh kết quả, đi qua nhiều lời giải để tổng hợp thành một kết quả lý tưởng, benchmark, tinh chỉnh, test kỹ lưỡng, và đưa vào PR một quy trình kiểm chứng hợp lý. Đó là nhóm B
Đây là hai cách dùng AI hoàn toàn khác nhau. Nhóm A hiện giờ có vẻ vẫn tạm qua được, nhưng nhóm B là một phiên bản mới của điều có thể làm trong quỹ thời gian cho trước, và đang định nghĩa một chuẩn mới của kỹ nghệ phần mềm mà trước đây tôi hầu như chỉ thấy trong những môi trường đặc biệt chuyên nghiệp
Tôi nghĩ nhóm A sẽ bị bật khỏi ngành khá nhanh. LLM có thể giúp bạn làm việc hiệu quả một cách đáng kinh ngạc, miễn là bạn có ý chí học hỏi. Sự nghiêm ngặt đó có thể trở thành mặc định, và cũng có thể là cách duy nhất để con người vẫn còn là thành phần hữu ích trong vòng lặp
Xét theo giai thoại thì có cảm giác từ đầu năm nay thị trường tuyển dụng phần mềm ở Mỹ đã thực sự thay đổi. Ngày càng nhiều công ty dường như chọn chiến lược chờ xem để tránh đầu tư quá mức vào vốn nhân lực trong vài năm tới
Những tín hiệu tuyển dụng vốn đã yếu nay cảm giác như biến mất hẳn. Chỉ cần đăng một tin tuyển là nhận hơn 500 hồ sơ và thư xin việc do LLM viết, tất cả đều trông và đọc na ná nhau
So sánh với vận động viên chuyên nghiệp trong bài này hơi gượng. Với nghề kiếm tiền bằng cơ bắp thì vấn đề thể chất do tuổi tác là rõ ràng, nhưng nếu so với các nghề tri thức như luật hay y khoa thì vẫn có rất nhiều người làm nghề cực kỳ sắc bén và lành nghề ở độ tuổi 40, 50
Tôi biết những người trước đây chưa từng được recruiter từ Big Tech nhắn một lần, giờ ngày nào cũng nhận tin
Tôi cũng thấy người ta nói là do một điều khoản cụ thể của Mỹ hết hạn từ năm ngoái, nhưng tôi là dân ngoại đạo nên không đủ hiểu biết để bàn nguyên nhân
Thay vào đó, nền kinh tế có cảm giác như đang lao đến bờ vực hoặc ít nhất là như tàu lượn siêu tốc. Ưu đãi thuế cho tuyển dụng yếu, thời kỳ lãi suất 0% đã kết thúc từ lâu, và đội ngũ tuyển dụng thì bị nhấn chìm bởi đống hồ sơ đầy nhiễu
Dù vậy, sếp thì thích nói là do AI. Nói vậy nghe như họ đang kiểm soát được tình hình
Tôi cứ đọc mãi lời giải thích rằng vì AI nên rồi mọi thứ vẫn ổn vì “người ta có thể đào tạo lại sang nghề khác”, nhưng chưa thấy ai nói nghề đó là nghề gì, hay ai sẽ trả chi phí đào tạo lại
Với tôi, tôi không có tiền cũng không có thời gian để quay lại đại học và bắt đầu một sự nghiệp mới từ con số không
Điều đó đúng, nhưng chỉ đúng cho tới khi không còn đúng nữa
Ví dụ kinh điển cho việc kiểu tư duy này có thể thất bại lớn thế nào là thuyết Malthus. Lý thuyết cho rằng lương thực tăng tuyến tính còn dân số tăng theo cấp số nhân nên dân số sẽ sụp đổ vốn đúng với toàn bộ lịch sử trước khi Malthus đưa ra quan sát đó
Ở tầng cơ học, lập luận “chúng ta luôn tìm được việc khác” bỏ qua việc điều đó chỉ khả thi vì con người luôn có ưu thế trí tuệ so với tự động hóa
Ngay cả những thao tác đơn giản của con người trên dây chuyền lắp ráp rốt cuộc cũng dựa vào khả năng thực hiện những điều chỉnh tinh vi và gần như vô hình mà robot chưa làm được
Nhưng nếu thứ gì đó gần với AGI thực sự hoạt động, thì lao động con người sẽ không còn ưu thế nào so với tự động hóa nữa, nên không rõ vì sao logic cũ kiểu “tự động hóa lại tạo thêm việc cho con người” vẫn phải tiếp tục đúng
Chính phủ sẽ chỉ chi mức phúc lợi vừa đủ để giữ tình hình trong mức kiểm soát được, rồi sau đó sẽ bôi xấu họ về mặt văn hóa theo kiểu luddite
Tất nhiên trong một thời gian sẽ vẫn còn các công việc cần lao động chân tay của con người, nhưng thực tế là nhiều việc chân tay được làm ở những nơi khác trên thế giới với mức lương rẻ hơn
Những việc không thể xuất khẩu như thợ sửa ống nước hay phục vụ bàn thì nhu cầu có hạn. Không thể đẩy 50% lực lượng lao động cổ cồn trắng hiện nay vào những nghề đó rồi kỳ vọng họ vẫn dễ kiếm việc hay có lương ổn; đơn giản là không có cầu
Đồng thời, trong khi công việc cổ cồn trắng biến mất thì các việc chân tay “ít kỹ năng” cũng đang dần bị tự động hóa. Quầy tự thanh toán làm giảm việc bán lẻ, robotaxi và giao hàng bằng drone làm giảm việc giao nhận và logistics, còn robot kho bãi sẽ làm giảm việc kho vận
Có vẻ tồn tại một giả định ngầm rằng AI sẽ tạo ra nhiều công việc lương cao cần đến con người làm chủ, đồng thời đó cũng sẽ là những công việc không thể đem đi thuê ngoài ở nơi rẻ hơn. Nhưng rốt cuộc nghề lương cao nào vừa an toàn trước AI vừa an toàn trước thuê ngoài? Chẳng lẽ tất cả sẽ thành lao công lương cao? Vô lý
Lời khuyên hiện nay bảo người ta đi đào tạo lại thành công nhân xây dựng hay thợ ống nước dường như giả định rằng nhu cầu lao động kiểu đó là vô hạn, trong khi thực tế không phải vậy. Ngay cả nếu nhu cầu xây dựng tăng vọt thì cũng phải mất nhiều năm mới có đủ thiết bị, chuỗi cung ứng và hạ tầng để hàng triệu người có thể tràn vào ngành này
Kịch bản có khả năng cao nhất là người ta mất việc, rồi mắc kẹt trong cuộc cạnh tranh đi xuống không hồi kết để giành những công việc hạn chế còn sót lại trong nền kinh tế nội địa. Phần còn lại thì bị thuê ngoài hoặc do robot và AI xử lý
Lời khuyên tốt hơn là hãy bắt đầu chuẩn bị cho thực tế này. Đừng giả định rằng chính phủ sẽ bảo vệ bạn hay có thể bảo vệ bạn. Khi của cải tập trung thì tham nhũng gần như là điều tất yếu, và các chính trị gia cũng có gia đình phải lo
Cần nghiêm túc nhìn nhận điều đó. Kể cả nếu tôi sai, chuẩn bị cho tình huống xấu nhất vẫn tốt hơn là mặc định mọi chuyện sẽ ổn và bạn có thể đào tạo lại sang một nghề lương cao mới
Bố mẹ tôi đều là công nhân xây dựng. Có một nhận thức rõ ràng là không thể bê vác vật nặng mãi mãi
Cuối cùng họ ngừng bê đồ và trở thành đốc công hoặc giám sát. Nếu bạn thấy không thoải mái với việc học cách để người khác làm những việc trước đây chính bạn từng làm, thì cơ thể bạn sẽ hỏng hoàn toàn, và hậu quả sẽ rất khủng khiếp
Đây là một thực tế rất đời, nhưng cũng là một ẩn dụ quan trọng giúp tôi nội tâm hóa chuyện ủy quyền trong sự nghiệp của mình. Nó không hoàn toàn không liên quan đến việc dùng AI, nhưng tôi cũng không nghĩ nó khớp hoàn hảo
Tôi ước những người trông có vẻ thông minh ngừng dùng các phép ẩn dụ về tầng trừu tượng như trong bài. Từ khóa ở đây là tính quyết định
Mọi tầng trừu tượng như dụng cụ điện hay C đều bổ sung thêm một tầng quyết định mà bạn có thể dựa vào, luôn cho ra cùng kết quả và giúp bạn làm việc hiệu quả hơn
LLM thì mô tả việc lập trình bằng ngôn ngữ tự nhiên, còn đầu ra thì nói tốt lắm cũng chỉ là đa dạng. Vì thế mới cần tác tử và phải brute force ép ra kết quả
Tôi nghĩ hào lũy thật sự vẫn là trở thành người còn biết lập trình thực sự
Bạn không trực tiếp chạy đầu ra của LLM; bạn dùng LLM để tạo ra một tạo tác một lần, rồi thực thi tạo tác đó theo cách có tính quyết định
Đặc tả được chuyển thành code một lần, và khi chỉnh sửa đặc tả thì code có thể được cập nhật, chứ không phải mỗi lần đều tạo lại toàn bộ chương trình. Vậy thì tính quyết định quan trọng ở chỗ nào?
Ví dụ, 5 năm trước Mark Zuckerberg đã làm phần mềm như thế nào?
Ông ấy cũng có thể mở editor như tôi, nhưng hoàn cảnh đã cho ông một giao diện khác là nguồn lực con người. Thay vì editor, ông tương tác với những con người đó, và họ làm ra phần mềm
Tầng ở giữa ông và hệ thống được xây dựng kia, dù có tính quyết định hay không, vẫn là một tầng trừu tượng
Ngày nay chúng ta có một phạm vi ủy quyền rộng hơn vài năm trước và có thể giao nhiều việc hơn
Tùy quan điểm về ý chí tự do, bạn cũng có thể lập luận một cách hiệu quả rằng con người là có tính quyết định
Khái niệm thực sự đang bị chạm tới ở đây là LLM và con người đều là hàm mờ đục. Bạn không thể rút gọn hành vi của chúng thành một chuỗi bước logic diễn ra trong đầu, không có những bất biến để phân tách gọn gàng độ phức tạp thành vài trạng thái có thể diễn giải được, và không gian đầu vào/đầu ra thì không có cấu trúc, mơ hồ, được đặc tả không đầy đủ và trên thực tế là vô hạn
Vì vậy gần như không thể suy luận hay tổng hợp chúng bằng các chiến lược và phân tích áp dụng cho chương trình truyền thống
Bạn có thể tùy chọn đưa vào nguồn entropy để thêm tính không quyết định, nhưng đó không phải điều bắt buộc. Nếu tất cả nhà cung cấp LLM đều cố định seed của bộ sinh số giả ngẫu nhiên, có lẽ gần như chẳng ai nhận ra
Tôi nghĩ không có nhiều workflow phụ thuộc vào việc nhập y hệt một prompt nhiều lần rồi trông chờ đầu ra có phân bố thống kê nào đó. Thậm chí bạn còn có thể nhận phản hồi đã được cache dù không muốn
Nếu hiểu kỹ nghệ phần mềm là ngồi trong editor và nhập code từng ký tự một, thì đúng là sẽ ngày càng khó tìm được người sẵn sàng trả tiền cho việc đó
Nhưng nếu hiểu đó là làm ra phần mềm, thì chúng ta đang làm ra nhiều phần mềm hơn bao giờ hết, và định nghĩa về phần mềm là gì cũng đa dạng hơn bao giờ hết. Tôi nghĩ từ đây có thể tách ra nhiều con đường sự nghiệp khác nhau
Điều thú vị là kỹ nghệ phần mềm cũng phải tiến hóa. Quy trình và công cụ cũng phải tiến hóa như chúng đã từng trong nhiều năm qua
Khi tốt nghiệp đại học năm 2004, chúng tôi học về thời kỳ “khủng hoảng phần mềm”, quy trình waterfall, và lúc đó các “phương pháp lặp” mới chỉ vừa bắt đầu
Chúng tôi cũng học về quá trình từ mã spaghetti sang lập trình có cấu trúc với Pascal/C, rồi sang lập trình hướng đối tượng
Phương pháp kỹ nghệ cũng đã tiến hóa. Từng có cả UML tai tiếng, các kỹ thuật hình thức như ngôn ngữ Z để kiểm chứng hình thức, hay đo lường độ phức tạp phần mềm như ABC và độ phức tạp chu trình
Ngày nay khi máy tính sẽ viết phần lớn code, giá trị của ngôn ngữ hiện tại và quy trình phát triển phần mềm hiện nay đang giảm đi. Ngôn ngữ lập trình vốn được tạo ra cho con người. Nếu không thì chúng ta đã cứ viết assembly mãi rồi
Giờ chúng ta cần thay đổi tầng trừu tượng dùng để truyền đạt ý định cho máy tính và để xác minh rằng các lệnh cuối cùng thực hiện điều chúng ta mong muốn
Tôi rất tò mò về những trừu tượng mới này. Tôi tin rằng khi những chi tiết nhỏ nhặt của coding được tự động hóa hoàn toàn, có lẽ ta sẽ thấy nhiều tính nghiêm ngặt kỹ nghệ thực sự hơn trong nghề phần mềm
Giả sử đến năm 2026 cả hai công ty đều kết luận rằng AI giúp lập trình viên tăng tốc 10 lần. Tôi không khẳng định đó là hiện thực, chỉ lấy số tròn cho dễ nói
Công ty 1 sa thải 90 lập trình viên và để 10 người làm cùng lượng việc như cũ
Công ty 2 giữ toàn bộ lập trình viên và làm được lượng việc gấp 10 lần trước đây, thậm chí có thể còn tuyển thêm
Trên thị trường thì ai thắng?
Câu trả lời như mọi khi là “còn tùy”, nhưng tôi nghĩ không gian để công ty 1 thắng hẹp hơn công ty 2 rất nhiều. Nó cần một tổ hợp điều kiện thị trường rất tinh vi; không phải là không tồn tại, nhưng đặt cược rằng mình thuộc ngoại lệ là rất rủi ro
Trong giai đoạn tăng tốc, khi thị trường còn chưa ổn định với thực tế mới, câu trả lời của công ty 1 nhìn bề ngoài sẽ hấp dẫn với bộ phận kế toán
Nhưng trong bất kỳ thị trường nào, chỉ cần một công ty chọn giải pháp của công ty 2 và bứt lên, toàn bộ phần còn lại của ngành sẽ buộc phải chạy theo để cạnh tranh cho ra hồn
Về trung và dài hạn, khả năng tạo ra giá trị của một lập trình viên cũng khó có chuyện giảm đi đến mức bị phản ánh thành lương thấp hơn đáng kể
Những việc do tự động hóa tạo ra trong quá khứ nhìn chung thường có lương thấp hơn và ít quyền tự chủ hơn
Nói cách khác, mọi công ty đều tái phát minh bánh xe hết lần này đến lần khác. Tăng gấp 10 lần việc phát triển phần mềm mà chẳng có gì mới ngoài chuyện nó được viết bằng framework bóng bẩy mới thì không có ý nghĩa gì
Theo tôi, ta nên bắt đầu xóa bớt phần lớn phần mềm. Hãy quay lại căn bản, xem cái gì là cần thiết, làm nó tốt hơn, và hoàn thành nó. Ít nhất một lần nào đó, hãy hoàn tất một phần mềm
software engineerbằngsecretary, vàcreating softwarebằngtyping correspondence, thì câu này vẫn đúng y như vậyTrong một thế giới nơi AI đã giải được việc lập trình và thiết kế phần mềm, giá trị sẽ tích tụ về phía những người có chuyên môn ở miền lĩnh vực khác. Họ giờ có trong tay sức mạnh của 1000 lập trình viên chuyên nghiệp, còn giá trị sẽ không đổ vào những người có kỹ năng trùng lặp với các công cụ AI ngày càng tốt, nhanh và rẻ hơn
Trừ khi tôi đã bỏ sót điều gì, ở đây rõ ràng có một vấn đề logic
Nếu để có được năng suất từ LLM mà phải chấp nhận sự teo tóp năng lực, thì chúng ta là thế hệ lập trình viên có vòng đời hữu hạn duy nhất. Thế hệ sau sẽ không có kỹ năng nào để mà bị teo đi, vì họ chưa từng xây dựng năng lực đó bằng lao động thủ công
Và tôi xin đề nghị cấm công khai phép so sánh “code do LLM sinh ra cũng giống như mã máy do compiler sinh ra”. Tôi thật sự đã mệt vì phải tranh cãi đi tranh cãi lại cùng một ý tưởng đó