KPI Và Caffeine
– Máy pha cà phê hết bean.
Kha Minh đứng trước máy pha cà phê pantry tầng 19, hai tay chống hông, nhìn cái máy như nhìn bug production. 11 giờ đêm thứ Năm, tuần 5. Hạn chót sprint cuối tháng.
Tuyệt. Thứ duy nhất giữ tôi tỉnh lúc 11 giờ đêm vừa chết. Sài Gòn có 10 triệu người, nhưng lúc này chỉ có tôi và cái máy pha cà phê đã hết hạt.
Tôi xoay người, định đi xuống lobby mua lon Highlands từ máy bán tự động. Thì thấy anh ta.
Đứng trước máy. Tay cầm gói cà phê bean. Gói dự phòng, để trong ngăn tủ dưới quầy, chỗ chỉ người ở lại khuya mới biết.
– Tôi giấu một gói ở đây từ tháng trước. – Kha Minh nói, không nhìn tôi, tay đổ bean vào máy. – Cho những đêm như thế này.
Anh ta giấu cà phê dự phòng ở pantry. Ai giấu cà phê dự phòng ở pantry? Người thức khuya mỗi tuần 3 lần. Tức là anh ta.
– Cảm ơn. – Tôi nói.
– Cô cũng deadline à?
– Campaign tracking bị bug. Số liệu sáng mai phải có trên bàn CEO.
– Bug gì?
Anh ta hỏi bug gì. Không hỏi "cô cần giúp không", không hỏi "có ok không". Hỏi bug gì. Kiểu kỹ sư.
– API tracking không match với Google Analytics. Chênh lệch 12%.
– Chênh lệch conversion hay session?
– Conversion.
Kha Minh gật. Máy cà phê bắt đầu xay, tiếng ồn quen thuộc vang trong pantry trống.
– Có thể do timezone offset. API product tính theo UTC, Google Analytics tính theo GMT+7. Chênh 7 tiếng, conversion cuối ngày bị đẩy sang ngày hôm sau.
...Đó có thể là lỗi. Đó thực sự có thể là lỗi.
Và anh ta đoán ra trong 10 giây.
– Để tôi check. – Tôi quay về bàn, mở laptop.
15 phút sau, Kha Minh đi ngang, đặt ly cà phê lên bàn tôi. Đen, không đường, đá.
Anh ta pha cho tôi. Đúng gu tôi. Cô đặt ly cà phê cho anh ta hôm thứ Hai. Anh ta pha ly cà phê cho cô hôm thứ Năm. Chúng tôi đang trao đổi cà phê như trao đổi mật mã.
– Timezone offset đúng không?
– Đúng 60%. – Tôi nhìn lên. – Còn 40% chênh lệch từ chỗ khác.
– Cho tôi xem.
Anh ta kéo ghế ngồi cạnh tôi. Không hỏi. Chỉ ngồi. Hai người trước một laptop, hai ly cà phê, 11 giờ 20 đêm.
Anh ta kéo trackpad, scroll qua đoạn code tracking. Tôi nhìn ngón tay anh ta di chuyển trên màn hình, chính xác, không lãng phí một pixel. Kiểu người đọc code như đọc tiểu thuyết: từ trên xuống, không nhảy cóc.
– Cô dùng SDK nào cho event tracking?
– Mixpanel, rồi pipe qua BigQuery.
– Mixpanel version mấy?
– 2.45.
Anh ta nhíu mày. Cái nhíu mày rất nhẹ, ai không ngồi cách 30 phân sẽ không thấy.
– 2.45 có bug đã biết với mobile Safari. Debounce handler bị race condition. Cô có thể reproduce bằng cách mở hai tab trên iPhone rồi click cùng lúc.
Anh ta biết version number của SDK. Ai biết version number của SDK? Người review changelog mỗi tuần. Tức là anh ta.
– Anh đọc changelog Mixpanel? – Tôi hỏi, giọng không giấu được ngạc nhiên.
– Tôi đọc changelog mọi dependency. – Anh ta nói, bình thường như nói "tôi uống nước mỗi sáng".
Đúng. Tất nhiên. Trần Kha Minh đọc changelog mọi dependency. Còn tôi đọc báo cáo growth hacking trên Medium lúc 6 giờ sáng. Mỗi người mỗi kiểu điên.
Tôi mở DevTools, lọc theo mobile Safari. Anh ta chỉ vào một dòng log.
– Đây. Timestamp trùng. Hai event cách nhau 3 mili giây. Không phải user click hai lần. Là SDK fire hai lần.
– Sao anh biết không phải user double tap?
– Vì touch event duration dưới 50ms. Ngón tay người không nhanh vậy.
Ngón tay người không nhanh vậy. Anh ta nói câu đó mà mặt nghiêm như đang trình bày trước ban giám đốc.
Tôi bật cười. Tiếng cười vang trong tầng 19 trống rỗng, đập vào vách kính rồi dội lại.
Kha Minh nhìn tôi. Không hỏi tại sao cười. Chỉ nhìn. 1 giây. Rồi quay lại màn hình.
11 giờ 45.
– Đây. – Kha Minh chỉ vào dòng code tracking. – Event listener bị duplicate. Mỗi click được đếm hai lần trên mobile, một lần trên desktop. Mobile chiếm 65% traffic, nên chênh lệch overall là 12%.
Anh ta debug code của team tôi. Đối thủ. Debug code. Cho đối thủ.
– Sao anh biết event listener lỗi?
– Vì team tôi từng gặp lỗi giống vậy ở AI Copilot analytics. Tháng trước. – Anh ta nhìn tôi. – Bug này phổ biến hơn người ta nghĩ.
– Cảm ơn.
– Đừng cảm ơn. Dữ liệu sai thì cả hai team đều thiệt. Tôi sửa bug cho cô là sửa cho hệ thống.
Anh ta lý giải mọi thứ bằng logic. Giúp đối thủ? Logic. Pha cà phê? Logic. Ngồi cạnh nhau debug lúc 11 giờ đêm? Logic.
Nhưng tay anh ta chạm vào bàn phím laptop tôi, và ngón tay anh ta cách ngón tay tôi 3 centimet, và anh ta không nhích ra.
3 centimet không phải logic. 3 centimet là lựa chọn.
Tôi sửa code. Anh ta ngồi im, uống cà phê, thỉnh thoảng nghiêng người nhìn màn hình tôi. Mỗi lần anh ta nghiêng, tôi ngửi được mùi vải áo pha lẫn cà phê, không có nước hoa, không có gì phức tạp. Chỉ vải sạch và caffeine.
Sáu tuần trước, anh ta là cái tên trên bảng KPI. Bốn tuần trước, anh ta là đối thủ trong phòng họp. Hai tuần trước, anh ta là người ngồi cạnh tôi lúc 2 giờ sáng trên tầng 20.
Và bây giờ anh ta đang debug code cho tôi lúc 11 giờ đêm.
Tần suất đang tăng. Growth Strategist biết: khi frequency tăng, churn rate giảm.
Churn rate của cái gì? Của... ai?
Thôi. Debug đi. Tập trung.
12 giờ 30. Bug đã fix. Campaign tracking chạy đúng.
Tôi ngả lưng ra ghế, hít sâu. Mệt. Nhưng kiểu mệt nhẹ nhõm, việc xong, số liệu chuẩn, sáng mai CEO sẽ có báo cáo đúng trên bàn.
Kha Minh vẫn ngồi cạnh, đang quay lại code của anh ta trên laptop riêng. Cả hai ngồi trong bóng tối tầng 19, chỉ có ánh sáng hai màn hình.
– Anh nghe nhạc gì?
Câu hỏi thoát ra trước khi tôi nghĩ. Không liên quan. Không cần thiết. Nhưng lúc 12 giờ rưỡi đêm, não tôi không còn bộ lọc.
– Nhạc không lời. Ryuichi Sakamoto. – Anh ta trả lời ngay, như câu hỏi này bình thường. – Cô?
– Mỹ Tâm. – Tôi nói, thành thật đến mức xấu hổ. – Khi code. Khi viết strategy cũng nghe. Kiểu nhạc nền cuộc đời.
– Mỹ Tâm. – Anh ta lặp lại, giọng không biết là ngạc nhiên hay ghi nhận. – Bài nào?
– "Cây đàn sinh viên". – Tôi nói, rồi muốn tự tát. – Đừng phán xét.
– Tôi không phán xét. – Anh ta nói. Giọng nghiêm. – Sakamoto cũng bắt đầu từ những bản nhạc đơn giản. "Merry Christmas Mr. Lawrence" về bản chất chỉ là 4 hợp âm. Nhưng 4 hợp âm đó đúng người, đúng lúc.
Anh ta vừa so sánh Mỹ Tâm với Ryuichi Sakamoto. Tôi không biết đó là khen hay là lập luận. Nhưng câu đó làm tôi cảm thấy... được chấp nhận? Kiểu không ai cười vì tôi nghe nhạc Mỹ Tâm lúc code.
– Anh có nghe nhạc Việt không? Bao giờ?
– Trịnh Công Sơn. "Diễm xưa". – Anh ta nói, không ngại. – Mẹ tôi hay mở.
Mẹ anh ta. Lần đầu anh ta nhắc đến gia đình. Tôi lưu lại trong đầu, không hỏi thêm. Có những cánh cửa mở hé, đẩy mạnh sẽ đóng lại.
– Anh đọc sách gì?
– Murakami. Norwegian Wood đọc 3 lần.
– 3 lần? Sách đó buồn lắm mà.
– Buồn đúng chỗ. – Anh ta nhìn ra cửa kính. Sài Gòn phía dưới lấp lánh như bảng mạch điện tử. – Murakami viết về những người cô đơn mà không tự thương hại bản thân. Hiếm.
– Tôi đọc Nguyễn Ngọc Tư. Cánh đồng bất tận. 5 lần.
– 5 lần. – Anh ta quay sang nhìn tôi. – Sách đó cũng buồn.
– Buồn khác. Buồn kiểu miền Tây, buồn mà vẫn sống, vẫn xuống ghe, vẫn nấu cơm.
– Nguyễn Ngọc Tư viết về mất mát. Murakami cũng vậy. – Kha Minh nhìn tôi. – Có lẽ chúng ta thích cùng một thứ mà nghĩ là khác.
Anh ta vừa nói câu hay nhất tôi nghe trong tháng. Và anh ta nói nó lúc 12 giờ rưỡi đêm, ngồi cạnh tôi, sau khi debug code cho tôi, bằng giọng bình tĩnh như đang đọc changelog.
Trần Kha Minh. Anh có biết anh vừa nói gì không?
Im lặng một lúc. Máy cà phê tự tắt, đèn standby nhấp nháy xanh trong bóng tối.
– À, nhân tiện. – Tôi nói, giọng cố làm nhẹ. – Lúc nào tôi chỉ cho anh 3 chỗ sai trong paper NUS nhé.
Kha Minh quay sang nhìn tôi. Mắt anh ta hơi nheo lại, kiểu cười mà không cười, kiểu người nghĩ "cô vẫn nhớ".
– Cô nói từ tuần đầu tiên. Bốn tuần rồi vẫn chưa chỉ.
– Vì tôi muốn anh phải chờ.
– Tôi đang chờ. – Anh ta nói, giọng nhẹ hơn bình thường. – Paper đó cite 200 lần, reviewer nào cũng khen. Nếu cô tìm được 3 chỗ sai thật, tôi sẽ ghi cô vào phần acknowledgment bản sửa.
Acknowledgment. Anh ta sẽ ghi tên tôi vào paper. Tôi, Lâm An Hạ, Đại học Ngoại thương, trong paper nghiên cứu AI của Trần Kha Minh, NUS.
Đó là... flex hay flirt?
Thôi. Lúc nào rảnh tôi sẽ chỉ. Tuần sau. Hoặc tuần sau nữa. Hoặc khi nào tôi muốn thấy cái mặt anh ta lúc biết mình sai.
2 giờ sáng.
Cả hai vẫn ngồi. Không ai về trước. Kiểu ngầm hiểu: ai về trước là thua.
Đây không phải competition. Đây là gì đó khác. Nhưng tôi không muốn gọi tên.
– 4 giờ sáng có quán mì Hải Nam mở ở đường Hàm Nghi. – Kha Minh nói, nhìn đồng hồ. – Quán duy nhất mở giờ này.
– Anh rủ tôi ăn mì lúc 2 giờ sáng?
– 4 giờ. 2 giờ chưa mở.
– Vậy 2 tiếng nữa?
– Vậy 2 tiếng nữa.
Anh ta vừa hẹn tôi ăn mì lúc 4 giờ sáng. Và tôi vừa đồng ý. Đây là gì?
Đây là hạn chót sprint. Đây là hai đồng nghiệp thức khuya cùng ăn khuya. Bình thường. Hoàn toàn bình thường.
4 giờ 10. Tiệm mì Hải Nam, đường Hàm Nghi.
Sài Gòn lúc 4 giờ sáng không giống bất cứ thành phố nào trên thế giới. Không phải im lặng, vẫn có tiếng. Tiếng xe rác nghiến trên đường, tiếng leng keng của xe bán hủ tíu đẩy từ hẻm ra, tiếng radio AM từ quán cóc xì xào bản tin sáng sớm. Nhưng tất cả đều nhỏ. Nhỏ vừa đủ để nghe thấy bước chân mình.
Quán nhỏ xíu, 5 bàn, đèn neon trắng chiếu xuống gạch men xanh đã ố vàng theo thập kỷ. Mùi nước dùng gà bay ra từ đầu hẻm, thứ mùi ngọt dịu, béo nhẹ, trộn với mùi hành phi cháy cạnh. Bà chủ tóc bạc, tạp dề dầu mỡ, bưng mì bằng tay không, nóng mà không sợ. Tay bà chai sần vì mấy chục năm bưng tô, ngón tay cong theo hình vòng cung của thành tô sứ.
Trên tường, tờ lịch năm ngoái chưa xé. Cái quạt trần quay chậm, kêu cọt kẹt theo nhịp đều, như tiếng metronome lỗi nhịp. Mấy anh Grab đậu ngoài cửa, ngủ gật trên xe, điện thoại úp trên đùi, màn hình tắt.
Sài Gòn ban ngày là chiến trường. Sài Gòn lúc 4 giờ sáng là bí mật. Bí mật mà chỉ những đứa thức khuya vì hạn chót, vì mất ngủ, hoặc vì ngồi cạnh đối thủ debug code suốt 5 tiếng, mới được biết.
Hai tô mì. Kha Minh gọi mì khô, thêm xá xíu. Tôi gọi mì nước, thêm trứng. Ngồi đối diện, hai đôi đũa, gió đêm thổi qua cửa quán không cánh. Gió mang theo mùi nhựa đường nguội và hơi sương từ phía sông.
Bà chủ bưng mì ra, đặt xuống bàn không nói tiếng nào. Kiểu phục vụ 4 giờ sáng, không cần xã giao, ai đến giờ này đều hiểu luật.
Tôi cười. Nhiều hơn bình thường. Vì mệt. Vì bia tối qua chưa hết. Vì 4 giờ sáng, não không còn giáp nào.
– Cô cười nhiều lúc khuya hơn ban ngày. – Kha Minh nói, tay vẫn gắp mì.
– Vì ban ngày tôi phải đánh nhau với anh.
– Vậy tôi thích An Hạ lúc khuya hơn.
Im lặng.
Anh ta vừa nói gì?
"Tôi thích An Hạ lúc khuya hơn."
Thích. An Hạ. Không phải "cô Lâm". Không phải "cô". "An Hạ."
Anh ta gọi tên tôi. Lần đầu tiên.
Tôi nhìn tô mì. Nước dùng bốc khói, hơi nóng bay lên mờ mờ trong ánh neon trắng. Tai tôi nóng.
Do mì nóng. Do gió khuya. Do mệt. Chắc chắn không phải vì câu nói đó.
– Mì... cay. – Tôi nói, đưa tay quạt miệng.
– Cô không cho ớt.
Đúng. Tôi không cho ớt. Vậy cay vì cái gì?
Kha Minh nhìn tôi. 2 giây. Rồi cúi xuống ăn tiếp. Không giải thích câu vừa nói. Không rút lại. Không thêm. Để đó. Treo giữa hai tô mì, giữa 4 giờ sáng, giữa tiệm Hải Nam đường Hàm Nghi.
Bà chủ lụi cụi rửa nồi phía sau bếp. Nước chảy xối xả. Mùi xà phòng trộn mùi nước dùng. Bên ngoài, một chiếc xe ba gác chạy ngang, chở đầy thùng xốp, tiếng máy nổ lọc xọc rồi nhỏ dần.
"Tôi thích An Hạ lúc khuya hơn."
Câu đó, nếu nói trong phòng họp, sẽ là bằng chứng. Nói trước mặt Vy Vy, sẽ thành tin đồn. Nói trong tiệm mì Hải Nam lúc 4 giờ sáng, chỉ có hai người và bà chủ quán?
Nó là gì?
Và tôi không sửa lại "cô" như mọi khi. Tôi để anh ta gọi tôi bằng tên. Tôi không biết điều đó có nghĩa gì.
Hoặc tôi biết. Tôi chỉ chưa sẵn sàng.
Ăn xong. 4 giờ 35. Ra ngoài, vỉa hè Hàm Nghi vắng tanh. Mấy chiếc taxi Vinasun đậu dọc đường, tài xế ngủ gục trên tay lái. Đèn đường vàng chiếu dài trên mặt đường ướt, chắc vừa có xe phun nước rửa đường đi qua.
– Grab hay đi bộ? – Kha Minh hỏi.
– Đi bộ. – Tôi nói. – Về Vinhomes gần.
– The Marq cũng gần. Cùng hướng.
Chúng tôi đi bộ. 4 giờ 40 sáng, hai người, vỉa hè Sài Gòn. Im lặng. Bước chân vang trên gạch. Gió mát.
Lần thứ 3 chúng tôi cùng thức khuya. Lần thứ 3 chúng tôi ăn cùng nhau khi không có ai xung quanh. Lần thứ 3 anh ta nói thứ gì đó làm tôi không biết phải xử lý thế nào.
3 lần là mô hình. Growth Strategist biết: 3 điểm dữ liệu tạo thành trend.
Và trend này đang đi theo hướng tôi không lên kế hoạch.
Tôi lén nhìn anh ta. Kha Minh đi bộ không giống trong công ty. Trong công ty, bước chân anh ta nhanh, đúng đích, kiểu người luôn biết mình đi đâu. Bây giờ, 4 giờ 40 sáng, anh ta bước chậm. Chậm hơn bình thường. Như đang cố kéo dài quãng đường.
Hay là tôi tưởng tượng. Có thể anh ta mệt. Có thể anh ta buồn ngủ. Có thể bước chân chậm chỉ là bước chân chậm.
Nhưng tại sao tôi cũng bước chậm?
Ngang qua Thương xá Tax, à, bây giờ là trung tâm thương mại rồi, nhưng trong đầu tôi nó vẫn là Thương xá Tax, vẫn là chỗ mẹ dắt tôi đi mua áo dài trước Tết hồi lớp 6. Sài Gòn thay đổi mà không thay đổi. Vỏ ngoài mới, bên trong vẫn vậy.
Giống ai đó tôi biết. Bên ngoài là VP of Product, NUS, 200 citations, kiểu người đọc changelog mọi dependency. Bên trong là người giấu cà phê ở pantry, đọc Norwegian Wood 3 lần, mẹ mở Diễm xưa.
Lâm An Hạ, dừng lại. Đừng phân tích đối thủ lúc 4 giờ sáng trên vỉa hè. Đây không phải customer persona. Đây là người thật.
Đó mới là vấn đề.
Đến ngã rẽ. Kha Minh đi thẳng về The Marq. Tôi rẽ trái về Vinhomes.
– Chúc ngủ ngon, An Hạ.
"An Hạ." Lại gọi tên. Không "cô Lâm". Hai lần trong một đêm. Lần đầu trong tiệm mì. Lần hai ở ngã rẽ. Anh ta đang thiết lập naming convention mới mà không thông báo.
Như deploy lên production mà không qua staging.
– Chúc ngủ ngon. – Tôi nói, không thêm "đối thủ" như lần trước. Không biết tại sao.
Biết. Vì "đối thủ" lúc này sẽ giả. Sẽ như đùa mà không vui. Sẽ như đóng vai người mà tôi không còn là, hoặc chưa bao giờ là.
Bước đi. Không quay lại. Nhưng biết anh ta vẫn đứng đó thêm 3 giây trước khi quay đi.
Biết. Vì tôi nghe bước chân.
Về đến Vinhomes, vào thang máy, bấm tầng 22. Gương trong thang máy chiếu lại mặt tôi: mắt thâm quầng, tóc xổ, áo nhăn. Kiểu người vừa thức đêm debug code và ăn mì Hải Nam lúc 4 giờ sáng với VP of Product.
Tai tôi vẫn nóng.
Chắc chắn do cay.
Mà tôi không cho ớt.
Vậy do gì?
Tôi rút điện thoại, mở Slack. Nhìn cuộc hội thoại với Kha Minh. Tin nhắn cuối cùng từ tuần 1: "Bản gốc. Và tôi thấy 3 chỗ sai."
Bốn tuần rồi. Tôi vẫn chưa chỉ.
Vì chỉ xong thì hết lý do để nói chuyện ngoài công việc.
Không. Vì tôi chưa có thời gian.
Không. Lý do đầu.
Đặt điện thoại xuống bàn đầu giường. Tắt đèn. Nằm xuống.
"Tôi thích An Hạ lúc khuya hơn."
Tôi cũng thích An Hạ lúc khuya hơn. Cô ấy ít giáp hơn. Cười nhiều hơn. Không đánh nhau với ai.
Nhưng An Hạ ban ngày mới là người sống sót. An Hạ ban ngày mới là người xây NexaVN từ số 0, bị phản bội, vẫn đứng dậy, vẫn leo lên bảng KPI.
Kha Minh thích An Hạ lúc khuya. Câu hỏi là: anh ta có chấp nhận An Hạ ban ngày không?
Và câu hỏi lớn hơn: tại sao tôi quan tâm?
Trần nhà trắng. Đèn tắt. Thành phố bắt đầu thức, tiếng xe máy đầu tiên, tiếng kéo cửa sắt quán phở, tiếng chim sẻ trên ban công.
5 giờ sáng. Tôi vẫn chưa ngủ.
3 điểm dữ liệu tạo thành trend.
Trend này tên gì, tôi chưa dám đặt.