지금까지 알고 계셨겠지만 전통적으로 기술 산업에서 개발자는 자격 수준에 따라
Junior ,
Middle ,
Senior 및 Team Lead의 네 가지 등급으로 나뉩니다. 또는 코딩 인턴을 소프트웨어 개발 업계의 최하위 "병사"로 포함한다면 5개입니다. 물론 이러한 그라데이션은 상당히 조건부이며 회사 또는 국가에 따라 해석의 여지가 있습니다. 소프트웨어 개발에서 전문 경력을 시작하고 주니어 코더에서 시니어 개발자로 성장하는 데 실제로 무엇이 필요한지 궁금해하는 프로그래밍 초보자에게 종종 혼란스럽습니다.
![주니어 → 시니어. 선임 Java 개발자가 되려면 몇 년이 필요합니까 - 1]()
그리고 이것이 바로 오늘 우리가 대답하고자 하는 질문입니다. 시니어 자바 개발자가 되려면 얼마나 걸립니까?
3~7년
늘 그렇듯이 기술 업계에서는 주니어 개발자에서 시니어 개발자가 되는 데 걸리는 시간에 대한 합의가 없습니다. 그리고 당신이 일하고 있는 회사의 유형, 고용 시장 조건, 개인의 향상, 팀에서의 관계 등과 같이 여기에서 역할을 하는 많은 요소가 있기 때문에 결코 그렇지 않을 것입니다. 하지만 수백 가지의 서로 다른 의견 중에서 특정 연도를 추출하면 평균 3~7년이 됩니다. 가장 낮은 평균 추정치(Senior 지위에 도달하기까지의 연수)는 약 2-3년(적절한 상황과 빈번한 승진이 있는 회사에서)이고 최대는 10-15년입니다. 많은 숙련된 개발자가 지적하듯이 시니어 레벨에 정확히 도달한다는 의미에 따라 다릅니다.
의견
“제목은 확실히 장소에 따라 다릅니다. 일반적으로 저는 시니어 개발자를 복잡한 코드 기반에 뛰어들어 번창하고 중요한 기능 구현을 처음부터 끝까지 소유하고 주니어 개발자를 이끌고/도와주고 최신 최고의 기술을 따라잡고 무엇이 적합한지 알아낼 수 있는 사람으로 봅니다. 그리고 그렇지 않은 것 등. 그런 각도에서 저는 그 여정이 5년 정도 걸리는 것을 관찰했습니다. 다시 말하지만 실제 제목에 속지 마십시오. 어떤 곳은 지나치게 홍보하고, 다른 곳은 타이틀을 모두 없애고(모든 개발자는 급여 규모가 다른 SDE입니다), 많은 시간이 걸리는 비기술적 성장입니다.”라고 경험이 풍부한 Wes Winn은 말했습니다
. Smartsheet에서 근무하는 소프트웨어 개발자.
에 따르면VMware의 스태프 소프트웨어 엔지니어인 Andrew Sharpe는 10~15년입니다. VMware에는 여러 수준의 MTS가 있으며 선임 MTS 직위, 여러 수준의 스태프 엔지니어, 선임 스태프 엔지니어 직위, 최종적으로 수석 엔지니어로 이어집니다. 그래서 '선배'라는 호칭은 여러 차원에서 사용될 수 있다." TEOCO Corporation의 R&D 매니저인 Rajkumar Bhaduri가
지적했듯이, 년 수는 근무하는 국가에 따라 크게 달라질 수 있습니다. “인도에서 1–2–3년. 미국에서 10-20년” “그의 의견이 유일하게 관련이 있는 고용 관리자의 눈에는 이전이 아닌 '선임 소프트웨어 개발자'라는 직함을 가진 일자리를 얻었을 때입니다. 상업용 소프트웨어를 배송하는 데 10년을 보낼 수 있지만 아무도 신경쓰지 않을 것입니다. 필요한 것은 바로 그 제목입니다. 나는 경력이 매우 느리게 성장하는 고용주(MS)를 떠나 NoA에서 고위직을 맡음으로써 타이틀을 얻었습니다. 내가 그 직업을 어떻게 얻었지? 면접관을 날려 버렸습니다. 내가 어떻게 했지? 글쎄요, 10년의 경험은 나쁘지 않았습니다.”라고 Nintendo의 전 수석 소프트웨어 엔지니어인 Tim Cowley가 이 문제에 대한 경험을 공유했습니다.
시니어 Java 개발자가 되는 방법을 더 빨리 알 수 있습니까? 팁 및 권장 사항
시니어가 되기까지 걸리는 연수는 매우 다양할 수 있으므로 시니어가 되기 위해 가능한 모든 조치를 취할 수 있습니다. 다음은 시니어 레벨에 가능한 한 빨리 도달하는 방법에 대한 숙련된 소프트웨어 개발자의 몇 가지 팁과 권장 사항입니다.
1. 강력한 프로그래밍 관련 지식 기반을 구축합니다.
매우 자주, 기본 프로그래밍 관련 주제에 대한 강력한 지식을 가지고 있으면 경력을 쌓는 데 많은 도움이 됩니다. 이러한 과목에는
컴퓨팅 사고력 ,
수학 및 부울 대수학 ,
데이터 구조 ,
알고리즘 ,
디자인 패턴 , 프로그래밍 패러다임 등이 포함됩니다. 물론 모든 것을 배울 필요는 없지만 이론적 기초가 강할수록 나중에 빠른 경력 발전을 달성하기가 더 쉬워집니다.
2. 프로그래밍 언어를 진정으로 마스터하기 위해 충분한 시간과 노력을 기울이십시오.
그런 다음 물론 프로그래밍 언어(이 경우에는 Java) 및 이와 함께 제공되는 기술 스택을 실제로 마스터하기 위해 충분한 노력을 기울여야 합니다.
교과서 , 온라인 학습 과정 또는
YouTube 자습서와 같이 Java 이론을 배우는 방법에는 여러 가지가 있습니다 . 충분한
실제 경험을 얻고 언어를 적용하는 방법에 대한 이해를 얻는 것은 또 다른 단계입니다. 프로그래밍 분야에서 평생 학습을 중단해서는 안 되지만, 초보자가 언어의 기본을 완전히 마스터하는 것이 지식이 얼마나 빨리 향상될 것인지에 대한 중요한 요소인 것처럼 보입니다.
3. 가장 인기 있는 자바 프레임워크를 잘 배운다.
다음 단계는 가장 널리 사용되는 Java 프레임워크(많을수록 좋음)와 이를 사용하는 방법을 배우는 것입니다. Spring 및 Hibernate로 시작하십시오. 이러한 프레임워크는 Java 개발자 위치에 대한 설명에서 가장 자주 언급됩니다.
4. IDE를 선택하고 마스터하십시오.
숙련된 Java 개발자의 또 다른 좋은 조언은 원하는 IDE 사용에 익숙해지라는 것입니다. IntelliJ IDEA 및 Eclipse는 Java 개발자에게 가장 인기 있는 IDE입니다. 그런데 모르는 경우를 대비해 CodeGym에는 IntelliJ IDEA용 특수 플러그인이 있어 CG에서 Java의 기본 사항을 계속 학습할 때 이 IDE에 익숙해질 수 있습니다.
5. 버전 제어 시스템 사용법을 배웁니다.
가장 많이 사용되는 버전 제어 시스템을 사용하는 GitHub는 Java 개발자로서 작업의 또 다른 일상적인 구성 요소이므로 이러한 도구에 대한 모든 세부 정보를 탐색하고 배우는 것이 좋습니다.
6. 코드를 개선하기 위해 끊임없이 노력하십시오.
다른 사람의 코드를 읽거나, 코드 리뷰를 사용하거나, 해당 주제에 관한 책을 읽는 등 코드의 품질을 개선할 수 있는 여러 가지 방법과 접근 방식이 있습니다. 가장 인기 있는 것 중 하나는 Robert C. Martin의
Clean Code: A Handbook of Agile Software Craftsmanship 입니다 .
7. 소프트웨어 아키텍처에 대해 알아보십시오.
소프트웨어 아키텍처 에 대해 배우는 것은 Java 개발과 관련된 언어 및 주요 기술 스택에 이미 자신감을 갖고 있는 사람들을 위한 또 다른 일반적인 조언입니다.
8. 매일 코드를 작성하십시오.
물론 Java 개발자로서 업무에서 배운 새로운 지식과 기술을 자신 있게 적용하려면 매일 또는 가능한 한 자주 Java 코드를 작성하여 가능한 한 많이 연습해야 합니다.