Chương 136 — Luật của kênh riêng
Chín giờ tối.
Tiếng còi xe từ đường Tô Hiến Thành vọng vào qua lớp kính hai lớp chỉ còn là một dải âm thanh rì rầm, mỏng và đều. Dưới sân, bóng chiếc Wave cũ của ba Hoàng đổ dài cạnh cột đèn bảo vệ. Mọi người ở mảng vận hành và CS đã về từ lâu. Khu làm việc chung chỉ còn lại những chiếc ghế xoay trống trơn, mặt bàn gỗ công nghiệp phản chiếu ánh đèn neon trắng đã tắt bớt một nửa.
Hoàng ngồi ở chiếc bàn dài giữa phòng. Trước mặt anh là tờ giấy nháp viết tay bốn dòng quy tắc và chiếc bút đỏ đặt nghiêng.
Tiếng bước chân từ hành lang đi vào. Không vội, cũng không ngập ngừng.
Minh bước vào, vai đeo chiếc balô đựng laptop quen thuộc. Cậu không cất balô, chỉ kéo ghế đối diện Hoàng rồi ngồi xuống. Gương mặt Minh dưới ánh sáng mờ của dãy đèn hành lang trông tĩnh lặng, hai tay đan vào nhau đặt trên mặt bàn gỗ.
Cậu nhìn tờ giấy nháp trước mặt Hoàng, rồi nhìn lên.
“Em xem tin nhắn trễ.” Minh mở lời trước. “Lúc nãy em chạy dọn dẹp lại đống dữ liệu kiểm thử trên server phụ.”
“Ừ,” Hoàng nói. “Không sao.”
Cậu đặt tay lên mép bàn, ngón tay gõ nhẹ hai nhịp lên lớp gỗ dán. “Anh muốn nói về chuyện bài blog?”
“Cả bài blog và Raj.” Hoàng đẩy tờ giấy nháp sang một chút, đủ để Minh có thể đọc được nhưng không quá sát. “Phương Anh đã check email của em gửi Raj. Không có dữ liệu nội bộ bị lộ. Khoa cũng hỏi thăm vài bên, blogger kia chỉ nhặt tin đầu đường xó chợ rồi tự vẽ ra. Việc bên ngoài đã hãm lại rồi.”
Minh thở ra một hơi nhẹ, bả vai hơi chùng xuống. “Em đã nghĩ Khoa sẽ muốn tìm ai đó chịu trách nhiệm.”
“Khoa lo cho đội thực địa. Chị Linh lo cho khách hàng bên Nhật. Ai cũng có thứ phải giữ.” Hoàng xoay nhẹ chiếc bút đỏ. “Nhưng chuyện bài blog chỉ là cái ngòi. Cái bình chứa ga là thứ chúng ta đang có ở đây.”
“Ý anh là kênh của em với Raj?”
“Đúng.”
Minh im lặng. Cậu không quay đi, mắt vẫn nhìn thẳng vào Hoàng. Ánh mắt ấy không có sự phòng thủ thô bạo của những ngày đầu tiên hai người cãi nhau về stack PHP hay Node.js. Nó mang vẻ của một kỹ sư đang cố hiểu xem hệ thống của mình bị lỗi ở phân đoạn nào.
“Raj là người giỏi,” Minh nói, giọng cậu trầm và chậm rãi. “Anh ấy không nói chuyện kiểu nhà đầu tư hỏi số liệu. Những câu hỏi của anh ấy nhắm vào cách phân bổ tài nguyên hệ thống, cách xử lý độ trễ khi lượng người dùng đồng thời tăng gấp năm lần trong một ngày mưa. Ở Việt Nam, rất khó tìm được người có kinh nghiệm vận hành hệ thống quy mô như vậy để hỏi.”
Cậu dừng lại một chút.
“Em muốn giữ kênh đó để tự học. Em nghĩ mình không chia sẻ codebase, không gửi schema database, không nói về các đàm phán hợp đồng thì đó là việc riêng của em.”
“Nó là việc riêng,” Hoàng gật đầu. “Cho đến khi nó tác động lên quyết định của công ty.”
“Em chưa bao giờ đưa ý kiến của Raj vào cuộc họp như một mệnh lệnh.”
“Nhưng em đã dùng nó để xây cấu trúc.” Hoàng chỉ vào màn hình laptop của Minh đang cắm hờ trong túi balô. “Kiến trúc microservices mới em đang làm, có bao nhiêu phần trăm là gợi ý từ các cuộc trao đổi với Raj?”
Minh mím môi. “Ba mươi phần trăm. Chủ yếu là phần xử lý hàng đợi sự kiện. Nhưng đó là các mẫu thiết kế chuẩn của ngành, không phải bí mật công nghệ.”
“Và em tự tin phân biệt được đâu là mẫu thiết kế chuẩn, đâu là hướng đi chiến lược của Cổng Việt?”
“Em phân biệt được.”
“Nếu em phân biệt được, tại sao trong email cá nhân em lại viết ‘bên em đang học điều đó theo cách khá đau đầu’?” Hoàng hỏi, giọng anh đều, không có một tông cao nào để biến câu thành tra tấn. “Cụm ‘bên em’ đó là đại diện cho ai? Cho Trịnh Nguyễn Minh cá nhân, hay cho Cổng Việt?”
Minh im lặng. Ngón tay cậu ngừng gõ lên mặt bàn.
Gió từ máy lạnh thổi qua, làm tờ giấy nháp trên bàn dịch đi vài milimét. Hoàng không với tay giữ. Anh để nó nằm đó, lệch góc.
“Em viết vội,” Minh nói khẽ. “Đó là sơ hở của em.”
“Minh.” Hoàng tựa lưng vào ghế. “Tao từng im lặng rất lâu về kênh này của em. Từ hồi ở Singapore, tao nhìn thấy em nói chuyện với Raj ở hành lang kính. Lúc đó tao không hỏi — không phải vì tao tin em tuyệt đối không bao giờ làm rò tin. Tao im vì tao sợ.”
Minh ngẩng đầu lên, nét ngạc nhiên hiện rõ trên chân mày. “Anh sợ cái gì?”
“Sợ nếu tao hỏi, tao sẽ biến thành một thằng sếp thích kiểm soát mọi ngóc ngách. Sợ em nghĩ tao không tin năng lực của em. Tao sợ cái tôi của tao va vào cái tôi của em rồi làm vỡ cái cấu trúc chúng ta vừa mới dựng lại sau vụ rollback.”
Hoàng nhìn xuống tờ giấy nháp, cười nhẹ — nụ cười thoáng qua rồi tắt.
“Nhưng sự im lặng đó của tao là một sai lầm. Tao im để giữ hòa khí, và kết quả là chúng ta có một bài blog làm cả team nháo nhào lên một buổi sáng. Kênh riêng của em không có luật, nên nó trở thành vùng tối. Mà vùng tối thì luôn tạo ra nghi ngờ. Sáng nay Khoa đã nghĩ ngay đến em. Phương Anh phải đi tìm bằng chứng để chứng minh em sạch. Chị Linh phải đi dọn dẹp với khách hàng. Em có thấy cái giá của sự tự do trao đổi đó quá đắt không?”
Minh nhìn xuống tờ giấy nháp. Cậu đọc bốn dòng viết tay của Hoàng. Dòng chữ đỏ của chiếc bút bi thiên long nổi lên trên nền giấy trắng ố.
1. Được học hỏi bên ngoài. Không được mang trạng thái bên trong ra làm ví dụ. 2. Được giữ quan hệ chuyên môn cá nhân. Không được để quan hệ đó tạo nghĩa vụ im lặng với tổ chức. 3. Khi phân vân, báo trước. Báo trước không làm mất tự do; nó mua thêm người cùng chịu trách nhiệm. Luật tốt nhất là luật khiến người giỏi không phải cô độc khi đứng trước vùng xám.
Minh đọc xong, cậu chỉ ngón tay vào dòng thứ hai.
“Nghĩa vụ im lặng là sao?”
“Là khi Raj đưa cho em một giải pháp tốt, và em dùng nó để sửa codebase của Cổng Việt, nhưng em không ghi nhận nguồn gốc của nó trong nhật ký thiết kế. Em giữ nó trong hộp thư cá nhân. Nếu ngày mai em rời đi, hoặc Raj đổi bên, cái tri thức đó biến mất cùng em. Tổ chức này chỉ còn lại một cái hộp đen chạy tốt nhưng không ai hiểu vì sao nó chạy như vậy.”
Anh nhìn thẳng vào Minh.
“Tao không cấm em nói chuyện với Raj. Tao cấm những thứ quan trọng chỉ tồn tại ở nơi không ai khác nhìn thấy.”
Minh ngồi im. Cậu đang xử lý thông tin theo cách của một lập trình viên: chạy thử các trường hợp biên của thuật toán.
“Nếu em ghi lại,” Minh nói chậm rãi, “mọi người sẽ biết em học từ Raj. Quỹ đầu tư sẽ biết họ đang tác động được vào kiến trúc của mình qua kênh cố vấn của họ. Phương Anh sẽ lo về mặt pháp lý.”
“Phương Anh lo là việc của Phương Anh,” Hoàng đáp. “Nhưng cô ấy có số liệu để lo. Còn hơn là để cô ấy phải đoán. Khi em ghi vào log rằng giải pháp này được tham khảo từ Raj, tao có quyền veto nó nếu tao thấy nó tạo ra sự phụ thuộc kỹ thuật vào quỹ. Em cũng được bảo vệ: nếu cái pattern đó sau này bị lỗi, đó là quyết định của cả team đã duyệt sau khi xem log, không phải lỗi cá nhân em đi đêm.”
Minh kéo tờ giấy về phía mình. Cậu dùng đầu ngón tay miết nhẹ lên mép giấy.
“Anh thực sự không cấm em nói chuyện với Raj?”
“Không,” Hoàng trả lời. “Tao cấm những thứ quan trọng chỉ tồn tại ở nơi không ai khác nhìn thấy.”
Minh thở ra một hơi dài. Cậu buông lỏng hai vai, tựa hẳn người vào lưng ghế xoay. Tiếng da ghế kêu nhẹ một tiếng rắc.
“Em hiểu rồi.” Cậu nói. “Nếu có một cái log công khai, em sẽ không phải tự mình cân nhắc xem câu này có nên viết hay không nữa. Cứ cái gì liên quan đến kiến trúc thì thảy vào đó.”
“Đúng. Tao gọi nó là external-advice log. Bất kỳ ai trong team — từ em trao đổi kỹ thuật, Khoa trao đổi với các nhóm sales bên ngoài, hay chị Linh liên hệ với bên Nhật — nếu cuộc trao đổi đó dẫn đến một thay đổi trong cách chúng ta vận hành hoặc viết code, nó phải được tóm tắt và đưa vào log đó. Không cần chi tiết email, chỉ cần: ai khuyên, khuyên cái gì, mình quyết định dùng hay bỏ, lý do.”
Hoàng nhặt chiếc bút đỏ lên, đưa cho Minh.
“Em có muốn sửa gì trong bốn dòng này không?”
Minh cầm bút. Cậu nhìn tờ giấy nháp, xoay thân bút nhựa trong tay. Cậu không gạch xóa dòng nào. Cậu chỉ viết thêm một dòng số năm dưới dòng chữ của Hoàng:
5. Log này do team tự cập nhật, không qua kiểm duyệt trước. Ai không cập nhật, tự chịu trách nhiệm trước quy trình review.
Cậu trả bút lại cho Hoàng.
“Như vậy để em khỏi phải xin phép anh mỗi lần trả lời email.”
Hoàng nhìn dòng chữ thứ năm. Chữ Minh nghiêng, nét mảnh và sắc, rất khác nét chữ tròn và hơi nặng của anh.
“Được,” Hoàng nói. “Sáng mai Phương Anh sẽ chuẩn bị file mẫu trên drive chung. Mình chạy thử từ ngày mai.”
Minh gật đầu. Cậu kéo khóa balô, lấy chiếc laptop ThinkPad cũ ra đặt lên bàn. “Để em lọc lại mấy email quan trọng của Raj trong ba tháng qua rồi ném vào log trước. Có mấy đoạn về hàng đợi sự kiện anh cũng nên đọc. Nó giải quyết được bài toán đồng bộ dữ liệu lúc mạng yếu của Cổng Việt ở miền Trung.”
Cậu mở máy. Ánh sáng xanh nhạt từ màn hình chiếu lên mặt hai người.
Hoàng ngồi yên nhìn ngón tay Minh gõ trên bàn phím. Tiếng gõ lách cách quen thuộc vang lên trong văn phòng vắng.
Cơn gió ngoài cửa sổ thổi qua một đám mây mỏng, để lộ một vệt sáng bạc của chiếc máy bay đang hạ độ cao về phía Tân Sơn Nhất. Hoàng không nhìn lên tấm gương phản chiếu trong tâm trí. Anh biết, dù chỉ số tổ chức có tăng hay giảm vào ngày mai, thì cái ranh giới giữa anh và Minh vừa được vẽ xong bằng một nét mực đỏ thật sự.
Và nét mực đó không nằm trên màn hình. Nó nằm ở đây, trên tờ giấy nháp lệch góc giữa hai người.
“Minh,” Hoàng gọi khi tiếng gõ phím dừng lại một nhịp.
“Vâng?”
“Vụ rollback lần trước… tao xin lỗi vì đã không giải thích rõ trước khi bấm nút.”
Minh dừng tay trên bàn phím. Cậu không ngẩng lên ngay, mắt vẫn nhìn vào dòng log đang chạy trên màn hình đen.
“Hồi đó em ghét anh lắm,” Minh nói nhỏ. “Em nghĩ anh chỉ là một thằng nhóc ăn may có tiền của anh Tuấn đứng sau.”
“Giờ thì sao?”
Minh ngẩng lên, khóe miệng nhếch nhẹ. “Giờ thì em thấy anh mệt hơn em nghĩ.”
Cậu cúi xuống gõ tiếp.
“Em xong ba cái rồi. Anh xem thử trên drive đi.”
Hoàng mở điện thoại. Trên thư mục chung của Cổng Việt, một file mới tên là external-advice-log.xlsx vừa xuất hiện. Dòng đầu tiên ghi: Raj — Cố vấn kỹ thuật quỹ SG — Đề xuất Event-driven pattern cho queue đồng bộ — Trạng thái: Đang thử nghiệm trong sandbox.
Hoàng gập điện thoại lại.
“Tao về trước. Ba tao còn đợi cửa.”
“Vâng. Em xong chỗ này rồi về.”
Hoàng đứng dậy, khoác balô lên vai. Khi anh bước ra đến cửa văn phòng, anh quay lại nhìn. Minh vẫn ngồi đó dưới ánh đèn neon mờ, bóng cậu đổ dài trên mảng tường dán sơ đồ kiến trúc cũ.
Một người kỹ sư giỏi và một cái log sạch.
Đó là tất cả những gì anh cần để đi tiếp vào ngày mai, khi những chuyến hàng đầu tiên bắt đầu tìm đường lên bầu trời.
Cửa khép lại, tiếng lách cách của bàn phím chìm dần vào bóng tối hành lang. Dưới sân, chiếc Wave cũ của ba Hoàng nổ máy, ánh đèn pha quét một vệt vàng qua cổng sắt. Hoàng bước xuống cầu thang, gió đêm Sài Gòn mang theo mùi ẩm của cơn mưa muộn phả vào mặt. Anh lên xe, tựa đầu vào vai ba, để mặc tiếng động cơ xe máy đưa mình về phía con hẻm Bình Thạnh.
Tấm gương phản chiếu trong đầu anh nhấp nháy một dòng chữ xám nhạt rồi tắt hẳn:
Ranh giới thông tin — Đang chuẩn hóa.
Hoàng không nhìn nó nữa. Anh nhắm mắt lại, nghe tiếng xích xe máy lọc cọc đều đặn trong đêm.
Sáng hôm sau, file quy tắc chính thức được Phương Anh in ra và đặt lên bàn từng người.
Khoa là người đầu tiên ký. Anh ký bằng một nét bút to bản, chiếm nửa trang giấy, rồi quay sang cười với Trâm: “Từ giờ anh đi uống cà phê với khách là phải khai báo hết nha.”
Trâm cười khúc khích. “Để em làm cái log riêng cho anh.”
Minh ký sau giờ trưa, không nói câu nào, chỉ ký đúng vào ô tên mình dưới dòng chữ thứ năm cậu tự viết tối qua.
Phương Anh thu lại các bản ký, kẹp vào bìa hồ sơ màu xanh. Cô đi ngang qua bàn Hoàng, gõ nhẹ ngón tay lên mặt bàn anh.
“Xong việc một,” cô nói. “Việc hai bắt đầu chưa?”
“Việc hai?”
“Tuyến thử nghiệm miền Trung.” Phương Anh kéo chiếc ghế phụ ngồi xuống. “Ông Vũ vừa gửi checklist kiểm tra kho bãi đầu cầu Đà Nẵng. Khoa nói hàng quà Tết đã gom được hai phần ba. Tuần sau bay.”
Hoàng mở cuốn sổ tay cũ, nhìn vào sơ đồ tuyến bay thử nghiệm từ sân bay Đà Nẵng đi Narita anh đã vẽ sẵn.
“Minh đã check cấu trúc dữ liệu đối soát tải trọng chưa?”
“Cậu ấy đang làm với bên Nam Hải. Có vẻ log mới giúp họ nói chuyện nhanh hơn, không phải đoán ý nhau nữa.”
Hoàng gật đầu.
Anh nhìn ra cửa sổ văn phòng. Trời Sài Gòn tháng Mười một trong xanh, không một gợn mây. Những vệt khói trắng của máy bay phản lực kéo dài rồi tan chậm trên nền trời cao. Anh biết tuyến bay thử nghiệm sắp tới không chỉ là bài toán vận chuyển hàng hóa. Nó là lần đầu tiên tổ chức này phải vận hành một hệ thống có thể gãy dưới áp lực vật lý thật sự. Và lần này, anh sẽ không có một mảnh tương lai nào để biết trước liệu chuyến bay đó có hạ cánh an toàn hay không.
“Bảo Khoa gom hàng đúng chuẩn,” Hoàng nói. “Không có ngoại lệ cho bất kỳ nhà cung cấp nào.”
“Em biết,” Phương Anh đứng dậy. “Em đã viết câu đó vào điều khoản vận chuyển rồi.”
Cô bước đi.
Hoàng ngồi lại một mình, tay xoay chiếc bút đỏ trên mặt bàn. Nét mực đã khô. Luật đã đặt.
Anh nhìn tờ giấy nháp lần cuối trước khi gấp nó lại. Năm dòng chữ — bốn nét của anh, một nét của Minh — nằm cạnh nhau trên mảnh giấy hơi ố. Hai kiểu chữ khác nhau, hai cách đặt dấu phẩy khác nhau, nhưng cùng nằm trên một tờ giấy. Giờ là lúc để xem cánh bay có chịu nổi gió hay không.