Cơ bảnCase StudyClaude CodeCộng đồng

Tôi Nghĩ Vibe Coding Chỉ Dành Cho Developer — Claude Đã Chứng Minh Tôi Sai

Nghe bài viết
00:00

Điểm nổi bật

Nhấn để đến mục tương ứng

  1. 1 Mặt trái đáng cân nhắc kỹ trước khi đầu tư: Phù hợp nếu bạn: Có vấn đề cụ thể mà không có tool nào phù hợp chính xác Chấp nhận kết quả "đủ tốt" thay vì "hoàn hảo". Đây không phải lý do từ chối nhưng là yếu tố quyết định bạn nên bắt đầu từ đâu và kỳ vọng thế nào.
  2. 2 Đặt cạnh nhau mới thấy rõ sự khác biệt: Tác giả cũng thành thật về limitations: Không thể xây app phức tạp: Invoice tracker đơn giản là một chuyện. E-commerce platform hay social network là chuyện khác hoàn toàn. Chọn đúng công cụ phụ thuộc vào workflow hiện tại của bạn, không phải bảng xếp hạng chung trên mạng.
  3. 3 Điểm then chốt đáng ghi nhớ: Tác giả bài viết trên XDA Developers không phải developer. Theo nhận xét từ cộng đồng: "Chắc vẫn cần biết code, mấy cái demo đó làm cho trông đơn giản thôi.". Đây là kiến thức nền tảng giúp bạn đưa ra quyết định đúng đắn khi đánh giá và chọn giải pháp.
  4. 4 Điểm then chốt đáng ghi nhớ: Tác giả làm freelance design và có khoảng 15-20 clients. Theo nhận xét từ cộng đồng: "tháng này mình đang ở đâu về revenue.". Đây là kiến thức nền tảng giúp bạn đưa ra quyết định đúng đắn khi đánh giá và chọn giải pháp.
  5. 5 Khía cạnh quan trọng ít được bàn luận: Prompt đầu tiên quá vague: "Tạo cho tôi một invoice tracker" Claude tạo ra một app với nhiều features — projects, time tracking,. Theo nhận xét từ cộng đồng: "Tạo cho tôi một invoice tracker". Nắm được chi tiết này giúp bạn tránh sai lầm phổ biến và khai thác tối đa giá trị từ công cụ.
robot standing near luggage bags

Bức tường tâm lý: "Mình không phải developer"

Tác giả bài viết trên XDA Developers không phải developer. Không phải người tech-savvy. Là người bình thường dùng máy tính cho công việc hàng ngày — email, spreadsheet, presentations. Đọc về vibe coding với cảm giác skepticism: "Chắc vẫn cần biết code, mấy cái demo đó làm cho trông đơn giản thôi."

Nhưng rồi quyết định thử — không phải để build ứng dụng lớn, mà chỉ để giải quyết một vấn đề nhỏ trong công việc hàng ngày. Và kết quả khiến tác giả phải viết bài này.

Vấn đề cần giải quyết: Tracking client invoices

Tác giả làm freelance design và có khoảng 15-20 clients. Invoice management là ác mộng: dùng một spreadsheet phức tạp với nhiều tab, phải update thủ công, hay quên nhập, và quan trọng nhất — không có cái nhìn tổng quan nhanh về "tháng này mình đang ở đâu về revenue."

Đã thử Notion templates, FreshBooks, Wave — tất cả đều over-engineered hoặc đắt tiền hơn cần thiết. Vấn đề thực tế rất simple: cần biết ngay ai đã trả, ai chưa trả, và tổng tháng là bao nhiêu.

Lần thử đầu tiên: Thất bại có ích

Prompt đầu tiên quá vague:

"Tạo cho tôi một invoice tracker"

Claude tạo ra một app với nhiều features — projects, time tracking, tax calculation, client portal. Overwhelmed và không phải cái tác giả muốn. Claude đã build đúng "invoice tracker" nhưng không phải invoice tracker của tác giả.

Bài học từ lần này: Claude cần biết bạn là ai và bạn muốn gì cụ thể. Generic request → generic output.

Lần thứ hai: Prompt cụ thể hơn

Tác giả dành 15 phút viết description chi tiết hơn:

"Tôi là freelance designer với 15-20 clients. Mỗi tháng tôi gửi 30-40 invoices. Tôi cần một simple web app (chỉ chạy trên máy tính của tôi) để:

  • Thêm invoice mới: tên client, số tiền, ngày gửi
  • Mark invoice là 'paid' với ngày nhận tiền
  • Xem tổng outstanding (chưa nhận) và received (đã nhận) trong tháng hiện tại
  • Nhìn qua danh sách và thấy ngay cái nào quá 30 ngày chưa được thanh toán

Không cần login, không cần database phức tạp, không cần email notifications. Chỉ cần đơn giản và hoạt động."

Kết quả lần này: một app đơn giản, clean, với chính xác 4 tính năng được yêu cầu. Không hơn. Không kém.

Những lúc muốn bỏ cuộc

Trung thực: có ít nhất 3 lần tác giả muốn quit:

Lần 1: App không lưu data

Nhập 10 invoices, reload page, tất cả biến mất. Tác giả không biết "local storage" là gì. Claude đã không tự động add localStorage — cần phải yêu cầu rõ ràng: "Làm thế nào để data không mất khi tôi đóng browser?"

Claude giải thích vấn đề bằng tiếng thường (không dùng jargon) và fix trong 2 phút.

Lần 2: Layout bị vỡ trên mobile

Tác giả hay xem invoices trên điện thoại. App desktop nhìn ổn nhưng mobile nhìn kinh khủng. Claude fix responsive design sau một prompt: "App này bị vỡ layout trên điện thoại, hãy làm cho nó đẹp trên cả mobile."

Lần 3: Muốn thêm feature nhưng không biết cách describe

Muốn thêm "filter theo client" nhưng không biết cách nói với Claude để nó không phá vỡ những gì đang hoạt động. Giải pháp: describe feature mới cẩn thận và thêm: "Đừng thay đổi gì khác, chỉ thêm tính năng này thôi."

3 tuần sau: Vẫn đang dùng

Điều thuyết phục nhất: 3 tuần sau khi xây, tác giả vẫn dùng app đó hàng ngày. Không switch sang Notion hay FreshBooks. Không abandon nó.

Lý do: vì nó làm chính xác những gì tác giả cần, theo cách tác giả làm việc. Không feature thừa gây distraction. Không workflow phải học. Mở lên, thấy ngay những gì cần biết.

Những điều vibe coding không thể thay thế

Tác giả cũng thành thật về limitations:

  • Không thể xây app phức tạp: Invoice tracker đơn giản là một chuyện. E-commerce platform hay social network là chuyện khác hoàn toàn.
  • Maintenance khó: Nếu muốn thay đổi lớn 6 tháng sau, có thể cần start fresh vì không hiểu code đủ để maintain.
  • Security không được đảm bảo: App chạy local nên okay. Nhưng nếu cần host online và xử lý data nhạy cảm, cần developer review.
  • Phụ thuộc vào Claude: Không có Claude, không sửa được bug.

Điều quan trọng nhất học được

Tác giả kết luận bằng một insight giản dị nhưng mạnh:

"Vibe coding không phải về coding. Đó là về việc cuối cùng có thể giải quyết những vấn đề nhỏ mà trước đây tôi phải chấp nhận sống chung vì không đáng để thuê developer. Những vấn đề quá nhỏ để ai khác care, nhưng đủ lớn để khó chịu hàng ngày — đó chính xác là vibe coding giải quyết tốt nhất."

Kỹ năng quan trọng hơn biết code trong vibe coding

Câu chuyện này tiết lộ một điều thú vị: trong vibe coding, những kỹ năng truyền thống của developer (biết cú pháp, nhớ APIs) trở nên ít quan trọng hơn. Thay vào đó, những kỹ năng sau quyết định thành công:

Khả năng define vấn đề rõ ràng

Người dùng thất bại lần đầu không phải vì không biết code — mà vì không describe vấn đề đủ cụ thể. Kỹ năng decompose một nhu cầu vague thành requirements cụ thể là product thinking, không phải engineering. Đây là kỹ năng ai cũng có thể học được.

Iteration mindset

Vibe coding hiếm khi cho kết quả hoàn hảo ngay lần đầu. Người thành công là người comfortable với feedback loop: thử → thấy kết quả → mô tả chỗ sai → thử lại. Đây là product development mindset, không phải developer mindset.

Tolerance for imperfection

App tự build bằng vibe coding sẽ không đẹp như Figma designs. Code bên trong sẽ không clean như senior developer viết. Acceptance của điều đó — focus vào functionality thay vì perfection — là kỹ năng quan trọng để hoàn thành thay vì bỏ dở.

Biết khi nào nên dừng thêm features

Feature creep là killer của vibe coding projects. Biết khi nào nói "đủ rồi, app này đã làm được điều tôi cần" có giá trị hơn nhiều so với khả năng thêm thêm tính năng không cần thiết.

Ai phù hợp và ai không phù hợp với vibe coding

Phù hợp nếu bạn:

  • Có vấn đề cụ thể mà không có tool nào phù hợp chính xác
  • Chấp nhận kết quả "đủ tốt" thay vì "hoàn hảo"
  • Chỉ cần app cho cá nhân, không chia sẻ với người khác
  • Sẵn sàng iterate và kiên nhẫn với quá trình

Không phù hợp nếu bạn:

  • Cần build production app với security requirements nghiêm ngặt
  • App sẽ xử lý dữ liệu nhạy cảm của nhiều người
  • Cần team maintain code lâu dài
  • Deadline cứng nhắc và không có thời gian để iterate

Muốn thử vibe coding cho vấn đề của bạn? Bắt đầu với Bắt đầu với Claude trong 5 phút.

Xem thêm cách người khác đã dùng Claude Code mà không biết lập trình: Claude Code toàn tập — Lập trình với AI agent trong terminal.

Nguồn tham khảo

Bài viết được dịch và mở rộng từ: I Thought Vibe Coding Was for Developers — Claude Proved Me Wrong — XDA Developers.

Tính năng liên quan:claude-codenatural-language-coding

Bai viet co huu ich khong?

Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.

Bình luận (0)
Ảnh đại diện
Đăng nhập để bình luận...
Đăng nhập để bình luận
  • Đang tải bình luận...

Đăng ký nhận bản tin

Nhận bài viết hay nhất về sản phẩm và vận hành, gửi thẳng vào hộp thư của bạn.

Bảo mật thông tin. Hủy đăng ký bất cứ lúc nào. Chính sách bảo mật.