Trong bài viết này, bạn sẽ thấy những developer có kỹ năng kém thường ngộ nhận về năng lực của họ cũng như của người khác. Họ thậm chí còn không thể nhận biết được mình đã làm sai.
Nhận định này không chỉ xuất phát từ quan sát cá nhân mà đã được chứng thực bằng Hiệu ứng Dunning-Kruger. Một nhận xét được rút ra từ Hiệu ứng Dunning-Kruger là chúng ta nên có ít nhất một software developer xuất sắc trong mỗi team.
Không nhất thiết developer nào cũng phải là những nhân tài vượt trội siêu phàm, nhưng mỗi team phát triển phần mềm cần có ít nhất một developer xuất sắc để đảm bảo cho ra kết quả tốt, lâu dài và hiệu suất cao trong suốt quá trình làm việc.
Cơ sở cho yêu cầu này chính là Hiệu ứng Dunning-Kruger. Hiệu ứng này cho rằng khả năng đánh giá chất lượng và tính đúng đắn của một giải pháp (khả năng siêu nhận thức - tức nhận thức về nhận thức của chính mình) phụ thuộc rất nhiều vào trình độ kỹ năng của một cá nhân.
Trong thực tế, hiệu ứng này có nghĩa là những developer có kỹ năng kém thường ngộ nhận về năng lực của họ cũng như của người khác. Họ thậm chí còn không thể nhận biết được mình đã làm sai.
Nhiều developer trình độ junior không thể tìm ra một vấn đề hiển nhiên đối với developer trình độ senior.
Xem thêm:
Trong một báo cáo của mình, J. Kruger và D. Dunning đã đưa ra những kết quả từ 4 nghiên cứu trên nhiều lĩnh vực kỹ năng khác nhau.
Một kết quả thú vị là người ta quan sát thấy khoảng cách giữa điểm thi thực tế và điểm thi ước lượng cho thấy những người kỹ năng kém có xu hướng đánh giá quá cao kỹ năng của mình. Ngược lại, những người kỹ năng thuộc hàng top lại thường đánh giá quá thấp kết quả của mình. Biểu đồ dưới đây cho thấy xu hướng này.
Biểu đồ 1: Nghiên cứu và khả năng tư duy logic
Nguyên nhân cốt lõi của Hiệu ứng Dunning-Kruger có lẽ nằm ở việc những kỹ năng cần thiết để tự nhận thức được kỹ năng của bản thân khá giống với những kỹ năng cần thiết để đạt điểm cao trong bài thi. Ví dụ, kỹ năng viết đúng ngữ pháp tiếng Anh tương tự như kỹ năng cần có để tìm lỗi sai của chính mình.
Khi bạn càng biết nhiều về một chủ đề nào đó, bạn càng hiểu rõ hơn về những yếu điểm của mình, từ đó tăng siêu nhận thức. Những người có kỹ năng kém thường đánh giá quá cao kỹ năng của mình lẫn người khác, và họ sẽ nhận ra sự thiếu hụt này nếu được huấn luyện.
Những tranh cãi về kỹ năng nào là cần thiết rất phức tạp và kéo dài bất tận. Không có một danh sách nào là hoàn hảo cả, vì kỹ năng cần thiết cho một software engineer phụ thuộc rất nhiều vào công việc, lĩnh vực, công nghệ, công cụ cùng nhiều yếu tố khác để Biến Bạn Trở Thành Một Software Developer Trong-Mơ Mà Ai Cũng Muốn Có.
Kể cả 7 Dự Đoán Về Tương Lai Của Ngành Lập Trình cũng không hề chắc chắn. Nhưng có một điều chắc chắn: mọi software developer phải học những thứ hoàn toàn mới trong suốt cuộc đời làm việc của mình, vì mỗi thập kỷ trôi qua, ta lại phải đối diện với những thay đổi trong khuôn mẫu của ngành phát triển phần mềm. Vì vậy, sẽ có lúc bạn phải rời khỏi vùng chuyên gia và bắt đầu như một tay mơ ở một vùng mới, nhiều lần như vậy trong suốt quá trình làm việc.
Mỗi khi làm một điều gì mới, chúng ta rất dễ trở thành nạn nhân của Hiệu ứng Dunning-Kruger. Khoảng thời gian nguy hiểm nhất là khi chúng ta nghĩ rằng mình đã học được những điều cơ bản.
Tự đánh giá bản thân sẽ giúp bạn trở nên khiêm tốn hơn. Hãy bắt đầu điều đó ngay hôm nay!
- - - - -
Bài viết trên Software Engineering Candies. Photo by Fabian Grohs on Unsplash.
[1] Justin KRUGER and David DUNNING; Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments; http://mastercodeprofessional.com/library_files/Kruger-Dunning---Unskilled_and_Unaware_of_It_(2009).pdf; Psychology, 2009, 1, 30-46; Published Online December 2009 (http://www.scirp.org/journal/psych)