디어에서는 최근 최고의 개발문화를 가지기 위해서는 어떤 문제가 해결되어야 할까? 라는 점을 놓고 토론을 벌였다. 토론 중 나왔던 은성의 의견(참고5)과 마찬가지로, 나도 처음에는 내가 '무의미한 삽질' 을 막기 위해서, 빠르게 내가 성장하고(참고8) 팀이 성장하기 위해서는 팀에 시니어가 필요하다고 생각했다.

하지만 재균이형과 예찬이형은 추상의 강력한 특징 (참고2) 때문에, 개발의 분야는 지나치게 방대할 수밖에 없고 주니어와 시니어를 나눌 수 없을 뿐더러 시니어로부터 unknown-unknown 을 knwon-unknown 로 바꾸기 위한 정보를 취득하려고 하는 것은 부적절하다고 주장했다 (참고1, 6). 예찬이형 또한 자신의 경험을 근거로 이에 동의했다. 재균이형은 그런 unk-unk→kn-unk 로 바꾸는 과정이 '꼭 많이 알아야만' 할 수 있는 것은 아니라고 했다 (참고3). 재석형도 이에 거들어, 실제로 더 많은 훌륭한 개발자들이 있는 곳에서 더 많이 성장할 수 있을것이라는 기대는 환상(illusion) 일 수 있다고 지적했다 (참고4).

이를 극복하기 위해 디어 개발팀이 내린 결론은 다음과 같다.

모두가 '주니어' 인 디어팀 전체로 보았을 때는 unknown-unknown 이지만 각 개인에게는 known-unkown 인 문제가 분명히 있을 수 있고, 이들을 한데 모이지 못해 unknwon-unknown 이 known-unknown 으로 발전될 수 있는 기회를 놓친다. 따라서 집단지성이 필요하며, 이런 '집단지성' 을 만들기 위해서는 (1) '내 눈앞의 문제' 가 아닌 '어떻게 더 잘할까' 를 고민할 수 있는 여유와 (참고7), (2) 이를 유지시켜줄 수 있는 개발문화가 필요하다.

다른 사람으로부터 조언을 받아 어떤 것을 개선시켜나가는 과정이라는 점을 볼 때, '피드백 루프' 와 매우 닮아 있다는 생각을 했다. 많은 사람들과 성공한 기업가들은 물론 많은 책들에서 '피드백 루프' 를 강조하는 모습을 어렵지 않게 볼 수 있다 (참고9).

이 주장을 받아들인다면 (집단이 아닌) 개인은 unknwon-unknwon 을 자기주도적으로 known-unknown 으로 발전시킬 수 있는 역량을 가지고 있다는 것인데, 그것은 어떻게 일어날 수 있을까? 모든 지적 시도는 선개념에서 출발한다 (참고10). 선개념은 '씨앗' 이라고도 생각할 수 있는데 내가 기존에 알고 있던 내용으로부터 검색을 하면서 새로운 키워드를 수집할 수 있기도 하지만 다른 사람이 툭 던져준 키워드가 있을 때 가장 빛을 발한다. 이런 '키워드' 는 꼭 시니어가 던져줄 수 있는 것만은 아니다. 커뮤니티도 어느정도 이 역할을 해 줄 수 있다 (참고11).

이와 별개로 디어 개발팀의 논의에서 나왔던 다른 사람들의 생각 자체가 나에게 많은 도움이 되기도 했고 이런 방식의 문제해결과정 자체가 너무 멋지다는 생각이 들었다.


December 1, 2021 재석이형은 나중에 서비스개발이 아닌 자율주행 같은 분야에 있어서는 조금 더 많이 아는 사람이 큰 도움이 될 것 같다고 생각했다.


to


참고

  1. 주니어 시니어라는 것은 따로 없다고 생각한다. 어차피 개발의 분야가 너무 방대해서 그걸 쪼금 더 먼저 했을 뿐이다. 시니어를 기대하기보다는, 우리끼리의 집단지성을 통해 unknown-unknown 을 known-unknown 으로 바꾸어야 한다. -재균
  2. 9_2. title: 추상이란 복잡도와 오해가능성 사이의 트레이드오프가 있는 도구이다.