Trong suốt sự nghiệp của mình, có lẽ bạn đã làm việc với nhiều kiểu developers khác nhau. Có những người bạn sẽ luôn thích làm việc cùng. Số khác bạn chỉ bạn chỉ hy vọng hoàn thành dự án và không làm việc cùng nhau nữa. Bài viết của tác giả Kesk đăng trên BetterProgramming cho thấy 13 kiểu developer như vậy dựa trên kinh nghiệm đúc kết của chính tác giả. Bạn hãy xem mình đã làm việc cùng với những kiểu developer nào nhé. Và xem bạn là kiểu nào trong những developer đó.
1. Người bán khói (smoke seller)
Trong tiếng Anh có một thành ngữ là smoke seller, tức là bán thứ mà mình không có thực. Loại developer smoke seller này luôn hứa hẹn những điều cho tất cả mọi người – khách hàng, sếp của bạn hoặc các nhà phát triển khác. Nhưng khi thực sự cần làm một việc gì đó, nếu có thể, họ sẽ chuyển sang một dự án khác hoặc cố gắng giao toàn bộ công việc cho các developer khác. Điều này rất nguy hiểm vì nó có thể khiến bạn gặp rắc rối nghiêm trọng.
Nếu bạn không biết họ, bạn nghĩ rằng họ biết mọi thứ họ đang nói và họ có thể giúp bạn, nhưng bạn sẽ sớm nhận ra rằng đây là một lời nói dối và bạn không thể tin tưởng vào họ.
2. Developer đa nhiệm
Họ không phải là một nhà phát triển tồi. Họ thường có kỹ năng kỹ thuật tuyệt vời, nhưng họ bận rộn đến mức không bao giờ tập trung vào bất cứ điều gì và bạn không bao giờ có thể tin tưởng vào họ trong các dự án. Thật khó để thu hút sự chú ý của họ và mặc dù đôi khi họ có những ý tưởng tuyệt vời, nhưng cần rất nhiều nỗ lực để khiến họ hoàn thành một việc gì đó hoặc cam kết thực hiện một điều gì đó.
3. Chuyên gia có chứng chỉ
Bạn khó mà có trải nghiệm tốt với kiểu người chỉ lấy chứng chỉ làm thành tích. Thực tế cần phải có một nền tảng tốt với kiến thức vững chắc về các lĩnh vực mà bạn sẽ làm việc. Chúng ta không chống lại chứng chỉ. Nhưng trong hầu hết các trường hợp, việc có một chứng chỉ sẽ chẳng ích lợi gì nếu nó không đi kèm với kinh nghiệm thực tế.
Cách đây vài năm, một khách hàng mà tôi từng phát triển phần mềm đã thuê một kiến trúc sư phần mềm. Vai trò của anh ấy là tổ chức và dẫn dắt tất cả các nhà phát triển bên ngoài làm việc với khách hàng.
Lúc đầu, tôi thấy ổn, nhưng tôi nhanh chóng nhận ra rằng tất cả những gì anh ấy làm là lắng nghe giải pháp của người khác và giả vờ đó là của riêng anh ấy.
Trong trường hợp của tôi, tôi đã mất rất nhiều thời gian với các cuộc họp mà anh ấy cố gắng thay đổi cách làm việc của chúng tôi, nhưng chúng chỉ dựa trên những ý tưởng mà anh ấy đã đọc hoặc nghe – không được đưa vào thực tế.
Tất nhiên, có chứng chỉ hoặc bằng cấp là một điều tốt, nhưng chỉ khi nó đi kèm với kinh nghiệm thực tế. Nếu không, bạn sẽ trở thành “Nhà phát triển lý thuyết”.
4. Developer lộn xộn
Code của họ là một mớ hỗn độn và không tuân theo bất kỳ thông lệ tốt nào, trộn lẫn tất cả các thiết kế (khi có bất kỳ thiết kế nào).
Tôi đã làm việc với những người như thế này. Vào cuối các cuộc họp lập kế hoạch, tôi thường hỏi họ có nghi ngờ gì về những gì chúng tôi đã nói không vì tôi chỉ thấy họ ghi chép lộn xộn trên một tờ giấy. Họ luôn trả lời tôi rằng họ không. Sau một vài ngày, họ đã phát triển một cái gì đó hoàn toàn khác với những gì chúng tôi đã đồng ý trong cuộc họp.
Có nhiều manh mối để nhận ra một nhà phát triển lộn xộn:
- Họ có ghi chú một cách có trật tự không?
- Họ có viết mọi thứ ra giấy để không quên bất cứ điều gì không?
- Bàn làm việc của họ có ngăn nắp không?
5. Developer lý thuyết
Lý thuyết nhiều, thực hành ít. Họ luôn nói với những developer khác cách làm mọi thứ, nhưng họ chưa bao giờ áp dụng những gì họ nói trong hầu hết các trường hợp.
Khi sếp ở xung quanh, họ khoe khoang về tất cả những gì họ “biết”, nhưng họ lại tìm cách để thoát khỏi công việc của mình. Trong một công việc của tôi, có một người như vậy. Anh ấy ở khắp nơi và nói rằng chúng tôi có thể làm mọi thứ như thế nào, nhưng tôi hiếm khi thấy anh ấy phát triển bất cứ điều gì. Khi tôi làm việc với anh ấy, tôi thực sự phải hướng dẫn anh ấy cách làm mọi thứ.
6. Developer trung bình
Đây là kiểu nhà phát triển phổ biến nhất. Họ có xu hướng trung bình trong mọi việc họ làm và họ thường muốn những công việc có thể đoán trước và thoải mái trong danh sách công việc tồn đọng của họ.
7. Developer an toàn
Họ không bao giờ chủ động. Họ luôn đợi bạn nói với họ cách làm mọi thứ, sử dụng công nghệ gì hoặc nhắc họ về những gì đã nói trong cuộc họp về phần họ phải phát triển. Tuy nhiên, nếu có gì đó không ổn, bạn sẽ đổ lỗi cho cho người khác.
Họ dành nhiều năng lượng và thời gian hơn để đảm bảo rằng họ không thể bị đổ lỗi nếu mọi việc diễn ra sai trái hơn là thực sự nghĩ về cách tốt nhất để hoàn thành công việc.
Họ luôn chọn cách thoải mái nhất để thực hiện công việc của mình, ngay cả khi có những phương án thay thế tốt hơn.
8. Developer đa năng
Một kiểu developer tuyệt vời cho hầu hết các dự án mà ai cũng muốn làm cùng. Nói chung không phải là siêu kỹ năng trong bất cứ điều gì nhưng có thể phát triển bất kỳ dự án nào, từ phụ trợ đến giao diện người dùng.
9. Yêu mình thái quá (the Narcissist)
Thông thường, họ có cái tôi lớn và kỹ năng làm việc nhóm kém.
Họ muốn được công nhận là nhà phát triển giỏi nhất trong nhóm. Họ có xu hướng thiết kế quá mức những thứ đơn giản và sử dụng “mã thông minh” mà sau đó người khác khó có thể duy trì. Nếu họ xem lại code của bạn, họ sẽ luôn cố gắng cấu trúc lại code đó và thêm nhận xét ngay cả khi nó không hợp lý.
Lần khác, họ sẽ nói với bạn rằng có điều gì đó không ổn và họ sẽ giải quyết nó bằng cách áp dụng một cái gì đó siêu khéo léo. Nhưng cuối cùng, họ sẽ không làm điều đó, và khi ông chủ hỏi bạn tại sao nó liên tục thất bại, họ sẽ nói rằng họ đã cảnh báo bạn rồi.
Tóm lại, đây là người thường có kiến thức kỹ thuật tốt nhưng có xu hướng phức tạp hóa mọi việc để khiến bản thân nổi bật và đặt mình lên trên người khác. Họ không dễ làm việc.
10. Người bị ám ảnh bởi mọi thứ
Loại nhà phát triển này bị ám ảnh bởi tất cả các tiêu chuẩn và phương pháp luận. Mặc dù về nguyên tắc, điều này có thể ổn, nhưng khi thực hiện đến mức cực đoan, tính linh hoạt sẽ mất đi và mọi thứ chậm lại.
11. Developer kỳ lân
Trong công ty của tôi, có một nhà phát triển mà tôi coi là “kỳ lân”. Anh ấy có tất cả: kiến thức kỹ thuật tuyệt vời, kỹ năng giao tiếp tuyệt vời và luôn sẵn sàng giúp đỡ.
Nếu có vấn đề gì, anh ấy luôn sẵn lòng giải quyết. Và nếu anh ấy nói rằng anh ấy sẽ làm điều gì đó, anh ấy sẽ làm.
Nhìn chung, họ giỏi mọi thứ nhưng không có xu hướng gắn bó lâu dài trong cùng một công việc vì họ biết rõ khả năng của mình luôn có những cơ hội trước mắt.
12. Nhà phát triển nhanh
Họ có xu hướng hoàn thành mọi thứ nhanh chóng nhưng lại chuyển sang nhiệm vụ tiếp theo mà không thực sự chốt 100% nhiệm vụ trước đó.
Họ tìm cách hoàn thành mọi thứ nhanh chóng và làm cho chúng hoạt động, mặc dù trong nhiều trường hợp, mà không cần thử nghiệm bất cứ điều gì hoặc áp dụng các phương pháp hay. Họ không ghi lại hoặc làm theo tài liệu.
Vấn đề là mọi thứ sẽ phải được cấu trúc lại sau đó hoặc sửa chữa để tránh sai sót.
13. Người luôn sẵn sàng giúp đỡ
Đây là một trong những loại yêu thích của tôi. Họ thường biết tất cả mọi thứ và biết làm thế nào để làm điều đó tốt. Họ luôn sẵn lòng giúp đỡ mà không tỏ ra hống hách hay gia trưởng. Họ thường là những người từng trải và khiêm tốn.
Thật không may, một số sẽ trả lời câu hỏi của bạn như thể bạn là một đứa trẻ và sẽ không bao giờ chấp nhận bất kỳ lời chỉ trích nào nếu bạn phản bác điều gì đó.
Kết luận
Cuối cùng, điều quan trọng nhất là tìm kiếm một đội cân bằng với những người dễ làm việc, đáng tin cậy và sẵn sàng học hỏi. Kiến thức kỹ thuật và kinh nghiệm được học hỏi theo thời gian, nhưng cách sống của một người khó thay đổi hơn.
Vì đây chỉ là kinh nghiệm cá nhân của tôi khi làm việc với các nhà phát triển khác, tôi chắc chắn rằng bạn đã gặp phải nhiều kiểu nhà phát triển phần mềm khác nhau. Tôi rất muốn bạn chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới.
Bài của tác giả Kesk -*- đăng trên BetterProgramming