개요
네이버 도서 정보: https://bit.ly/3JzLvQr
개발자는 관리자로만 커리어를 쌓아야 하는가?
관리자가 아닌 기술 리더로 성장하는 길은 없을까?
IT 업계가 계속 성장하면서 전에 없던 팀과 조직의 경계를 넘어서는 큰 문제를 다루게 되었다. 그러면서 많은 기업에서 기술적 전략을 주도하고, 경계를 넘어 프로젝트를 리드할 수 있는 관리자가 아닌 ‘경험 있는’ 엔지니어가 필요하다는 점을 자각하고 있다. 이러한 엔지니어는 어떻게 탄생하며, 이들의 역할과 업무는 무엇일까? 아직 여러 기업이 공유하는 보편적인 경력 개발 방법이 없거나, 그 직함이 일관적이지 않고 매우 다양하게 존재한다.
이 책은 이런 엔지니어를 ‘스태프 엔지니어’라는 직함으로 설명하고 있다. 모호한 스태프 엔지니어의 역할과 유형을 정리했으며 엔지니어링 전략 작성하기, 기술 품질 관리하기 등 스태프 엔지니어로서 해야 할 일들도 소개한다. 또한, 스태프 엔지니어가 될 수 있는 현실적인 주제인 스태프 프로젝트 수행하기나 조직에서 자신을 드러내는 법, 이직하기 등도 설명한다. 마지막으로 우버, 매일침프 등의 현업 스태프 엔지니어 14명에게 듣는 생생한 경험과 노하우까지 살펴볼 수 있다.
스태프 엔지니어 유형
기술리드
특정 팀의 방법과 실행을 가이드 한다. 단일 매니저와 밀접하게 협업하지만, 필요할 경우 둘 또는 세 명의 매니저와 협업 하기도 한다. 일부 기업에서는 기술 리드와 유사한 기술 리드 매니저라는 역할도 있다. 이 역할은 엔지니어링 관리자 진로에 해당하며 사람 관리에 대한 책임도 겸한다.
아키텍트
중요한 영역에서 엔지니어링의 방향과 품질, 접근법의 정의를 책임진다. 이 과정에서 기술 제한, 사용자 요구, 조직의 리더십에 대한 상세한 지식을 활용한다.
해결사
여러 복잡한 문제를 파고들어 적절한 해결책을 찾아낸다. 일부는 오랫동안 특정 분야에만 집중하지만 조직 리더십의 지시에 따라 여러 분야를 넘나 들기도 한다.
오른팔
임원의 주의를 넓히고 임원의 역할과 권한을 위임받아 특히 더 복잡한 조직을 운영한다. 대규모 조직에서는 리더의 리더십이 미치는 범위를 넓혀준다.
스태프 엔지니어의 실제 업무
- 기술적 방향의 설정과 수정
- 멘토십과 스폰서십
- 의사 결정에 엔지니어링 관점의 제공
- 새로운 해결책 모색
- 접착제 역할 하기 → 눈에 띄지 않더라도 팀이 계속해서 발전하고 완료한 작업을 내보내는데 필요한 작업을 하는 것
직책이 중요한가?
- 비공식적으로 실력을 검증하는 절차를 우회할 수 있다. → 신뢰를 위한 에너지를 소비할 필요가 없다.
- 스태프 엔지니어링 회의에 들어갈 자격을 얻는다.
- 현재의 직장 생활과 경력에 대한 보상이 증가한다.
스태프 엔지니어로 활동하기
중요한 일에 집중하자
- 쉬운 일을 주워 먹지 말자
- 자기 과시하지 말자
- 과거 경험에 너무 의존하지 말자
- 실제로 문제가 되는 부분에 참여 하자
- 자리가 있으면서 관심도 받는 업무를 추진하자
- 주변 팀이 성장하도록 도와주자
- 프로젝트 방향이 엇나가지 않도록 수정하자
- 프로젝트 마무리할 수 있는 수준으로 조정해주고 올바른 방향으로 전환해주자
- 나만 할 수 있는 일을 하자
엔지니어링 전략을 기록하자
<설계문서를 작성하자>
- 언제 작성하나?
- 나중에 진행할 여러 프로젝트가 공통적으로 사용할 기능인 경우
- 사용자에게 의미 있는 영향을 주게될 프로젝트 인 경우
- 기간이 할 이상이 걸리는 일인 경우
- 어떻게 작성하나?
- 문제를 확실하게 제시
- 간결한 템플릿 사용
- 작성은 혼자 리뷰는 함께
- 완벽주의를 버리자
<전략 문서 작성에 대해..>
- 현재 가진 것 부터 시작
- 구체적인 사항을 기술
- 주장을 분명히 해야 함
- 작업물을 보여줘야 함.
<비전 수립>
- 향후 2-3년을 위한 내용을 작성
- 비즈니스와 사용자를 토대로
- 거만한 태도보다는 낙관적인 태도를 갖자
- 구체적이고 명확하게 작성하자
- 한두 페이지로 정리하자
기술 품질의 관리
<문제점>
- 즉각적인 문제를 유발하는 바로 그 지점을 수정한다.
- 품질을 개선하는 것으로 알려진 권장 사례를 도입한다.
- 소프트웨어의 변화에 따라 품질을 유지할 수 있는 지렛점에 우선순위를 둔다.
- 조직에서 소프트웨어를 변경하는 방법에 대한 기술적 요소를 조정한다.
- 기술 품질을 측정해서 품질 향상에 대한 더욱 많은 투자를 종용한다.
- 품질 개선을 위한 시스템과 도구를 구현한 기술 품질 팀을 꾸린다.
- 품질 프로그램을 실행해서 품질 수준을 측정 및 추적하고 낮은 품질 수준이 발견되면 이를 개선한다.
<계단 오르기>
- 빠르게 적용할 수 있는 것부터 먼저 시작하자! (어려운 것을 도입했다 실패하는 것보다 쉬운 것을 도입했다 실패하는 것에서 더 빨리 배울 수 있다.)
<작게 시작하고 천천히 추가하자>
- 작은 것 부터 시작하고 정상 궤도에 올라설 때까지 반복
- 그런 다음 다른 기법을 추가하고 또 다시 반복
지휘권 가진 사람과 긴밀하게
리드하려면 따라야 한다
- 우선순위가 높은 것이 무엇인지 스스로 명확히 이해하고 주변에서 일어나는 일 때문에 흔들리지 말자
- 뭔가를 개선하기 위해 일하는 다른 리더를 신속하게 지원하자
- 일을 방해하지 않도록 피드백하자. (강요가 아닌 제안 .. ‘원한다면 받아들일 수 있는’ 것으로 주석 표시)
절대 틀리지 않는 방법을 배우자
- 경청하고 명확히 하며 주변의 분위기를 읽자
- ‘머저리들’ - 그룹 내에서 동의를 거부한 사람, 타협할 의사가 없는 사람, 다른 사람 말을 듣지 않는 사람 등등..
- 머저리들이 힘을 쓰지 못할 사람을 회의에 참여 시킨다
- 회의를 시작하기 전에 머저리들이 자신의 의견도 받아들여지고 있다고 느끼면서 토론에 집중할 수 있도록 교감하는 방법을 찾아본다.
타인을 위한 공간의 창출
내가 아닌 다른 사람을 발전시킬 수 있는 스폰서십을 할 수 있어야 한다
동료와 네트워크 구축
내부 뿐 아니라 외부 네트워크도 가지고 있어야 한다.
임원을 대상으로 하는 프레젠테이션
<효울적인 의사소통 방법>
첫 문단에서 SCQA 형식을 따르자
- 현 상황: 관련된 문잭이 무엇인가
- 문제점: 현 상황이 왜 문제가 되는가?
- 의문점: 문제를 해결하기 위한 핵심 의문 사항은 무엇인가?
- 해결법: 이 의문점에 대한 최선의 해결책은 무엇인가?
<피해야할 실수>
- 피드백에 발끈하지 말자
- 문제나 책임을 회피하지 말자
- 해결책이 없이 문제를 제시하지 말자
- 학술적인 프로젠테이션은 하지 말자
- 본인이 선호하는 결과를 고집하지 말자
개인 의견
회사에서 스태프 트랙을 가져가려고 하고 있고, 모든 개발자가 팀장(매니저) 직책을 갖을 수는 없기 때문에.. 개발자로서 앞으로 Next 레벨을 생각해볼 필요가 있음.
스태프엔지니어는 종류가 어떻게 되는지 그리고 어떤 역할을 하는지에 대해서 알고 앞으로 미래를 그림을 그려보면 좋을 것 같습니다.
또, 정리는 하지 않았지만 앞으로 미래를 그려볼 때 4장 5장 책은 많은 도움이 되는 부분 중 하나가 될 수 있습니다.
- 4장 이직 결정하기
- 5장 인터뷰 → 실제로 해외 기업에서 스태프 엔지니어로 일하시는 분들에 인터뷰 내용이 담겨 있습니다. 실제 스태프 엔지니어가 기술리드/아키텍트/해결사/오른팔 의 역할을 어떻게 수행하고 있는지를 알 수 있습니다.