Giống như hầu hết mọi người, tôi nghĩ về bản thân mình là một chút trên trung bình trong lĩnh vực của tôi. Tôi được trả tiền tốt, tôi đã nhận được các chương trình khuyến mãi và tôi chưa bao giờ gặp vấn đề thực sự khi nhận được tài liệu tham khảo tốt hoặc nhận được một công việc.
Nhưng tôi đã có đủ để nhận thấy rằng nhiều lập trình viên tồi tệ nhất mà tôi từng làm việc nghĩ rằng họ là một trong những người giỏi nhất. Những lập trình viên tồi, những người bị bao vây bởi những lập trình viên tồi khác dường như là những người tự ảo tưởng nhất.
Tôi chắc chắn không hoàn hảo. Tôi đã phạm sai lầm. Tôi bỏ lỡ thời hạn. Nhưng tôi nghĩ rằng tôi thực hiện về cùng một số động tác xương mà "các lập trình viên giỏi" khác làm. Vấn đề là tôi định nghĩa "những lập trình viên giỏi khác" có nghĩa là "những người giống tôi".
Vì vậy, tôi tự hỏi, có cách nào một lập trình viên có thể thực hiện một số loại tự đánh giá hợp lý? Làm thế nào để chúng ta biết liệu chúng ta tốt hay xấu trong công việc của chúng ta?
Hoặc, nếu các thuật ngữ như tốt và xấu quá không rõ ràng, làm thế nào các lập trình viên có thể xác định trung thực điểm mạnh và điểm yếu của họ, để họ có thể tận dụng lợi thế trước và làm việc để cải thiện điều sau?