1) 커뮤니케이션과 협력
- 이제까지 전문 프로그래머 연구에서 가장 관심을 받지 못했던 분야는
이른바 소프트 스킬(soft skill)이었습니다.
이는 커뮤니케이션이나 협력 능력 같은 것을 말합니다.
실력이 높은 프로그래머들은 그렇지 못한 사람들에 비해 커뮤니케이션과 협력이라는 면에서 뭐가 다를까요?
- 앞의 <나홀로 전문가에 대한 미신>에서 언급한 "초보에게 어떤 조언을 하시겠습니까?"를 물었을 때
"뛰어난 프로그래머가 사회적인 면을 더 언급했다. 고로 협력을 더 중요하게 여긴다."는 것 외에도
다양한 연구 결과가 있습니다.
- 일반적으로, 실력이 뛰어난 프로그래머는 보통 정도의 실력을 가진 프로그래머에 비해
커뮤니케이션, 협력 능력이 더 뛰어납니다.
우리가 생각하는 전형적 영웅 프로그래머와는 이미지가 정반대입니다.
- 게다가 실력이 뛰어난 프로그래머는 커뮤니케이션과 협력에 더 오랜 시간을 들입니다.
반면 설계나 코딩, 테스팅에 들이는 시간에는 통계적으로 큰 차이가 없었습니다.
- 많은 프로그래머들이 통상 커뮤니케이션과 협력을 마지못해서 하는 것으로 생각합니다.
심지어 골방에서 혼자 틀어박혀 코딩하는 것이 소원인 사람도 있을 것입니다.
커뮤니케이션과 협력이 별 도움이 되지 않는다면,
도대체 탁월한 프로그래머들은 왜 그것들을 추천하는 것일까요?
2) 백지장도 맞들면 찢어진다?
- 협력하면 밑천도 못 건진다고 생각하는 사람이 많습니다.
많은 실험에서 집단의 퍼포먼스가 개인의 퍼폼너스보다 못 한 경우를 찾아냈습니다.
예를 들어, 능력이 10, 20, 30, 100인 사람들이 있을 때,
같이 일하면 전체의 능력은 100보다 작습니다.
- 최소 모델(가장 일을 못하는 사람의 퍼포먼스가 집단의 퍼포먼스가 됨)과
최대 모델(가장 일 잘하는 사람의 퍼포먼스가 집단의 퍼포먼스)의 중간인 셈입니다.
세간에서 시너지 효과를 언급할 때 흔히 말하는, '부분의 합보다 큰 전체'라는 이야기는
꺼낼 수도 없습니다.
- 부분의 합보다 큰 걸 이야기하기 전에 일단 부분의 합에라도 달해야 할텐데,
그러지 못하기 때문이지요.
그래서 실력이 뛰어난 사람은 혼자 일하게 해야 한다고 주장하는 사람도 많습니다.
- 하지만 반대의 연구 결과가 점점 늘어나고 있습니다.
예전 연구의 실험 조건이 상대적으로 협력에 불리하게 짜여 있는 경우가 많았으며,
그냥 협력이라고 다 좋은 것이 아니고 몇 가지 전제 조건이 필요하다는 것입니다.
- 예컨대 두 사람이 시각화 없이 협력하는 것(예컨대 전화 통화나 텍스트로만 소통한다든지)보다
중간 매개(화이트보드, 종이 등)를 두고 협력하는 것이 훨씬 낫다는 등의 연구들이 있습니다.
- 협력해서 더 나은 결과를 보여주는 연구를 하나 자세히 살펴보도록 하죠.
이 실험 결과는 특히 프로그래머에게 시사하는 바가 큽니다.
'함께 자라기' 카테고리의 다른 글
[함께 자라기] 구글이 밝힌 탁월한 팀의 비밀 (0) | 2025.05.18 |
---|