커뮤니케이션 잘하는 개발자
기능 구현형 개발자 vs 문제 해결형 개발자
기능 구현형 개발자
는 자신의 일을 단순히 주어진 스펙에 제한한다. 이런 유형은 어떤 불가능한 기능 요청을 받았을 때 “이 기능은 안 된다”고만 말한다.
이에 비해 문제 해결형 개발자
는 단순히 맡겨진 일만 하는 것이 아니라 비즈니스 문제를 능동적으로 해결하려 한다. 이 유형은 어떤 기능이 구현 가능한지 불가능한지에 중점을 두기보다는, 이 기능이 본질적으로 해결하려는 비즈니스 문제점을 파악해 가장 효과적으로 문제를 해결하는 것에 중점을 둔다.
커뮤니케이션을 잘하는 개발자들의 습관
1. 해결하려는 문제와 의도에 대해 묻는다.
어떤 기능에 대해 요청이나 질문을 받았을 때 단순히 구현 여부를 말하거나 해결책만 제시하는 것이 아니라, 이 기능을 생각한 의도나 맥락 그리고 어떤 문제를 해결하려고 하는지에 대해 되묻는다.
실제로 이렇게 했을 때 기존에 요청받은 기능보다 더 간단하게, 더 좋은 방향으로 기능을 제안할 수 있었다. 심지어는 코드 한 줄 작성하지 않고 해결한 적도 많았다.
2. 서로가 이해한 바가 맞는지 확인하고 동기화한다.
일하다 보면 나처럼 이해할 거라 생각하지만 사실 그렇지 않을 확률이 꽤 높다. 또 당연하다고 생각했던 것이 다른 팀원들에게는 아닌 경우도 꽤 많았다.
때문에 어떤 문제가 조금 복잡해 이해가 부족하다고 생각될 때는 지금까지 이해한 부분에 대해서 정리하고 상대방에게 공유한다.
이러면 서로 다르게 생각한 부분으로 인한 문제를 미연에 방지할 수 있고, 같은 이해를 바탕으로 문제를 바라보니 확실히 더 좋은 의견을 낼 수 있었다.
3. 나만 아는 용어는 최대한 배제하고 상대방이 문제 해결을 위해 진짜 원하는 답을 한다.
어떤 기능이 왜 안 되는지에 대해 질문 받으면 내가 아는 용어를 총동원해 기술적인 어려움을 중점으로 대답했었는데, 사실 상대방은 그런 것에는 관심이 없고 지금 당장 문제 해결을 위한 방법이 궁금할 뿐이다.
최대한 모두가 이해할 수 있는 언어로 기술적인 것보다는 문제 해결을 위한 대안을 중점으로 답변해 보는 것이 좋다.
나 같은 경우는 빨리 대답해 주려고 상대방은 모르는 기술적 용어를 쓰는 경우가 많아 쉬운 용어로 말하려고 노력하고 있다.
Reference