Này, lính mới, chúng tôi không tuyển bạn chỉ để hoàn thành xong việc được giao
(newsletter.kentbeck.com)- Giá trị của một kỹ sư mới vào nghề (N00b) không được quyết định bởi số lượng đầu việc đã hoàn thành, mà bởi tiềm năng phát triển để sau này trở thành kỹ sư có thể nâng cao năng suất của cả những người xung quanh
- Kỹ sư cấp cao phân loại người mới thành A / người tạo ra thay đổi cho tổ chức, B / người tạo ra kết quả ổn định, hoặc C / người có khả năng rời đi trong vòng 1 năm; người mới cần phát ra tín hiệu cho thấy mình thuộc nhóm mà bản thân mong muốn
- Để trở thành B, bạn cần bảo đảm mã chạy được / chia sẻ tiến độ / hoàn thành trong khoảng thời gian hợp lý như không quá gấp 3 lần ước tính / và không tạo thêm việc không cần thiết cho người review hay người vận hành
- A không phải là người hoàn thành nhiều việc hơn, mà là người học được nhiều hơn từ mỗi công việc, như loại bỏ những việc không cần thiết / tìm ra 10% việc tạo ra tác động lớn / cải thiện thiết kế / và gửi liên tiếp các thay đổi nhỏ
- Những hoạt động thể hiện thành tích vượt trội tốn nhiều thời gian hơn việc chỉ đóng task, nhưng không được sa đà vô hạn vào nhánh phụ mà cần đầu tư thời gian tiết kiệm được theo cách có ích cho bản thân và đồng đội
Công ty tuyển kỹ sư của tương lai, không phải năng suất ở hiện tại
- Tiêu chí mà kỹ sư cấp cao dùng để nhìn nhận người mới được chia thành ba nhóm lớn
- A là tác nhân tạo ra thay đổi, có thể nâng mạnh năng suất của cả những người xung quanh
- B tạo ra kết quả ổn định và dần trưởng thành
- C có khả năng sẽ không còn ở lại tổ chức sau 1 năm
- Các kỹ sư cấp cao vừa phải làm công việc của mình, vừa phải đánh giá mỗi người mới thuộc nhóm nào
- Với A, họ sẽ hỗ trợ nhiều nhất có thể
- Với B, họ sẽ hỗ trợ đủ để trở thành một kỹ sư trưởng thành
- Với người khó có thể ở lại tổ chức, họ sẽ cố gắng tốn ít công sức nhất có thể
- Công việc giao cho người mới nếu do quản lý hoặc technical lead tự xử lý thì thường sẽ xong nhanh và dễ hơn
- Nếu chỉ năng suất trước mắt mới quan trọng thì chẳng có lý do gì để tuyển người mới; công ty đang trả lương hiện tại như một khoản premium cho quyền chọn để nắm lấy kỹ sư mà người đó sẽ trở thành trong tương lai
- Nếu việc đào tạo thành công, tổ chức sẽ có một thế hệ kỹ sư tiếp theo rất mạnh; nếu thất bại, các kỹ sư cấp cao sẽ còn phải tiếp tục làm cùng một loại công việc kỹ thuật đó thêm 10 năm nữa
Không thể đánh giá người mới chỉ bằng số lượng công việc
- Giữa một người mới hoàn thành 40 đầu việc trong một quý và một người hoàn thành 20 đầu việc, không thể chỉ dựa vào số lượng để kết luận ai tốt hơn
- Ngay cả khi độ khó của mọi công việc là như nhau, thông tin đó vẫn chưa đủ để phân biệt A/B/C
- Mục đích của đánh giá không phải là so sản lượng ngắn hạn, mà là xác nhận người mới đang phát triển thành kiểu kỹ sư nào
Tín hiệu cơ bản để phân biệt B và C
- Quan trọng hơn việc đóng task trong thời gian ngắn nhất là các điều kiện sau
- Đoạn mã bạn viết thực sự chạy được
- Cho người khác biết bạn đang làm gì
- Hoàn thành công việc trong một khoảng thời gian hợp lý, chẳng hạn trong phạm vi gấp 3 lần ước tính ban đầu
- Không tạo ra khối lượng công việc bổ sung vô lý cho người khác
- Việc nhờ hỗ trợ và khiến người khác phải bỏ thời gian là chấp nhận được, nhưng các tình huống sau là tín hiệu xấu
- Khiến reviewer phải tốn quá nhiều thời gian không cần thiết
- Khiến người trực on-call phải xử lý vì lỗi gây ra
- Khiến người phụ trách DevOps phải lao vào vì sự cố do chính mình tạo ra
- Những hành vi cố thao túng hệ thống đánh giá, như nói dối rằng mình đã làm việc mình chưa làm, ngay lập tức là tín hiệu C
- Ai cũng có thể vô tình phát ra tín hiệu C một lần, nhưng không được lặp lại cùng một tín hiệu C đến lần thứ hai, và nhìn tổng thể thì tín hiệu thuộc nhóm B phải nhiều hơn
Tốc độ học hỏi là thứ phân biệt A và B
- Trong số những người mới ít nhất đạt mức B, tiêu chí để phân biệt A không phải là số việc đã hoàn thành mà là học được bao nhiêu từ mỗi công việc
- Việc năng suất hiện tại của người mới thấp hơn kỹ sư cấp cao là điều đã được dự đoán trước; điều quan trọng không phải bản thân năng suất, mà là tốc độ cải thiện năng suất đó
Những hành vi thuộc nhóm A
- Các hành vi sau vượt ra ngoài mức chỉ xử lý công việc, và trở thành tín hiệu A vì mở rộng việc học hỏi và năng suất của tổ chức
- Đưa ra cơ sở thuyết phục rằng thực ra không cần làm công việc đó
- Phân tích dữ liệu để tìm ra 10% công việc tạo ra 90% tổng lợi ích
- Thử triển khai cùng một công việc bằng nhiều cách khác nhau
- Phát hiện thiết kế tốt hơn, rồi gửi một chuỗi diff không chỉ phục vụ việc triển khai mà còn đơn giản hóa cả phần mã xung quanh
- Nếu trước khi triển khai, bạn biến một thay đổi khó thành dễ hơn rồi mới thực hiện thay đổi đã được làm dễ đó, bạn sẽ được đánh giá cao hơn
- Gửi liên tiếp nhiều diff nhỏ thay vì một diff lớn
- Nếu mỗi ngày đều có diff được gửi lên thì còn có thêm lợi thế
- Viết công cụ nội bộ để đơn giản hóa các công việc tương tự
- Nếu không còn công việc tương tự nào sẽ lặp lại, điều này ngược lại có thể bị trừ điểm
- Gửi các diff hữu ích cho đội khác hoặc khu vực mã khác mà không làm cản trở việc hoàn thành công việc chính thức
- Ghi chép những gì đã học được theo cách thú vị / hữu ích / và có sức thuyết phục
- Review một cách sâu sắc và phản hồi nhanh với feedback
- Bao gồm các unit test vững chắc
- Cách để thể hiện thành tích xuất sắc đa dạng hơn rất nhiều so với cách để tránh mắc lỗi
Thời gian hợp lý quan trọng hơn thời gian tối thiểu
- Những hoạt động thuộc tín hiệu A tốn nhiều thời gian hơn so với việc chỉ làm phần triển khai tối thiểu cần thiết để đóng task
- Điều này không phải là giấy phép để tiêu tốn thời gian vô hạn vào các nhánh phụ thú vị
- Công việc chính thức luôn phải hoàn thành trong một khoảng thời gian hợp lý, nhưng không nhất thiết phải xong trong thời gian tối thiểu tuyệt đối
Tái đầu tư thời gian tiết kiệm được cho bản thân và đồng đội
- Bạn có thể cảm thấy mình không có thời gian cho việc học hỏi và cải tiến thêm, nhưng có thể tăng tốc độ tiến triển nhờ các kỹ năng như quản lý thời gian / quản lý hàng đợi công việc / và quản lý hàng đợi diff
- Và thời gian tiết kiệm được theo cách đó cần được đầu tư vào sự phát triển của chính mình theo hướng cũng mang lại lợi ích cho người khác
4 bình luận
Có lẽ nên nói về cách tuyển dụng nhân viên mới có tiềm năng trở thành A,
và việc đào tạo để biến nhân viên mới có tiềm năng thành A...
Nội dung bài viết rất kích động nhỉ..
A là người thay đổi tổ chức / B là người tạo ra kết quả ổn định / C là người có khả năng rời đi trong vòng 1 năm
Tôi hiểu việc chia A / B, nhưng chắc cũng có nhiều người vừa là A, B lại cũng là C...
Có vẻ đây là một công ty có mức độ hài lòng của nhân viên cực cao, phản ánh ngay lập tức và thỏa đáng vào lương theo đúng thành tích và mức độ ảnh hưởng.
Nhìn vào đây thì thực ra khả năng rời đi trong vòng 1 năm cũng có thể là cách nói bao biện cho việc sa thải...
À, ra là vậy. haha Tôi không nghĩ đến chuyện bị sa thải.