Trong Hai Tuần Vừa Qua, Đã Làm Rất Nhiều Việc.
Hai tuần vừa qua trôi qua như một cơn lốc xoáy công việc. Khi ngồi viết bản báo cáo tuần hôm nay, tôi lại rơi vào tình trạng quen thuộc: ghi chép lại những việc đã làm như một cuốn sổ nhật ký. Càng viết, tôi càng bất ngờ nhận ra mình đã hoàn thành khối lượng công việc khổng lồ đến vậy. Có những việc tưởng chừng như diễn ra từ rất lâu rồi, nhưng khi tra lại lịch trình thì hóa ra mới chỉ là thứ Ba hay thứ Năm tuần trước.
Con số thống kê khiến tôi choáng váng: đã đọc và chỉnh sửa hơn 10.000 dòng mã nguồn, viết mới hàng ngàn dòng code từ đầu. Ngoài ra còn hàng tá việc lặt vặt khác: xử lý công văn giấy tờ suốt cả ngày, ngồi bên cạnh đồng nghiệp hỗ trợ viết code (không tính phương pháp lập trình cực đoan XP), rồi đến tối lại cắm cúi với dự án riêng. Hai ngày cuối tuần thật sự là khoảng thời gian “bùng nổ” khi tôi có thể tập trung liên tục và sản sinh ra hàng loạt tính năng mới.
Trong guồng quay này, tôi chợt ngộ ra nhiều chân lý cuộc sống, dù có lẽ trước đây đã từng nghe qua nhưng giờ mới thấm thía. Câu nói “thực tiễn mới sinh ra chân lý” quả thật không sai. Nếu tính thời gian, gần như cả hai tuần tôi chỉ ngủ và làm việc. Thậm chí thời gian ăn uống cũng bị rút gọn tối đa - bữa trưa thường vừa ăn vừa làm, còn giờ nghỉ trưa thì dành cho việc… đọc sách kỹ thuật.
Khi đi vệ sinh, tôi luôn mang theo cuốn “Nghệ thuật lập trình UNIX” - quyển sách cũ kỹ đã thuộc nằm lòng từng trang. Nhưng mỗi lần giở ra, tôi lại phát hiện những câu chữ sâu sắc mới mẻ. Dù vậy, vẫn có vài việc quan trọng chưa hoàn thành trọn vẹn, như kế hoạch chiêu mộ một chuyên gia giỏi vào đội ngũ. Có lẽ do bận rộn quá độ nên tôi đã bỏ lỡ cơ hội, đành coi đó là duyên phận chưa đến.
Điểm sáng trong tuần là việc tôi dành trọn hai ngày cuối tuần nghiên cứu và tích hợp thư viện freetype vào engine. Đặc biệt, tôi đã thiết kế một module cache độc lập (dù freetype đã có sẵn nhưng tôi muốn tối ưu theo cách riêng). Trước đây hệ thống dùng API gốc của Windows, sau đó phải phát triển hỗ trợ font bitmap để đa nền tảng, giờ lại tiếp tục được nâng cấp theo yêu cầu khắt khe từ đồng nghiệp.
Ban đầu tôi hơi e ngại trước đống tài liệu hướng dẫn dày cộm, nhưng chỉ cần một buổi tối tập trung đọc kỹ là đã nắm được cốt lõi. Thú vị hơn, tôi nhận thấy giao diện API của freetype thậm chí còn tinh tế hơn cả phần lập trình đồ họa trên Windows. Chỉ trong hai ngày, mọi thứ đã hoàn tất. Qua đó tôi cũng hiểu tại sao nhiều phần mềm Linux dùng freetype (như Opera) lại hiển thị tiếng Trung xấu đến vậy - lỗi không phải do thư viện mà là thiếu bàn tay chăm chút của các chuyên gia bản xứ.
Mỗi nền văn hóa đều có những thách thức riêng trong việc hiển thị chữ viết. Ví dụ như vấn đề khoảng cách giữa các ký tự (kerning) rất quan trọng với chữ Latinh nhưng lại không tồn tại trong thế giới chữ Hán. Trong khi các lập trình viên phương Tây tập trung giải quyết những vấn đề này, thì cộng đồng người Hoa lại chưa có nhiều đóng góp đáng kể cho việc hiển thị chữ phương Đông, đặc biệt là bài toán trộn lẫn chữ Hán và chữ Latinh.
Dù bận rộn, tôi vẫn tranh thủ mở vài ván board game với bạn bè. Món quà “Galaxy Trucker” mở rộng phiên bản 1 từ đồng nghiệp Zhoufeng bên Mỹ cuối cùng đã được khai trương. Trải nghiệm chơi thật sự hấp dẫn hơn nhiều, tiếc là vừa费尽周折 mua được thì đã thấy xuất hiện trên Taobao, chưa kể phiên bản 2 đã bắt đầu nhận đặt hàng trước.
Vì lịch trình kín đặc, tôi đành hủy bỏ 4 tiếng tập gym mỗi tuần, nhưng vẫn duy trì 2 buổi leo núi trong phòng tập. Sức mạnh có giảm sút đôi chút, nhưng kỹ thuật dường như tiến bộ rõ rệt. Tuy nhiên, hôm thứ Ba tôi sơ suất làm trật ngón tay trái, đêm đó gần như không thể gõ bàn phím, may mà đã hồi phục gần như hoàn toàn.
Đáng ngạc nhiên là tháng này lại trở thành một trong những tháng có sản lượng blog cao nhất trong lịch sử của tôi. Có lẽ đúng là “càng bận càng nhiều chuyện để nói”! 😄