Công việc lập trình về mặt bản chất là không thể nào giám sát được bởi vì không một ai thực sự biết được chính xác là bạn đang làm cái gì. Tất cả mọi người đều có những dự án mà chúng ta đã dành 80% thời gian để làm việc trên một phần nhỏ mà mình cảm thấy thú vị và 20% thời gian để xây dựng 80% còn lại của chương trình đó.
Ông chủ của bạn không thể ép buộc bạn trở thành một lập trình viên giỏi được; có rất nhiều thời điểm ông chủ của bạn thậm chí không ở vị trí để có thể phán xét xem liệu bạn có làm tốt hay không. Nếu bạn muốn trở nên xuất sắc, thì bạn phải tự chịu trách nhiệm về điều đó. Đó chính là vấn đề nằm trong tính cách cá nhân của bạn.
Đứng đầu trong danh sách của những nét tính cách cá nhân đáng mong muốn chính là tính khiêm tốn:
Không một ai thì thực sự đủ thông minh để lập trình máy tính cả. Để hiểu một cách đầy đủ về một chương trình thuộc loại trung bình thôi thì đã yêu cầu vô số kỹ năng để có thể hiểu được những chi tiết và một khả năng tiếp thu tương xứng để có thể lĩnh hội tất cả chúng tại cùng thời điểm. Cái cách bạn tập trung trí tuệ của mình thì quan trọng hơn rất nhiều so với chỉ số thông minh mà bạn có.
Tại buổi thuyết trình để nhận giải thường Turing Award vào năm 1972, nhà khoa học máy tính nổi tiếng Edsger Dijkstra đã công bố một nghiên cứu có tên là “Lập trình viên khiêm tốn”. Ông ta lý luận rằng hầu hết công việc lập trình là một sự cố gắng để bù đắp cho kích cỡ vô cùng giới hạn của bộ não của chúng ta. Những người thuộc loại giỏi nhất trong lĩnh vực lập trình là những người mà nhận ra rằng bộ não của họ nhỏ như thế nào. Họ là những người rất khiêm tốn. Những người mà kém nhất trong lĩnh vực lập trình là những người đã từ chối chấp nhận một thực tế rằng bộ não của họ thì không tương xứng với tác vụ đó. Chính “cái tôi” của họ đã ngăn cản họ trở thành những lập trình viên vĩ đại. Bạn càng học nhiều để bù lại cho bộ não nhỏ bé của bạn, thì bạn sẽ càng trở thành một lập trình viên giỏi hơn. Bạn càng khiêm tốn bao nhiêu thì bạn càng nhanh chóng tiến bộ bấy nhiêu.
Bạn có thể nghĩ rằng con đường nhanh nhất để phát triển những khả năng trí tuệ là tránh sự trợ giúp trong lập trình. Và rằng một lập trình viên mà hỏi nhờ sự giúp đỡ thì đang đi vào “con đường chậm tiến”. Tuy nhiên, kinh nghiệm thực tế đã chỉ ra rằng, những lập trình viên khiêm tốn và chịu khó bù đắp cho những khả năng của họ thường viết code dễ dàng hơn cho chính họ và những người khác có thể hiểu được và có ít lỗi hơn. “Con đường chậm tiến” thực ra lại chính là con đường mà tạo ra nhiều lỗi và làm chậm tiến độ của dự án.
Khi phỏng vấn các ứng viên cho các vị trí lập trình, tôi luôn luôn tìm kiếm những người mà đủ dũng cảm để nói “tôi không biết” khi mà họ cần tới. Những ứng viên mà không thể hoặc sẽ không làm điều này thì sẽ nhận một dấu chấm đỏ; những loại lập trình viên này rất nguy hiểm. Thái độ “có thể làm” có một mức cám dỗ rất lớn, nhưng họ đang thực sự đầu độc ngành phần mềm của chúng ta.
Liệu có phải thế giới của những blog phát triển phần mềm, là một nguồn kiến thức dường như vô tận đến mức kinh ngạc — cũng là sự khiêm tốn đến mức khó tin? Có rất nhiều người, nhiều trong số họ là những người vĩ đại trong lĩnh vực phát triển phần mềm của chúng ta, những người mà thông minh hơn tôi rất nhiều và chỉ đơn giản là tốt hơn cấp độ tôi có thể trở thành.
Nhưng công việc của chúng ta thì không phải là để trở nên tốt hơn một người nào khác; chúng ta chỉ cần trở nên tốt hơn chính bản thân mình một năm về trước là đã đủ rồi.
* Vâng, tiêu đề của bài viết này thì chỉ nhằm mục đích châm biếm. Vì vậy, tôi muốn được thông báo ở đây…
No comments:
Post a Comment