Câu trả lời:
Điều này sẽ thay đổi nhưng đây là cách tôi nhìn thấy nó ở một nơi đủ lớn để có sự phân biệt giữa các loại lập trình viên.
Tôi muốn nói cấp nhập cảnh và Junior là điều tương tự. Họ vừa ra trường và có ít hơn hai năm kinh nghiệm làm việc. Họ được phân công các nhiệm vụ ít phức tạp nhất và cần được giám sát khá chặt chẽ. Nói chung họ biết khoảng 10% những gì họ nghĩ rằng họ biết. Thông thường họ chưa trải qua toàn bộ chu kỳ phát triển và vì vậy thường đưa ra một số lựa chọn rất ngây thơ nếu có cơ hội lựa chọn. Đáng buồn thay, nhiều người trong số họ không thực sự quan tâm yêu cầu là gì, họ muốn xây dựng mọi thứ theo cách của họ. Họ thường có kỹ năng sửa lỗi kém.
Trình độ trung cấp là nơi nhiều lập trình viên ngã xuống. Họ có hơn hai năm kinh nghiệm và thường ít hơn mười, mặc dù một số người có thể ở mức này toàn bộ sự nghiệp của họ. Họ có thể tạo mã làm việc với ít sự giám sát miễn là chúng được gán cho các nhiệm vụ tương đối thường xuyên. Chúng thường không được giao nhiệm vụ thiết kế cấp cao hoặc các nhiệm vụ phức tạp cao đòi hỏi trình độ kiến thức chuyên sâu. Họ có thể được giao nhiệm vụ thiết kế một phần của ứng dụng, đặc biệt là khi họ ở trong khu vực để trở thành một nhà phát triển cao cấp. Họ giỏi trong các nhiệm vụ bảo trì hoặc nhiệm vụ trong đó họ chỉ có thể tập trung vào mảnh ghép của mình, nhưng thường không được coi là toàn bộ ứng dụng trừ khi làm việc với các nhà phát triển cao cấp hoặc được ưu tiên thăng hạng lên cấp cao. Họ thường có thể làm tốt công việc khắc phục sự cố và gỡ lỗi, nhưng họ phải thực sự vượt qua để có được những cái khó. Họ chưa có đủ kinh nghiệm để xem các mô hình trong các vấn đề chỉ cho họ đến nơi có thể xảy ra. Nhưng họ đang đạt được những kỹ năng đó và hiếm khi cần yêu cầu gỡ lỗi. Có lẽ họ đã trải qua toàn bộ chu trình phát triển ít nhất một lần và thấy kết quả của các vấn đề thiết kế và đang học cách tránh chúng trong tương lai. Thông thường họ có xu hướng có nhiều khả năng đưa ra yêu cầu theo mệnh giá và không đẩy nó trở lại khi nó có vấn đề hoặc khoảng trống rõ ràng. Họ đã học đủ để biết những gì họ không biết và bắt đầu có được kiến thức đó. Họ là những con ngựa của thế giới lập trình,
Không ai là cấp cao thậm chí cần phải hỏi câu hỏi này. Họ là những chuyên gia trong ngăn xếp công nghệ được lựa chọn của họ. Họ được giao những nhiệm vụ khó khăn (những người không ai biết cách giải quyết) và thường nhận được phản hồi thiết kế. Họ thường làm việc độc lập vì họ có một hồ sơ theo dõi đã được chứng minh về việc giao hàng. Họ dự kiến sẽ cố vấn cho các nhà phát triển Junior và trung cấp. Thường thì họ là những người gỡ rối tuyệt vời. Họ đã gặp phải những vấn đề tương tự trước đây và có một ý tưởng rất tốt về nơi để tìm kiếm đầu tiên. Người cao niên thường cố vấn bên ngoài nơi làm việc là tốt. Họ thường có ít nhất mười năm kinh nghiệm và hầu như luôn luôn có ít nhất một cuộc diễu hành tử thần và biết chính xác lý do tại sao một số điều cần tránh. Họ biết cách cung cấp một sản phẩm làm việc và đáp ứng thời hạn. Họ biết những góc nào có thể được cắt và những góc nào không bao giờ nên cắt. Họ biết ít nhất một và thường một vài ngôn ngữ ở cấp độ chuyên gia. Họ đã thấy rất nhiều "công nghệ mới nóng" tấn công tại nơi làm việc và biến mất, vì vậy họ có xu hướng thận trọng hơn một chút về việc nhảy lên băng thông cho công cụ phát triển mới thú vị tiếp theo (nhưng không hoàn toàn chống lại sự thay đổi - đó sẽ là nhà phát triển trung cấp lớn tuổi hơn, những người không bao giờ thực hiện bước nhảy vọt lên Senior). Họ hiểu công việc của họ là cung cấp phần mềm làm việc làm những gì người dùng muốn chứ không phải chơi với các công cụ thú vị. Họ thường kén chọn về nơi họ sẽ làm việc bởi vì họ có thể và bởi vì họ đã thấy tận mắt một số nơi có thể tồi tệ như thế nào. Họ tìm kiếm những nơi có nhiệm vụ thú vị nhất để làm. Thường thì họ biết nhiều về các sản phẩm của công ty hơn bất kỳ ai khác ngay cả khi họ chỉ ở đó vài tháng. Họ biết rằng họ cần nhiều hơn kiến thức lập trình và rất giỏi trong việc tìm hiểu kiến thức về lĩnh vực kinh doanh mà họ hỗ trợ. Họ thường nhận thức được các vấn đề mà đàn em không bao giờ xem xét và những người trung gian thường không nghĩ đến như các vấn đề pháp lý và pháp lý trong lĩnh vực kinh doanh mà họ hỗ trợ. Họ có thể và sẽ đẩy lùi một yêu cầu bởi vì họ biết những vấn đề với nó sẽ là gì và có thể giải thích tương tự cho giáo dân.
Cấp nhập cảnh - phải cung cấp cho họ các hướng dẫn rõ ràng, kiểm tra mọi thứ họ làm, ít hoặc không có trách nhiệm thiết kế, không có trách nhiệm phân tích
Junior - hướng dẫn ít rõ ràng hơn, ít kiểm tra hơn, một số trách nhiệm thiết kế và phân tích nhỏ; giúp những người ở cấp nhập cảnh tìm trình biên dịch và sử dụng kho lưu trữ
Cao cấp - trách nhiệm thiết kế và phân tích chính, dự kiến sẽ tự sửa lỗi giám sát, ít / không kiểm tra, ít / không hướng dẫn; giúp những người ở cấp cơ sở học hỏi / cải thiện kỹ năng phân tích và thiết kế
Thực sự, tôi nghĩ rằng nó đã đi vào thời gian bạn đã làm việc bao lâu. Nếu bạn có 10 năm kinh nghiệm, bạn là một dev cao cấp, nếu bạn tốt nghiệp thì có lẽ bạn đang ở cấp độ đầu vào. Tôi đã thấy nhiều nhà phát triển cấp cao, những người khó có thể viết mã và không thực sự biết họ đang làm gì và nhiều nhà phát triển cơ sở tuyệt vời.
Tôi nghĩ rằng các vị trí thợ thủ công trường học cũ của người học việc, người hành trình và bậc thầy phù hợp với các vị trí này tốt cho cấp nhập cảnh, cấp cơ sở (hoặc chỉ không có tiền tố) và cấp cao.
Một số người vào cấp được giao những nhiệm vụ tương đối đơn giản, không có hậu quả sâu sắc và công việc của họ được kiểm tra bởi một thiếu niên hoặc cấp cao. Theo thời gian, họ nhận được nhiều trách nhiệm hơn và được giao những nhiệm vụ phức tạp hơn, học những sợi dây trên đường đi.
Ở cấp cơ sở (hoặc chỉ loại bỏ "cấp nhập cảnh" / "cấp cơ sở" khỏi tiêu đề / mô tả), bạn đã hoàn thành việc học nghề của mình và đã bao quát các lĩnh vực phát triển chính cho công ty của bạn, đã nhúng vào từng lĩnh vực chính để bạn quen thuộc với từng người trong số họ. Bây giờ bạn giúp cung cấp hướng dẫn và đầu vào cho người học việc tương đương, nhưng công việc của bạn vẫn được xem xét bởi thạc sĩ / cấp cao, mặc dù có lẽ không nhiều như khi bạn còn là một thiếu niên.
Theo thời gian và việc giao các dự án thành công, cuối cùng bạn trở thành cấp cao. Ở cấp độ cao, bạn đã thành thạo mọi thứ được bao phủ trong khu vực của bạn, bao gồm toàn bộ quá trình phát triển và tất cả các công cụ và công nghệ có liên quan. Bạn được trao quyền để đưa ra các quyết định kỹ thuật quan trọng và dự kiến sẽ cung cấp cái nhìn sâu sắc cho ban quản lý về quy trình phát triển phần mềm.
Vì vậy, dựa trên những hướng dẫn đó, bạn sẽ có thể nhìn vào một người hoặc một vị trí và xác định thùng nào trong ba thùng họ đặt vào.
Nó sẽ làm sôi sục sự mong đợi của các lập trình viên.
Nếu tôi là công ty tuyển dụng và tôi thuê một lập trình viên Entry Entry, tôi biết rằng người đó không biết gì và chúng tôi sẽ cho rằng anh ấy / cô ấy cần phải học mọi thứ. Nếu tôi thuê một người cấp cao, theo lý thuyết, họ sẽ tự túc, từ quan điểm kỹ thuật.
Điều này hoàn toàn phụ thuộc vào công ty. Nhưng các từ khá rõ ràng: cấp nhập cảnh là một người mới tham gia vào lĩnh vực này, cấp dưới là một người vượt quá cấp nhập cảnh và biết cách xung quanh một vài công nghệ ngôn ngữ. Cuối cùng là những người phụ trách dự án nhiều hơn và ngồi ở cấp cao hơn. Họ thường có thể ủy thác nhiều như họ mã.
Như hầu hết đã nói, nó thay đổi từ công ty này sang công ty khác, và công việc này sang công việc khác.
Chẳng hạn, tôi đã từng làm việc tại một công ty coi bất kỳ ai làm việc ở đó hơn 5 năm là "Kỹ sư phần mềm cao cấp". Ở một thái cực khác, một nơi khác tôi làm việc có định nghĩa rất nghiêm ngặt (và thang lương liên quan).
Một số nơi có thể coi "cấp nhập cảnh" và "cấp dưới" có nghĩa tương tự.
Nó có thể thay đổi dựa trên nhiều năm kinh nghiệm, kiến thức chung, kiến thức cụ thể (nghĩa là biết các tính năng của một ngôn ngữ nhất định), kinh nghiệm quản lý và / hoặc lãnh đạo, tất cả các kết hợp của chúng, và chắc chắn nhiều hơn nữa.
Tôi sẽ đi với câu trả lời thực sự đơn giản ở đây: các nhà phát triển cao cấp (nói chung) là những người có thể nhìn thấy rừng cây. Họ nghĩ vượt ra ngoài vấn đề trước mắt và hiểu được những thay đổi kiến trúc có thể hoặc nên xảy ra do sửa chữa vấn đề mà họ đang phải đối mặt.
Hầu hết các công ty phần mềm tôi từng thấy đều có những người mới bắt đầu làm mã hóa hàng ngày trong khi các nhà phát triển cấp cao đang giám sát những gì người mới đang làm và giải quyết các vấn đề thực sự xấu xí, gai góc.
Rõ ràng đây chỉ là ý kiến của tôi, và không phải là một quy tắc khó và nhanh. YMMV.
Đơn giản chỉ cần đặt và từ các quan sát cá nhân được tìm thấy trên các trang web đăng việc và chỉ liên quan đến mức độ kinh nghiệm.
Entry = Công việc mới của bạn có lẽ là công việc đầu tiên của bạn.
Junior = Tốt của bạn nhưng không được coi là tốt nhất, bạn cũng thường có ít hơn 5 năm và hơn 2 năm kinh nghiệm.
Senior = Bạn được cho là giỏi nhất và có hơn 5 năm kinh nghiệm.