팀에 작년 한해 많은 일이 있었고, 동료들이 번아웃되는 모습을 많이 보았다.
그래서 요새 culture / leadership 위주로 많이 찾아보고 있다.
### Reference Links
* 10 tips to become an awesome Technical Lead by Bart Blommaerts
### Technical Leadership
* 배경
* Senior의 입장에서 2가지 길 중 하나는 선택을 해야 한다.
* 조직을 잘 관리하는 매니저가 되거나
* 기술적으로 리딩을 할 수 있는 Tech 리더가 되거나
* 조직을 잘 관리하는 부분에 있어서는 내가 뛰어나게 잘 할 수 있을 것 같지는 않다.
* 기술에 좀 더 집중하고 기술적으로 적어도 한 분야에 전문가가 되고 싶다.
* 내가 더 성장하기 위해서는 (생존하기 위해서는) 주변 동료들에게 기술적으로 긍정적인 영향을 줄 수 있어야 한다.
* Talent Density 에 집중해야 한다.
* 정의
* 팀이 앞으로 나아갈 수 있게 하는 책임감
* 기술적인 경험과 커뮤니케이션
* 4가지 역할
* Technical Guide
* 기술적인 방향과 비전 제시 / 책임
* Risks & Requirements
* 위험에 대한 사전 분석과 대안 제시
* Coaching
* 쥬니어에 대한 코칭
* Communication
* 사업과 서비스 <=> 개발자 기술적 경험과 배경을 바탕으로 소통할 수 있게
* 10가지 원칙 (기술 6원칙 + 리더십 4원칙)
* Advocate for Change (변화의 지지자)
* OODA loop
* Work through Failure and Success
* 실패는 언제나 발생한다
* 실패에 대해 준비하라
* **비난하지 말아라**
* 책임감을 가져라
* 실패로부터 배워라
* 성공을 축하하라
* Stay Technical
* Write Code
* Review Code
* Technical Vision을 제시하라
* 코드의 진화를 이끌어라
* Always Available
* 내가 항상 팀에서 원할 때 도움을 주어야 한다
* 시간 관리
* 기술 디자인
* 사업에 대한 이해
* Project 관리
* 코딩
* Be realistic
* 모든 질문에 즉답할 필요는 없다. 할 수도 없고
* 같이 고민하여 해결하거나, 비슷한 어려움을 겪는 사람과 연결해주거나
* Be a Mentor for your team
* Mediator
* 항상 동의하지 않고 다른 생각을 가진 팀이 건강한 팀이다.
* 모든 사람이 토론에 참여하고 논쟁할 수 있게 도와라. 더 나은 결과를 위해서
* Mentor
* 새로 파트에 프로젝트에 누가 조인하면 모든 코드를 리뷰해주고
* 문제 등을 더 잘 파악하고 해결할 수 있도록 도와주어라
* Effective Delegation
* 모든걸 혼자할 필요는 없다.
* 각각의 사람들이 잘할 수 있고 전문적으로 할 수 있는 부분을 연결시켜주면 된다.
* Match goals
* 각각의 개인은 개인의 목표가 있다.
* 각각의 사람들이 중요하게 생각하는 부분을 팀에서 잘 빛나게 할 수 있도록 소통하고 맞추어라
* Optimise for the group
* 각각의 사람들이 만족감을 가질 수 있도록 잘 도와주고 시간을 쏟아야 하지만
* 팀과 그룹이 잘 짜여서 움직일 수 있게 도와라
* 꼭 숙지하라
* know when to give input
* know when to make decisions
* know when to step back
* Surround yourself with other Tech Leads
* 사람 관점
* 교류를 통하여 다른 주변 사람들에서 배울 점을 보고 배워라
* 상황은 그때그때 다르다. 맹목적으로 따라하지 말고 잘 경청하고 배워라
* 조직 관점
* Objectives
* 사업적이나 기술적으로의 큰 목표를 배우고
* Architecture
* 도움이 될 수 있는 아키텍쳐들을 배우고 교류하고
* Interoperability
* 상호 교류할 수 있어야
* Dependencies
* 내가 모르는 분야에 대해 더 잘 할 수 있는 팀이 있다면
* 난 혼자가 아니다
* 누군가 문제에 직면하여 힘들어하면, 같이 고민하고 해결해주어야 한다
* Interviewing potential new team members
* 회사와 팀과 잘 맞는 사람을 뽑아야 한다.
* 내 목표에 맞는 기준으로
* 면접을 준비하라
* 어떤 사람을 뽑는 건가?
* 이력서의 유용성
* 기술에만 집중하지 말고 마인드셋에 대한 검증도
* 배움에 대한 열정
* 고려할 것
* 먼저 편안하게 해주어야 하고
* 힌트나 옵션을 주어라
* 대답에 대해 더 깊은 질문을 끌어내야 한다
* Embrace Cultural differences (서로 다름을 받아들여라)
* 기본
* 모든 사람은 다르다
* 다양성은 매우 중요하다
* 의견과 토론은 중요하다
* 도출된 목표를 공유하라
* 고려
* 시간이 다를 수 있고
* 어떻게 소통할지
* 같이 일 할 수 있는 준비
* 모든 사람은 팀의 일원이다.
* Estimating is hard
* 호프스태터의 법칙
* 내가 예측한 시간보다 항상 오래 걸린다.
* Planning poker (서로의 예측을 합의하라)
* Define a sequence
* Set a baseline
* Allow reasoning
* **Uncertainty is normal**
* 모든 예측은 예측하지 않는 것 보다 낫다. 큰 그림을 생각하고 예측을 공유하고 리뷰하라
* Interfacing with the outside world
* 개발자가 아닌 사람과 소통하라
* 여러 다양한 사람과 만나라
* No라고 말할 수 있어야 한다
* 항상 전체 팀을 생각하고 결정할 수 있어야
* Facilitate (agile) team work
* agile
* 백로그
* 우선순위
* 스프린트 계획
* Burn down chart
* 회고
* ownership을 주고 믿어라
* 목표
* 팀에 대한 안정감 / 만족감 / 자신감을 느낄 수 있도록
* 기술적인 방향 제시 / 책임
* 리스크 사전 분석 및 해결
* 코칭
* 사업 / 서비스와 기술적인 커뮤니케이션 및 구체화
* 계획
* 대외적 기술 발표 1회 이상
* 외부 기술 공유 1회 이상
* 주기적 피드백 주기
* 긍정적
* 개선점
* 방법은 조금 더 고민 필요
* 해당 내용에 대해 주변으로부터 주기적으로 피드백 받기
* 방법은 조금 더 고민 필요
* 다른 Tech Lead와의 교류
* 방법은 조금 더 고민 필요
* Cloud Expert 목표 달성
* 글로벌 아키텍처 목표 달성