개발은 절대 혼자서 진행할 수 없다. 어느 기업이든지 팀 단위로 프로젝트를 진행하기 때문에 커뮤니케이션 역량이 굉장히 중요하다!
그리고 함께 업무를 진행하는 모든 동료들은 개발 역량이 매우 상이하다(비개발자 분들과도 업무를 함께 진행하는 경우가 많다). 이때 상대방을 잘 이해시킬 수 있는 능력 또한 개발자가 갖추어야 하는 필수 역량 이다!
<aside> 🔔 1. 페어와 함께 진행하기 전, 스스로 개념 정리를 하는 시간을 가져본다. 2. 페어 프로그래밍이 시작되는 일정에 맞춰, 페어에게 DM으로 연락을 하고 한 명이 만든 줌/구글밋 링크로 접속을 한다. 3. 전체적인 방향성을 제시하는 "네비게이터"와, 네비게이터가 제시한 방향성에 따라 화면 공유를 하며 코드를 작성하는 "드라이버"로 역할을 나눈다. (한 문제, 또는 정해진 시간 단위로 역할을 바꿔가며 과제 진행을 하게 된다.) 4. 만약 페어와 충분히 찾아보고 상의했는데도 해결책을 찾기 어렵다면, 아고라 스테이츠에 질문을 남긴다.
</aside>
코드스테이츠의 페어 프로그래밍은 주로 두 명이 하나의 팀을 이뤄, 한 명은 전체적인 방향성을 제시하고 다른 한 명은 화면 공유를 하며 직접 코드를 치게 된다. (만약 세 명이 한 팀이 된다면, 두 명이 방향성을 제시하고 나머지 한 명이 코드를 치게 된다)
네비게이터
: 문제를 해결하기 위한 전체적인 방향성을 제시하는
역할 (숲을 보는 역할)
드라이버에게 작성해야 할 코드를 바로 알려주기
보다, 질문을 계속 던지면서 드라이버 스스로 해답
을 찾을 수 있도록 돕는다.
드라이버가 적는 코드 중 실수(오타, syntax 에러
등)가 있다면 바로 피드백을 준다.
드라이버
: 네비게이터가 제안하는 방향성에 따라 구체적인 문 제해결 방법을 생각해보고 코드 작성을 한다. 이때, 자신이 작성하는 코드를 네비게이터에게 설 명할 수 있어야 한다. (나무를 보는 역할)
네비게이터의 의견에 동의하지 않더라도 자신의 의
견이 숨기거나 강하게 내세우기 보다는, 좋은 커뮤
니케이션을 통해 합의점을 찾을 수 있도록 네비게
이터와 충분한 소통을 한다.