Thuê lập trình viên
Tám câu hỏi trước khi bạn đặt cọc
Tìm một lập trình viên giờ dễ — khó là biết mình đang giao tiền cho ai. Trang này là tám câu hỏi tôi nghĩ bạn nên hỏi, và câu trả lời của chính tôi cho từng câu, bằng thứ mở ra kiểm được chứ không phải lời hứa.
Nếu bạn đang ở đúng chỗ này — tức là bạn vừa cân nhắc trả tiền cho một người bạn chưa từng gặp — thì phần bạn cần trước tiên không phải là danh sách người bán. Nó là danh sách câu hỏi.
Tám câu hỏi nên hỏi
Không câu nào trong số này cần tin lời ai. Chúng là những việc tra cứu được bằng công cụ công khai, mất vài phút, và phần lớn trường hợp rủi ro bị chặn ngay ở đây.
01
Người này có tồn tại không?
Tên, địa chỉ, số điện thoại. Câu này nghe thì hiển nhiên, nhưng nó là câu lọc được nhiều nhất, và nó mất mười giây: tra tên trên trên thuế điện tử quốc gia, rồi nhắn Zalo xem có người nhận không.
02
Tôi có xuất hoá đơn và ký hợp đồng được không?
Đây là câu hỏi thực dụng nhất trong cả danh sách, và thường bị bỏ qua. Một hộ kinh doanh đã đăng ký có mã số thuế, ký hợp đồng được và xuất hoá đơn VAT được — đó không phải chuyện nhỏ khi bạn cần chứng minh khoản chi cho kế toán của mình.
03
Tôi có thể đến địa chỉ này không?
Một địa chỉ chỉ là ảnh chụp màn hình thì không làm được gì. Địa chỉ có thật thì bạn có cách kiểm tra — và nó lọc được những trường hợp mà không có gì sau chúng.
04
Tôi có đọc được code của người này không?
Một danh sách dự án bình thường chỉ cho bạn đúng một việc: gọi xin một lời giới thiệu. Tài khoản mã nguồn công khai thì cho bạn nhiều hơn thế: bạn tự đọc, tự thấy cách người ta viết test, tự thấy đóng gói có cẩn thận không — trước khi đưa một đồng nào.
05
Người này đã từng làm đúng việc này chưa?
Đây là câu tôi trả lời kém nhất trong tám câu, và nói thẳng còn hơn giấu: tôi chưa bàn giao dự án cho khách hàng nào. Cái tôi có là tám năm phát triển phần mềm, một Thạc sĩ Khoa học Máy tính, và các repository công khai.
06
Tôi có xem được họ làm việc như thế nào không?
Hỏi một buổi, xem cách người đó đặt câu hỏi, xem họ có trả lời “tôi chưa biết, để tôi tra” hay không. Một người trả lời thẳng là chưa biết đáng tin hơn một người trả lời giống nhau với mọi câu.
07
Tiền của tôi đi đâu, và theo mốc nào?
Câu này phải có trong hợp đồng trước khi ký, không phải sau. Nếu một người đòi toàn bộ trước, bạn không có gì để đòi lại — và bạn không thể trả lời “tiền của tôi đi đâu” sau khi đã mất tiền rồi.
08
Quy trình trao đổi có bất thường gì không?
Trao đổi chỉ qua Telegram, không có cuộc gọi, không có hợp đồng, không có địa chỉ để gặp — bốn dấu hiệu đó cùng lúc xuất hiện là lý do đủ để dừng lại. Không phải vì bất kỳ dấu hiệu nào trong số đó tự nó là bằng chứng lừa đảo, mà vì bốn cái cùng lúc thì lý do thường nằm ở chỗ khác.
Hai câu cuối không phải về kỹ năng. Chúng là về cách bạn sẽ mất tiền — và trong hai mươi việc ngoài đời, mất tiền là cách hỏng phần mềm. Đổi thứ tự hai câu đó cũng không sao, nhưng đừng bỏ.
Câu trả lời của tôi, từng câu một
Cùng tám câu, theo đúng thứ tự trên. Tôi không tự chấm điểm — bạn tự mở và tự kiểm. Nếu một câu nào đó tôi không có câu trả lời, nó sẽ ghi “không có” chứ không ghi một lời hứa.
- 01Người này có tồn tại không?
- Nguyễn Minh Tâm, hộ kinh doanh đăng ký tại Vĩnh Long. Tôi ở đúng thành phố này, dùng chính số điện thoại này, và nhắn Zalo thì có người trả lời — thường trong giờ làm việc.
- 02Tôi có xuất hoá đơn và ký hợp đồng được không?
- Được. Tôi đăng ký hộ kinh doanh, xuất hoá đơn VAT, và hợp đồng mang tên “NGUYỄN MINH TÂM” khớp với giấy ĐKKD. Tên trên hoá đơn phải khớp với tên trong sổ đăng ký — đó là lý do tôi nói thẳng con số đó thay vì để bạn tự đoán.
- 03Tôi có thể đến địa chỉ này không?
- Có — tôi ở Vĩnh Long, cùng múi giờ với Cần Thơ và TP.HCM. Nhưng công việc này tôi làm trực tuyến: gặp trực tiếp vẫn sắp xếp được, thế phải báo trước và có tính thêm chi phí, nên tôi không coi đó là cách làm việc thông thường.
- 04Tôi có đọc được code của người này không?
- Được, và đây là bằng chứng duy nhất tôi đưa ra được mà không cần xin phép ai khoe. Tài khoản của tôi là công khai hoàn toàn: mở `viact` để xem một hệ thống chạy thật, mở `OptimizedGASDemo` để xem phần C++.Mở github.com/ngmitam →
- 05Người này đã từng làm đúng việc này chưa?
- Chưa — chưa có dự án bàn giao cho khách hàng. Tôi không có tên khách hàng để đưa lên đây và sẽ không bịa ra. Công nghệ tôi dùng hằng ngày (TypeScript, NestJS, React, Next.js, MySQL, TypeORM, Docker, Jest, Cypress) đều có trong repo công khai, và bạn xem được ngay.Xem các repository →
- 06Tôi có xem được họ làm việc như thế nào không?
- Được, miễn phí. Buổi trao đổi đầu tiên không tính vào phí tư vấn, và kết quả của nó là một tài liệu phạm vi có giá — kể cả khi kết luận là “tôi không phù hợp”.
- 07Tiền của tôi đi đâu, và theo mốc nào?
- 30 / 40 / 30: đặt cọc ký hợp đồng, đợt hai khi bản chạy đầu tiên hiện trên hạ tầng của bạn, đợt ba khi bàn giao mã nguồn. Phần việc ngoài phạm vi được báo giá riêng và chờ bạn đồng ý bằng văn bản trước khi tôi bắt đầu.
- 08Quy trình trao đổi có bất thường gì không?
- Không bất thường: số điện thoại thật, Zalo thật, hợp đồng có tên, địa chỉ thật ở Vĩnh Long. Tôi làm việc trực tuyến, nhưng tôi không đồng ý làm việc qua kênh nào mà không kiểm chứng được người đối diện.
Việc này tôi không làm
Bốn dòng dưới đây là những thứ tôi từ chối, viết ra để bạn không phải mất tuần để phát hiện. Chúng nằm ở đây vì nhiều người tìm “thuê lập trình viên” đang tìm đúng những thứ đó — và tôi sẽ nói không sớm hơn là nói không muộn.
Cho thuê nhân sự IT
Không. Tôi không cung cấp nhân sự theo tháng và cũng không dựng một đội để đưa vào dự án của bạn. Nếu bạn cần một người ngồi trong team của mình, đó là mô hình khác, và tôi làm không được việc đó.
Dự án cần ba người trở lên
Không. Hai dự án chạy song song là mức tôi vẫn tự viết, tự test và tự bàn giao được. Từ ba người trở lên, một công ty lớn làm tốt hơn tôi — và chắc chắn rẻ hơn bạn tưởng.
Bảo mật, ISO 27001, SOC 2
Không. Đó là việc cần chứng nhận và đội ngũ, không phải việc của một cá nhân. Nếu quy trình lựa chọn nhà cung cấp của bạn bắt buộc có dòng này, tôi không phải lựa chọn đúng — và tôi sẽ chỉ bạn đúng người.
Trực 24/7
Không. Tôi không bán cam kết phản hồi trong một giờ cho một hệ thống chỉ có một người bảo trì. Tôi bán một hệ thống chạy được và một người trả lời trong 1 ngày làm việc, và tôi nói thẳng rằng đó là tất cả những gì một người có thể hứa.
Nếu đã qua được tám câu đó
Phần này là thứ bạn sẽ thực sự mua. Nó không dài, vì nó là toàn bộ mô hình làm việc.
01
Một buổi trao đổi
Bạn mô tả việc đang chạy bằng Excel và kết quả cần đạt. Tôi hỏi, không báo giá đại trà. Phản hồi trong 1 ngày làm việc.
02
Phạm vi và giá bằng văn bản
Không có tài liệu phạm vi thì không bắt đầu. Trong tài liệu đó có những gì được làm, những gì không, và mức giá cố định cho đúng cái danh sách đó.
03
Ba đợt thanh toán 30 / 40 / 30
Đặt cọc khi ký hợp đồng. Đợt hai khi bạn thấy bản chạy thật trên hạ tầng của mình. Đợt ba khi bàn giao mã nguồn và tài liệu. Tiền đi theo thứ đang chạy, không theo ngày trên lịch.
04
Mã nguồn là của bạn, từ khi bắt đầu
Quyền đó có hiệu lực khi dự án bắt đầu, không phải khi bàn giao. Tôi không giữ mã nguồn của bạn để đòi khoản cuối.
05
Bảo hành lỗi 30 ngày
Lỗi thuộc phạm vi đã bàn giao, miễn phí trong 30 ngày. Dịch vụ của bên thứ ba — máy chủ, tin nhắn, hóa đơn điện tử — thì bạn ký trực tiếp với họ, tôi không đứng giữa.
Chứng cứ của tôi
Một lời giới thiệu cần người khác cho phép. Một repository thì không — bạn mở ra là đọc được code thật, test thật và Dockerfile thật. Đây là những cái đáng mở nhất trong tài khoản của tôi.
- viact2023
Ứng dụng full-stack chạy thật: API REST NestJS có JWT và Swagger, giao diện React, MySQL kèm migration TypeORM, test bằng Jest và Cypress, chạy bằng Docker. Đây là repo đáng đọc nhất nếu bạn đang cần một hệ thống nội bộ.
- OptimizedGASDemo2025
Gameplay Ability System viết bằng C++ cho Unreal Engine 5, điểm chính là hiệu năng và cách chia module.
Câu hỏi thường gặp
- Tôi nên trả cọc bao nhiêu phần trăm?
- 30% khi ký hợp đồng, 40% khi bản chạy đầu tiên hiện trên hạ tầng của bạn, 30% khi bàn giao mã nguồn. Nếu một người đòi 100% trước, đó là câu trả lời của bạn rồi.
- Nếu tôi bỏ dở giữa chừng thì sao?
- Mã nguồn là của bạn ngay từ đầu, không cần đợi bàn giao. Bạn chỉ cần một commit đúng mốc là có một bản chạy được. Nhưng nói thẳng: phần lớn việc dở dang là do phạm vi chưa chốt từ đầu — và đó là lý do tài liệu phạm vi phải có trước khi tôi viết dòng code đầu tiên.
- Tôi có cần biết lập trình để làm việc với bạn không?
- Không. Bạn cần biết là việc mình muốn là khác với việc đang làm thế nào. Phần còn lại là việc của tôi. Điều tôi cần từ bạn là mô tả quy trình hiện tại và kết quả bạn muốn — bằng tiếng Việt, bằng cách bạn nói chuyện ở văn phòng.
- Bạn có làm việc với khách ở nước ngoài không?
- Được, với hai điều kiện. Múi giờ: APAC và châu Âu thì được, Mỹ thì không — một người thì không trụ nổi. Và tôi đọc viết tiếng Anh tốt hơn nói, nên trước khi nhận tôi cần xem phần tiếng Anh của tài liệu bạn gửi để biết mình có trao đổi được hay không.
- Bạn có phải là công ty không?
- Không. Tôi đăng ký kinh doanh hộ gia đình — “hộ kinh doanh” là một dạng pháp lý thật ở Việt Nam, có mã số thuế, ký hợp đồng được, và xuất hoá đơn VAT được. Nó không phải công ty, và tôi không giả vờ là công ty. Nếu quy trình của bạn cần một pháp nhân công ty, tôi không phải lựa chọn đúng.
Gửi cho tôi mô tả công việc và bạn sẽ nhận lại phạm vi và giá bằng văn bản. Nếu tôi không phù hợp, tôi sẽ nói thẳng trong câu đầu tiên thay vì để bạn chờ.