- 개요
팀에서의 의사결정은 집단적이어야한다. 개인의 의사결정이야 ‘이게 좋아서’라는 감각적 신호가 작동하지만 팀의 것은 그렇지 않다. 감각적인 부분으로 접근하게 되면, 팀원들이 모두 같은 인간이 아니고서야 감각을 수용하는 부분이 모두 다를 수 밖에 없기 때문이다. 때문에 의사결정을 할 때에는 집단에 대한 이해를 바탕으로, 내가 내린 의사결정의 로직을 객관적으로 보여줄 수 있어야 한다. 여기서 중요한 포인트는 ‘옵션’, ‘상황’ 그리고 ‘목적’에 대한 이해이다.
집단의 목적을 우선 이해하고, 현재 상황에서 필요한 스스로의 역할을 규정한다. 그리고 역할을 수행하기 위한 다양한 옵션들을 브레인스토밍하여 꺼내놓는 과정을 거친다. 그리고 옵션들에 대하여 비교를 수행하면서 집단의 상황에 걸맞는 옵션을 추린다. 이 때에는 트레이드오프가 발생할수도 있다. 두 옵션의 장단점이 서로 제로섬 관계에 있을 수 있기 때문이다. 해당 트레이드오프 관계의 지표를 보다 구체적으로 따져 어느 선이 적정한지에 대한 추가적인 판단이 필요하다. 이 때에는 본격적으로 수치적인 기준을 마련할 필요가 있다. 보통 트레이드오프는 특정 임계에서 옵션의 가치가 변동되기 때문이다. 이것이 조직에서 기여하는 개발자로서의 기본적인 의사결정 룰이라고 생각한다.
나는 운이 좋게도 다양한 프로젝트의 대부분을 혼자 커버할 수 있는 기회를 많이 접했다. 때문에, 다양한 시도를 해볼 수 있었고, 개발자로서 즐거운 경험이었다. 시장에서의 개인의 평가가 걱정되는 부분도 있었지만, 알 수 없는 것을 신경쓰기보다는 ‘개발’의 본질에 집중하여 언젠가 개발자들의 사회에서 만날 수 있기를 기대했다.
이런 맥락에서 개발자로 지나온 시간동안 논리적 정합성을 갖추는데에는 꽤 좋은 모습을 보여왔다고 생각한다. 다만, 같이 일할 수 있는 ‘조직형 개발자’로서는 성장하지 못한 것 같다. git을 잘 쓰고, 주석을 잘 달고 이런 부분은 사실 어쩌면 가장 기본적인 부분이고, 수단적인 부분이다. 왜 그런 것들이 필요한지에 대해서 이직을 준비하는 과정에서 많이 깨닫는 시간을 갖고 있다.
‘태어나려는 자는 세계를 깨뜨려야 한다.‘라는 말이 있다. 세상이 보내는 신호가 지독하게도 ‘내가 틀렸다’고 말하고 있다. 이 사실이 의미하는 것은 단순하다. 이제 내 한계를 깨고 나와야 할 시간이 된 것이다. 생각을 더 잘 전달하는 방법을 배워야겠다. 지금까지는 활용하기 위해 공부했다면, 내 이야기를 다른 사람에게 더 잘 전달하기 위핵 공부해야겠다.