Dũng xây dựng thế hệ kế cận: So sánh Java và .NET trong cộng đồng developer Việt Nam

VustechVustech
15/12/20257 phút đọc

Mở đầu

Bài viết trình bày về phương pháp xây dựng đội ngũ kế cận hiệu quả cùng phân tích sâu về thực lực giữa hai cộng đồng developer Java và .NET tại Việt Nam. Nội dung dựa trên chia sẻ từ người có kinh nghiệm thực tế ở cả hai hệ sinh thái và đã từng nhận giải thưởng Microsoft MVP.

Phương pháp xây dựng thế hệ kế cận

Nguyên tắc transparency cao

Bí quyết đầu tiên trong việc xây dựng đội ngũ kế cận là transparency (minh bạch) ở mức rất cao. Điều này bao gồm:

  • Chia sẻ tất cả mọi thứ: top process, cách suy nghĩ, vision
  • Build capability cho họ để có thể take over công việc của mình
  • Không giữ lại kiến thức hay kỹ thuật quan trọng

Delegate và đứng đằng sau

Phương pháp hiệu quả để phát triển nhân tài:

  1. Giao việc (Delegate): Đưa công việc đang làm cho họ thực hiện
  2. Đứng sau giật dây: Để họ đứng trước, tự mình hỗ trợ từ đằng sau
  3. Tạo visibility: Giúp họ trở nên visible với các bên liên quan
  4. Build competence: Miệt mài xây dựng năng lực cho chính mình và đội ngũ

Mục tiêu trở nên obsolete

Một tư duy quan trọng: Làm cho chính mình trở nên obsolete (không còn cần thiết) trong organization. Khi đội ngũ kế cận đã giỏi, thậm chí giỏi vượt qua mình, leader có thể:

  • Yên tâm rời đi tìm challenge mới
  • Department vẫn hoạt động tốt trong 3-5 năm không ảnh hưởng
  • Tự do theo đuổi cơ hội mới ở vai trò cao hơn

Phân loại và phát triển nhân sự

Mỗi người có điểm mạnh khác nhau cần cách tiếp cận phù hợp:

Loại nhân sự Đặc điểm Cách phát triển
Có tinh thần tốt, williness cao Kỹ năng chưa tốt Cầm tay chỉ việc
Có năng lực, làm độc lập Tự work được Delegate, tạo điều kiện mimic
Có khả năng delivery Kỷ luật cao Giao việc quan trọng

Build leader, không chỉ build developer

Nhiệm vụ của lãnh đạo không phải là xây dựng senior software developer, mà là xây dựng leader. Thế hệ kế cận càng giỏi thì đời của leader càng khỏe.

Khi họ đã đủ lông đủ cánh, có thể tách roll giống mình thì một trong hai phải đi để tìm challenge mới. Đây là cách để cả hai cùng grow và phát triển.

Java vs .NET: Thực lực cộng đồng developer Việt Nam

Microsoft MVP và sự nổi tiếng

Tại Việt Nam, cộng đồng .NET có nhiều gương mặt nổi tiếng như:

  • Thắng Trung: Solution architect, làm .NET chủ yếu, sau đó thử PHP, Go
  • Thiện Nguyễn: Rất sâu về .NET, chắc tay, focus cao độ
  • Phi Huỳnh: Inspirer, có sense tốt về futuristic technology, blockchain

Tuy nhiên, sự nổi tiếng này có nguyên nhân từ chương trình Microsoft MVP – một sản phẩm của Microsoft nhằm mở rộng cộng đồng developer xung quanh .NET.

Java developers có thực sự kém hơn?

Câu trả lời ngắn gọn: Hoàn toàn không. Thực tế:

  • Người làm Java ở Việt Nam rất giỏi, thậm chí có thể vượt trội so với .NET developers
  • Java thường được dùng trong hệ thống phức tạp, enterprise lớn
  • Java có mặt trong các công ty startup lớn như Line, Grab, Uber

Tại sao Java developers ít nổi tiếng hơn?

Không có chương trình chứng nhận tương tự

Bên Java không có title tương tự Microsoft MVP, ngoại trừ Spring Advocate – được trao bởi công ty làm ra Spring Framework. Tuy nhiên, chưa thấy ai ở Việt Nam có title này.

Tập trung vào công việc thực tế

Developers Java giỏi thường:

  • Tập trung giải quyết vấn đề khó trong ngân hàng, Lazada, v.v.
  • Không xuất hiện nhiều trên diễn đàn
  • Không cần "sale Java" vì không ai trả tiền hay mang lại fame
  • Phải build reputation bằng đôi chân của chính mình

Yêu cầu ra nước ngoài để xây dựng thương hiệu

Để có title như Spring Advocate hoặc award từ Oracle, developers Java phải:

  • Xuất hiện nhiều ở thị trường Singapore
  • Tham gia cộng đồng quốc tế
  • Đầu tư thời gian và công sức đáng kể

So sánh thực lực thực tế

Tiêu chí .NET Developers Java Developers
Độ nổi tiếng Cao (nhờ MVP program) Thấp hơn
Độ sâu chuyên môn Thiện Nguyễn: rất sâu Tương đương
Độ rộng công nghệ Thắng Trung: rộng Tương đương
Bài toán giải quyết Enterprise vừa và nhỏ Enterprise lớn, phức tạp
Môi trường làm việc NAB, enterprise Grab, Line, ngân hàng, Lazada

Tại sao .NET có vẻ "giỏi hơn"?

Microsoft hỗ trợ rất nhiều cho MVPs:

  • License Windows đầy đủ
  • MSDN subscription
  • Azure credit
  • Được tung hô, quảng bá

Ngược lại, Java developers phải tự xây dựng thương hiệu mà không có sự hỗ trợ tương tự.

Tư duy kiến trúc phần mềm

Sai lầm phổ biến của juniors

Nhiều developers trẻ hỏi về việc chọn kiến trúc: MVC, MVP, MVVM trước hay microservice, monolithic trước. Đây là cách tiếp cận sai.

Cách tiếp cận đúng

Non-functional requirements phải được xác định trước:

  1. Hiểu rõ non-functional requirements
  2. Chọn kiến trúc phù hợp để giải quyết các requirements đó
  3. Chọn technology choice dựa trên requirements
  4. Áp dụng design pattern (MVC/MVP/MVVM) phù hợp

MVC và Microservice không cùng cấp

Một hiểu lầm phổ biến:

  • MVC/MVP/MVVM: Là design pattern cho tổ chức code trong một application
  • Microservice/Monolithic: Là kiến trúc hệ thống ở level cao hơn

Bạn có thể:

  • Dùng monolithic và áp dụng MVC
  • Dùng microservice và mỗi service vẫn áp dụng MVC

Microservice thực chất là tập hợp của nhiều monolith nhỏ đủ nhỏ, chạy trên nhiều process khác nhau.

Lời khuyên cho developers trẻ

Đừng ngại hỏi câu hỏi

Người dở không phải là người hỏi, mà là người:

  • Biết không rõ nhưng không hỏi
  • Không tự đặt câu hỏi cho chính mình

Việc hỏi cho thấy bạn đang tìm hiểu và muốn tiến bộ.

Đầu tư vào học hỏi liên tục

  • Đọc nhiều để có lập luận logic khi trao đổi
  • Học cách present, giao tiếp
  • Thực hành debate với tinh thần win-win
  • Xem các TED talks để học kỹ năng diễn thuyết

Tư duy "If it hurts, do it more often"

Những gì làm bạn đau đớn, khó khăn chính là thứ cần thực hiện nhiều hơn để vượt qua chướng ngại vật và trở nên giỏi hơn.

Kết luận

Tóm tắt chính

  1. Xây dựng thế hệ kế cận: Transparency, delegate, đứng sau hỗ trợ, mục tiêu trở nên obsolete
  2. Java vs .NET: Thực lực tương đương, .NET nổi tiếng hơn nhờ MVP program
  3. Kiến trúc đúng cách: Non-functional requirements dẫn dắt quyết định kiến trúc
  4. Phát triển bản thân: Không ngại hỏi, đầu tư học hỏi, đối mặt với thử thách

Checklist phát triển leadership

  • Đã chia sẻ transparent mọi thứ với team?
  • Có kế hoạch delegate công việc quan trọng?
  • Đã xác định và đào tạo successor?
  • Giúp team members trở nên visible?
  • Đầu tư học hỏi công nghệ mới liên tục?

Dù bạn ở phía Java hay .NET, điều quan trọng nhất là không ngừng phát triển bản thân và xây dựng đội ngũ kế cận vững mạnh.

Vustech

Biên tập viên

Vustech

Bài viết liên quan