https://news.hada.io/topic?id=20214&utm_source=slack&utm_medium=bot&utm_campaign=TAX82AY79
- Staff Engineer는 언제 필요하며, Engineering Manager와 어떤 차이가 있는가?
- 많은 엔지니어와 매니저들이 두 역할에 혼란을 겪고 있음
- 사람 관리를 피하고 기술에 집중하고 싶은 EM, 기술 리더십을 맡고 싶은 Senior Engineer 등이 고민 중
- 각 역할의 책임과 범위를 명확히 이해하는 것이 중요함
내가 받았던 질문들
- EM: "사람 관리 대신 기술에 집중하고 싶습니다. Staff Engineer가 저에게 적합할까요?"
- Senior EM: "관리 업무가 너무 많습니다. Staff Engineer를 고용해 기술 작업을 맡길까요?"
- Staff Engineer: "실질적으로 팀 매니저 역할을 하고 있는데 마음에 듭니다. EM으로 전환할까요?"
- Senior Engineer: "Staff Engineer의 책임은 무엇인가요? 마치 은퇴한 개발자처럼 보입니다."
- New Staff Engineer: "‘점선 보고 체계’란 무엇인가요? 제 라인 매니저가 있는데 다른 매니저에게 신경 써야 하나요?"
Staff Engineer는 언제 필요할까?
- 엔지니어들은 기술을 만들고 유지하지만, 기술은 혼자 존재하는게 아님
- 문제에 대한 솔루션이고, 문제는 제품으로 정의됨
- 제품은 최종 사용자 또는 내부 고객에게 서비스를 제공함
- 제품은 사용자의 문제를 해결하는 수단임, 예를 들어:
- 달리기 거리를 측정하고 다른 사용자와 공유하는 앱
- 호텔 예약 웹사이트
- 다른 팀이 사용하는 인프라 플랫폼
- 근태 보고 시스템
- 이러한 제품을 개발하는 엔지니어들은 일반적으로 Engineering Manager(EM) 가 이끄는 팀에 소속되어 있음
- EM은 팀원(엔지니어)과 그들이 만들어내는 기술 산출물(artifacts) 에 대해 책임(accountability) 을 가짐
- 하지만 다음과 같은 경우, 모든 책임을 온전히 수행하기 어려움:
- 팀 규모가 매우 클 때
- 기술이 너무 복잡할 때
- 혹은 위 두 가지가 동시에 존재할 때
- 이 경우 EM의 시간과 에너지(대역폭) 가 부족해지며, 사람과 기술 모두에 대한 책임을 완벽하게 수행하기 어려워짐