0

Claude Code, Codex gen code mạnh thế này, ae dev mình sẽ đi về đâu?

Mở đầu

Mình tình cờ đọc được bài này từ freecodecamp. Đọc xong, mình thấy bớt lo lắng phần nào, nên muốn chia sẻ với ae.

Bài này mình tóm tắt các ý chính của bài viết từ freecodecamp và thêm góc nhìn cá nhân, không phải dự đoán chính xác chằn chặt tương lai của ae dev chúng ta, nên các thím đọc với tâm thế tham khảo thôi nhé 😊.

Mình dùng kết hợp cả tiếng Việt và tiếng Anh , nên các thím bị OCD mà đọc thì hoan hỉ giúp mình nhé 😀.

Big picture

Bạn thấy cảnh này có quen không?

  • Cứ mỗi tuần lại có tin AI model mới được release, có thể thay thế hoàn toàn junior dev

  • Bài đăng về tech layoff đầy trên báo, phở bò

  • Các tech influencer trên Youtube, Tiktok liên tục giới thiệu công cụ AI mới. Họ còn nói đây là tương lai của coding

  • Nhiều người khoe họ đã build doanh nghiệp triệu đô chỉ với Claude Code

=> Bạn cảm thấy hình như mình đang đi chậm hơn thế giới ngoài kia thì phải? Bạn tự hỏi liệu việc mình học các ngôn ngữ lập trình, trau dồi kiến thức về tech, học về framework có còn có giá trị nữa không😅. Có khi, bạn còn đặt câu hỏi: "Liệu nghề của mình có an toàn nữa không?"

Yêu cầu cho developer đã thay đổi

Trước đây, hầu hết code do con người viết nên. Vì vậy, nếu bạn ngồi hàng giờ, tỉ mẩn với những dòng code của mình, bạn được coi là một lập trình viên tốt.

Nhưng bây giờ, khi AI đã làm tốt những việc đó, lập trình viên cần làm những thứ mà AI chưa thể làm tốt. Yêu cầu dành cho software developer chúng ta đã nâng lên. Câu hỏi giờ đây là: "Chúng ta mang lại giá trị gì ngoài những thứ mà AI đã làm tốt?"

Vậy developer cần có những gì?

Nắm vững căn bản

Ví dụ, cách internet hoạt động, dùng Chrome DevTools để tìm lỗi performance ở frontend.

Debug accross the stack

AI có thể debug nhanh hơn bạn với lỗi cơ bản, ví dụ bạn ném cho nó thông tin Exception.

Nhưng với lỗi đòi hỏi việc nắm cả luồng hệ thống, ví dụ: frontend => api => cache => db thì vẫn rất cần developer sửa, nhất là lỗi ở môi trường prod cần sửa gấp.

Build và quản lý hệ thống ở môi trường prod

Build một hệ thống từ đầu giúp ta luyện system design. Với người mới bắt đầu, có thể build project nhỏ như URL shortener.

Sau đó, học cách deploy, rồi post-deployment procedure như monitor, backup & restore và xử lý sự cố.

Làm việc đúng với công cụ AI

Bạn đã từng gặp tình huống này chưa?

Bạn copy một đoạn code từ AI mà không hiểu. Tính năng vẫn chạy ngon, nhưng bạn lờ mờ về luồng của tính năng đang xây. Rồi có lỗi xảy ra, bạn ngồi mò mãi mà chưa sửa được lỗi. Bạn nghĩ bụng "Biết thế code tay cho lành😤".

Build strong proof of work

Cái này để nhà tuyển dụng tương lai nhìn vào và biết những gì bạn đã và đang làm. Nó như 1 phần của portfolio, CV của mình.

  • Build solid side projects
  • Cho nhiều người biết đến, ví dụ đăng bài chia sẻ kiến thức trên Viblo, LinkedIn hoặc Youtube.

Góc nhìn cá nhân

Đây là phần mình chém gió về tương lai của ae dev. Kiến thức của mình có hạn, nên mình chia sẻ theo nhận định của mình đến thời điểm hiện tại. Có thể nó không đúng. Các thím hãy đưa ra ý kiến cá nhân về tương lai của ae dev ở comment nhé.

Theo mình thì nghề dev sẽ không biến mất. Vì sao? Từ khi các AI tool mạnh hơn, càng nhiều phần mềm được tạo ra. Các phần mềm chỉ vibe code để demo hay để phục vụ cho 1-2 người thì đơn giản và không vấn đề gì. Nhưng các app phục vụ cho khách hàng là các doanh nghiệp, giải quyết các vấn đề lớn thì luôn cần developer cứng. Cứng cả về kỹ thuật và giao tiếp.

  • Kỹ thuật để code ra những hệ thống đủ bảo mật, dễ maintain và scale, sửa lỗi nghiêm trọng, để kiến trúc hệ thống.
  • Giao tiếp để trao đổi với khách hàng.

Ngoài ra, đó là chịu trách nhiệm về những gì mình build. Vì AI nó chỉ giúp ta tăng năng suất, không thể thay ta chịu nghe sếp mẳng được.

Developer sẽ bớt làm những việc mà AI đang làm tốt, ví dụ gen code trong phạm vi vài file, tạo scaffold cho project mới, viết unit test.

Việc nắm kiến thức căn bản của các ngôn ngữ lập trình là rất quan trọng. Ví dụ bạn phỏng vấn vị trí .NET developer, mình khá chắc họ vẫn sẽ hỏi bạn những câu liên quan đến: types system, SOLID, async-await,.. nếu không trả lời được những câu này thì mình khó mà nhận được offer vòng tiếp theo. Đó là trải nghiệm của mình.

Trong bài viết mình tham khảo, họ nói rằng việc xem video tutorial và code theo là chưa đủ. Nhưng để có thể biết những thứ nâng cao ở trên, theo mình, vẫn cần xem tutorial và làm side project như trước đây. Những project đó sẽ giúp ta quen với ngôn ngữ lập trình, cảm giác code, biết pattern code nào là best practice, pattern nào nên tránh. Nhưng khác so với trước đây, các bài tập này chỉ là bước đầu của việc làm dev. Giờ đây chúng là điều kiện cần, nhưng chưa đủ. Ta sẽ cần học nhiều hơn nữa.

Tham khảo

Mình tham khảo chính từ bài viết này, các bạn có thể đọc chi tiết ở đây hơn nhé: https://www.freecodecamp.org/news/the-new-definition-of-software-engineering-in-the-age-of-ai/


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí