L5 Senior Software Engineer
주요 업무
- 클래스101의 다양한 서비스를 설계, 개발하고 운영합니다.
- Discovery: 클래스메이트가 온라인 클래스, 준비물, 전자책, 크리에이터, 커뮤니티 등 클래스101이 가진 모든 콘텐츠 중 원하는 것을 쉽게 발견할 수 있도록 분류, 추천 및 검색 경험을 개선합니다.
- Learning Experience: 다양한 환경에서 영상 콘텐츠를 실시간으로 스트리밍하고, 다른 클래스메이트들 혹은 크리에이터와 직접 소통하는 커뮤니티를 만들고, 수강률과 잔존율을 높이는 제품 실험을 진행하는 등 구매 이후의 경험을 책임집니다.
- Creator: 크리에이터가 자유롭게 콘텐츠를 만들고, 클래스메이트들과 소통하고, 수익을 극대화할 수 있도록 다양한 제품을 만듭니다.
- Commerce: 실물 및 비실물 상품의 단건 결제와 구독 결제, 주문 처리, 재고 관리와 배송, 정산과 세금 계산까지를 아우르는 온라인 마켓플레이스 플랫폼을 구축합니다.
- Core: 인증, 알림, 실험 등 클래스101 제품의 기반 기능들을 만들고 발전시켜 지속적이고 확장 가능한 성장을 할 수 있도록 돕습니다.
- B2B: 클래스101의 콘텐츠들을 기업 교육 및 복지에 사용할 수 있도록 학습 및 계약 관리 시스템을 구축합니다.
- 클래스101의 전체 제품 도메인을 이해하고, 확장 및 관리가 용이하도록 단계적으로 마이그레이션합니다.
자격 요건
다음은 클래스101에서 L5 Senior Software Engineer에게 기대하는 역량입니다. 우리는 신규 입사자가 1년 이내로 아래 기대치를 모두 충족하기를 기대합니다.
역량
- 기술
- 클래스101의 엔지니어링 모범 사례를 직접 정의합니다.
- 기존 코드베이스 혹은 신규 프로젝트에 새로운 패턴이나 규칙을 도입합니다.
- 일상적이지 않은 어려운 문제에 직면했을 때도 좋은 소프트웨어 설계 능력을 보여줍니다.
- 소프트웨어 설계 문서에 의미 있는 조언을 줄 수 있습니다.
- 업무 범위
- 큰 프로젝트의 계획 수립부터 출시까지의 모든 작업을 책임집니다.
- 관리자와는 최소한의 방향성만 협의하고, 스스로 모든 작업을 진행합니다.
- 도구 활용
- 팀에서 사용하는 모든 도구들을 잘 이해하고 있습니다.
- 팀에서 사용하는 도구들의 개선 방향을 제안하거나 직접 구현합니다.
- 급박한 상황에서도 도구들을 효과적으로 사용해서 빠르게 문제를 파악하고 해결할 수 있습니다.
결과
- 영향
- 결과물에 대한 높은 기준을 가지고, 팀의 분기 단위 목표들을 제시간에 달성합니다.
- 여러 개의 큰 프로젝트를 효과적으로 이끌어 팀의 로드맵 달성에 기여합니다.
- 의사 결정
- 적극적으로 이해관계자들의 의견을 수집하고, 문제의 핵심을 파악하고, 단기 및 장기적인 영향을 균형 있게 고려해서 가장 좋은 결정을 내립니다.
- 적시에 결정을 내리되, 고객의 신뢰를 저버릴 수 있는 지름길을 선택하지 않습니다.
- 자동화
- 테스트 케이스 작성의 모범 사례를 직접 정의합니다.
- 수동 작업을 하는 원인을 파악하고 핵심 문제를 수정해 재발하지 않도록 만듭니다.
참여
- 계획
- 맡은 프로젝트가 팀의 목표 달성에 기여하는지 판단할 수 있고, 필요한 경우 관리자와 논의해 더 적합한 프로젝트에 기여합니다.
- 스스로 시간을 효율적으로 관리하고, 중요한 일을 찾아 집중합니다.
- 주도적으로 사이클을 계획하고 작업을 분배합니다.
- 팀의 로드맵 계획에 새로운 아이디어 및 방향성을 제안합니다.
- 협업
- 팀의 협업 방식을 최적화하고 모범 사례를 정의합니다.
리더십
- 소통
- 프로젝트 관리의 모범 사례를 보여줍니다.
- 사이클을 계획할 때, 복잡한 문제에 대해 기술적인 조언을 주고 필요한 경우 적절한 해결책을 제시합니다.
- 관리자가 팀의 현재 상태에 대해서 명확하게 알 수 있도록 지속적으로 공유합니다.
- 주인 의식
- 대부분의 시스템에서 발생하는 운영 문제들을 직접 해결합니다.
- 다양한 시스템에서 발생하는 운영 문제들의 우선순위를 직접 구분하고 해결책을 제시할 수 있습니다.
- 주요 장애의 발생부터 해결까지 대응을 주도합니다.
- 팀이 시스템을 운영하는 방식을 최적화하고 모범 사례를 정의합니다.
- 성장
- 팀 전체의 기술적인 수준을 높이기 위해 지식을 공유하고 표준을 만드는 등 적극적으로 노력합니다.
- 팀원들의 기술, 강점, 배경 및 스타일을 고려해서 개선해야 할 부분을 파악하고 성장을 돕습니다.
- 팀원들의 작업에 적극적으로 조언하며 그들의 지식을 더욱 확장합니다.
- 적극적으로 더 경험 적은 엔지니어들을 가르칩니다.
- 잠재 후보자에게 팀의 기술적 과제를 설득력 있게 설명할 수 있습니다.
우대 사항
- 클래스101에서 사용하고 있는 기술에 익숙하시다면 빠른 적응에 도움이 됩니다.
- React, React Native, TypeScript, GraphQL, Apollo
- Node.js, Apollo Federation, MongoDB
- Java, Kotlin, Spring Boot, JPA, Aurora
- Kafka, Redis, Kubernetes
채용 절차
서류 심사 > 코딩 테스트 (온라인) > 코딩 인터뷰 (대면/1~2시간) > 컬쳐 인터뷰(1시간)
- '코딩 인터뷰'는 기본적으로 1시간 진행되나, 심도있는 인터뷰가 필요할 시 추가 진행될 수 있음을 사전 안내드립니다.