토크 vs 코드

내가 좋아하는? 했던? 문구가 있다. 

Talk is cheap, Show me the code.
- Linus Torvalds -

 

프로그래밍 관련된 명언 또는 밈(meme)에 빠지지 않고 등장하는 리눅스 토르발즈의 문구이다.

 

구글에 talk is cheap만 쳐도 추천 검색어에 주루룩 뜨는 것을 볼 수 있다.

 

개발 공부 시작 초기에는 저 명언처럼 말로 하는 것보다 코드로 보여주는 것이 좋은 것이고, 개발자라면 당연히 더 좋은 코드 퀄리티에 대해서만 고민하는 것으로 생각했었다. 그런데 저 명언이 그대로 적용이 가능한 분야는 오픈소스처럼 한정적인 분야에서만 가능하다는 것을 회사에 다니면서 알게 되었다. (심지어 오픈소스도 소통은 한다.)

 

물론 그렇다고 개발 실력이 없어도 된다는 건 아니다.

 

단지 저 명언대로 하면 1시간에 끝날 일을 10시간 혹은 그 이상의 시간을 투자해야 할 가능성이 있을 수 도 있기 때문이다.

 

회사에 다니면서 느낀 점은 개발 실력을 키우는 것도 중요하지만, 개발 실력만이 개발자의 전부는 아니라는 것이다.

개발 실력 만큼이나 커뮤니케이션, 발표와 같은 소프트 스킬이 중요하다는 것이 이전에는 이해가 되지 않았었지만, 회사에서 프로젝트를 진행할 수록 직접적으로 와닿게 되었다.

 

현재 회사에서 프로젝트를 진행하다보면 내가 개발하고 있는 해당 기능이 어디에 쓰일지에 대해 고민을 해봐야 할 때가 있는데 기존의 나 같은 경우에는 "필요하니까 개발해달라고 하셨겠지" 라는 마인드로 개발을 했었고, 결과적으로는 왜 이것을 사용하는지에 대한 부재로 인해 디테일을 잘못 잡는 경우도 발생하였었다. 프로젝트 초기 기획을 잡을 때, 기획단계에서부터 미리 왜 해당 기능을 필요하는지에 대해 질문을 던졌더라면 생기지 않았을 문제이다.

 

계속 강조하지만, 개발자가 개발 실력이 필요한 것은 맞다. 그런데 개발 실력만으로 모든 비즈니스 문제가 해결되지는 않는다. 조졸두(이동욱)님 블로그개발바닥 유튜브에서도 보고 들었던 것 중에 제일 생각에 남던 것이 있다.

 

개발자가 망치만 들고 있으면 모든 문제가 못으로만 보이고,
어떻게든 망치로만 해결해보려고 한다.

 

저 말을 듣고, 단순히 커뮤니케이션을 통해 5분, 10분만에 해결될 수도 있는 문제를 코드로만 풀려고 하면 시간적,정신적으로 낭비가 발생할 수 있겠다는 생각이 들게 되면서 혹시 내가 저러고 있지는 않았나 되돌아보게 되었다.

 

한국 속담 중에 "말 한마디에 천냥 빚을 갚는다." 라는 말이 있다. 솔직히 현실적으로 불가능한 이야기이지만, 개발적인 관점에서 바라봤을 땐 살짝 과장하면 "한 번의 커뮤니케이션이 천 번의 커밋을 방지한다." 라고 생각한다. 나도 소프트 스킬을 어떻게 키워야 될지는 아직 모르겠지만, 회사에서 최대한 프로젝트와 관련되서 생산적인 커뮤니케이션을 하려고 노력해야겠다.