Cái câu hỏi tôi nghe mỗi ngày
Tháng trước, một junior developer trong team hỏi tôi sau buổi 1-on-1: "Anh ơi, em thấy Claude Code, Copilot, Cursor ngày càng giỏi. Em lo quá. Vài năm nữa AI viết code hết, em còn việc không?"
Tôi nhớ lại năm 2007 khi "outsourcing" là từ khóa đáng sợ nhất - developer Việt Nam lo bị thay bởi developer Ấn Độ rẻ hơn. Rồi năm 2012 lo bị thay bởi no-code tools. Rồi năm 2018 lo bị thay bởi AI code generators đầu tiên.
Mỗi lần, một số công việc thực sự biến mất. Nhưng nhiều công việc mới hơn, có giá trị hơn được tạo ra.
Câu hỏi đúng không phải "AI có thay thế developer không?" mà là "Kỹ năng nào sẽ còn giá trị?"
Quay lại chuyện kỹ thuật: AI giỏi cái gì, kém cái gì
Sau hơn 1 năm dùng AI coding tools hàng ngày (Claude Code, GitHub Copilot, Cursor), tôi có quan sát thực tế:
AI giỏi:
- Viết boilerplate code (CRUD, data models, DTOs)
- Implement pattern đã biết (repository, factory, decorator)
- Convert code giữa languages
- Viết unit tests cho code có signature rõ ràng
- Explain code, suggest refactoring
- Debug lỗi syntax và logic đơn giản
AI kém:
- Hiểu business context và domain knowledge
- Handle ambiguous requirements
- Architecture decision với trade-offs phức tạp
- Debug production issues với nhiều moving parts
- Understand "tại sao" code được viết như vậy (legacy context)
- Negotiate technical trade-offs với stakeholders
Nhìn vào pattern này, bạn sẽ thấy: AI đang automate phần "execution mechanics". Phần "thinking và decision making" vẫn cần người.
Kỹ năng sẽ bị giảm giá trị
Thẳng thắn mà nói:
1. Implement theo spec có sẵn. Nếu spec rõ ràng và bạn chỉ convert spec thành code - AI làm được, nhanh hơn, ít lỗi hơn trong nhiều trường hợp.
2. Debug lỗi syntax đơn giản. Stack trace rõ ràng, lỗi có pattern - AI handle tốt.
3. Viết test cho code đơn giản. CRUD unit tests, simple validation tests - AI generate được.
4. Documentation viết lại những gì code đã thể hiện. "This method returns the sum of..." - AI làm tốt hơn bạn, nhanh hơn.
Kỹ năng sẽ lên giá trị
1. Problem decomposition và System thinking
Khi có một vague requirement - "Hệ thống cần nhanh hơn" - không có AI nào biết "nhanh hơn" nghĩa là gì, cần measure ở đâu, và trade-off nào là acceptable. Đây là người.
Ability để break down complex problem thành sub-problems có thể solve được - đây là kỹ năng AI không thể replace.
2. Context và domain knowledge
AI không biết tại sao legacy code của bạn được viết như vậy. Không biết về incident 3 năm trước dẫn đến một design decision "kỳ lạ". Không biết về constraint của khách hàng bạn đang serve.
Domain knowledge tích lũy qua nhiều năm là moat thực sự - và nó chỉ đến từ kinh nghiệm thực chiến.
3. Engineering judgment
Khi AI suggest một solution - ai quyết định solution đó có phù hợp với context, constraints, và long-term maintenance burden không? Người.
Engineering judgment - biết khi nào over-engineer, khi nào under-engineer, khi nào rewrite, khi nào extend - là accumulated wisdom không thể shortcut.
4. Collaboration và leadership
Align technical direction với business goals, mentor junior developers, facilitate architecture decision trong team - không phải AI problem.
5. Ability to work with AI effectively
Đây là kỹ năng mới nhưng ngày càng quan trọng: Biết AI có thể làm gì, không thể làm gì. Biết cách frame problem để AI help được. Biết khi nào trust AI output, khi nào verify kỹ.
Developer giỏi dùng AI sẽ productive hơn nhiều lần developer không dùng AI. Đây không phải lo lắng - đây là opportunity.
Lời khuyên thực tế cho junior
Thay vì lo lắng, làm những thứ này:
Ngắn hạn (1-2 năm):
- Master AI tools: Copilot, Cursor, Claude Code - biết dùng thật tốt
- Đừng let AI write code bạn chưa hiểu - luôn understand output của AI
- Build domain knowledge trong một area cụ thể
Trung hạn (3-5 năm):
- Develop system thinking - học cách think về systems, trade-offs, constraints
- Build track record với projects thực, không chỉ tutorials
- Develop communication skills - explain technical decisions cho non-technical audience
Dài hạn:
- T-shaped skills: broad knowledge + deep expertise trong ít nhất 1 domain
- Engineering judgment thông qua nhiều projects đa dạng
- Leadership - dù là technical leadership hay people leadership
Triết lý
Tôi đã thấy nhiều wave technology: from client-server to web, from desktop to mobile, from on-premise to cloud. Mỗi wave eliminates một số jobs và creates nhiều jobs hơn.
Điểm chung của những developer survive và thrive qua mọi wave: Họ tập trung vào hiểu vấn đề, không phải memorize tools. Tools thay đổi. Vấn đề cần giải quyết thì không.
AI là tool mạnh nhất chúng ta từng có. Câu hỏi không phải "Tôi có bị AI thay không?" mà là "Tôi có đang dùng AI như một multiplier cho kỹ năng của mình chưa?"
Bạn đã gặp tình huống này chưa?
Bạn đang dùng AI tools trong công việc hàng ngày như thế nào? Kỹ năng nào bạn thấy ngày càng quan trọng hơn? Tôi rất muốn nghe góc nhìn từ các developers đang trong trenches 👇
/Son Do - believe in basic
#1percentbetter #CareerGrowth #AIEra #DeveloperSkills #futureofwork