본문 바로가기

code-states

[code-states][we-win] 1일차 - OT, Pair Programming

오늘은 오리엔테이션

 

서로에 대해 알아가는 시간과, 우리가 앞으로 무엇을 해야 할 지 알아가는 시간이었어요

 

물론 js 의 기본적인 문법을 배우긴 했다만

가장 기억에 남았던 건 아무래도 

 

짝코딩, 즉 Pair Programming 이 아닐까 합니다 

 

https://en.wikipedia.org/wiki/Pair_programming

 

Pair programming - Wikipedia

Two co-workers pair programming, 2007 Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator,[1] reviews each line of co

en.wikipedia.org

* 이는 Agile 방법론, 흔히 '에자일' 이라고 알고 있는 것의 한 부분입니다 


상용 서비스로 이용하기 위해선 그에 걸맞는 Scale 이 필요합니다

 

물론, 천재 한 명이 범재 수 백명을 먹여 살린다는 이야기처럼 세상은 빼어난 몇 명에 의해 주도되는 것은 사실입니다만

그 사람들이 그려놓은 청사진을 열심히 수행하는 것은 아무래도 노력을 한 범재들이겠지요

 

그 범재들끼리 그 스케일에 걸맞는 서비스를 만들어 내기 위해선

일개미처럼 일사분란한 협업 능력이 필요하지 않을까요

 

그 능력을 키우는 것이 이번의 페어 프로그래밍(소위 말하는, 짝코딩이었습니다)


Ice Breaking 차원에서, 바로 페어 프로래밍을 들어가지는 않았습니다

흔히 알고 있는 '캐치 마인드' 부터 시작해 봤어요

 

이런 그림을, 여러분들은 상대방에게 어떻게 설명할 수 있을까요?

상대방이 그림을 본 뒤, 그 그림을 설명한 것에 따라서 제가 그린 그림입니다

 

"이게 그래서 페어 프로그래밍과 무슨 상관이 있는데요?" 라고 물어볼 수 있겠죠

네... 저도 처음엔 그랬으니깐요

 

그렇지만, 이 네비게이터 /드라이버로 서로의 역할을 번갈아 가면서 진행했을 때 느낀 점은 

  1. 나와 상대방은, 생각보다 내가 아는 걸 잘 설명하지 못 한다
  2. 나와 상대방은, 생각보다 내가 아는 걸 잘 알아듣지 못 한다 

그리고 이 상대방과 나의 관점 차이를 줄이기 위해서 필요한 건 

반복적으로 서로가 이해했는지에 대한 확인이었습니다

 

"이게 맞나요?" 라고 물어볼 수 있어야 하고

"이해 하셨나요?" 라고 물어볼 수 있어야 합니다 

 

이 과정을 거치면 딥러닝에서 반복 학습을 통해 가중치를 적절히 수정하는 것처럼

나와 상대의 관점도 비슷하게 맞추어 지며

이 관점이 비슷하게 맞추어 지면, 1+1=1.9 가 아닌, 1+1=2, 혹은 1+1=2.5 가 나오게 됩니다 


문제 해결 능력은 말 할 필요 없이 중요한 점이며

이런 식으로 협업을 진행하는 능력도 그에 못지 않게 중요한 점이라는 사실을 배웠습니다

 

1일차 일지 끝!