Lập trình viên Fresher, Junior Senior là gì và cách phân biệt?662 Chào anh em, Show Chắc đây không phải lần đầu tiên mọi người được nghe 3 từ khóa là Fresher, Junior hay Senior đâu nhỉ. Đây là 3 từ rất quen thuộc trong được sử dụng trong nhiều ngành nghề, dùng để chỉ về cấp độ kinh nghiệm (Seniorly levels) của của nhân sự:
Trong ngành IT nói riêng, các cấp độ cũng được chia ra như trên. Tuy nhiên, chi tiết thế nào thì không ai biết. Tức là thế nào thì được coi là mới vào nghề, và làm bao nhiêu năm thì được coi là dày dặn kinh nghiệm thì không ai đưa ra được định nghĩa cả. Mặc dù đã có rất nhiều các bài viết phân tích chi tiết thế nào là Fresher/Junior/Senior trên mạng (có cả những bài mình đồng tình, có cả những bài không đồng tình) nhưng mình xin phép được viết thêm một bài nữa để đưa ra ý kiến cá nhân về cái 3 cái khái niệm mập mờ này. Mục lục
I. Một vài sự thậtTrước khi đi phân tích chi tiết, chúng ta cần đồng ý với nhau một số quan điểm sau:
Khi đi tìm Seniorly level, thì phạm vi ngành nghề rất quan trọng. Vì suy cho cùng ai cũng là Senior của cuộc đời mình, nhưng lại là Fresher trong lĩnh vực lạ lùng nào đó. Nên trong bài viết này mình chỉ giới hạn trong phạm vi mấy ngành development phổ biến như web development, mobile development, hoặc ngành nào đó tương tự thôi nhé.II. Phương pháp phân tíchThông thường, để nhận biết ai là Fresher/Junior/Senior thì ta thường dựa vào số năm kinh nghiệm của họ. Ví dụ làm dưới 06 tháng thì auto là Fresher, từ 06 tháng đến 02 năm thì làJunior, trên 04 năm thì làSeniorTuy nhiên, để đo mức độ dày dặn kinh nghiệm của một ai đó mà chỉ dựa vào số năm kinh nghiệm thì chưa đủ, mà còn phải đo trên nhiều khía cạnh khác. Cụ thể, chúng ta sẽ cùng phân tích dựa trên 4 khía cạnh sau:
>> Đọc thêm: Kinh nghiệm làm việc được tính như thế nào? III. Thế nào là3.1 Thế nào là Fresher DeveloperĐặc điểm cơ bảnFresher Developer là những bạn có kiến thức chuyên mới dừng ở mức độ lý thuyết, có thể có thực hành nhưng không nhiều (như các bài tập trên trường). Có thể từng tham gia vào một dự án thực tế nào đó, nhưng chỉ để quan sát là chủ yếu, ít khi được code và code đó ít khi được đưa lên production. Nếu code được đưa lên production, thì sẽ được review, giám sát chặt chẽ bởi những người có kinh nghiệm. Sự quan tâmMột vài điều mà Fresher thường quan tâm:
Thời gian thực chiếnDưới 06 tháng hoặc không có. Công việc thường làm
Nói chung, các công việc của Fresher thường mang tính làm quen với ngôn ngữ lập trình, làm quen với công cụ là chủ yếu. 3.2 Thế nào là Junior DeveloperĐặc điểm cơ bảnJunior Developer là những bạn trên mức Fresher, đã có thể code được các tính năng nhỏ, tuy nhiên vẫn chịu sự giám sát chặt chẽ của những người có kinh nghiệm. Thế nào là tính năng nhỏ thì còn tùy vào từng team, từng công ty, hoặc đôi khi là bạn tự cho rằng nó nhỏ thì nó nhỏ. Trong giai đoạn này, khi làm việc bạn sẽ cảm thấy bản thân tiếp thu được rất nhiều kinh nghiệm từ những người đi trước, và càng tiếp thu lại càng cảm thấy mình ngu. Junior Developer thường là những bạn có tinh thần làm việc rất tốt, nhưng đôi khi lại không biết phải làm thế nào.Sự quan tâmĐiều mà các bạn Junior Developer quan tâm nhiều nhất đó là chạy code sao cho chạy đúng yêu cầu. Thời gian thực chiếnTừ 06 tháng đến 1.5 năm kinh nghiệm. Công việc thường làmCông việc mà các bạn Junior Developer thường làm là các tính năng nhỏ, phổ biến (như đăng nhập, đăng ký) hoặc có ít rủi ro với hệ thống, ví dụ như:
3.3 Thế nào là Middle DeveloperĐặc điểm cơ bảnMiddle Developer là những bạn trên mức Junior. Ở mức độ này, thường thì bạn có khả năng để quẩy khoảng 80% tính năng có trên hệ thống (đương nhiên là một hệ thống không quá đặc biệt, đặc thù), và ít chịu sự giám sát hơn (ít thôi chứ không phải là không có). Đừng thấy con số 80% mà sợ nhé, bởi một hệ thống thì 80% là các tính năng bình thường và dễ, chỉ có 20% là tính năng phức tạp. Sự quan tâmỞ mức độ này, bạn thường quan tâm tới mấy vấn đề sau:
Thời gian thực chiếnKhá khó nói, nhưng thường là trên 1.5 năm. Công việc thường làm
Với các bạn có theo hướng quản lý con người, ở mức độ này đã có thể làm leader của một team nhỏ khoảng 2 3 người. Với các bạn phát triển theo hướng công nghệ, thì có thể hoàn thành chỉn chu một dự án đơn giản. 3.4 Thế nào là Senior DeveloperĐặc điểm cơ bảnSenior là những người dày dặn kinh nghiệm, ở mức độ này, kinh nghiệm của bạn sẽ trải dài trên nhiều lĩnh vực, thậm chí bạn từng là Middle (hoặc cấp cao hơn) ở nhiều vị trí công việc với tập kỹ năng khác nhau. Xét riêng lĩnh vực làm phần mềm, một Senior Developer có thể đủ khả năng để làm phần lớn các công việc sau:
Có một khoảng cách rất lớn giữa Senior và Middle Developer, bạn có thể chỉ dừng lại ở Middle mãi mãi mà không thể (hoặc không có nhu cầu) trở thành Senior. Sự quan tâmLà một Senior, bạn sẽ thường quan tâm tới các vấn đề sau:
Thời gian thực chiếnRất khó nói, thường trên 04 năm. Công việc thường làmCông việc của một Senior rất đa dạng, nhưng nói chung nó là các việc khó, và cần am hiểu nhiều loại kiến thức, không chỉ kiến thức công nghệ, mà còn về cả sản phẩm, con người, phương pháp làm việc, Ví dụ như:
IV. Biết mấy cái levels này để làm gì?Nếu đọc nghiêm túc, thì đọc đến đây chắc các bạn sẽ tự review lại bản, sau đó kết luận mình đang ở level nào. Thế nhưng sau khi biết rồi thì để làm gì? Biết cho vui à? No no, đây là một vài lợi ích khi bạn phân biệt được các level:
Bộ sưu tập áo thun cho dân IT, đủ các ngôn ngữ lập trình và hệ điều hành. Click vào ảnh để xem. QC Được tài trợ V. Lời kếtBài viết này vừa tổng hợp dựa trên kinh nghiệm cá nhân của mình, và cũng tham khảo một số nguồn khác, nhưng cho cùng, nó vẫn là ý kiến cá nhân. Rất mong nhận được sự đóng góp của anh em dưới phần bình luận. Chào tạm biệt. https://phambinh.net Là một lập trình viên; Thích tìm hiểu và chia sẻ kiến thức công nghệ; Thích chiêm nghiệm cuộc sống |