7 kiểu developer hiện nay: bạn là ai trong số đó?
Và có thể, bạn muốn là ai trong số đó?
Máy tính nói chung và lập trình nói riêng hiện nay có rất nhiều con đường để học hỏi, tìm hiểu kiến thức. Tùy vào cách mà bạn tiếp cận với lập trình và nỗ lực bản thân của bạn mà đích đến của bạn sẽ rất khác đi.
Chúng tôi “mạn phép" liệt kê ra 7 kiểu developer điển hình trong môi trường làm việc hiện nay. Bạn hãy thử tìm ra xem mình là ai, và muốn là ai trong số đó?
1. Ve chai tái chế:
Chiếc xe đồ chơi tái chế này liệu có ấn tượng như một siêu xe đồ chơi không?
Đặc điểm của kiểu developer này là họ sẽ làm bất cứ gì cần thiết để hoàn thành công việc bằng kinh nghiệm và kĩ năng của mình, dù chúng có hạn chế đi chăng nữa.
Ví dụ nhé, một developer kiểu “ve chai" này sẽ hoàn thành nhiệm vụ bằng cách “nhặt nhạnh" các phần mềm nguồn mở hay các công cụ hỗ trợ (miễn phí) khác. Tài sản giá trị nhất của anh ta là luôn sẵn lòng tìm kiếm học hỏi, nghiên cứu xem cần gì để hoàn thành công việc và khả năng “hấp thụ” kiến thức cao. Tính tháo vát của anh ta cũng thường rất cao để có thể làm việc với bất cứ gì có thể dùng cho công việc.
Nghe có vẻ tốt đấy, nhưng không phải khách hàng nào cũng sẽ thích cách làm việc này. Với những khách hàng có hiểu biết hạn chế, họ sẽ khen ngợi và chấp nhận sản phẩm của anh ta đấy. Nhưng có một sự thực là anh ta sử dụng các công cụ có sẵn để tạo nên một sản phẩm “trông có vẻ mới lạ" với khách hàng, chứ anh ta không thực sự phát triển toàn bộ. Với lượng công cụ miễn phí lớn như hiện nay, những gì developer kiểu này mang lại không còn gây ấn tượng mấy.
Nếu là front-end developer, một sản phẩm website responsive với CSS thuần chắc chắn sẽ ấn tượng hơn nhiều một sản phẩm tương tự sử dụng Bootstrap hay W3CSS chứ, phải không ?
2. Ông già từng trải:
Một developer old-school vẫn mang lại nhiều giá trị cho team
Kiểu developer này chắc chắn không phải là kiểu nổi loạn trong ngành công nghiệp năng động và sáng tạo này, nhưng những gì anh ta mang lại cũng đầy giá trị : lượng kiến thức và kinh nghiệm khổng lồ.
Anh ta có vẻ là một kẻ lỗi thời, không có khả năng sử dụng các công cụ cũng như công nghệ mới, nhưng như một nhà thông thái từng trải, anh ta hiểu rõ những yếu tố cơ bản của việc phát triển phần mềm. Anh ta có thể không phải là kẻ nhanh nhất hay hiểu về những công nghệ mới, nhưng như câu chuyện rùa chạy đua thắng thỏ, anh ta luôn mang lại giá trị ổn định như anh ta vẫn làm từ đầu tới cuối.
Kiểu developer này là minh chứng cho sự tồn tại của phong cách code thế hệ trước - rằng chúng vẫn tồn tại và vẫn còn giá trị. Anh ta có thể không phải là kẻ làm nên những thay đổi bước ngoặt, nhưng có thể là chỗ dựa trong nhiều tình huống khó khăn khi câu chuyện debug trở về với những điều cơ bản.
3. Kẻ đam mê hạng nặng:
Phát triển phần mềm là lẽ sống với kiểu dev này
Workaholic (kẻ cuồng làm việc) không đủ để miêu tả về loại developer này, mà lập trình là lẽ sống của anh ta. Developer thuộc loại này thường làm việc trên cả mong đợi từ cấp trên hay khách hàng và tất nhiên luôn có niềm tự hào với sản phẩm của mình.
Kẻ cuồng tín này thường dành cả giờ nghỉ trưa để làm việc, có thể là hoàn thành dự án trước deadline, thậm chí là còn làm việc overtime hay tại nhà. Trong những phút giây rảnh rỗi hiếm hoi (mà là do họ tự cho phép), anh ta đọc sách, báo, tài liệu để phát triển kĩ năng của mình. Tất nhiên, với quan tâm chính dành cho việc phát triển phần mềm, anh ta là một kẻ hướng nội, và thế giới code dường như là nơi anh ta cảm thấy an toàn thoải mái nhất. Việc code làm anh ta thấy mãn nguyện chứ không bao giờ làm anh ta chán nản. Tất nhiên, với những khả năng như vậy, kiểu developer này hợp với vai trò “ong thợ" hơn là con ong chúa lãnh đạo.
4. Con mọt sách biết tuốt:
Ngoài việc cực thông minh, Sheldon Cooper là một mọt sách biết tuốt điển hình
Mọt sách biết tuốt đơn giản là một quyển bách khoa thư di động. Anh ta có thể dành hàng giờ đam mê thảo luận lịch sử của một ngôn ngữ lập trình hay phân tích những đoạn code (hoạt động được nhưng) chưa hoàn hảo.
Có thể nói, trong thế giới lập trình, anh ta như một nhà thơ vậy, kẻ mà coi code là một môn nghệ thuật cần được tôn trọng và phân tích. Mọi khối câu lệnh với anh ta phải được thực hiện hoàn hảo, chuẩn chỉ, có nguyên tắc rõ ràng, còn yêu cầu thời gian chỉ là thứ yếu. Anh ta cũng đặt tiêu chuẩn cao cho chính mình, thế nên vấn đề chính của kiểu developer này là : những gì có thể thực hiện trong vài giờ có thể tốn của anh ta hàng tháng.
Phải đính chính, là anh ta không phải là không có khả năng. Vấn đề là anh ta tự tạo việc cho chính mình, bằng cách tạo các công cụ, thư viện mới hay thậm chí khởi tạo lại cả hệ thống mới, để phù hợp với tiêu chuẩn của chính mình. Anh ta muốn đưa những “tác phẩm nghệ thuật" của mình đạt đến đỉnh cao của những chuẩn mực.
Có một con mọt biết tuốt trong team là điều tốt, nhưng bạn cần phải đảm bảo giao cho anh ta những chi tiết nhỏ quan trọng nhất, chứ không nên đưa anh ta cả một phần chung và khiến chủ nghĩa hoàn hảo của anh ta khiến dự án bị chậm deadline hàng tháng.
5. Ninja developer
Ninja luôn là những nhân vật rất cool phải không?
Đúng như một Ninja, kiểu developer này thường ít nói và để tâm nhiều hơn. Những developer Ninja này thì khá giống với tụi đam mê hạng nặng, nhưng họ có nhiều phần cuộc sống hơn là code và code.
Với đồng đội, anh ta có thể là một câu đố khó giải. Tưởng tượng xem, anh ta có thể làm mọi nhiệm vụ một cách nhanh chóng và tuyệt hảo. Nhưng anh ta chỉ cho bạn thấy kết quả chứ không giải thích tại sao anh ta có thể làm chúng. Anh ta ít nói, nhưng vẫn làm việc tốt với cả team.
Không bao giờ nản chí, anh ta giả quyết mọi vấn đề nhanh chóng hiệu quả dù thời gian địa điểm có khó khăn tới đâu. Khả năng của anh ta tới mức làm bạn lạnh xương sống, và khiến bạn liên tục tự hỏi tại sao anh ta có thể làm được. Anh ta không bày tỏ thái độ hay ý kiến về nhiệm vụ được giao phó mà chỉ chú tâm giải quyết nó, thế nên, làm việc với kiểu developer này thực sự thoải mái và hiệu quả tuyệt vời.
6. Đại sứ thiện chí:
Đại sứ thiện chí luôn xuất hiện hào nhoáng, lịch sự
Đúng như tên gọi, đại sứ thiện chí là gương mặt của cả team. Anh ta thẳng thắn và không chính thức cũng là PM (quản lý dự án) của team. Anh ta không trực tiếp code, nhưng lại có hiểu biết sâu rộng về quy trình phát triển phần mềm hay luồng công việc của dự án (project workflow) và những thứ như thế.
Anh ta có kĩ năng lãnh đạo cũng như giao tiếp với khách hàng một cách chủ động. Điều này cho phép anh ta có khả năng làm hài lòng cả những khách hàng hung hăng cũng như đám developer nổi loạn trong team. Ở vị trí của mình, anh ta bảo đảm rằng mọi project đều đạt được yêu cầu của khách hàng và thỏa mãn họ, đóng vai trò cầu nối trong giao tiếp giữa khách hàng và team phát triển.
Ở vị trí “mong manh" đầy khó khăn ấy, đại sứ thiện chí thường cảm thấy cần được tưởng thưởng, cho dù anh ta không phải làm những việc nặng (như code). Với developer nói chung, anh ta là kiểu mẫu diễn viên trong chương trình quảng cáo, hoàn hảo xuất hiện trước máy ghi hình và tìm cách bán sản phẩm, trong khi đội ngũ sau cánh gà (stylist, make-up) làm những việc khó khăn tương tự mà vẫn nhận được số tiền ít ỏi hơn.
Dù sao, trong thời buổi kinh tế thị trường, anh ta là nhân tố không thể thiếu cho sự phát triển của một dev team, và những gì anh ta nhận được, thực ra, cũng xứng đáng với những gì anh ta đã làm.
7. Cao bồi hai tay hai súng:
Hoàn cảnh thường thấy của kiểu developer "đa nhiệm" này
Đây là kiểu developer thường gặp ở các bạn làm freelance hoặc outsource. “Hai tay hai súng” làm việc nhanh hơn hầu hết mọi người với khả năng nhận nhiều phần việc trong nhiều dự án một lúc, nhưng cái giá phải trả là chất lượng code: anh ta thường bỏ qua vài phần trong quy trình phát triển phần mềm. Anh ta cảm thấy tối ưu hóa và kiểm tra lại code tốn quá nhiều thời gian. Những dòng code của anh ta thường loạn cào cào bởi vì thường anh ta không tuân theo các best practice (tạm hiểu là “cách làm tốt nhất") hay thậm chí cả OOP(lập trình hướng đối tượng).
Nhưng kì diệu thay, cho dù code của anh ta trông như buổi họp chợ, nhưng sản phẩm lại hoạt động đúng như yêu cầu. Anh ta dường như là minh chứng cho câu nói nổi tiếng trong giới dev : “Nếu trông nó ngu nhưng nó hoạt động, thì nó không ngu”. Đây không phải điều tốt cho việc phát triển dự án về lâu dài, nhưng ở các tình huống khó khăn, thì đây là kiểu người có thể cứu dự án của bạn.
Tuy thế, giống như chữ bác sĩ chẩn bệnh kê đơn, code của anh ta cũng khó có thể đọc được, chứ đừng nghĩ đến chuyện sửa hay phát triển. Nếu gặp lỗi do va chạm các phần code trong những bước phát triển tiếp theo, thì cập nhật code của anh ta cũng khó gần như việc viết lại hoàn toàn vậy. Rõ ràng bạn không thể debug những thứ bạn không hiểu, hay thậm chí là không đọc được.
Tất nhiên, 7 loại developer điển hình chúng tôi liệt kê ra bên trên chỉ mang tính chất tham khảo. Bạn có thể thấy mình là 1 trong số đó, hoặc có thể thấy mình có điểm tương đồng với một vài kiểu, nhưng điều quan trọng là, chúng tôi mong bạn có thể nhìn thấy ưu điểm cũng như khuyết điểm của chính bản thân mình để có thể đạt đến hình mẫu developer mà bạn mong muốn.
Bạn hẳn cũng muốn mình trở thành một ninja tài năng mạnh mẽ chứ?
NỔI BẬT TRANG CHỦ
Samsung và cuộc cách mạng AI: Hệ sinh thái toàn diện từ TV đến điện thoại di động đã thay đổi đời sống của người tiêu dùng như thế nào?
Với chiến lược toàn diện, Samsung đã sẵn sàng cho một cuộc cách mạng công nghệ tiếp theo, nơi AI đóng vai trò trung tâm. “Ông lớn" Hàn Quốc chứng minh trí tuệ nhân tạo không chỉ là một tính năng trong các thiết bị, mà còn là cốt lõi trong chiến lược đổi mới của họ.
Nhà sáng lập TSMC nhận định về Intel: Sẽ tốt hơn nếu không cố chen chân vào mảng sản xuất chip, đáng lẽ nên tập trung vào AI