Dạo này tuy vibe coding đang là xu hướng, nhưng có vẻ kết luận cuối cùng của vibe coding vẫn thường quay về nhu cầu phải có khả năng hiểu và chỉnh sửa mã nguồn.
Bản thân tôi cũng hoàn toàn không biết gì về frontend nên đã phụ thuộc vào vibe coding, rồi dần cảm thấy có giới hạn, vì vậy gần đây tôi đang học dần bằng cách sử dụng Gemini.
Theo cấu trúc: định hướng lĩnh vực muốn học - gợi ý dự án để học lĩnh vực đó - lập lộ trình theo khoảng thời gian mong muốn - sắp xếp các sản phẩm đầu ra (bài tập) cần làm theo từng ngày - tổng hợp kiến thức cần biết để tự mình làm ra các kết quả đó - dựa trên đề cương để tạo tài liệu hằng ngày gồm kiến thức + ví dụ tương tự bài tập + bài tập cần nộp - phản hồi sau khi nộp bài tập
Tôi đang học lập trình theo cách như vậy. Cá nhân tôi thấy cách này thú vị hơn phương pháp học truyền thống, và ở chỗ nó buộc mình phải vận dụng nên hiệu quả học tập cũng tốt hơn. Tôi muốn hỏi thử xem liệu mọi người đã từng dùng AI để học lập trình chưa.
7 bình luận
Tôi chưa thử học theo kiểu lập hẳn một giáo trình, nhưng khi muốn đào sâu hơn một lĩnh vực mình đã biết sơ sơ thì nó khá hữu ích. Đặc biệt, những thứ như các pattern hay dùng nếu tự tìm thì khá tốn thời gian, còn LLM thì lại mạnh đúng mảng đó nên giúp được nhiều hơn. Tất nhiên, cũng có nhiều trường hợp cần kiểm chứng chéo.
Cá nhân tôi không mấy thiện cảm với kiểu tận dụng thường được gọi là vibe coding, nhưng nếu không biến nó thành thói quen chỉ biết nói "làm cho tôi đi" thì tôi nghĩ nó hoàn toàn có thể hỗ trợ việc học. Đặc biệt là khi buộc phải gấp rút tìm cách giải quyết, hoặc khi hoàn toàn không hình dung ra nên tiếp cận thế nào, thì thật sự không gì đáng quý hơn thế.
Trong quá trình học mà tác giả bài viết mô tả, tôi cho rằng phần quan trọng nhất là có bước tự mình hệ thống lại kiến thức. Việc trực tiếp lục tìm trên StackOverflow, tutorial, example và tài liệu chính thức không chỉ giúp rèn luyện khả năng áp dụng tình huống của người khác vào tình huống của bản thân, mà còn là quá trình tích lũy kiến thức nền và mở rộng tầm nhìn. Đó là những thứ rất khó có được nếu chỉ học theo kiểu bảo AI "mày tự tổng hợp lại đi".
Không hẳn là học coding bằng AI..
Khi phát triển backend bằng một ngôn ngữ khác (Node) mà tôi không rành, từ nền tảng Java hiện có,
dùng AI thì thay vì đọc sách.. có thể trao đổi và nhận phản hồi nhanh hơn
nên hiệu quả công việc cũng tăng nhanh hơn.
Đây vẫn là chuyện lập trình, nhưng tôi từng nhận được trợ giúp khi giải các bài toán phân tích số. Khi giải bài toán phân tích số bằng CuPy, tôi tự viết toàn bộ các hàm, nhưng vì chúng khá chậm nên tôi đã nhờ AI hỗ trợ trong việc vector hóa các hàm đó.
Tôi đang học Netty + RxJava vì công việc cần xử lý TCP stream. Trước đó, tôi không thể hiểu được vì sao cần backpressure hay hot/cold observable chỉ bằng cách đọc tài liệu chính thức hoặc các bài blog.
Khi tự đặt ra một vấn đề thực tế mình muốn giải quyết rồi đặt câu hỏi, tôi nhận được những lời giải thích rất sát với tình huống và có ý nghĩa, nên việc hiểu dễ hơn hẳn. Tôi cũng không mù quáng tin vào code ví dụ, mà chỉ dùng những đoạn code chạy được để học, nên thực sự rất hữu ích. Tôi đã có hai lần cảm thấy 30.000 won mỗi tháng là hoàn toàn xứng đáng; một lần là trường hợp như thế này, và lần còn lại là khi đặt câu hỏi hoặc suy ngẫm về team leading và giao tiếp.
Tôi nghĩ rằng sau khi trả phí cho Copilot, vẫn cần học và nắm vững khả năng hiểu ngữ cảnh cùng với ngôn ngữ, cấu trúc dữ liệu, mạng, cơ sở dữ liệu và hệ điều hành khi cần.
Nếu là tôi, tôi sẽ chọn một repository GitHub của nơi muốn học, cho repomix hay cc/codex phân tích, rồi học bằng cách lặp vòng hỏi đáp, và nếu điều kiện cho phép thì còn thử gửi cả PR nữa, tôi nghĩ mình sẽ thử làm như vậy vài lần.