“IT회사 CEO들 사이에는 ‘개발조직은 돈 먹는 하마’라는 이야기가 돌고 있어요. 도대체 개발팀들은 맨날 바쁘다, 밤샌다고 하는데 시스템 완성은 매번 늦어져요. 이유가 뭔지 모른 채 엄청난 개발조직 인건비를 지불하고 있어요.” 개발조직이 ‘돈 먹는 하마’로 보이는 현상이 과거 이들이 ‘전산실’이라 불리던 시절부터, 웹과 클라우드의 발전 그리고 AI 혁신이 세상을 시끄럽게 하는 요즘까지도 별 차이가 없다는 이야기입니다. 깊이 공감하는 문제이고, 이 글을 쓰게 된 계기이자 곧 주제이기도 합니다.
요즘 매일 보는 앱 중에 깃허브(github)가 있습니다. 개발에서 손을 뗀 지 벌써 13년이 지났지만, SaaS 기업으로 회사를 키우는 입장에서 코드를 제품(product)을 구성하는 중요한 요소로 보고 있기 때문에 깃허브의 알람을 빠짐 없이 읽습니다. 코드를 중심으로 한 개발자들의 대화를 읽다 보면 코드를 짜지 않더라도 동료들이들이 무슨 생각을 하고, 어떤 논의들이 일의 중심에 놓이는지 큰 노력 없이 알 수 있어 무척 편리합니다. 이 글에서는 조직의 리더 입장에서 바라 본 코드 리뷰에 관한 경험을 토대로, 코드 리뷰가 인간적인 개발 문화를 만드는 데 얼마나 큰 기여를 하는지 말하고자 합니다.
지난 글 <소프트웨어 설계 20년 해보고 깨달은 ‘좋은 설계’의 조건>의 독자 중 한 분이 저에게 기술적인 노하우를 더 공유할 수 있는지 물었습니다. 조금 주저되었습니다. 개발자 입장에서 설계를 다룰 때, 당연히 프로그램을 잘 만드는 것에 집중하기 마련입니다. 이는 당연한 요구입니다. 그러나 ‘모든 상황에서 통하는 기술적인 노하우가 과연 있을까’ 하는 생각을 지울 수 없었습니다. 이러한 가치관을 갖고 있는 제 입장에서 선뜻 자신있게 기술적인 노하우를 꺼내는 일은 어색한 일이 아닐 수 없었습니다. 그래서 스스로에게 질문을 던져 보았습니다. ‘그럼에도 불구하고 하나만 언급해야 한다면 어떤 게 있을까?’라고요.