Trong hành trình viết code của mình, tôi đã bắt gặp không ít thành phần kì quặc, cả đồng minh lẫn kẻ thù. Qua đó tôi cho rằng có ít nhất 5 loại developer khác nhau, một số có thể là cộng sự đắc lực trong team của tôi, số khác dường như không thể ngừng phá tung bất kỳ kế hoạch nào.

Developer loại 1: Chuyên viên cứu hộ

Code thì xấu không thể tả, nhưng chết tiệt, nó chạy được!

Những anh chàng này là nền tảng của công ty. Khi có thứ nào đó đi lạc lối, anh ấy sẽ sửa nó nhanh chóng theo cách mà nó không thể nhầm đường thêm lần nào được nữa. Tất nhiên, anh ấy không quan tâm đến vẻ bề ngoài của nó, hay mức độ dễ sử dụng, hay bất cứ yêu cầu ‘không đáng màng tới’ nào đó. Nhưng trên hết là anh ấy giải quyết được việc, mà không cần một lô những cuộc thảo luận hay những thứ trung gian vô nghĩa mất thời giờ. Cách tốt nhất để sử dụng những lập trình viên như thế này đơn giản là chỉ thẳng vấn đề cho anh ấy, sau đó quay gót đi ra ngoài.

Developer loại 2: Ám ảnh hoàn hảo

“Cậu muốn làm gì với code của tôi?”

Anh chàng này không quan tâm deadline và túi tiền của bạn – những thứ đó chỉ đáng đứng sau nghệ thuật lập trình. Khi bạn nhận được bản code từ anh chàng này, nó luôn không có gì khác ngoài một bản code chói sáng, sạch sẽ, được định dạng đẹp hoàn hảo và cực mượt mà. Nó đẹp tới mức mọi thứ bạn muốn thêm vào sau đó chỉ là sự bôi nhọ vào một kiệt tác. Anh ấy là người duy nhất đủ tiêu chuẩn để làm việc với code của anh ấy.

5-loai-developer

Developer loại 3: Phản lập trình

“Tôi là một lập trình viên, khỉ thật. Tôi không viết code.”

Thế giới của anh ta chỉ tồn tại một sự thật: viết code là sai rồi. Nếu bạn phải viết gì đó là bạn đã sai rồi. Nếu ai đó đã viết rồi thì mình chỉ cần dùng thôi. Anh chàng này sẽ lặp đi lặp lại bên tai bạn rằng cách lập trình này sẽ nhanh như thế nào, mặc dù anh ta mất thời gian tương đương hay hơn cả những lập trình viên khác. Nhưng khi bạn nhận kết quả chỉ có 20 dòng được code thật sự và lại rất dễ đọc, bạn sẽ thấy cách này có thể không nhanh, tương thích kém nhưng nó đòi hỏi ít công sức.

Developer loại 4: Làm nửa vời

“Cậu muốn gì? Nó chạy được cơ mà, phải không?”

Anh này không quan tâm lắm tới chất lượng, đó là chuyện của người khác. Anh ấy hoàn thành công việc được giao, một cách nhanh chóng. Bạn có thể không thích tác phẩm của thể loại developer này, những developer khác cũng ghét nó, nhưng manager và người dùng lại yêu thích. Anh ấy có thể là một sự ‘nhức nhối’ trong team, nhưng cũng là người có thể kéo bạn khỏi sự chế giễu của việc trễ deadline. Và thế là bạn không bao giờ có thể chế giễu sản phẩm của anh ấy (dù bạn rất muốn).

Developer loại 5: Bị ép lập trình

“À thì, đó là một khả năng, nhưng trong thực tế thì cái này có thể thay thế tốt hơn.”

Anh bạn này thích các lựa chọn hơn là làm cho xong việc. Anh ta sẽ dành 80% thời gian nhìn chằm chằm vào máy tính suy nghĩ xem có những cách nào khác để hoàn thành việc này, 15% thời gian phàn nàn về những deadline vô lí, 4% để tút lại những lựa chọn đã suy nghĩ, và chỉ 1% còn lại để viết code. Khi bạn nhận được sản phẩm thì nó luôn đi kèm với một tờ note “nếu tôi có nhiều thời gian hơn, tôi đã có thể làm nó theo một cách khác tốt hơn”.

Tuy nhiên, tất cả đều có vị trí của mình trong nền văn minh phần mềm. Nếu không có sự trộn lẫn đúng mức giữa những phong cách lập trình khác nhau thì một dự án có thể tốn quá nhiều thời gian, hoặc quá bất ổn, hoặc quá hoàn hảo để nhân loại có thể ‘ngước nhìn’.

Team bạn có đủ các thể loại?

Dịch lại từ: The 5 types of programmers
Viết bởi: Steven Benne


Xem thêm:

Code thế nào là code đẹp?

Các code style gây tranh cãi trong lập trình