Mã Nguồn Ngược Dòng Chương 22 / 209

Chương 22 — Ngưỡng 500

Ngày thứ tám mươi bảy, sáu giờ mười sáng.

Hoàng cầm điện thoại trước khi ngồi dậy — thói quen hình thành từ đầu cung, khi mỗi buổi sáng là một con số mới cần kiểm tra. Anh mở app admin, nhìn màn hình thống kê.

503.

Anh nhìn lại lần nữa.

Năm trăm lẻ ba. Vượt ngưỡng ba ngày trước hạn chót, với biên độ vừa đủ — không phải thắng lợi rực rỡ kiểu về đích trước một tuần, mà là kiểu về đích đúng lúc với ba ngày dư lại trong tay.

Từ góc tầm mắt, bảng Hệ thống hiện lên — không có âm thanh, không có hiệu ứng gì. Chỉ là text xuất hiện từng dòng, trắng trên nền trong suốt:

NHIỆM VỤ HẠT GIỐNG — PHA 2: THU NGƯỜI DÙNG HOÀN THÀNH — NGÀY THỨ 87/90 NGƯỜI DÙNG THỰC: 503/500

MỞ KHÓA PHẦN THƯỞNG.

Hoàng nhấn xác nhận.


Phần thưởng đầu tiên hiện ra trong vài giây: cây kỹ năng mở một nhánh mới. Không phải cột THỰC CHIẾN hay TÍN NHIỆM — cột mới, chưa từng xuất hiện trước đây.

QUẢN LÝ SẢN PHẨM — Lv.1

Bên dưới là mô tả ngắn: Khả năng đánh giá phản hồi người dùng và chuyển thành quyết định kỹ thuật có thứ tự ưu tiên. Giảm 30% thời gian phân tích yêu cầu. Tăng độ chính xác khi ước tính effort tính năng mới.

Hoàng đọc mô tả hai lần. Không phải vì không hiểu — mà vì anh nhận ra điều kỳ lạ trong đó. Kỹ năng này không đến từ việc anh tự học hay tự luyện. Nó đến từ chín mươi ngày vừa qua — từ tính năng xuất báo cáo anh làm theo yêu cầu của Khoa, từ danh sách câu hỏi hội chợ Khoa nhắn về, từ người hỏi nhắc nợ tự động, từ anh chị bán vải muốn quản lý hai cửa hàng cùng lúc. Hệ thống đang đo thứ anh học được từ người khác, không phải thứ anh tự nghĩ ra.

Anh nhấn nhận kỹ năng, không nghĩ thêm về điều đó.

Phần thưởng thứ hai xuất hiện ngay sau:

MẢNH THÔNG TIN 002 — SẴN SÀNG MỞ CẢNH BÁO: MỞ MẢNH THÔNG TIN SẼ LÀM LỆCH LỊCH SỬ. ĐỘ CHÍNH XÁC THÔNG TIN TƯƠNG LAI GIẢM 1%. [XÁC NHẬN / KHÔNG]

Hoàng nhấn xác nhận mà không dừng lại.


Mảnh thông tin 002 không giống mảnh đầu — nó không phải dữ liệu cổ phiếu có con số và ngày tháng cụ thể. Nó là một bức tranh thị trường.

Hoàng đọc chậm, mắt chạy qua từng dòng:

Thị trường SaaS phục vụ doanh nghiệp nhỏ Việt Nam (SME) giai đoạn 2015–2017: — Phân khúc bị bỏ trống hoàn toàn: quản lý kho, công nợ, đặt hàng cho tiệm nhỏ quy mô 1–5 người — Cạnh tranh thực tế năm 2014–2015: gần như không có sản phẩm nội địa đủ đơn giản để chủ tiệm không biết IT có thể tự dùng — Sóng áp dụng dự kiến: 2016–2017, khi smartphone phổ cập tầng lớp tiểu thương và 4G bắt đầu triển khai — Yếu tố cản trở: không phải kỹ thuật mà là hành vi — người dùng SME cần được dạy tay cầm tay, không tự onboard từ website — Ngưỡng tới hạn: sản phẩm có dưới 1.000 người dùng trả tiền đều sống sót ở mức hòa vốn; trên 3.000 bắt đầu có thể nhân bản sang tỉnh

Hoàng đọc đến đoạn cuối rồi nhìn ra ngoài cửa sổ một lúc.

Trên 3.000.

Họ đang ở 503. Và 503 là kết quả của chín mươi ngày Khoa đi từng hẻm, đứng từng hội chợ. Mảnh thông tin này không phải tin tốt theo cách thông thường — nó là tin của người biết mình còn rất xa mục tiêu thật sự, nhưng đang đi đúng hướng.

Anh lấy cuốn sổ học trò để trong ngăn bàn — cuốn anh dùng làm nhật ký kỹ thuật từ đầu cung — mở ra trang mới, viết bằng bút bi xanh:

M002 — SaaS SME 2015-2017 Thị trường: trống, đúng. Cản trở: hành vi, không phải kỹ thuật — đúng với những gì đã thấy. Ngưỡng: 503 → cần 3.000 để thực sự nhân bản. Tốc độ hiện tại: ~150 người/tháng nếu duy trì nhịp hội chợ. Cần 17 tháng nữa. Cần tăng tốc. Cần kênh mới. Cần suy nghĩ về onboarding.

Anh viết thêm một dòng, chữ nhỏ hơn:

Ghi nhớ: hành vi — cần dạy tay cầm tay. Khoa đang làm điều này. Không thể tự động hoá hoàn toàn.

Đóng sổ lại. Đặt bút xuống.

Ngoài cửa sổ, tiếng hẻm buổi sáng bắt đầu nổi lên — xe máy khởi động, tiếng quét sân đâu đó phía cuối hẻm, mùi cháo từ nhà bên cạnh thoảng sang. Ba đã về từ đêm qua — Hoàng nghe tiếng ho quen thuộc từ phòng bên khi anh đang đọc mảnh thông tin, cái tiếng ho khô anh nghe lần đầu hồi chương mười, và từ đó nghe thêm vài lần nữa không nói với ai.

Anh nhìn cuốn sổ nhật ký, nhìn bảng Hệ thống đang hiển thị trạng thái mới:

KỸ NĂNG MỞ KHÓA: QUẢN LÝ SẢN PHẨM Lv.1 MẢNH THÔNG TIN 002 — ĐÃ TIẾP THU ĐỘ CHÍNH XÁC THÔNG TIN TƯƠNG LAI: 91% NHIỆM VỤ HẠT GIỐNG — PHA 3: SẴN SÀNG.

Pha 3. Anh chưa biết pha 3 là gì — Hệ thống chưa hiển thị tiêu chí. Nhưng nó đã mở, nghĩa là đang chờ.

Hoàng đứng dậy, ra ngoài ăn sáng.


Trưa hôm đó, Khoa nhắn lúc mười hai giờ kém mười hai.

“Mày thấy bài đăng trên Facebook chưa?”

Rồi một link, không kèm lời giải thích.

Hoàng đang ăn cơm trưa một mình — ba đi làm ca chiều, mẹ đang ngủ bù sau ca sáng. Anh đặt đũa xuống, cầm điện thoại.

Link dẫn đến một bài đăng trên Facebook, tài khoản tên Nguyễn Việt Hùng — ảnh đại diện là ảnh chụp màn hình IDE, có khoảng mười lăm nghìn người theo dõi, loại tài khoản developer hay chia sẻ code snippet và review công cụ. Bài đăng đăng lúc mười một giờ mười sáng, có ảnh đính kèm: hai màn hình đặt cạnh nhau.

Màn hình bên trái là giao diện NỢ SỔ — Hoàng nhận ra ngay, không cần nhìn kỹ. Màn hình bên phải là một thứ gì đó khác, cùng bố cục nhưng màu sắc khác, font khác, chưa hoàn chỉnh — trông như bản nháp đang xây.

Caption bên dưới:

“Ai biết cái app này không? Giao diện giống y chang cái tao đang làm. Không biết ai học của ai nữa 😅”

Bên dưới là ba trăm mười bảy bình luận. Anh kéo xuống.

“Nhìn giống thiệt. Cái nào ra trước?”

“App bên trái tao thấy rồi, có bạn ở hội chợ tiểu thương quận BT giới thiệu. Tên là NỢ SỔ.”

“@Nguyễn Việt Hùng mày xây từ bao giờ rồi? App kia nhìn hoàn thiện hơn.”

“Cùng ý tưởng không có nghĩa là copy mà. Bài toán giống nhau thì UI giống nhau thôi.”

“Nhưng mà cái font chữ và layout header kia giống quá lại thôi. Không phải tình cờ đâu.”

“Cho hỏi NỢ SỔ do ai làm vậy? Tìm không ra thông tin gì cả.”

Hoàng dừng ở bình luận cuối đó. Tìm không ra thông tin gì cả.

Đúng. Không có thông tin gì về NỢ SỔ trên mạng — không trang web riêng, không fanpage, không landing page. Người dùng đến qua giới thiệu trực tiếp của Khoa, đăng ký trên link anh Tuấn cung cấp dưới tên miền VietPath, không có gì dẫn về một developer hay một cá nhân cụ thể.

Anh tắt màn hình. Cầm đũa ăn tiếp. Thức ăn đã hơi nguội.


Buổi chiều anh vào thư viện trường, không phải để học mà để có wifi ổn định. Ngồi ở bàn góc, mở laptop, vào lại bài đăng của Nguyễn Việt Hùng.

Lúc này bài đăng đã có hai trăm lượt chia sẻ. Bình luận lên hơn bốn trăm.

Hoàng đọc có hệ thống — không phải đọc hết mà lướt qua để phân loại: ai đang nói gì, theo hướng nào, và quan trọng nhất là cái câu hỏi nào đang được lặp lại nhiều nhất.

Câu hỏi lặp lại nhiều nhất không phải “ai copy ai” — mà là “NỢ SỔ do ai làm?”

Cái câu hỏi đó xuất hiện ở hai mươi ba bình luận khác nhau mà anh đếm được trong vòng mười lăm phút đọc. Không phải kết tội — chỉ hỏi. Nhưng câu hỏi không có trả lời sẽ không tự tan biến. Nó sẽ bị lấp đầy bởi suy đoán.

Anh mở tab mới, vào VietPath.com — website của anh Tuấn, nơi có trang giới thiệu NỢ SỔ dưới mục sản phẩm đang hỗ trợ. Trang đó ghi: NỢ SỔ — ứng dụng quản lý công nợ cho tiểu thương, đang trong giai đoạn thử nghiệm, liên hệ [email protected] để đăng ký.

Không có tên developer. Không có thông tin kỹ thuật. Đúng theo thỏa thuận miệng với anh Tuấn từ tháng trước — VietPath là mặt tiền pháp lý, không phải thương hiệu sản phẩm.

Bây giờ sự sắp xếp đó đang tạo ra khoảng trống thông tin, và khoảng trống đó đang được điền vào bằng câu hỏi về nguồn gốc.

Hoàng nhìn màn hình, ngón tay gõ nhẹ lên mặt bàn.

Anh biết chính xác ai là developer — là anh. Biết chính xác lịch sử phát triển — từ ngày đầu tiên anh vẽ wireframe trên giấy kẻ ngang cho đến bản hiện tại. Biết ngày tháng, commit log trên server, từng tính năng ra đời theo thứ tự nào.

Và anh không thể dùng bất kỳ điều nào trong số đó để trả lời câu hỏi trên mạng mà không tự phá vỡ thứ mình đang xây.

Một đứa học sinh lớp mười — vì lúc này Hoàng đã lên lớp mười sau kỳ thi hè — không phải là câu trả lời mà thị trường chấp nhận cho câu hỏi “ai làm cái phần mềm này.”

Anh đóng tab lại. Nhìn sang góc tầm mắt — bảng Hệ thống vẫn hiển thị trạng thái sau khi mở phần thưởng sáng nay, không có gì thêm.

Không có gợi ý. Không có nhiệm vụ mới về bài đăng. Không có hướng xử lý.


Chiều tối anh về nhà, ăn cơm với ba. Mẹ đi ca chiều từ ba giờ. Ba nấu canh chua cá bông lau, loại ba hay nấu khi mẹ không ở nhà — đơn giản, không cần nhiều nguyên liệu, ăn được lâu.

Ba ngồi ăn nhìn vào TV — chương trình thời sự đang nói về cải cách thuế gì đó. Hoàng múc cơm, ăn, không mở chủ đề gì.

“Con ăn thêm đi.” Ba đẩy đĩa cá về phía anh.

“Dạ." Anh gắp thêm một miếng.

Hai người ăn trong yên lặng — loại yên lặng không phải vì có gì đó không ổn mà vì đã quen. Ba không hay hỏi nhiều, Hoàng không hay chia sẻ nhiều, và khoảng trống đó không cần được lấp đầy bằng lời để bữa cơm vẫn là bữa cơm.

Nhưng lần này Hoàng ngồi với cái trọng lượng của bài đăng Facebook trong đầu, và bữa cơm bình thường cảm giác khác bình thường.

“Ba," anh nói, không có kế hoạch trước. "Ba biết cái app quản lý nợ trong hẻm không? Chị Bảy tạp hoá đang dùng đó."

Ba quay nhìn anh. “Biết. Chị Bảy nói với tao tháng trước, cái app ghi nợ trên điện thoại. Có ích à?"

“Dạ. Nghe nói chị dùng hay lắm, tiết kiệm được thời gian."

Ba gật đầu, quay lại nhìn TV. “Tốt. Mấy chị bán hàng toàn ghi sổ viết tay, hay nhầm lắm."

Hoàng không nói thêm. Anh cũng không biết mình định dẫn câu chuyện đến đâu — có lẽ không đến đâu. Chỉ là muốn nghe ba nói về app đó từ góc nhìn của người đứng ngoài, người không biết con mình là tác giả.

Nghe nói chị dùng hay lắm.

Ba không biết. Và Hoàng không nói.

Anh ăn xong, dọn bát, lên phòng.


Mười giờ đêm, anh mở lại bài đăng của Nguyễn Việt Hùng.

Hai trăm lượt chia sẻ đã lên thành hai trăm mười bảy. Bình luận qua năm trăm.

Anh đọc các bình luận mới — hướng của cuộc thảo luận đã thay đổi một chút. Ban đầu người ta hỏi ai làm trước, bây giờ có thêm một nhánh mới: có người bắt đầu so sánh kỹ thuật. Vài người đã dùng thử NỢ SỔ, đang đăng ký mô tả tính năng.

“Tao dùng thằng NỢ SỔ này, chạy ổn, UI đơn giản nhưng làm đúng việc. Không thấy bao nhiêu tính năng thừa.”

“Cái bên phải của Hùng nhìn có backend phức tạp hơn, nhưng chưa ra sản phẩm thì không so được.”

“Developer NỢ SỔ giỏi đó, code gọn. Nhưng vẫn không biết là ai.”

Hoàng đọc dòng cuối đó và dừng lại.

Developer NỢ SỔ giỏi đó.

Câu đó không phải khen tặng anh — người viết không biết đó là anh. Nhưng nó là thứ gì đó anh không quen nhận: ai đó nhìn vào sản phẩm anh xây và nói nó tốt, mà không biết người xây là ai.

Kỳ lạ. Không phải cảm giác xấu — chỉ kỳ lạ.

Anh kéo xuống tiếp. Rồi dừng ở một bình luận đăng lúc mười giờ hơn, mới hơn các cái kia:

“Nghe nói NỢ SỔ đang được dùng nhiều ở các hội chợ tiểu thương quận Bình Thạnh, Gò Vấp. Mấy chị bán hàng bên đó giới thiệu nhau. Ai làm cái này mà không ra mặt là sao?”

Ai làm cái này mà không ra mặt là sao.

Câu hỏi đó không phải kết tội. Nhưng nó chỉ ra đúng điều anh không muốn người ta nhìn thấy: sản phẩm đang lan, đang được dùng, đang tạo tín nhiệm — trong khi người tạo ra nó đứng sau tấm rèm và không có kế hoạch bước ra.

Anh ngồi với câu đó một lúc.

Từ góc tầm mắt, bảng Hệ thống cập nhật — không phải toàn bộ bảng, chỉ một dòng mới xuất hiện ở góc dưới, chữ nhỏ hơn các thông báo thông thường:

CẢNH BÁO — VẤN ĐỀ MỚI ĐÃ XUẤT HIỆN.

Không gợi ý gì thêm. Không có nhiệm vụ kèm theo. Không có hướng giải quyết.

Chỉ là một câu thông báo và dấu chấm ở cuối.


Hoàng đặt điện thoại xuống bàn, ngồi nhìn màn hình laptop trống.

Anh mở tab GitHub cá nhân — không phải repo chính của NỢ SỔ mà là bản sao anh giữ riêng trên máy. Commit log hiện ra: từ cái commit đầu tiên ngày 3 tháng 4 năm nay, “init project, basic debt tracking”, đến cái commit gần nhất hai tuần trước, “add PDF export, fix unicode in customer name.”

Ngày, giờ, nội dung — tất cả ở đó. Rõ ràng như nhật ký. Không ai có thể phủ nhận điều này.

Nhưng để dùng những thứ này trả lời câu hỏi trên Facebook — để nói tôi là developer, đây là commit log, tôi làm trước — anh cần phải lộ diện. Và lộ diện nghĩa là: một cậu học sinh mười lăm tuổi đang học ở Bình Thạnh là người đứng sau sản phẩm này.

Cái phản ứng tiếp theo của người ta với thông tin đó, anh biết trước không cần Hệ thống gợi ý — không phải “wow, tài năng”. Là “ai cho phép mày bán phần mềm”“mày có giấy phép kinh doanh không”“VietPath đứng tên nhưng mày là ai trong đó thực sự” và cuối cùng là câu hỏi trực tiếp hơn về toàn bộ cấu trúc pháp lý anh và anh Tuấn đã sắp xếp từ tháng trước.

Cái cấu trúc đó đứng vững với điều kiện không ai nhìn thẳng vào nó. Một khi ánh đèn chiếu vào, mỗi câu hỏi tiếp theo sẽ mở ra một câu hỏi mới.

Hoàng nhìn màn hình commit log. Rồi đóng tab lại.

Bảng Hệ thống vẫn hiển thị dòng cảnh báo ở góc dưới, không thay đổi. Không có hướng dẫn. Không có lựa chọn được liệt kê. Không có nhiệm vụ với điểm thưởng nào đính kèm.

Lần đầu tiên trong suốt chín mươi ngày của cung này, anh ngồi trước một vấn đề mà Hệ thống không nói gì hơn ngoài vấn đề đã xuất hiện.

Anh nhìn đồng hồ — mười một giờ kém tám. Ngoài cửa sổ hẻm đã lặng, chỉ còn tiếng điều hòa từ nhà nào đó vọng sang và tiếng chó sủa xa xa cuối hẻm. Ba đã ngủ từ lâu — Hoàng nghe tiếng ông trở mình qua vách mỏng.

Anh không biết bước tiếp theo là gì.

Không phải không biết theo nghĩa chưa suy nghĩ đủ — anh đã suy nghĩ từ trưa. Mà là không biết theo nghĩa đây là câu hỏi mà không có đáp án nằm sẵn trong trí nhớ tương lai. Năm 2026, anh là kỹ sư cấp trung, không phải founder đối mặt với tranh chấp quyền sở hữu sản phẩm năm đầu tiên. Anh chưa từng ở đây.

Hệ thống cũng chưa từng ở đây.

Hoàng tắt màn hình laptop, ngồi trong bóng tối phòng, nghe tiếng hẻm lặng dần.

Ngày thứ tám mươi bảy kết thúc với con số 503 trong tay và một bài đăng hai trăm lần chia sẻ đang hỏi câu mà anh có câu trả lời nhưng không thể nói.