Tao viết được một trăm hai mươi dòng code mà không biết nó chạy cho ai
I Wrote a Hundred and Twenty Lines of Code Without Knowing Who It Was For
Tao làm developer được bốn năm.
Năm đầu, tao háo hức lắm. Mỗi lần deploy xong, tao ngồi nhìn cái terminal chạy mà sướng. Như kiểu mình vừa tạo ra cái gì đó. Cái gì đó có thật.
Năm thứ hai, tao bắt đầu quen. Code xong, commit, push, tạo pull request, chờ review. Quy trình gọn gàng. Tao không còn nhìn terminal nữa. Nhìn Slack thay.
Năm thứ ba, tao lên mid-level. Lương tăng. Task khó hơn. Tao bắt đầu viết những thứ phức tạp hơn. Microservice, API gateway, caching layer. Mỗi lần xong một cái, lead khen. Team khen. Tao cười, nói cảm ơn.
Rồi một hôm, khoảng mười giờ tối, tao đang ngồi fix một cái bug. Cái bug nằm trong một service mà tao viết từ sáu tháng trước. Tao đọc lại code của chính mình mà không nhận ra. Phải mất hai mươi phút mới hiểu logic.
Fix xong. Push lên. CI chạy xanh. Tao đóng laptop.
Rồi tao ngồi đó.
Không mở Netflix. Không lướt điện thoại. Chỉ ngồi.
Tao tự hỏi: cái service đó, ai dùng?
Tao biết nó nằm trong hệ thống. Tao biết nó xử lý data. Tao biết nó chạy ổn, uptime chín mươi chín phẩy chín phần trăm. Nhưng tao không biết, ở đầu kia, có người nào ngồi mở app lên, bấm một cái nút, rồi cái nút đó gọi tới cái service của tao, rồi người đó nhận được cái gì đó, rồi người đó cảm thấy gì.
Tao không biết.
Tao chưa bao giờ hỏi.
---
Hôm sau tao hỏi product manager. Anh, cái feature này, user nào xài?
Nó nhìn tao, hơi ngạc nhiên. Rồi nó mở dashboard lên, chỉ cho tao mấy con số. DAU, MAU, retention rate. Nó nói: "Ổn mà, số đẹp."
Tao nhìn mấy con số đó. Đẹp thật. Nhưng tao không cảm thấy gì.
Số đẹp. Nhưng tao không thấy người.
---
Tao kể chuyện này cho thằng bạn. Nó cũng dev, nhưng làm freelance. Nó cười.
"Mày sang chảnh vãi. Tao code xong, khách trả tiền, xong. Mày còn đòi ý nghĩa."
Tao cũng cười. Nó nói đúng. Nghe hơi sang chảnh thật.
Nhưng tối đó tao nằm nghĩ. Không phải tao đòi ý nghĩa. Tao chỉ muốn biết cái mình làm, nó đi đâu. Nó rơi vào đâu. Nó có chạm vào ai không.
Hay nó chỉ chạy. Như một cái máy. Trong một cái máy lớn hơn. Trong một hệ thống mà không ai nhìn thấy toàn cảnh.
---
Tuần sau, tao xin đi theo team customer support một buổi. Lead hơi lạ, nhưng cho.
Tao ngồi nghe. Nghe user gọi vào. Có người hỏi cách dùng feature. Có người than chậm. Có người khen.
Có một cuộc gọi, một chị, giọng miền Tây, chị nói: "Em ơi, cái app này chị dùng để quản lý đơn hàng. Hồi trước chị ghi tay, hay sai lắm. Giờ đỡ rồi."
Tao ngồi nghe mà thấy cái gì đó trong ngực.
Không phải xúc động kiểu phim. Không phải "eureka" kiểu sách self-help. Chỉ là, lần đầu tiên, tao thấy cái service của tao, cái đống code mà tao viết lúc mười giờ đêm, nó đi tới một chỗ. Nó rơi vào tay một người. Người đó có mặt. Có giọng nói. Có cái lo của riêng chị.
---
Nhưng rồi cảm giác đó cũng qua.
Tuần sau tao lại ngồi code. Lại commit. Lại push. Lại nhìn CI chạy xanh.
Tao không gọi lại cho chị đó. Tao không xin đi support nữa. Cuộc sống quay lại bình thường.
Chỉ có một thứ khác.
Tao bắt đầu để ý cái khoảng trống.
Giữa lúc tao viết code và lúc user dùng, có một khoảng trống rất lớn. Tao không nhìn thấy nó. Không ai nhìn thấy nó. Nhưng mọi thứ chạy qua đó.
Cái service chạy qua đó. Cái data chạy qua đó. Cái lo lắng của chị miền Tây cũng chạy qua đó.
Tao không lấp được khoảng trống đó. Tao cũng không cần lấp.
Nhưng tao biết nó ở đó.
---
Bốn năm đi làm, tao viết có lẽ vài chục ngàn dòng code. Hầu hết tao không nhớ. Hầu hết đã bị refactor, bị xóa, bị thay.
Tao không biết mình đang xây cái gì.
Có khi không ai biết.
Nhưng cái bình, nó hữu dụng không phải vì lớp đất bên ngoài.
Mà vì cái khoảng trống bên trong.
Tao nghĩ, có khi cái "không biết để làm gì" của tao, nó cũng là một khoảng trống.
Không phải để lấp.
Mà để chứa.