<aside>
💡 훌륭한 시니어 개발자는 좋은 개발 문화를 추구합니다.
자신과 주니어 개발자의 성장을 위해 필수적인 요소이기 때문입니다.
개인의 성장을 통해 조직에 기여하도록 하는 것이 이상적인 개발 문화라고 생각합니다.
개발 문화에 모든 조직을 위한 하나의 정답은 없습니다.
이 문서는 좋은 개발 문화를 만들기 전 생각해 보기 위한 가이드입니다.
</aside>
<aside>
⚠️ 개발 문화가 과도하게 생산성을 낮추지 않도록 주의가 필요합니다.
좋은 개발 문화라는 핑계로 과도한 생산성 하락을 허용하는 경우는 매우 흔합니다.
개발자의 생산성과 좋은 개발 문화 사이의 트레이드 오프를 잘 계산할 필요가 있습니다.
</aside>
Principles
개발자가 갖춰야 할 자세
Contribution
- 개발자는 함께 “제품"을 만드는 사람입니다.
- 코드를 작성하는 것은 개발자가 해야할 일의 극히 일부라는 것을 인지합니다.
- 제품을 이해하고, 더 나은 제품을 만들기 위해 적극적으로 참여합니다.
Attitude
- 모든 것을 가능한 빠르고 숨김없이 공유합니다.
- 업무를 숨기면
- 누군가 바퀴를 다시 발명하게 될 수도 있습니다.
- 혹시 있을 더 나은 방법을 배울 기회를 놓칩니다.
- 장애를 숨기면
- 대응하기 위한 골든 타임을 놓칩니다.
- 혼자서 모든 부담을 짊어지게 됩니다.
- 의견을 숨기면
- 제품이 더 나은 방향으로 나아갈 가능성을 잃습니다.
- 다른 사람이 배움을 얻을 기회가 사라집니다.
- 모두가 심리적인 안정감을 가질 수 있도록 노력합니다.
- 스스로 겸손하고, 동료를 존중하며 신뢰하고 질책하지 않습니다.
- 비로소 솔직한 공유가 가능해집니다.
- 서로 비평하고 비평 받는 법을 익혀야 합니다.
- 서로 의견이 다를 때 감정적인 대응도, 회피도 좋은 방법이 아닙니다.
- 자존심을 내려놓고, 더 나은 방향을 찾기 위해 논쟁해야 합니다.
- 논쟁의 끝에는 승자도, 패자도 없습니다. 결정만이 남아야합니다.
- 계획이 변경되는 것을 두려워하지 않습니다.
- 더 좋은 제품을 위한 변경은 언제나 환영해야 합니다.
- 계획 변경에 따른 개발 범위 및 일정 조정에 적극 참여하세요.
Flexibility
- 언어, 도구, 방법론 등에 얽매이지 말고 최선의 선택을 위해 노력합니다.
- 두려워하지 않고 다양한 시도를 통해 더 나은 방법을 찾아갑니다.
- 상황에 따라서 최선의 선택은 최선이 아닐 수 있다는 점을 이해합니다.
Action Items
Share & Record