오늘은 오리엔테이션
서로에 대해 알아가는 시간과, 우리가 앞으로 무엇을 해야 할 지 알아가는 시간이었어요
물론 js 의 기본적인 문법을 배우긴 했다만
가장 기억에 남았던 건 아무래도
짝코딩, 즉 Pair Programming 이 아닐까 합니다
https://en.wikipedia.org/wiki/Pair_programming
* 이는 Agile 방법론, 흔히 '에자일' 이라고 알고 있는 것의 한 부분입니다
상용 서비스로 이용하기 위해선 그에 걸맞는 Scale 이 필요합니다
물론, 천재 한 명이 범재 수 백명을 먹여 살린다는 이야기처럼 세상은 빼어난 몇 명에 의해 주도되는 것은 사실입니다만
그 사람들이 그려놓은 청사진을 열심히 수행하는 것은 아무래도 노력을 한 범재들이겠지요
그 범재들끼리 그 스케일에 걸맞는 서비스를 만들어 내기 위해선
일개미처럼 일사분란한 협업 능력이 필요하지 않을까요
그 능력을 키우는 것이 이번의 페어 프로그래밍(소위 말하는, 짝코딩이었습니다)
Ice Breaking 차원에서, 바로 페어 프로래밍을 들어가지는 않았습니다
흔히 알고 있는 '캐치 마인드' 부터 시작해 봤어요
상대방이 그림을 본 뒤, 그 그림을 설명한 것에 따라서 제가 그린 그림입니다
"이게 그래서 페어 프로그래밍과 무슨 상관이 있는데요?" 라고 물어볼 수 있겠죠
네... 저도 처음엔 그랬으니깐요
그렇지만, 이 네비게이터 /드라이버로 서로의 역할을 번갈아 가면서 진행했을 때 느낀 점은
- 나와 상대방은, 생각보다 내가 아는 걸 잘 설명하지 못 한다
- 나와 상대방은, 생각보다 내가 아는 걸 잘 알아듣지 못 한다
그리고 이 상대방과 나의 관점 차이를 줄이기 위해서 필요한 건
반복적으로 서로가 이해했는지에 대한 확인이었습니다
"이게 맞나요?" 라고 물어볼 수 있어야 하고
"이해 하셨나요?" 라고 물어볼 수 있어야 합니다
이 과정을 거치면 딥러닝에서 반복 학습을 통해 가중치를 적절히 수정하는 것처럼
나와 상대의 관점도 비슷하게 맞추어 지며
이 관점이 비슷하게 맞추어 지면, 1+1=1.9 가 아닌, 1+1=2, 혹은 1+1=2.5 가 나오게 됩니다
문제 해결 능력은 말 할 필요 없이 중요한 점이며
이런 식으로 협업을 진행하는 능력도 그에 못지 않게 중요한 점이라는 사실을 배웠습니다
1일차 일지 끝!