Câu này mình thấy còn thiếu nhiều biến số.
+A: chăm chỉ đến một mức độ thì tư duy sẽ tốt lên thôi.
Trường hợp này không nói đến A thông minh hay ngu dốt, chỉ nói trình độ còn nhiều yếu kém, mà yếu tố trình độ có thể là do mới tiếp xúc công việc hoặc mới tập tành lập trình chẳng hạn.
Nếu để đánh giá một người 1 cách gần chính xác nhất thì nên đánh giá theo tiềm năng (dựa trên cơ sở những gì họ tích lũy, xây dựng và khả năng tiến xa trong tương lai).
Nếu bạn A chăm chỉ, sau một thời gian bạn ấy đạt được một số thành tựu, nâng cao được trình độ, nói chung luôn phát triển ổn định và không dễ dàng bị sụp đổ hoặc thụt lùi thì nên giữ lại.
Còn học lâu mà chậm hiểu, tốn chi phí và thời gian, không tạo được lợi nhuận thì say goodbye thôi. Hoặc đưa vào team với các công việc nhẹ nhàng, có tính lặp lại.
+B: Trình độ pro đến mức nào đó sẽ nhận ra đôi lúc cần tương tác team.
Miễn là B hoàn thành công việc tốt, còn hòa đồng với mọi người ntn nào mình nghĩ không quan trọng. Nếu B đã là người giải quyết vấn đề tốt, thì nếu vấn đề là cần tương tác team để hoàn thành công việc -> vậy B phải solve được problem này.
Nhưng nếu sự có mặt của B khiến moi người trong team làm việc không tốt (kiểu mọi người thấy mặt B code không vô) thì sẽ suy nghĩ đến việc cho B 1 mình 1 team (nếu sau khi nhỏ to tâm sự B vẫn không solve được). Với điều kiện là có vị trí thích hợp cho B.
Một yếu tố nữa đó là mức độ biến động của công việc. Nếu team chỉ làm các công việc mang tính lặp lại, có sẵn quy trình thì B không cần thiết (mất công tốn nhiều money để thuê), chọn kiểu như A lại an toàn, đỡ tốn chi phí. Và ngược lại.
Nếu phải chọn 1 trong 2, thì mình sẽ dựa vào tính chất công việc:
- Công việc nhiều biến động: chọn người có nhiều tiềm năng hơn cho team dài hạn & chọn B cho team ngắn hạn
- Công việc theo quy trình: chọn A