Là một lập trình viên thì, điều gì mà một lập trình viên khác (hoặc chính bản thân bạn) từng làm khiến bạn phải ngỡ ngàng?

A: David Woolford, Kỹ sư Hệ thống Giao dịch (2009-nay)

==========

Lúc ấy tôi đương làm việc dưới một chế độ trọng nhân tài khá công bằng. Tôi đã nỗ lực để có thể kiếm được một vị trí khiến mọi người tôn trọng bằng cách đảm nhận một cơ sở code tệ hại và tạo ra những cải tiến liên tục, rõ rệt. Code đã được đưa vào hoạt động, lợi nhuận tăng lên đáng kể và mọi thứ đều rất tuyệt vời. Sau nhiều năm trong ngành, tôi đã làm việc rất chăm chỉ, đã tham gia vào nhiều thứ khác nhau, và sự tự tin của tôi cũng tăng lên nhiều. Tôi đang có được sự nghiệp lập trình viên của mình.

Chúng tôi tuyển một nhân viên mới. Một nửa số người phỏng vấn nói không, nửa còn lại lại đồng ý. Anh ấy là một nhà toán học tài ba với một CV cực kỳ ấn tượng. Anh tự tin, khiêm tốn và rất thích phát biểu. Một vài người nghĩ rằng anh sẽ chẳng thể là một nhân viên tốt được đâu. Có lẽ vì anh là một nhà toán học chứ không phải kỹ sư chăng? Hay vì anh nói quá nhiều? Dù sao đi chăng nữa thì, bên đồng ý cũng có vẻ son hơn, và vì thế chúng tôi thuê anh ta. Thử đoán xem anh ta sẽ làm việc với ai nhiều nhất? Tôi đó.

Vì thế, tôi tạo ra một directory rỗng trong mã nguồn của chúng tôi vàd gọi đó là “machine learning” (học máy), và nói với mọi người rằng chúng tôi cần thư viện đó, và anh ta lại đang vắng mặt. Tôi ngồi đó, nghĩ về những kiến thức mà mình đã có được, và cả chuyện mình đã tiến xa tới mức nào. Tôi không trông đợi rằng anh ta sẽ viết ra được thư viện mã C++ và Shell đẹp đẽ và tinh tế tới vậy bằng những kỹ thuật với sự trưởng thành trong cách thiết kế còn hơn cả chính tôi. Và tôi không nhận ra được những điều đó nhanh chóng được. Cái tôi của bản thân cần có thời gian để trưởng thành. Cuối cùng thì, tôi có cảm giác rằng code của anh ấy còn tốt hơn phần lớn những thứ khác trong toàn bộ sourceTree (trans – SourceTree là ứng dụng desktop cho phép người dùng kết nối với kho lưu trữ trực tuyến như GitHub, Stash, vv). Và không phải tôi đang làm việc với người rừng đâu… Ngược lại là đằng khác. Tôi vẫn nhớ cái lúc anh ta tranh luận với một người từng đạt huy chương hồi đại học (một lập trình viên xuất sắc khác) về việc thử nạp chồng (overload) toán tử New của C++ cơ đấy. Tôi nghĩ rằng cuối cùng họ đã đạt được sự đồng thuận với nhau, dù khá khiên cưỡng.

Nhưng tôi lại nhầm rồi – quan trọng là cái cách anh ấy phân tích mọi thứ, là mức độ chi tiết trong các lớp (class) của anh ấy, cách chúng tương tác với nhau và cách mà anh ấy dùng ngôn ngữ để xử lý tất cả. Là cái cách mà anh ấy có được sự tinh giản dù vấn đề có phức tạp đến đâu. Là sự rõ ràng trong tư duy, sự tập trung của anh và cái cách mà anh diễn đạt mọi thứ lại là một đẳng cấp khác. Tất cả đều khiến tôi rất ngạc nhiên.

Trong vài năm sau đó, tôi đã làm việc với gã này và khi bắt đầu sử dụng các class và script của anh ấy, tôi dần dần ngấm được triết lý viết mã của anh, và có cảm giác rằng việc đó làm khả năng viết code của tôi tăng lên một cách mạnh mẽ. Tôi chẳng bao giờ phải hối hận. Mấy năm tiếp đó, chất lượng công việc của tôi được cải thiện, và càng ngày tôi càng thực hiện các dự án của mình một cách táo bạo.

Những người thầy, dù là do bạn tìm ra hay chỉ tình cờ bắt gặp, đều có thể thay đổi sự nghiệp của bạn đấy. Họ là những nhân tố ảnh hưởng sâu sắc nhất đối với cá nhân tôi. Và họ có thể xuất hiện từ những nơi bạn ít ngờ đến nhất đó. Thực tế là, có thể, chỉ có thể thôi, kỹ sư phần mềm vĩ đại nhất mà tôi từng được làm việc cùng không phải một kỹ sư phần mềm đâu.

Theo: Vũ Cường

Leave a Reply

Your email address will not be published. Required fields are marked *