전통적으로 기술 산업에서 개발자는 자격 수준에 따라 Junior, Middle, Senior 및 Team Lead의 네 가지 등급으로 나뉩니다. 또는 코딩 인턴을 소프트웨어 개발 업계의 최하위 "병사"로 포함한다면 5개입니다. 이전 기사에서 우리는 이미 주니어 개발자가 되는 것이 어떤 것인지 다루었습니다. 그럼 지난번에 중단한 부분부터 시작하여 프로그래머의 경력 등급의 다음 단계인 중간 수준 개발자를 살펴보겠습니다.
중급 개발자는 누구입니까?
중급 개발자는 이미 이 직업에서 최소 2~4년을 보낸 비교적 경험이 풍부한 프로그래머입니다. 이 세월은 경험이 없고 불확실한 신입 코더를 자신의 코드를 작성할 수 있고 고위 팀원의 도움을 요청할 필요 없이 솔루션을 제시할 수 있는 강력한 완전 기능 프로그래머로 전환했어야 했습니다. 중간 수준 개발자는 일반적으로 거의 모든 소프트웨어 개발 "군대"의 중심 단위입니다. 중간 수준 코더는 거의 모든 프로젝트에서 프로그래밍 작업의 주요 부분을 수행하는 사람이기 때문입니다. 경험이 적은 Junior 개발자와 달리 Mid-level coder는 많은 도움이나 감독이 필요하지 않고 모든 것을 자율적으로 수행할 수 있으며 프로젝트에 사용된 코드 및 기술을 명확하게 이해하고 더 많은 책임을 집니다. 예를 들어, Junior의 주요 초점이 평범하고 단순하게 작동하는 코드를 작성하는 것이라면 Mid-level coder는 코드가 명확하게 이해 가능하고 품질 표준 및 프로젝트 요구 사항에 따라 작성되었는지 확인하는 것과 같은 사항에 대해서도 생각해야 합니다. 일반적으로 거의 모든 소프트웨어의 대부분의 코드 기반은 중급 프로그래머가 작성합니다. 물론 기술 산업의 직업과 전문 분야에 대해 이야기할 때 항상 그렇듯이 중급 코더(주니어 또는 시니어 개발자와 마찬가지로)는 근무하는 회사에 따라 상당히 다른 경험과 책임을 가질 수 있음을 언급할 가치가 있습니다. “외부에서 보면 3~5년의 경력이 당신을 중간 수준으로 만듭니다. 조직 내에서, 당신은 코딩에 대한 신뢰를 받고 있지만 중소 규모 프로젝트에 대한 클라이언트 상호 작용 및 소유권은 거의 또는 전혀 없습니다. 기본적으로 프로젝트 관리자와 고객을 상대할 필요 없이 코딩을 하기 때문에 시니어 레벨 개발자가 미드 레벨에 머무르는 것을 선호하는 경우를 본 적이 있습니다.”숙련된 소프트웨어 개발자이자 코딩 경력 컨설턴트인 Lewis Nakao는 말합니다 .중간 수준 개발자의 책임은 무엇입니까?
이제 중급 개발자의 가장 일반적이고 공통적인 책임에 대해 좀 더 자세히 이야기해 보겠습니다.- 코드 작성 및 유지 관리.
- 최상의 코딩 방법을 분석하고 프로젝트 코드에 구현합니다.
- 프로젝트의 기술적 요구 사항을 분석하고 이에 따라 코드를 조정합니다.
- 현재 프로젝트에서 개정할 영역을 식별하고 개발합니다.
- 소프트웨어 테스트 실행 및 구현.
- 소프트웨어 프로젝트에 대한 품질 보증 절차 개발.
- 사용자뿐만 아니라 디자이너, QA 테스터 및 기타 소프트웨어 개발 팀원의 요구 사항을 분석합니다.
- 품질 보증 절차 개발.
- 노력을 조정하고 다른 개발자, 설계자, 시스템 및 비즈니스 분석가 등과 협력합니다.
- 추가 작업 및 유지 관리를 위해 개발 프로세스의 모든 부분을 문서화합니다.
중급 개발자의 요구 사항
다음은 이 직업을 얻기 위해 충족해야 하는 중급 개발자에 대한 가장 일반적이고 일반적인 요구 사항 목록입니다. 물론 요구 사항은 회사 채용 정책, 프로젝트에 사용된 기술 및 개발자의 프로그래밍 언어에 따라 다릅니다. 당연히 중간 수준의 Java 개발자를 위한 일반적인 요구 사항에 초점을 맞출 것입니다.- Java 개발자로 최소 2~3년의 경력이 있고 여러 소프트웨어 프로젝트에서 작업한 경험이 있습니다.
- Java 응용 프로그램을 설계, 프로그래밍, 구현 및 유지 관리하는 방법에 대한 완전한 지식.
- 대규모 확장을 위한 대용량 및 짧은 대기 시간 시스템을 프로그래밍하는 방법을 알고 있습니다.
- 웹 프로젝트 구축용 프레임워크(Maven, Gradle), 엔터프라이즈 프로젝트용 프레임워크(Spring, Hibernate, Spring Boot), 단위 테스트용 도구(JUnit, Mockito) 등에 대한 확실한 지식
- 개발 수명 주기의 모든 단계에 기여할 수 있는 능력.
- 고품질의 효율적이고 쉽게 테스트할 수 있는 코드를 작성하는 능력.
- 소프트웨어 분석, 테스트 및 Java 코드 디버깅 수행에 익숙합니다.
- Java 및 Java EE 애플리케이션 개발 관리 경험이 있습니다.
- 대체 접근 방식을 제시하고 최신 기술을 구현할 수 있습니다.
- 기술 고객과 비기술 고객 모두와 명확하고 간결하게 커뮤니케이션할 수 있는 능력.
GO TO FULL VERSION