Hai ngày sau cơn mưa, Lâm Dư An nhận ra một dự án tích hợp có thể biến lịch làm việc thành thứ chỉ mang tính tham khảo nhanh đến mức nào. Tám giờ sáng, lịch của cậu còn bốn khoảng trống. Mười một giờ, còn hai. Đến ba giờ chiều, ô từ năm giờ đến sáu giờ đã bị một cuộc review estimate chèn vào, còn khoảng từ sáu giờ trở đi được chính cậu tự đánh dấu bằng một màu khác để nhắc mình không nhận thêm việc. Tối nay cậu đã hẹn ăn cơm với cha mẹ. Không phải dịp gì đặc biệt, chỉ vì gần hai tuần rồi ba người chưa ngồi đủ một bàn mà không có ai vừa ăn vừa nghe điện thoại.
Cuộc review năm giờ được đặt bởi Dư An. Người tham dự chỉ có cậu và Tống Hoài Cẩn.
Mục tiêu rất đơn giản: chốt estimate cho lớp reporting bridge mà Finance yêu cầu, xác nhận phần nào cần làm trước cutover, phần nào có thể tồn tại sáu tuần trong giai đoạn chuyển tiếp. Dư An đã gửi file từ hai giờ mười bảy. Hoài Cẩn phản hồi bằng ba comment, không cái nào đòi sửa trước cuộc họp.
Bốn giờ bốn mươi hai, Dư An kết thúc một cuộc gọi với Product, đứng dậy đi lấy nước rồi quay lại bàn. Điện thoại sáng lên trước khi cậu kịp ngồi.
Tống Hoài Cẩn: Cuộc gọi với Finance đang bị kéo dài.
Tin thứ hai tới ngay sau đó.
Tống Hoài Cẩn: Tôi có thể trễ cuộc 17:00 khoảng mười lăm phút.
Dư An nhìn đồng hồ. 16:43.
Sớm hơn mười bảy phút so với giờ hẹn. Một chi tiết nhỏ đến mức nếu là bất kỳ đồng nghiệp nào khác, cậu chỉ cần thả biểu tượng xác nhận rồi tiếp tục làm việc. Nhưng ký ức không quan tâm một việc có nhỏ hay không. Nó chỉ chọn đúng một khe hở để chen vào.
Mười tám tuổi, cũng là một buổi chiều, Hoài Cẩn từng nói có thể trễ khoảng mười phút. Dư An đã ngồi ở thư viện từ năm giờ, nhìn điện thoại nhiều hơn nhìn sách, rồi tới năm giờ ba mươi sáu người kia mới xuất hiện với một câu xin lỗi và lời giải thích rằng không cầm điện thoại được.
Điều làm cậu khó chịu khi ấy không phải ba mươi sáu phút. Là lời “nếu quá giờ tôi nhắn” đã không được thực hiện.
Bảy năm sau, điện thoại trong tay cậu lại hiện một dòng khác.
Tống Hoài Cẩn: Cậu không cần chờ. Tôi có thể comment trực tiếp trên file, hoặc mình chuyển sang sáng mai.
Dư An đọc xong, ngón tay dừng trên màn hình. Chưa hết.
Tống Hoài Cẩn: Cậu muốn chờ không?
Câu hỏi ngắn đến mức gần như thừa trong một mối quan hệ công việc. Nếu không chờ, đổi lịch. Nếu chờ, làm muộn hơn mười lăm phút. Không có gì đáng để cân nhắc lâu.
Nhưng Dư An vẫn nhìn nó thêm vài giây. Người mười tám tuổi trước đây thường nói “tôi sẽ tới”, rồi để cậu tự hiểu mình nên chờ. Người hai mươi lăm tuổi bây giờ không nói rằng cậu sẽ phải chờ, cũng không quyết định thay rằng cậu không nên chờ. Hoài Cẩn chỉ đưa tình hình hiện tại, hai lựa chọn, rồi hỏi.
Dư An gõ:
Dư An: Tôi chờ tới 17:20. Quá thì chuyển sáng mai.
Tin nhắn được đọc gần như ngay lập tức.
Tống Hoài Cẩn: Được.
Một dòng nữa xuất hiện.
Tống Hoài Cẩn: Nếu trước 17:15 tôi biết không kịp, tôi báo.
Dư An đặt điện thoại xuống. Cậu không thấy nhẹ nhõm. Ít nhất không theo kiểu một cử chỉ đúng có thể xóa một cử chỉ sai từ bảy năm trước. Chỉ là lần đầu tiên, cùng một cấu trúc cũ xuất hiện lại mà kết quả không bị mặc định từ đầu.
Cậu có thể đi.
Cậu đã chọn chờ.
Năm giờ lẻ ba, khu làm việc bắt đầu thưa người. Chị Hà đi ngang bàn Dư An, thấy cậu còn mở file estimate thì dừng lại.
“Không về à?”
“Năm giờ hai mươi em có thể về.”
“Cách nói nghe rất thiếu cam kết.”
“Vì em chưa biết.”
Hà nhìn lịch trên màn hình cậu. “Họp với PMI?”
“Ừ.”
“Anh Cẩn chưa xuống?”
“Đang bị Finance giữ.”
Hà gật đầu, không hỏi tại sao Dư An vẫn ở lại. “Sáu giờ chị khóa quyền nhắn việc cho em.”
“Chị có quyền đó từ bao giờ?”
“Tự cấp.”
“Governance rất tệ.”
“Nhưng hiệu quả.” Hà cầm túi lên. “Về ăn cơm đi. Hai tuần nay mặt em giống người sống bằng calendar invite.”
“Em biết.”
“Biết mà không sửa.”
Dư An bật cười. “Em đang sửa.”
Chị Hà đi khỏi. Dư An quay lại file, chỉnh thêm một chú thích ở phần reconciliation. Cậu không mở chat để xem Hoài Cẩn online hay chưa, cũng không nhìn đồng hồ mỗi hai phút. Năm giờ mười ba, điện thoại rung.
Tống Hoài Cẩn: Tôi vừa ra. 17:18 tới.
Dư An nhìn giờ gửi: 17:13. Đúng như đã nói, trước 17:15.
Cậu trả lời một chữ.
Dư An: Ừ.
Năm giờ mười bảy, cửa kính phía xa mở. Hoài Cẩn đi vào khu làm việc, laptop kẹp dưới tay, bước nhanh nhưng không đến mức vội vàng. Cậu dừng ở bàn Dư An thay vì tự đi thẳng vào phòng họp.
“Xin lỗi. Finance kéo thêm một vòng approval.”
Dư An khóa màn hình. “Cậu báo rồi.”
“Ừ.”
“Vậy không cần xin lỗi lần hai.”
Câu nói thoát ra tự nhiên hơn Dư An dự đoán. Hoài Cẩn nhìn cậu một nhịp, rồi gật đầu.
“Phòng bốn?”
“Đi thôi.”
Cuộc họp bắt đầu lúc 17:19. Dư An đã chuẩn bị sẵn ba mức estimate. Nếu Finance chấp nhận bridge report chỉ phục vụ consolidated view, systems team cần bốn ngày người để map schema và hai ngày kiểm thử. Nếu họ đòi reconciliation tới từng invoice line, thời gian gần gấp đôi. Còn nếu muốn biến bridge thành một lớp dữ liệu có thể dùng lại sau integration thì phải tách thành workstream khác, không được nhét vào cutover scope.
Hoài Cẩn đọc bảng chưa tới một phút.
“Cậu đề xuất phương án một.”
“Đúng.”
“Vì đủ cho requirement hiện tại?”
“Và vì phương án hai đang giải quyết một câu hỏi chưa ai thật sự hỏi.”
Hoài Cẩn gật đầu. “Finance có thể hỏi ngày mai.”
“Thì ngày mai trả lời. Tôi không xây trước một nửa data platform chỉ vì có thể ai đó sẽ muốn.”
“Đồng ý.”
Dư An nhìn cậu. “Nhanh vậy?”
“Cậu muốn tôi phản đối cho đủ thời lượng?”
“Không. Chỉ thấy cuộc họp ba mươi phút có nguy cơ còn mười hai phút.”
“Cậu sáu giờ phải đi.”
Dư An không nhớ mình đã nói lịch tối nay cho Hoài Cẩn. Có thể cậu đã vô tình để trạng thái calendar là busy. Có thể người phụ trách chương trình chỉ nhìn thấy lịch trống đến sáu giờ. Cậu không hỏi. Sau cốc latte hôm trước, Dư An đã biết có những điều nếu thật sự cần rõ, cậu có thể hỏi; còn không cần thì không nhất thiết biến mọi chi tiết thành một bài kiểm tra.
“Vậy dùng mười hai phút.”
Họ dùng mười bốn. Hoài Cẩn chốt rằng PMI sẽ trình Finance phương án bridge tối thiểu, ghi rõ giới hạn và điều kiện mở rộng. Dư An chịu trách nhiệm estimate kỹ thuật, không chịu trách nhiệm cam kết nhu cầu reporting thay Finance. Không có câu nào bị kéo sang chuyện riêng.
Năm giờ ba mươi ba, hai người ra khỏi phòng. Hoài Cẩn nhận một cuộc gọi ngay ở cửa, nhìn màn hình rồi tắt tiếng thay vì bắt máy.
“Cậu nghe đi.” Dư An nói. “Xong việc rồi.”
“Không gấp.”
“Cậu biết?”
“Người gọi vừa nhắn trước.”
Một câu rất bình thường. Dư An lại nhớ tới điện thoại lúc 16:43 và thấy hơi buồn cười vì mình đang bắt đầu để ý một thói quen mới: Hoài Cẩn bây giờ không chỉ báo người khác khi mình thay đổi lịch. Cậu cũng yêu cầu người khác báo cho mình trước khi một việc đủ gấp để chen vào thứ đang diễn ra.
Dư An đeo túi lên vai. “Tôi về.”
“Ừ.” Hoài Cẩn tránh sang một bên cho cậu đi trước. “Mai chín giờ tôi gửi Finance decision.”
“Được.”
Cậu đi được hai bước thì điện thoại rung mạnh liên tục trong túi. Không phải tin nhắn. Một chuỗi cảnh báo production.
Dư An dừng lại. Ba notification cùng hiện lên: payment callback error rate tăng, một queue backlog vượt ngưỡng, rồi tin nhắn của người trực vận hành.
Tuấn: Anh An, payment webhook đang retry hàng loạt. Có vẻ rule mới bên gateway bị lệch signature.
Dư An quay người lại gần như theo phản xạ. Hoài Cẩn vẫn đứng ở đó.
“Có production issue.”
“Cậu cần quay lại?”
“Ừ.” Dư An vừa đi vừa gọi Tuấn. “Không liên quan integration. Cậu về đi.”
Hoài Cẩn không hỏi có cần giúp không. Đây là hệ thống của Dư An, vấn đề vận hành của đội Dư An, và một PMI Lead không có lý do chen vào chỉ vì đang đứng gần.
“Được.”
Dư An giơ điện thoại lên tai. “Tuấn, rollback config trước. Đừng restart queue. Anh vào ngay.”
Cậu trở lại bàn mà không nhìn xem Hoài Cẩn đã đi chưa.
Mười phút đầu của sự cố đủ để xóa sạch phần còn lại của ngày. Gateway phía đối tác đã đổi một rule validation vào cuối giờ nhưng tài liệu cấu hình bên Product Ops vẫn giữ signature format cũ. Hệ thống không mất giao dịch, nhưng webhook thất bại khiến callback bị retry liên tục, backlog tăng rất nhanh. Nếu cứ để thế thêm nửa giờ, downstream reconciliation sáng mai sẽ thành một đống trạng thái trùng cần làm sạch thủ công.
Dư An kéo Tuấn và người trực Platform vào một room, yêu cầu đóng luồng thay đổi, rollback config rồi giữ queue để tránh retry thêm. Cậu gọi cho đối tác gateway, không chờ họp chính thức. Mười tám phút sau, error rate bắt đầu hạ.
Năm giờ năm mươi tám, backlog vẫn còn nhưng không tăng nữa. Dư An nhìn đồng hồ và chửi rất nhỏ trong đầu.
Bữa cơm sáu giờ rưỡi. Cậu nhắn vào nhóm gia đình rằng có sự cố, có thể trễ hai mươi phút. Mẹ trả lời ngay: Biết rồi. Ba con đang trên đường, không cần chạy.
Dư An đọc xong rồi quay về dashboard. Sáu giờ lẻ bảy, Tuấn nói: “Anh về đi, em canh được.”
“Chưa.”
“Error hết rồi.”
“Queue chưa sạch.”
“Em với Hùng xử lý.”
Dư An lắc đầu. “Đợi tới khi callback success ổn mười phút.”
Tuấn biết tranh cãi lúc này vô ích nên thôi. Sáu giờ mười hai, Dư An mới nhớ laptop của mình còn một file estimate chưa gửi. Cậu mở chat công việc để nhắn Quang rằng sáng mai mới cập nhật thì thấy một tin từ Hoài Cẩn gửi lúc 17:44.
Tống Hoài Cẩn: Tôi để comment Finance trong file rồi. Không cần xử lý tối nay.
Không hỏi production issue ra sao. Không nhắn cậu phải về ăn tối. Không đề nghị gọi người hỗ trợ.
Chỉ tách phần việc của mình ra khỏi phần việc mà Dư An đang phải xử lý. Cậu đọc, rồi trả lời:
Dư An: Biết rồi.
Ba phút sau, dashboard ổn đủ mười phút. Dư An đứng dậy.
“Anh về thật đây. Có spike lại thì gọi.”
Tuấn giơ hai tay. “Em hứa không tự quyết định hộ anh là không cần gọi.”
Dư An quay sang nhìn cậu ta. Tuấn cười. “Mấy hôm nay anh nói ownership nhiều quá, em thuộc rồi.”
“Thuộc thì tốt.”
Cậu cầm túi đi ra thang máy. Khi cửa mở ở tầng trệt, Dư An mới phát hiện Hoài Cẩn vẫn ở sảnh.
Không đứng đợi ngay trước thang máy. Cậu ngồi ở một bàn nhỏ cạnh khu khách, laptop mở, tai nghe một bên, trước mặt là cốc Americano đã uống gần hết. Một người từ Finance đang nói qua màn hình. Hoài Cẩn thấy Dư An bước ra nhưng chỉ gật đầu, không cắt cuộc gọi.
Dư An đi được vài bước thì Hoài Cẩn nói với đầu dây bên kia: “Phần còn lại gửi mail. Tôi xem sáng mai.”
Cuộc gọi kết thúc. Dư An dừng lại. “Cậu chưa về?”
“Có một cuộc gọi.”
“Finance?”
“Ừ.”
Câu trả lời hợp lý. Sảnh tòa nhà có bàn, wifi và đủ yên để gọi. Dư An không có căn cứ nào nói người kia đang chờ mình.
Hoài Cẩn đóng laptop. “Production ổn rồi?”
“Ổn.”
“Cậu về đâu?”
Dư An nhìn cậu. Sau câu hỏi hôm mưa, cậu đã biết Hoài Cẩn không dùng thông tin đó để tự quyết định phương án di chuyển cho cậu. Vì vậy lần này Dư An trả lời thẳng.
“Nhà ba mẹ. Tôi trễ rồi.”
“Đi xe?”
“Taxi.”
Hoài Cẩn gật đầu. “Ừ.”
Dư An mở ứng dụng gọi xe. Sáu giờ hai mươi bảy, giờ cao điểm, ứng dụng báo tài xế gần nhất khoảng tám phút. Cậu đứng cạnh cửa kính, nhìn bản đồ nhảy vị trí.
Hoài Cẩn đeo túi lên vai. “Tôi đi trước.”
“Ừ.”
Cậu bước được hai bước.
“Hoài Cẩn.”
Người kia quay lại. Dư An không biết tại sao mình gọi. Có lẽ vì hình ảnh chiếc bàn nhỏ ở sảnh, cốc Americano và cuộc gọi Finance vừa đủ hợp lý để không thể gọi là chờ đợi, lại quá giống một người từng ngồi làm bài ở hành lang trường chỉ vì ai đó nhắn “đợi tôi năm phút”.
Nhưng Dư An hai mươi lăm tuổi không muốn đoán.
“Cậu ở đây từ lúc nào?”
Hoài Cẩn nhìn cậu. “Năm giờ năm mươi.”
“Cuộc gọi bắt đầu lúc đó?”
“Không. Sáu giờ.”
Dư An im một nhịp. “Mười phút trước đó?”
“Xử lý mail.”
“Ở đây vì tiện?”
Câu hỏi nghe quen đến mức chính cậu cũng nhận ra. Hoài Cẩn không trả lời ngay bằng một lý do thay thế. “Tôi biết cậu đang xử lý production. Tôi không biết bao lâu.”
“Vậy cậu chờ à?”
“Không hẳn.”
Dư An nhíu mày. Hoài Cẩn nói tiếp, rất bình tĩnh: “Tôi có việc để làm ở đây. Nếu cậu xong trước khi tôi đi, tôi muốn biết hệ thống đã ổn. Nếu cậu chưa xong, tôi vẫn sẽ về.”
Không hẳn chờ.
Không phải phủ nhận hoàn toàn.
Cũng không biến việc ở lại thành một món nợ Dư An phải nhận.
“Cậu có thể nhắn hỏi.” Dư An nói.
“Có thể.”
“Vì sao không hỏi?”
“Vì cậu đang xử lý sự cố. Tôi không cần câu trả lời ngay.”
Dư An nhìn cậu vài giây rồi hạ mắt xuống điện thoại. Tài xế còn sáu phút.
Một thứ rất nhỏ trong ngực cậu thay đổi vị trí, không đủ để gọi tên. Hoài Cẩn nhìn màn hình điện thoại trên tay cậu. “Xe còn lâu?”
“Sáu phút.”
“Cậu muốn tôi đợi tới khi xe tới không?”
Lại là một câu hỏi.
Dư An ngẩng lên. Nếu là bảy năm trước, có lẽ cậu sẽ đùa rằng sáu phút thì có gì phải hỏi. Có lẽ cậu sẽ mặc định Hoài Cẩn phải đứng đó, bởi người kia từng chờ cậu không ít lần và cậu đã quen với cảm giác ấy như một thứ luôn tồn tại.
Bây giờ Dư An biết chờ là thời gian của một người khác. Dù chỉ năm hay sáu phút, người đó vẫn nên được quyền quyết định mình có muốn cho đi hay không. Và người được chờ cũng có quyền nói mình có cần hay không.
Cậu nhìn con số trên ứng dụng rồi nói: “Có.” Hoài Cẩn không hỏi lại.
“Được.”
Hai người đứng cạnh cửa kính. Không ai cố tìm chủ đề. Dư An trả lời một tin nhắn của mẹ, Hoài Cẩn xem email. Bốn phút sau tài xế đổi lộ trình, thời gian nhảy từ hai phút lên năm.
Dư An bật cười khẽ. “Đúng là không nên tin con số.”
Hoài Cẩn nhìn màn hình. “Cậu có muốn chờ tiếp không?”
“Đấy là xe của tôi.”
“Tôi hỏi phần tôi.”
Dư An ngừng cười. Phần tôi.
Một câu từng xuất hiện rất lâu trước đây, khi cả hai còn nói về chuyện sẽ không chia tay như thể tương lai chỉ cần hai người cùng muốn là đủ. Khi ấy Hoài Cẩn từng nói: “Tôi đang nói phần tôi.” Và Dư An đã trả lời: “Phần tôi cũng không.”
Bây giờ câu ấy không mang lời hứa nào lớn đến thế. Chỉ là năm phút đứng trong sảnh.
Có lẽ vì vậy nó mới khiến Dư An dễ trả lời hơn.
“Chờ tiếp.”
“Ừ.”
Xe tới lúc sáu giờ ba mươi sáu. Dư An nhìn biển số rồi quay sang. “Tôi đi đây.”
“Ừ. Đi đi.”
Cậu mở cửa xe, ngồi vào rồi mới nhớ một việc. Kính xe còn hạ, Dư An nghiêng người ra một chút.
“Hoài Cẩn.”
“Gì?”
Dư An không định nói cảm ơn. Cảm ơn nghe như thể sáu phút vừa rồi là một ân huệ. Cũng không cần nói lần sau khỏi chờ, bởi chính cậu vừa là người chọn có.
Cuối cùng cậu chỉ nói: “Mai file estimate để tôi gửi trước chín giờ.” Hoài Cẩn nhìn cậu một giây, rồi đáp: “Không cần trước chín. Mười giờ mới review.”
Dư An bật cười. “Biết rồi.”
Xe chạy đi.
Bữa cơm tối bắt đầu muộn hơn dự kiến hai mươi phút. Cha Dư An không phàn nàn, mẹ chỉ bắt cậu rửa tay rồi ngồi xuống. Họ nói về công việc mới của Chính Viễn, một người đồng nghiệp cũ vừa chuyển thành phố, chuyện hàng xóm sửa nhà và giá một loại trái cây mẹ cậu cho rằng vô lý.
Không ai hỏi vì sao Dư An nhìn điện thoại một lần giữa bữa rồi lại úp xuống. Tin nhắn duy nhất mới đến từ Hoài Cẩn.
Tống Hoài Cẩn: Về tới thì không cần báo. Tôi chỉ xác nhận tài xế đã đón.
Dư An đọc hai lần. Rõ đến mức buồn cười.
Không cần báo.
Không biến một thói quen cũ thành nghĩa vụ hiện tại. Cậu không trả lời. Cũng không thấy cần phải trả lời.
Mười giờ mười sáu, sau khi về căn hộ riêng, Dư An mở laptop để kiểm tra dashboard một lần cuối. Production hoàn toàn ổn. File estimate vẫn nằm ở trạng thái draft. Cậu có thể làm thêm nửa giờ rồi sáng mai nhàn hơn, nhưng cuối cùng đóng máy.
Trước khi đi tắm, Dư An nhìn khung chat công việc với Hoài Cẩn. Những dòng trong hôm nay rất bình thường: báo trễ, đưa lựa chọn, xác nhận thời gian, hỏi có muốn chờ hay không.
Không có câu nào nói “Đợi tôi năm phút.” Nhưng lần đầu sau rất lâu, Dư An hiểu motif cũ có lẽ chưa bao giờ thực sự nằm ở con số năm phút.
Nó nằm ở việc một người nói trước rằng mình sẽ đến. Người kia được quyền quyết định có chờ hay không.
Và nếu đã chọn chờ, cả hai đều biết đó là một lựa chọn, không phải điều đương nhiên.