Khi tuyển dụng, đánh giá lập trình viên điều quan trọng là phải hiểu chính xác những đặc điểm nào sẽ tăng giá trị tối đa cho đội ngũ hiện tại của công ty.
Cho dù bạn tìm kiếm một lập trình viên cao cấp (Senior Developer) dày dạn kinh nghiệm để lead một team, hay là một lập trình viên trẻ (Junior Developer) và có thể đào tạo để xây dựng và phát triển lâu dài - Cả Lập trình viên Junior và Senior đều đóng vai trò quan trọng, nhưng khác nhau trong từng tổ chức, đội ngũ.
Hôm nay chúng ta hãy cũng xem những điểm cốt lõi nhất trong việc đánh giá, tuyển dụng các lập trình viên Junior và Senior của các nhà tuyển dụng.
Chúng ta sẽ tách thành 2 phần:
-
Đánh giá Lập trình viên Junior
-
Đánh giá Lập trình viên Senior
2 phần này dù tách ra nhưng vẫn sẽ đi theo 3 mục để các bạn dễ dàng nắm bắt:
-
Đánh giá kỹ năng Chuyên môn
-
Đánh giá Khả năng tương thích
-
Đánh giá Kỹ năng mềm
Trước khi đến với phần chi tiết, chúng ta hãy xem video thú vị này trước.
Sự khác nhau Giữa Lập trình viên Junior vs Senior
Bây giờ, chúng ta hãy xem Nhà tuyển dụng đánh giá Lập trình viên Junior như thế nào..
1. Đánh giá Lập trình viên Junior
Đánh giá Lập trình viên Junior
Lập trình viên trẻ (Junior Developer) là một ứng viên có hiểu biết cơ bản về lập trình nhưng vẫn chưa chứng minh được khả năng hoạt động độc lập trong nhóm dự án cụ thể.
Họ có những quan điểm khác với thế hệ trước. Quan điểm mới mẻ của họ về các vấn đề chung có thể là một giá trị lớn đối với bất kỳ đội ngũ nào, nhưng nói chung lập trình viên Junior vẫn đang trong giai đoạn đầu của sự nghiệp và dự kiến sẽ cần một sự giám sát và tư vấn hợp lý từ các đồng nghiệp để thành công hơn.
Điều đó nói rằng, nếu bạn có thể tìm được Lập trình viên Junior phù hợp, họ không chỉ có thể giúp thực hiện các nhiệm vụ hàng ngày mà còn trở thành một khoản đầu tư dài hạn vô giá khi họ phát triển thành các nhà phát triển dày dạn kinh nghiệm hơn.
Dưới đây là một vài điều quan trọng cần tìm và đánh giá một Lập trình viên Junior:
Đánh giá Kỹ năng Chuyên môn
-
Lập trình viên Junior đó có kỹ năng giải quyết vấn đề / tháo vát / suy nghĩ vượt ngoài tiêu chuẩn bình thường theo nhiều cách khác nhau để tìm giải pháp / phân tách vấn đề?
-
Họ có bằng chứng về sự hiểu biết vững chắc về kiến thức và nguyên tắc lập trình cơ bản (ví dụ: Bằng cấp / chứng chỉ , đã hoàn thành các dự án cá nhân / đội ngũ, kinh nghiệm lập trình...?
-
Nếu họ được đào tạo theo chương trình đào tạo chính quy như ngành CNTT của các trường ĐH thì họ có thêm kinh nghiệm triển thực hành khác không (ví dụ: dự án cá nhân, đồ án cuối môn học, kinh nghiệm làm việc, thực tập)?
-
Họ có kinh nghiệm xử lý sự cố không? Họ có thành thạo các quy trình kiểm thử và gỡ lỗi cơ bản (Debug) không?
-
Họ có hiểu biết cơ bản về cách các các công nghệ cốt lõi của team bạn đang sử dụng không? Hay họ có quen thuộc với một stack công nghệ sẽ giúp họ nắm bắt kỹ năng mới một cách nhanh chóng hay không?
-
Họ có các kỹ năng lập trình khá linh hoạt để có thể hỗ trợ nhiều thành viên và các nhóm trong nhóm của bạn khi cần không?
Note: Đây là các Kỹ năng chuyên môn các nhà tuyển dụng thường tìm kiếm. Nếu bạn là một Lập trình viên Junior và muốn tìm việc, hãy xem xét học hoàn thiện các kỹ năng chuyên môn đáp ứng yêu cầu trên.
Đánh giá Khả năng tương thích
-
Lập trình viên Junior bạn đang xem xét có phù hợp với triết lý lựa chọn phát triển team của bạn không?
-
Họ đã từng làm việc thành công trong một team trong quá khứ, hoặc quen thuộc với sự năng động của một DEV Team?
-
Họ có chủ động trong một nhóm, đóng góp ý tưởng khi thích hợp và chủ động xin ý kiến những người khác khi họ gặp những trở ngại không?
-
Họ có biểu hiện tò mò & thấy thú vị với công việc của team của bạn, và họ có mong muốn hiểu làm thế nào công việc của họ phù hợp với nó không?
Đây là những câu hỏi để bạn đánh giá khả năng tương thích với mục tiêu phát triển chung của nhóm của Lập trình viên Junior mà bạn sắp tuyển dụng.
Lưu ý rằng phần này cực kỳ quan trọng nếu bạn muốn xây dựng một team phát triển lâu dài.
Đánh giá Kỹ năng mềm
-
Họ có khao khát mở rộng kiến thức lập trình và phát triển trong lĩnh vực này không?
-
Họ đã thể hiện năng lực tự khởi động, chủ động tìm cách đóng góp ngay cả trước khi họ được phân công công việc rõ ràng?
-
Họ có cẩn thận, lên kế hoạch chi tiết và cam kết tuân thủ theo yêu cầu của các dự án của họ như họ đã cam kết không?
-
Họ có kỹ năng giao tiếp cơ bản tốt để có thể thảo luận hiệu quả cả về khái niệm kỹ thuật và phi kỹ thuật không?
-
Họ có thái độ làm việc theo nhóm và sẵn sàng đóng góp cho tổ chức không? Họ có sẵn sàng đặt sự cạnh tranh cá nhân lại phía sau vì lợi ích của team không?
Các kỹ năng mềm cho thấy rằng các Lập trình viên ở cấp độ Junior đã nhận thức được rõ ràng về công việc, cách làm việc trong một tổ chức chuyên nghiệp hay chưa.
Nếu bạn là một lập trình viên Junior, hãy học ngay những kỹ năng mềm này để có thể tìm được đội nhóm tốt nhất và phát triển sự nghiệp lên Level cao hơn.
Tiếp theo, chúng ta sẽ cùng tìm hiểu về:
2. Đánh giá Lập trình viên Senior
Đánh giá Lập trình viên Senior
Một Lập trình viên Cao cấp (Senior Developer) đã được chứng minh là một nhà phát triển độc lập, hợp tác và chịu trách nhiệm cao trong một team.
Các Lập trình viên Senior không được dự kiến sẽ lãnh đạo một nhóm Lập trình viên nhưng được kỳ vọng sẽ có chuyên môn tốt hỗ trợ mục tiêu cuối cùng trong phát triển phần mềm, và sẵn sàng cố vấn, cộng tác với các đồng nghiệp ở mọi cấp độ kinh nghiệm.
Tài năng kỹ thuật mạnh mẽ của các Lập trình viên Senior là giá trị rõ ràng nhất của họ, và thường chiếm vị trí trung tâm trong việc đánh giá tuyển dụng.
Nhưng ở cấp độ Senior, các kỹ năng phi kỹ thuật của còn quan trọng hơn so với lập trình viên Junior trong việc đảm bảo khả năng cộng tác thành công với phần còn lại của team.
Dưới đây là một số đặc điểm hàng đầu cần xem xét khi đánh giá, tuyển dụng Lập trình viên Senior:
Đánh giá Kỹ năng Chuyên môn
-
Họ đã chứng minh khả năng thực hiện quy trình phát triển phần mềm từ đầu đến cuối chưa?
-
Họ có chủ động lập kế hoạch dài hạn bằng cách hạch toán trước các vấn đề và lỗi tiềm ẩn trong công việc của họ và cung cấp hỗ trợ cho nhóm khi có vấn đề xảy ra không?
-
Họ đã chứng minh khả năng lãnh đạo và quản lý các dự án (nhỏ / tương đương) chưa?
-
Họ có nhật ký theo dõi, ước tính tính chính xác phạm vi dự án và thời gian hoàn thành dự án của họ? Và họ có luôn bám sát thực hiện theo cam kết mà họ đưa ra không?
Note: Như bạn thấy, việc đánh giá kỹ năng chuyên môn của các Lập trình viên Senior không phải là việc họ nắm giữ bao nhiêu công nghệ mà là việc họ thực hiện các nhiệm vụ và trách nhiệm của mình trong toàn bộ dự án là như thế nào.
Đánh giá Khả năng tương thích
-
Họ có được đào tạo bài bản và thoải mái với triết lý, định hướng phát triển nhóm của bạn không?
-
Họ có kinh nghiệm làm việc với các bộ phận khác để hỗ trợ việc lắng nghe, giải thích và thực hiện các yêu cầu liên quan đến lập trình khi cần không?
-
Họ có định hướng nhóm và sẵn sàng tìm kiếm sự hướng dẫn và hợp tác từ các đồng nghiệp của họ khi cần không?
-
Họ đã thể hiện khả năng cố vấn thành công cho các đồng nghiệp khác và tạo ra một môi trường thúc đẩy học tập chưa?
-
Họ có khiêm tốn và cởi mở để lắng nghe ý kiến đóng góp của các lập trình viên khác trong nhóm của họ (bao gồm cả các đồng nghiệp và các đồng đội ít kinh nghiệm hơn) không?
Note: Vai trò của Lập trình viên Senior ở trong team là rất lớn, chính vì thế, khả năng tương thích của họ phụ thuộc rất lớn vào việc họ có thể thúc đẩy các đồng nghiệp khác hoàn thành mục tiêu chung hay không. (Chứ không phải là thành phần "Gánh Team").
Đánh giá Kỹ năng mềm
-
Họ có tự chịu trách nhiệm cho những đóng góp của họ cho tổ chức, cho dù là tích cực hay tiêu cực? Khi vấn đề phát sinh, họ có ngừng đổ lỗi hay họ tìm kiếm giải pháp?
-
Họ có đầu tư vào duy trì công việc tiến triển ổn định cho dù các nhiệm vụ được xem là nguy hiểm hay thú vị và cực kỳ thách thức?
-
Họ có sở hữu các kỹ năng giao tiếp kỹ thuật tiên tiến để dễ dàng triển khai kế hoạch và cộng tác hiệu quả với các đồng nghiệp không?
-
Họ cũng có các kỹ năng giao tiếp phi kỹ thuật nâng cao mà họ có thể sử dụng để giải thích và diễn giải theo yêu cầu từ các nhân viên khác không (ví dụ: nhân viên trong Tiếp thị sản phẩm hoặc Phát triển kinh doanh)
-
Đặc biệt, Họ có đầu tư vào việc tự nghiên cứu và học hỏi liên tục trong lĩnh vực này, hay chỉ tham gia vào các công việc mà họ đã hiểu?
Như bạn thấy đó, việc đánh giá Lập trình viên Junior và Senior rất rõ ràng. Nếu bạn là một Lập trình viên và muốn phát triển xa hơn trong lĩnh vực này, đây là những điều mà bạn cần tham khảo và học hỏi bổ sung cho bản thân mình.
Các Lập trình viên Junior vẫn còn có đánh giá về khả năng nắm bắt công nghệ. Nhưng nếu bạn vượt khỏi level Junior lên Senior thì khả năng công nghệ mặc định đã là đáp ứng được, vấn đề là các kỹ năng khác có thể đáp ứng hay không mà thôi.
Lời kết
Việc đánh giá lập trình viên Junior và Senior cũng không mặc định như những điều nêu trên.
Với từng cấp độ và yêu cầu cụ thể của từng Team, các đánh giá, yêu cầu sẽ khác nhau.
Nhưng quan trọng, Junior sẽ đóng góp nhiều với vị trí, trách nhiệm cá nhân. Còn Senior thì ngoài trách nhiệm cá nhân còn có trách nhiệm chung, đóng góp nhiều hơn cho mục tiêu chung của nhóm.
Hành trình trở thành Lập trình viên từ Junior lên Senior là trải nghiệm cực kỳ thú vị. Giá trị của bạn sẽ được mọi người công nhận xứng đáng.
>> Hãy Học và bắt đầu trở thành Lập trình viên ngay hôm ngay
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp