Chương 6

Quy trình làm việc mới

Không lâu trước đây, việc xây dựng phần mềm có một nhịp điệu rõ ràng. Bạn sẽ tìm hiểu vấn đề, thiết kế giải pháp, viết code, test nó, triển khai nó, và giám sát nó. Quy trình này lặp đi lặp lại. Bạn tìm được sự thỏa mãn trong vòng lặp đó, và có một loại niềm tự hào thầm lặng khi làm nó tốt.

Nhưng bây giờ, mọi thứ cảm thấy khác. Bạn vẫn đang giải quyết vấn đề và viết code, nhưng nhịp điệu cảm thấy khác đi. Một số phần nhanh hơn, một số phần lộn xộn hơn.

Đó là vì chúng ta không còn làm điều đó một mình nữa.

AI giờ đây là một phần của quá trình.

Và nó không chỉ tăng tốc việc gõ code của chúng ta. Nó đang thay đổi cách chúng ta nghĩ về toàn bộ quy trình, từ ý tưởng đầu tiên đến thời điểm chúng ta xuất bản cho người dùng.

AI thay đổi hình dạng của vòng lặp

Hãy nhớ lại quy trình làm việc của kỹ sư:

  1. Hiểu vấn đề: Nói chuyện với mọi người, đặt câu hỏi, và định nghĩa rõ ràng vấn đề.
  2. Chọn giải pháp đúng: Xem xét hệ thống hiện tại, sự đánh đổi, và quyết định giải pháp tốt nhất phù hợp với ngữ cảnh hiện tại.
  3. Lập kế hoạch công việc: Viết kế hoạch triển khai rõ ràng, có thể thực hiện và tài liệu thiết kế hệ thống.
  4. Viết code: Viết code sạch, dễ đọc, và dễ bảo trì.
  5. Kiểm thử và sửa lỗi: Đảm bảo mọi thứ hoạt động như mong đợi và nhanh chóng sửa các vấn đề.
  6. Triển khai và giám sát: Triển khai các thay đổi một cách an toàn và giám sát chặt chẽ hiệu suất của nó.

Mọi bước đều do con người điều khiển.

AI không chỉ làm cho các bước riêng lẻ nhanh hơn, nó làm mờ ranh giới giữa chúng.

  • Trong khi bạn đang viết code, công cụ AI của bạn gợi ý cấu trúc, các trường hợp có thể xảy ra, và thậm chí cả viết tài liệu.
  • Khi debug, AI gợi ý các nguyên nhân gốc rễ có thể trước khi bạn xem logs.
  • Trước khi bạn bắt đầu code, bạn có thể yêu cầu AI tạo tài liệu thiết kế hoặc chia nhỏ các công việc trong Jira.
  • Trong quá trình kiểm thử, AI có thể tạo test cases từ API contracts hoặc user stories, giảm thời gian bạn phải dành cho chúng.

Con đường tuyến tính giờ đây trở nên giống như một mạng lưới. Bạn phải nhảy qua lại giữa các giai đoạn thường xuyên hơn, và vòng phản hồi thắt chặt đáng kể. Thay vì chờ code review để thấy một vấn đề tiềm ẩn, AI có thể đánh dấu nó ngay trong editor lúc bạn đang code.

Từ "từng bước một", quy trình công việc giờ đây giống như "mọi thứ diễn ra đồng thời" hơn.

Cách thích ứng

Chúng ta cần một mô hình tư duy mới và đây là cách các kỹ sư và đội ngũ có thể suy nghĩ lại quy trình làm việc của họ:

Bắt đầu với câu hỏi "AI có thể giúp như thế nào?"

Mỗi công việc bạn nhận, hãy hỏi: Phần nào của việc này AI có thể làm nhanh hơn, hoặc giúp bạn suy nghĩ tốt hơn?

  • Viết kế hoạch migration? Hãy yêu cầu AI tạo bản nháp đầu tiên.
  • Xây dựng một tính năng? Hãy để AI viết code mẫu.
  • Debug một vấn đề? Tóm tắt logs và yêu cầu AI phân tích xem vấn đề ở đâu.

Chuyển từ "Viết code" sang "Định hình hệ thống"

Bạn nên tập trung vào câu hỏi tại sao và làm thế nào tốt. Hãy nghĩ:

  • Code này có thể mở rộng được không?
  • Chúng ta có đang chọn đúng sự đánh đổi không?
  • Nó có thể bảo trì được không?

AI có thể viết code, nhưng bạn vẫn chịu trách nhiệm về chất lượng.

Đối xử với tài liệu và ngữ cảnh như là code

Nếu bạn muốn AI giúp đỡ một cách có ý nghĩa, bạn cần cung cấp cho nó ngữ cảnh đúng:

  • Tập trung và lưu lại các quyết định của bạn trong codebase.
  • Giữ README, tài liệu thiết kế, và mô tả công việc luôn luôn được cập nhật.
  • Ghi lại "tại sao" đằng sau các quyết định ở những nơi AI có thể đọc sau này.

Hãy nghĩ về điều này như viết cho bản thân tương lai của bạn.

Thắt chặt vòng lặp

Quy trình cũ: Design → Code → Review → Test → Deploy → Monitor.

Quy trình mới: Suy nghĩ → Prompt → Code → Review → Prompt lại → Ship.

Bạn có thể hỏi: Thiết kế, Kiểm thử, Triển khai và Giám sát ở đâu trong flow mới? Chúng vẫn ở đó, nhưng được pha trộn vào quy trình:

  • Thiết kế xảy ra trong quá trình Suy nghĩ và Prompt, với AI giúp định hình ý tưởng sớm.
  • Kiểm thử pha trộn vào Code và Prompt, khi AI gợi ý và chạy test cases liên tục.
  • Triển khai và giám sát được gộp vào "Ship", một khi giải pháp vượt qua review, AI giúp đẩy nó live và giám sát ngay lập tức.

Các giai đoạn này không biến mất, chúng chỉ không còn bị cô lập. Chúng xảy ra sớm hơn, thường xuyên hơn, và tự động hơn.

Điều này có nghĩa là:

  • Chu kỳ phản hồi ngắn hơn.
  • Nhiều thử nghiệm hơn.
  • Merge Requests nhỏ hơn, được review nhanh hơn với coding được hỗ trợ AI.

Trong phát triển sản phẩm, thời gian để hiểu vấn đề trở nên quan trọng hơn thời gian để code.

Suy nghĩ lại về việc lập kế hoạch

Thay vì ước tính "sẽ mất bao lâu để code cái này", hãy hỏi:

  • "Mất bao lâu để thống nhất về giải pháp?"
  • "Làm thế nào để chúng ta cùng xây dựng điều này với AI?"
  • "Ở đâu chúng ta vẫn cần sự phán đoán sâu sắc của con người?"

Thời gian tiết kiệm trong việc viết code nên được tái đầu tư vào testing tốt hơn, thiết kế chặt chẽ hơn, và học hỏi từ người dùng.

Chào mừng đến với quy trình làm việc mới. Nó vẫn là nghề nghiệp của bạn, nhưng bây giờ bạn có thêm sự hỗ trợ đắc lực từ AI.

Bạn thích cuốn sách này?

Hãy cho tôi biết bạn nghĩ gì. Chia sẻ phản hồi, suy nghĩ, và câu hỏi của bạn trong form dưới đây.

Chia sẻ cảm nhận