Phần mềm đang trở nên rẻ hơn. Vậy thì sao?
Mục lục
Một developer làm một mình với Claude và Vercel có thể ship trong một cuối tuần thứ mà trước đây cần cả team năm người làm sáu tháng. Phần mềm đó không tệ hơn. Đôi khi còn tốt hơn.
Bài này không bàn về việc AI có thay thế lập trình viên hay không. Câu hỏi đó phần lớn là lạc đề. Câu hỏi thú vị hơn là: điều gì thay đổi khi chi phí làm phần mềm giảm về gần bằng không, và điều đó có nghĩa gì với bạn?
Chúng ta đã đến đây như thế nào
Chi phí làm phần mềm đã giảm qua ba làn sóng. Mỗi làn sóng xóa bỏ một loại rào cản từng đòi hỏi nhiều tiền hoặc nhiều chuyên môn.
Làn sóng 1 (2006): Cloud xóa chi phí hạ tầng. Trước khi có AWS, bạn phải mua máy chủ. Khởi nghiệp một startup nghĩa là tiêu hàng trăm nghìn đô trước khi viết một dòng code. Sau khi có AWS, con số đó giảm xuống chỉ còn vài trăm đô mỗi tháng. Chỉ qua một đêm, một người làm một mình có thể chạy nhanh gần như cả một team nhỏ.
Làn sóng 2 (những năm 2010): Open source xóa chi phí công cụ. Authentication, queue, ORM, logging, web framework. Tất cả được cộng đồng xây dựng và chia sẻ miễn phí. Ngày nay bạn có thể ghép một hệ thống đủ dùng cho production từ các thành phần open source chỉ trong một buổi chiều.
Làn sóng 3 (hiện tại): AI đang xóa chi phí viết code. Làn sóng này khác vì nó không chỉ làm rẻ một công đoạn. Nó đang thu hẹp toàn bộ khoảng cách giữa “tôi có ý tưởng” và “tôi có một phần mềm chạy được.”
Mỗi làn sóng đều diễn ra rất từ từ khi đang ở trong đó, và rõ ràng như ban ngày khi nhìn lại. Những kỹ sư thích nghi sớm thường là những người hưởng lợi nhiều nhất. Những người chờ quá lâu thường thấy kỹ năng của mình dần bị san bằng.
Chi phí không biến mất. Nó dịch chuyển.
Đây là điều nhiều người hiểu sai: làm phần mềm đang trở nên rẻ hơn, nhưng làm phần mềm hữu ích thì không rẻ đi với tốc độ tương tự.
Hãy thử nghĩ thế này. Bạn nhờ Claude xây dựng một hệ thống đặt lịch bệnh nhân cho bệnh viện. Nó có thể viết phần lớn code trong một giờ. Nhưng vẫn cần có người biết:
- Y tá thực sự bàn giao bệnh nhân giữa các ca như thế nào?
- Điều gì xảy ra khi hai lịch hẹn bị trùng nhau?
- Bác sĩ nào trực cho khoa nào?
- Quy trình xử lý khi bệnh nhân đổi lịch vào phút cuối ra sao?
Code là phần dễ. Hiểu đúng bài toán mới là phần khó.
AI xử lý tốt những việc như:
Viết endpoint theo một spec rõ ràng
Sinh CRUD từ database schema
Viết test cho function đã được mô tả
Giải thích một đoạn code lạ đang làm gì
Con người vẫn cần làm:
Xác định spec thực sự nên là gì
Nói chuyện với người dùng chưa diễn đạt rõ nhu cầu
Chọn một trong nhiều phương án đều có lý
Nhìn ra những edge case có thể gây sự cố ngoài thực tế
Nói "chúng ta không nên xây cái này"
Chi phí đang dịch chuyển từ việc viết code sang việc biết phải viết cái gì. Khoảng cách đó luôn tồn tại. Bây giờ nó là khoảng cách duy nhất còn quan trọng.
Ai sẽ bị thay thế trước
Một số loại công việc đang rủi ro hơn hẳn. Hãy nói thẳng về điều đó.
Các agency phần mềm đại trà. Bạn biết kiểu này rồi: “Gửi yêu cầu cho chúng tôi, chúng tôi sẽ làm MVP cho bạn.” Toàn bộ mô hình kinh doanh của họ dựa trên việc bán thời gian và nhân lực lập trình. Khi chi phí triển khai phần mềm giảm đi mười lần, lợi nhuận của mô hình này cũng bị bào mòn. Những agency vẫn đứng vững là các đơn vị có chuyên môn sâu trong một lĩnh vực cụ thể, mang lại kinh nghiệm và khả năng ra quyết định, chứ không chỉ đơn thuần là đội code thuê.
Ví dụ:
- Một agency chuyên làm website thương mại điện tử cho các nhà bán lẻ đang chịu áp lực lớn.
- Một agency xây dựng hệ thống tuân thủ cho tổ chức tài chính và hiểu rõ các quy định pháp lý vẫn có giá trị cao.
Các vị trí junior chủ yếu làm công việc triển khai theo đặc tả. Task junior điển hình là:
- Đây là spec, hãy triển khai nó.
- Viết endpoint này.
- Thêm field này.
- Sửa bug này, nguyên nhân đã được xác định sẵn.
Đó chính xác là những gì AI đang làm ngày càng tốt hơn. Những bạn junior chỉ tiếp xúc với các task rõ ràng, ít phải suy nghĩ về bài toán tổng thể, sẽ gặp áp lực lớn hơn. Ngược lại, những người sớm được ném vào các vấn đề mơ hồ, phải tự mò ra yêu cầu và đưa ra quyết định kỹ thuật, sẽ có lợi thế trong dài hạn.
Tư vấn bán thời gian thay vì bán kết quả. Nếu giá trị của bạn là:
Tôi code rất nhanh.
thì lợi thế đó đang yếu dần. Nhưng nếu giá trị của bạn là:
Tôi hiểu ngành y tế vận hành như thế nào và có thể chỉ ra những tích hợp nào sẽ khiến dự án thất bại trước khi công ty mất sáu tháng theo đuổi nó.
thì bạn vẫn sẽ có chỗ đứng.
Quy luật: Những công việc được trả tiền chủ yếu vì tốn nhiều thời gian thực hiện đang ngày càng mất giá trị. Những công việc được trả tiền vì đòi hỏi kinh nghiệm, hiểu biết chuyên sâu và khả năng phán đoán vẫn sẽ tiếp tục được săn đón.
Những thứ không trở nên rẻ hơn
Có bốn thứ rất khó tự động hóa, và chúng sẽ ngày càng có giá trị hơn khi mọi thứ khác rẻ đi.
Kiến thức domain. Quay lại ví dụ phần mềm y tế. Nó không khó vì code phức tạp. Nó khó vì quy trình lâm sàng rất đặc thù, yêu cầu pháp lý rất đặc thù, và hậu quả của việc làm sai cũng rất đặc thù. Bạn chỉ có được hiểu biết đó sau nhiều năm làm việc cùng những người thực sự dùng hệ thống đó.
Debug hệ thống production ở quy mô lớn. Khi có sự cố lúc ba giờ sáng trong một hệ thống phân tán với hàng chục service và nhiều năm tích lũy độ phức tạp, bạn cần người nắm được toàn bộ bức tranh: dữ liệu đi đâu, điều gì vừa thay đổi tuần trước, service nào hay gặp vấn đề khi bộ nhớ bị áp lực. AI có thể giúp tìm log. Nhưng nó chưa thể thay thế người chỉ cần nhìn một lỗi là đã biết hàng đợi thanh toán đang bị tắc ở đâu.
Ra quyết định khi chưa đủ thông tin. Đây là phần lớn công việc thực tế. Bạn có ba phương án. Requirements chưa hoàn chỉnh. Bạn cần chọn một hướng và đi. Khả năng phán đoán tốt đến từ việc đã từng sai, đã từng trả giá, và học được điều gì cần cân nhắc. Không có đường tắt ở đây.
Sự tin tưởng. Người dùng chọn sản phẩm từ những người và công ty họ tin. Sự tin tưởng được xây dựng bằng việc vận hành ổn định, xử lý sự cố tốt, và trung thực khi có vấn đề. Nó tích lũy qua nhiều năm, không phải qua nhiều prompt. Khi thị trường tràn ngập phần mềm rẻ được tạo ra bởi AI, giá trị của những sản phẩm đáng tin tăng lên chứ không giảm. Giống như thực phẩm vậy: khi đồ ăn công nghiệp trở nên cực kỳ rẻ, người ta lại sẵn sàng trả nhiều hơn cho những nguồn họ thực sự tin.
Đòn bẩy của bạn đang thay đổi
Nói thực tế hơn thì đây.
Năm năm trước, câu hỏi lớn với nhiều kỹ sư là: bạn có thể viết code nhanh và chính xác không? Đó là nút thắt. Nút thắt đó đang dần biến mất.
Các kỹ năng đang tăng giá trị rất nhanh hiện nay:
- Định nghĩa vấn đề. Biến một nhu cầu kinh doanh mơ hồ thành thứ rõ ràng và có thể làm được. Nhiều kỹ sư yếu ở điểm này vì trước giờ không ai yêu cầu.
- Chiều sâu domain. Hiểu đủ sâu về một lĩnh vực để tự đưa ra quyết định đúng mà không cần người khác chỉ từng bước.
- Giao tiếp. Giải thích các trade-off kỹ thuật cho product manager, CFO, hay khách hàng. Viết design doc rõ ràng. Ảnh hưởng đến các quyết định mà bạn không trực tiếp sở hữu.
- Gu thẩm mỹ. Biết nên bỏ cái gì ra. Biết khi nào “đủ tốt” thực sự là đủ tốt và khi nào không phải vậy.
Đây không phải kỹ năng mới. Những kỹ sư giỏi luôn cần chúng. Điều đang thay đổi là chúng quan trọng sớm hơn trong sự nghiệp, và quan trọng hơn so với tốc độ thực thi thuần túy.
Thử test nhanh: nếu bỏ hết việc viết code ra khỏi công việc hiện tại, bạn còn mang lại giá trị gì? Câu trả lời là thước đo khá thực của đòn bẩy bạn đang có.
Làm gì cụ thể
Lời khuyên thực tế, không phải sáo ngữ.
Đến gần vấn đề hơn. Tham gia các cuộc gọi với khách hàng. Đọc support ticket. Nói chuyện với người dùng thực sự của sản phẩm bạn đang làm. Bạn càng xa bài toán thực tế, đóng góp của bạn càng giống thứ một model có thể tạo ra. Bạn càng gần, bạn càng hiểu những thứ thực sự khó sao chép.
Chọn một chuyên môn và đi thật sâu. “Full-stack web developer” ngày càng trở thành mô tả phổ thông. Nhưng “kỹ sư hiểu sâu về hệ thống thanh toán và các ràng buộc compliance liên quan” thì không. Chiều sâu tích lũy theo thời gian: hai năm tập trung nghiêm túc vào một lĩnh vực tạo ra lượng kiến thức mà người khác cũng cần từng ấy thời gian để bắt kịp.
Đầu tư vào viết lách. Những kỹ sư viết rõ ràng, dù là RFC (tài liệu đề xuất quyết định kỹ thuật trước khi bắt tay vào làm), design doc, hay post-mortem (báo cáo phân tích sau khi có sự cố trên production), khiến tư duy của họ trở nên hữu hình. Tư duy hữu hình được nhìn thấy, được lắng nghe, và có ảnh hưởng lớn hơn. Điều này ngày càng quan trọng khi bản thân code không còn là yếu tố khác biệt duy nhất.
Dùng các công cụ mới. Những kỹ sư biết tận dụng AI assistant hiệu quả sẽ chạy nhanh hơn những người không làm vậy. Không phải là giao toàn bộ việc suy nghĩ cho AI, mà là dành ít thời gian hơn cho những việc không cần phán đoán, để có thêm thời gian cho những việc cần.
Cách nhìn lạc quan
Khi máy ảnh trở nên rẻ, nhiều người hơn bắt đầu chụp ảnh. Nhiếp ảnh gia chuyên nghiệp không biến mất. Thứ biến mất là thị trường cho những bức ảnh tầm thường. Khi mặt bằng chung được nâng lên, tiêu chuẩn cho những người thực sự giỏi cũng được đẩy cao hơn.
Điều tương tự đang xảy ra với phần mềm. Khi bất kỳ ai cũng có thể ship một app chạy được, thứ có giá trị hơn là những sản phẩm thực sự giải quyết vấn đề khó cho một nhóm người cụ thể, được tạo ra bởi người hiểu rõ bài toán đó. Thị trường cho phần mềm đại trà đang thu hẹp. Thị trường cho phần mềm đúng, từ người đáng tin, phù hợp với cách khách hàng thực sự làm việc, đang mở rộng.
Câu hỏi đáng suy ngẫm
Những kỹ sư thành công trong làn sóng cloud không phải là những người từ chối học AWS. Họ là những người học sớm và tận dụng nó để làm được nhiều hơn. Làn sóng open source cũng diễn ra y hệt. Làn sóng AI lần này không khác.
Phần mềm đang trở nên rẻ hơn. Đó là vấn đề nếu giá trị của bạn là:
Tôi viết code và việc đó mất khá nhiều thời gian.
Nhưng đó là cơ hội nếu giá trị của bạn nằm ở những thứ khó đo hơn: biết nên xây cái gì, hiểu tại sao nó quan trọng, và biến nó thành hiện thực trong một thế giới đầy ràng buộc và mơ hồ.
Câu hỏi không phải là AI có thay thế lập trình viên không. Câu hỏi là: khi viết code ngày càng rẻ, bạn đang xây dựng giá trị của mình ở đâu?