[개발서적] 개발자를 넘어 기술 리더로 가는길 내용 정리
1장
- 스태프 엔지니어의 역할은 정의되어 있지 않다. 그렇기에 어떤 역할을 맡을지, 이 역할이 어떤 의미가 있는지 알아내고 결정하는 것은 스스로에게 달렸다.
- 스태프 엔지니어는 매니저는 아니지만, 리더 역할을 한다.
- 스태프 엔지니어는 탄탄한 기술 판단력과 경험이 필요한 역할이다.
- 스태프 엔지니어라면 본인이 발휘할 영향력의 범위와 같은 업무 분야를 명확하게 해야 한다.
- 시간은 한정되어 있다. 중요한 일, 시간을 낭비하지 않는 주요 초점을 잘 선택하자.
- 경영진과 함께하라. 일이 무엇인지 논의하고 이에 대한 매니저의 생각은 어떤지, 무엇이 가치있고 유익한지에 대해서 함께 이해하라. 그리고 본인이 정한 명백한 기대치를 모두에게 보여라. 모든 기업에 모든 형태의 스태프 엔지니어가 필요한 것은 아니다.
- 가끔 이상한 일을 맡을 때도 있겠지만, 그 어떤 일이라도 기업에 필요한 일이라면 해야 한다.
2장
- 의식적으로 빅 픽처 관점에서 보고, 무슨 일이 일어나는지 파악하는 스킬 역량을 키워라.
- 맥락 차원에서 업무를 이해하자. 사용자가 누구인지 알고, 동료와 이야기해보고, 그룹 외부의 성공 수치를 이해하며, 무엇이 중요한지 명확하게 하자.
- 조직이 어떻게 돌아가는지, 조직내에서 어떤 식으로 의사결정이 이루어지는지 파악하라.
- 필요한 정보가 여러분에게 도달할 수 있도록 길을 만들거나 경로를 파악하라.
- 모든 사람이 달성하고자 하는 목표를 명확히 하라.
- 업무와 여정이 무엇인지 생각하라.
3장
- 기술 비전은 미래의 상태를 설명하고, 기술 전략은 그 상태를 달성하기 위한 행동 계획을 설명한다.
- 이와 같은 문서는 일반적으로 그룹이 함께 수행하는 작업이다. 이를 만드는 핵심 그룹은 일반적으로 작은 규모지만, 더 넓은 그룹으로부터 정보, 의견 및 일발적인 지지를 얻어야 한다.
- 문서를 실제로 만드는 방법을 미리 계획해야 한다. 이는 일반적으로 임원을 후원자로 두는 것을 의미한다.
- 문서 유형과 작업 범위에 대해서 신중하게 합의해야 한다.
- 문서 작성에는 다른 사람들과 대화하고, 아이디어를 다듬고, 결정을 내리고, 글을 쓰고 수정하는 프로세스를 여러 번 반복하는 것이 포함된다. 꽤 많은 시간이 걸릴 것이다.
- 여러분의 비전이나 전략은 말로 잘 풀어내는 만큼 더 좋아진다.
4장
- 스태프 플러스 수준에 도달하면 스스로 본인의 업무를 선택해야 할 책임이 커진다(완전히 자율적으로 선택하는 것은 아닐 수도 있다). 이 책임은 주어진 프로젝트에 참여하는 범위와 기간을 결정하는 것까지 포함되어 있다. 기업의 모든 업무를 다 할 수는 없으므로, 해야 할 일을 신중하게 선택해야 한다.
- 기업의 목표를 앞당길 뿐만 아니라 본인의 삶과 경력에 맞는 일을 선택할 책임이 있다.
- 또한, 당연히 본인의 컨디션 관리는 스스로 해야한다.
- 특정 프로젝트는 다른 프로젝트보다 삶을 더 행복하고 윤택하게 만들어준다.
- 보유한 사회 자본과 동료로부터 얻는 신뢰성은 여러분이 쌓고 지출할 수 있는 '은행 계좌'와도 같다. 이 사회 자본과 신뢰성은 다른 사람들에게 빌려줄 수도 있지만, 적어도 누구에게 빌려줄 것인지는 신중하게 고려하고 결정하라.
- 스킬 역량은 프로젝트를 수행할 때 의도적으로 학습하면서 쌓을 수 있다. 다만 그 스킬이 진정으로 쌓고 싶은 스킬인지는 확실히 하자.
- 프로젝트를 시작하거나 진행할 때, 여러분보다 더 적합한 담당자가 있다면 그들에게 이 프로젝트를 넘겨서 그들이 설정할 수 있도록 기회를 제공해주자. 여러분은 사회 자본을 확보할 수 있다.
- 업무에 집중하는 것은 불필요한 것들을 적절하게 거절할 줄 아는 것까지도 포함한다. 올바르게 거절하는 법을 배우자
5장
- 스태프 엔지니어들은 다루기 어려운 문제를 맡아서 다루기 쉽게 만들 수 있다.
- 규모가 큰 프로젝트에 압도당하는 느낌이 드는 것은 정상이다. 그런 프로젝트는 어려운 프로젝트이고, 그래서 여러분과 같은 사람이 필요하다.
- 프로젝트의 모호함을 줄이고 맥락을 쉽게 공유할 수 있는 구조를 만들어라.
- 프로젝트의 성공이 무엇인지, 그리고 이를 어떻게 평가할 것인지를 명확히 하라.
- 프로젝트를 주도한다는 것은 돌아가는 사정을 지켜보는 것이 아니라 의도적으로 주도하는 것을 의미한다.
- 관계를 구축하고 의도적으로 신뢰를 쌓음으로써 업무를 더욱더 편안하게 수행하도록 하자.
- 모든 것을 문서화하자. 문서는 분명하게 쓰고 의견을 담아야 한다. 잘못된 것을 고치고 모호한 것은 주변으로 쳐내야 한다.
- 항상 절충점은 있다. 의사결정을 내릴 때는 무엇을 위해 최적화하고 있는지 명확하게 하자.
- 마음속에 생각해둔 이해관계자들과 의사소통을 자주 시도하자.
- 언제든지 문제가 발생할 수 있다고 생각하자. 급작스러운 방향의 변화나 구성원의 퇴사, 그리고 이용할 수 없는 의존성이 있다고 늘 가정해두고, 이를 바탕으로 해서 계획을 세우자.
6장
- 프로젝트의 리더로서 프로젝트가 왜 중단되었는지 명확하게 이해하고 다시 시작해야 한다.
- 조직의 리더로서 다른 사람들의 프로젝트를 시작할 수 있도록 도와야 한다.
- 프로젝트가 중단되었다면 필요한 일을 설명하거나, 다른 사람이 수행해야 하는 업무를 줄이거나, 조직 차원의 지원을 명확히 하거나, 단계를 높이거나, 대체 계획을 수립하여 이를 해결할 수 있다.
- 목적지를 정의하고, 수행해야 하는 역할에 동의하며, 필요할 때 도움을 요청함으로써 표류 중인 프로젝트를 명확하게 파악할 수 있다.
- 프로젝트가 확실하게 완료되지 않는 이상 섣불리 승리를 선언하지 말자. 코드를 다 작성한 것은 단지 마일스톤 하나를 지나친 것에 불과하다.
- 때로는 준비가 됐든 안 됐든 간에, 프로젝트의 마감을 맞이하게 될 수도 있다. 그럴 때는 추가하고 회고하면서 잘 마무리 하자.
7장
- 말과 행동에는 더 무게감이 실릴 것이다. 신중해지자.
- 시간을 투자하여 지식과 전문성을 쌓자. 능력은 경험에서 나온다.
- 알고 있는 것과 모르는 것에 관해서 확실하게 자각하라.
- 일관성 있고, 신뢰할 수 있는 사람이 되어라. 또한, 다른 사람들을 신뢰할 수 있도록 노력하라.
- 위기에 처했거나 모호한 프로젝트를 담당할 사람이 아무도 없을 때는 책임을 떠맡아라.
- 누군가가 무언가를 말해야 할 때는 여러분이 그 누군가가 되어라.
- 차분함을 유지하자. 문제를 더 크게 만들지 말고 작게 분해하자.
- 사업, 예산, 사용자 요구사항 및 팀의 역량을 파악하자.
- 미리 계획을 세우고 도구를 최신으로 유지해서 미래의 여러분을 도와라.
- '분명'한 점도 적어두어라.
- 실패를 예상하고 대비하라.
- 해제하기 쉬운 소프트웨어를 설계하라.
- 성공의 척도는 다른 사람들이 당신과 함께 일하기를 원하는지 여부다.
8장
- 조언, 교육, 가드레일 및 기회를 동료들에게 제공함으로써 그들을 도울 수 있다. 구체적인 상황에 가장 도움이 되는 것은 무엇인지 확실하게 이해하자.
- 일대일로 개개인에게 도움을 주고 싶은지, 그룹을 한 단계 업그레이드하고 싶은지, 아니면 한층 더 영향을 주고 싶은지 생각해보자.
- 경험과 조언을 제공하되, 그것을 과연 다른 사람들이 환영할 것인지는 반드시 확인하라. 글로 쓰는 것과 강연은 메시지를 더 멀리 전파할 수 있다.
- 페어링, 섀도잉, 리뷰 및 코칭을 통해 다른 사람들을 교육할 수 있다. 수업 형태로 교육을 진행하거나 코드랩을 작성하면 그 가르침을 더 확장할 수 있다.
- 가드레일은 사람들이 자율적으로 일할 수 있도록 돕는다. 리뷰를 제안하거나 동료들을 위해서 가드레일이 되자. 프로세스와 자동화 그리고 기업 문화 변화를 통해서 가드레일을 체계적으로 정리하라.
- 기회는 조언보다 훨씬 더 가치가 있을 수도 있다. 누구에게 후원하고 위임하고 있는지 생각해 보아라. 또한, 팀에서 스포트라이트를 받을 수 있는 기회를 공유하라.
- 일을 위임할 계획을 세워라.
9장
- 경력 사다리 설정과 앞으로서의 선택에 대한 책임이 있다. 무엇에 집중할 것인지에 대한 수많은 선택지가 여러분 앞에 있다. 어떤 점을 중요하게 여길지 충분히 고민하고 신중하게 선택하라.
- 스킬 역량, 가시성, 관계 및 경험을 통해서 기회에 대한 접근성을 높일 수 있다.
- 시간을 투자할 가치가 있다면 모든 것을 배울 수 있다.
- 가끔 스스로를 확인하고 현재 역할이 여전히 필요한 것을 주는지 확인하라. 좋은 점과 안 좋은 점을 모두 살펴보아라.
- 한 명의 고용주와 오랫동안 함께 일해야 하는 훌륭한 이유들이 있다. 반대로 이직해야 하는 훌륭한 이유들도 있다. 어느 쪽이든 경로에 대한 몇 가지 선택지가 있다.
- 소프트웨어는 지구상의 거의 모든 사람의 삶과 생계에 막대한 영향을 미친다. 그 책임을 진지하게 받아들이자.