Khánh An
Dyah Dofamin
  • Bạn phải đăng nhập để sử dụng bookmark
Tùy chỉnh

Vol.2 - Realize Dreams

Chương 17 - Mũi Chỉ Cuối Cùng

0 Bình luận - Độ dài: 2,195 từ - Cập nhật:

-----

(Một số thuật ngữ kỹ thuật trong chương chỉ mang tính bối cảnh, độc giả không cần hiểu tường tận để cảm nhận câu chuyện.)

-----

Ba ngày tiếp theo là ba ngày làm việc tập trung nhất trong cuộc đời Minh Khánh An.

Nhưng sự tập trung lần này hoàn toàn khác. Anh không lao vào làm việc điên cuồng, không bỏ bữa, không thức đến hai ba giờ sáng như những lần trước. Anh làm việc theo quy trình mới - một quy trình có sự hiện diện của Mai Khánh An.

Sáng thứ Hai, cô xuất hiện với tấm bảng trắng nhỏ mà Bảo Vy đã mua. Anh chưa bao giờ nghĩ đến việc dùng nó, nhưng giờ đây nó trở thành công cụ quan trọng.

"Đây," cô vẽ ba cột trên bảng: "Cần làm", "Đang làm" và "Đã xong".

Cô lấy những miếng giấy note màu vàng, yêu cầu Minh Khánh An ghi vào đó từng đầu việc nhỏ để hoàn thành chức năng A: Thiết lập database connection, Tạo user authentication module, Viết unit test, Tối ưu query performance… Rồi dán tất cả vào cột "Cần làm".

"Mỗi khi anh bắt đầu việc nào, chuyển nó sang 'Đang làm'. Xong rồi thì tự tay chuyển sang 'Đã xong'." Cô nhìn anh nghiêm túc. "Cảm giác tự tay hoàn thành, dù nhỏ nhất cũng sẽ tạo động lực rất lớn."

Minh Khánh An ban đầu thấy hơi trẻ con. Nhưng anh vẫn làm theo. Và phải thừa nhận - nó hiệu quả đáng kinh ngạc. Mỗi lần di chuyển miếng giấy note, anh cảm thấy thỏa mãn nho nhỏ, bằng chứng hữu hình cho thấy mình đang tiến về phía trước.

-----

Ngày đầu tiên bắt đầu suôn sẻ. Anh setup môi trường development, import những module cần thiết từ "Phoenix". Những dòng code cũ được anh chỉnh sửa, tối ưu để phù hợp với yêu cầu mới.

Đến trưa, anh đã chuyển được ba miếng note từ "Cần làm" sang "Đã xong". Cảm giác tốt hơn anh tưởng.

"Nghỉ ăn trưa thôi!" Mai Khánh An nói khi thấy anh vẫn miệt mài. "Não cần glucose để hoạt động hiệu quả."

Cô nấu những món đơn giản nhưng đủ chất. Họ ăn cùng nhau, nói chuyện những thứ không liên quan công việc. Cô kể về cuốn sách nghệ thuật đang đọc, về cách người xưa tạo ra màu sắc từ thiên nhiên. Anh chia sẻ về thời sinh viên, những buổi hackathon thức trắng đêm.

Những bữa ăn này trở thành khoảng nghỉ ngơi quý giá, giúp anh sạc lại năng lượng thay vì cố nhồi nhét caffeine.

Buổi chiều, khi lập trình một hàm xác thực phức tạp, anh gặp bug đầu tiên. Authentication module cứ trả về null dù input đã đúng.

"Sao lại thế này?" anh lẩm bẩm, bấm F5 refresh lần thứ mười. "Logic này phải đúng mà…"

Trước đây, anh sẽ vò đầu bứt tai, chìm vào bế tắc hàng tiếng. Nhưng bây giờ thì-

"Tôi lại gặp rắc rối rồi."

Mai Khánh An bước tới với tách trà hoa nhài. "Được rồi, giải thích cho tôi nghe. Nói sao cho người không biết code như tôi hiểu nào."

"À, thế này…" Anh bắt đầu giải thích. "Cái hàm này đáng lẽ phải kiểm tra username và password, rồi trả về thông tin người dùng. Nhưng nó cứ trả về 'null', tức là rỗng…"

Anh cố dùng từ ngữ đơn giản nhất mô tả logic. Và trong chính quá trình giải thích, anh bất ngờ nhận ra điểm bất thường.

"Ờ chờ đã… có lẽ tôi đã gọi sai biến ở chỗ này. Thay vì 'user_name' thì database schema lại là 'username' không có gạch dưới…"

Anh kiểm tra, và đúng thế. Một lỗi typo ngu ngốc, nhưng đã làm anh mất hơn một tiếng.

"Cảm ơn." anh nói với cô. "Lần này cô chỉ cần… nghe tôi nói thôi cũng giúp tôi tìm ra lỗi rồi."

Mai Khánh An cười. "Trong thiết kế cũng vậy, đôi khi giải thích ý tưởng cho người khác nghe lại giúp mình nhìn ra những điểm mù mà trước đó không thấy."

Kỹ thuật này trong lập trình gọi là "rubber duck debugging" - gỡ lỗi bằng cách giải thích cho vịt cao su. Nhưng giờ "con vịt" của anh là người thật, biết lắng nghe và gật đầu đúng lúc.

-----

Ngày thứ hai khó khăn hơn. Module quản lý phân quyền người dùng phức tạp, liên quan đến nhiều bảng database. Anh phải viết query joins, xử lý nhiều case đặc biệt.

Mai Khánh An không chỉ giúp về mặt tinh thần. Cô chăm lo nhịp sống của anh. Cứ làm việc khoảng một tiếng, cô lại bắt anh đứng dậy, đi lại, nhìn ra ngoài cửa sổ.

"Mắt anh cần nghỉ ngơi, và não anh cũng vậy." cô nói khi thấy anh muốn phản đối.

Những lần break ngắn này thoạt đầu anh thấy phiền, nhưng rồi nhận ra nó thực sự giúp ích. Khi quay lại code sau 5-10 phút đi bộ, đầu óc anh tỉnh táo hơn, những đoạn code rối rắm trở nên rõ ràng hơn.

"Tại sao cô biết những thứ này?" anh hỏi trong một lần nghỉ.

"Khi thiết kế, tôi cũng hay bị mắc kẹt với một ý tưởng, cứ ngồi vẽ hoài không ra. Thầy tôi bảo đôi khi phải dừng lại, làm chuyện khác, để tiềm thức xử lý. Rồi ý tưởng sẽ tự đến."

Đúng vậy. Nhiều lần anh gặp khó khăn với một đoạn code, nhưng sau khi nghỉ ngơi, giải pháp lại hiện ra rất tự nhiên.

Cuối ngày thứ hai, anh đã hoàn thành được 70% chức năng A. Trên bảng trắng, chỉ còn lại ba miếng note trong cột "Cần làm".

-----

Sáng ngày thứ ba, Mai Khánh An mang đến bất ngờ khác. Cô pha một pot cà phê thật đậm, đặt bên cạnh anh cùng với đĩa bánh quy.

"Hôm nay là sprint cuối nhỉ," cô nói, dùng thuật ngữ anh từng nhắc đến. "Anh cần tập trung cao độ để hoàn thiện mọi thứ, cố lên nhé!"

Ngày cuối cùng là những công việc tỉ mỉ nhất: viết test cases, fix bugs, polish giao diện người dùng. Không khó về mặt kỹ thuật, nhưng đòi hỏi sự kiên nhẫn và tỉ mỉ.

Anh test từng tính năng một cách kỹ lưỡng. Login với user thường, login với admin, tạo user mới, phân quyền, thu hồi quyền, xử lý edge cases… Mọi thứ đều hoạt động trơn tru.

Đến chiều, khi chuyển miếng note cuối cùng từ "Đang làm" sang "Đã xong", Minh Khánh An cảm thấy một sự hoàn thành chưa từng có. Bảng trắng giờ chỉ còn cột "Đã xong" với đầy những miếng giấy vàng.

"Xong rồi..." anh nói, gần như không tin được. "Chức năng A đã hoàn thành. Không thể nào..."

Mai Khánh An nhìn bảng trắng, rồi nhìn anh. "Chúc mừng nha! Anh đã làm được điều mà ba ngày trước còn tưởng là không thể."

Nhờ quy trình làm việc mới và sự hỗ trợ của cô, công việc tiến triển đáng kinh ngạc. Anh vẫn gặp khó khăn, vẫn có lúc bực bội, nhưng không còn cảm thấy tuyệt vọng. Anh biết rằng dù gặp vấn đề gì, mình không phải đối mặt một mình.

Sự khác biệt không chỉ ở việc có người hỗ trợ, mà ở cách tiếp cận hoàn toàn mới. Thay vì cố gắng nuốt chửng cả vấn đề lớn, anh đã học cách chia nhỏ, đi từng bước, và quan trọng nhất - biết khi nào nên dừng lại để nghỉ ngơi.

-----

Bốn giờ chiều thứ Sáu.

Minh Khánh An ngồi trước máy tính, tim đập nhanh hơn bình thường. Cuộc gọi video với Chu Huy Hà sắp bắt đầu. Mai Khánh An ngồi lặng lẽ trên ghế bành phía sau, ngoài tầm nhìn camera, nhưng anh vẫn cảm nhận được sự hiện diện của cô.

Màn hình sáng lên, khuôn mặt nghiêm túc của Hà xuất hiện.

"Chào anh." Minh Khánh An nói, giọng ổn định hơn anh tưởng.

"Được rồi, anh bắt đầu đi." giọng Hà vang lên từ loa, vẫn đều đều và chuyên nghiệp.

Minh Khánh An hít hơi sâu, bắt đầu trình bày. Anh chia sẻ màn hình, giới thiệu ngắn gọn về chức năng A, rồi bắt đầu demo.

Login bằng tài khoản admin. Interface sạch sẽ, thân thiện. Anh tạo user mới, nhập thông tin, assign roles. Hệ thống phản hồi nhanh, không lag. Anh test tính năng phân quyền - user thường chỉ thấy được menu cơ bản, còn admin thấy được full options.

"Bảo mật xác thực thế nào?" Hà hỏi.

"Password được hash bằng scrypt với salt factor 12, session timeout sau 30 phút không hoạt động, có protection chống brute force attack." anh trả lời nhanh và chính xác.

"Database performance?"

"Đã optimize với index trên user_id và role_id, query time trung bình dưới 50ms cho tới 10000 concurrent users."

Anh test thêm vài tính năng edge case: xử lý khi database bị disconnect, validate input để tránh SQL injection, test với Unicode characters trong username…

Mọi thứ hoạt động trơn tru, đúng như anh đã test hàng trăm lần trong ba ngày qua.

Khi kết thúc demo, có khoảng lặng ngắn. Hà không nói gì, có vẻ đang tự kiểm tra logic trong đầu.

"Được rồi," cuối cùng Hà lên tiếng. "Chức năng A hoạt động đúng yêu cầu. Giao diện có vẻ đơn giản, nhưng chức năng lõi ổn."

Anh dừng lại một chút. Minh Khánh An chuẩn bị tinh thần cho những góp ý khắt khe như thường lệ.

"Gì mà căng thẳng vậy? Giỏi lắm. Xem ra, anh đã làm tốt hơn tôi kỳ vọng."

Một lời khen. Một lời khen trực tiếp từ Chu Huy Hà. Minh Khánh An gần như không tin vào tai mình.

"Code quality cũng ổn, có unit tests, documentation đầy đủ." Hà tiếp tục. "Tiếp tục với chức năng B theo kế hoạch. Báo cáo tiến độ thứ Ba tuần sau, kết thúc cuộc họp ở đây nhé. Giãn cơ mặt ra đi, tiếp tục phát huy nhé."

Cuộc gọi kết thúc.

Minh Khánh An ngồi bất động, vẫn đang tiêu hóa những gì vừa xảy ra. "Anh đã làm tốt hơn tôi kỳ vọng." Câu nói đó cứ vang vọng trong đầu.

Rồi anh từ từ ngả lưng ra ghế, cảm giác nhẹ nhõm và tự hào lan tỏa khắp cơ thể. Anh đã làm được, không chỉ hoàn thành nhiệm vụ, mà còn làm tốt hơn sự kỳ vọng.

Anh quay lại, nhìn Mai Khánh An. Cô đang nhìn anh với nụ cười rạng rỡ không thể giấu được.

Một nụ cười không kìm nén cũng nở trên môi anh. Anh giơ nắm đấm lên không trung - cử chỉ ăn mừng đầy trẻ con.

"Chúng ta làm được rồi!" anh nói, từ "chúng ta" bật ra hoàn toàn tự nhiên.

Mai Khánh An cười. "Tôi biết mà."

"Cảm ơn nhiều nhé." anh nói nghiêm túc. "Nếu không có cô, tôi không thể làm được như thế này."

"Không không," cô lắc đầu. "Công sức là của anh. Tôi chỉ giúp anh nhìn ra những gì anh vốn đã có."

-----

Tối hôm đó, họ đi ăn ngoài để ăn mừng. Một quán cơm gần nhà, nhưng với Minh Khánh An, nó như nhà hàng sang trọng nhất.

"Cảm giác này lạ quá," anh nói giữa bữa ăn. "Từ lâu rồi tôi chưa cảm thấy tự hào về bản thân như thế này."

"Anh nên tự hào về bản thân nhiều hơn đi." Mai Khánh An nói. "Ba ngày qua tôi thấy anh làm việc như một professional thực sự. Không phải người bị cuốn theo deadline, mà là người chủ động kiểm soát công việc."

Anh nhìn cô, bất ngờ nhận ra điều gì đó. "Ừ, cô cũng vậy. Ba ngày qua cô đã như một project manager thực thụ. Có khi cô nên thử làm trong lĩnh vực này."

Mai Khánh An cười. "Ai mà biết được. Có lẽ cuộc sống đang mở ra những con đường mà ta chưa từng nghĩ tới."

Họ ăn trong im lặng thoải mái. Ngoài cửa sổ, thủ đô đêm se lạnh, những ánh đèn vàng lung linh. Nhưng trong lòng cả hai, một nguồn ấm mới đang bừng lên.

Trong khoảnh khắc đó, dưới ánh đèn dịu nhẹ của quán cơm nhỏ, Minh Khánh An nhận ra rằng chiến thắng này không chỉ là của riêng anh, nó là chiến thắng chung. Minh chứng cho thấy khi hai mảnh vỡ dựa vào nhau, chúng không chỉ trở nên lành lặn mà còn mạnh mẽ hơn trước rất nhiều.

Hành trình chữa lành của họ đã chính thức bước sang trang mới - trang được viết bởi sự tin tưởng, hợp tác, và niềm hy vọng. Và lần đầu tiên sau nhiều tháng, cả hai đều tin rằng tương lai sẽ tươi sáng hơn.

Bình luận (0)
Báo cáo bình luận không phù hợp ở đây

0 Bình luận