베터코드 인사이트의 부활
Tidy First 번역 계약을 하면서 한빛 출판사에서 보고 싶은 책이 있으면 증정을 해 준다고 했습니다. 그래서, 10년쯤 전에 좋아했던 <Release it!>을 떠올리게 하는 책을 골랐습니다. 알고 보니 그 책의 2판이었고, 번역자는 다름 아닌 성철이 형이었습니다. 띠용~
그런데 제 마음과 달리 저는 10년 넘게 코딩을 하고 있지 않는 처지에 있었습니다. 나한테 어울리는 책이 아니라 동료인 영모님에게 주기로 했습니다. 그런데 펼쳐 보지도 않고 주려니 출판사나 성철이 형에게 미안하다는 생각이 들어서 빠르게 훑어보았습니다.
일단 표지가 너무 마음에 들었습니다. 표지 속 그림 말이죠. 바로 제가 북경에서 출시부터 해야 한다고 주장했던 바로 그 경험이 똑같이 담긴 듯합니다.
하지만, 2016년에는 오직 직관에 의해 확신했을 뿐 그걸 말로는 잘 표현할 수가 없었습니다.[1]
그런데 놀라운 일이 벌어졌습니다. 2017년에 북경에 오신 김형준 님이 제가 2016년 한 일을 마치 옆에서 본 사람처럼 글로 남겼습니다. 모처럼 그 글을 다시 열어 봤습니다. 다음 그림에 핵심이 다 담깁니다. 동작하는 코드는 Kent Beck이 말하는 경제성에 입각한 일입니다.[2]
그리고 '다시 개발하라'가 바로 책 표지를 보고, 다른 사람이 그린 그림에서 북경을 떠올리게 한 계기입니다. 바로 릴리즈 후에 피드백을 받아 다시 개발하는 일이 혼자 궁리하고 개선하겠다고 애를 쓰는 일보다 영리하고 더욱 사회적으로 일하는 방법이라 확신합니다. 작동하는 것을 보고 피드백을 얻어 다시 하면 실력을 늘릴 수 있습니다. 피드백 없이 기능을 개발하면 뭔가 하는 듯한 느낌이 들 수는 있지만 가치를 알 수 없는 자기 위안에 그칠 수 있으니까요.
근데 형준 님의 글에는 Release First에 대한 내용은 빠져 있었습니다. 그의 역할이 CTO여서 그랬거나 그가 개발자여서 그랬을까요? 우리를 움직이게 하는 가치에 대해 내용은 빠져 있네 하고 글을 닫으려는데 낯익은 이미지가 보였습니다. 글로는 없지만 '늧'(느낌)으로는 있구나 싶어서 반가웠습니다.
이 그림은 제가 <진심으로 묻고 충분히 시간을 줄 것>을 쓰면서도 인용한 그림이죠. 제가 Relase First를 외칠 때 바란 것은 바로 저 장면입니다. 어차피 앞으로 가지 않으면 조직이 소멸되니 나를 믿고 앞으로 가자고 했던 것이죠. 그때는 드러커의 글을 읽은 적이 없지만, 최근에 읽은 드러커의 표현을 빌면 조직은 목적 지향적이어야 생존할 수 있습니다. 그래서, 조직이 되려면 보수적인 공동체에 필연적으로 갈등을 유발해야 합니다.
사회, 공동체, 가족은 모두 보수적인 집단이다. 안정을 유지하고 변화를 막거나 적어도 늦추려고 한다. 현대의 조직은 불안정을 일으킨다. 이들은 혁신을 위해 조직된다. 오스트리아 출신의 미국 경제학자 조지프 슘페터가 말한 '창조적 파괴'말이다. 또한 조직은 이미 정립되고 관례화되고 친숙하고 편안한 모든 것을 체계적으로 폐기하기 위해 만들어진다.
김형준 님이 인디애나 존스 장면으로 묘사한 느낌의 다른 이름은 '의도된 불안정'입니다. 드러커의 언어를 쓰면요.
다시 책 얘기로 돌아가죠. 그 후에 두 개의 페이지가 눈길을 끌었습니다. 번역을 한 성철이 형의 작품일까요? 아니면 원문에도 '짓밟히다'에 해당하는 영어로 표현되어 있었을까요? 아무튼 마음에 쏙 드는 표현이었습니다.
하지만, 저는 일터에서 누군가에게 짓밟히는 장면을 참지 못합니다. 그래서, 제가 의도하지도 않았던 기업의 경영을 하고 있다는 사실을 저 문구를 보고 난 정확히 2시간 후에 깨달았습니다.
올해 회고를 하면서 제가 쓴 글을 토대로 동료들과 이야기를 하는데 그들은 제가 보지 못하는 부분을 보게 해 주었습니다.
그리고 제가 책에다 쓴 다음 이미지를 보면서 영모님이 자기감정에 푹 빠져서 말하는 모습을 보는데 잊었던 기억이 떠올랐습니다.
2015년 3월 제가 소프트웨어 설계의 가치를 알아주는 않는 팀원들 때문에 소심하게 혼자 상처받고 퇴근을 하는 길에 트위터에서 본 Kent Beck의 글에 있던 단어를 조합해서 bettercode.kr 이란 도메인을 샀다는 사실을요. 그리고, 11개월이 흐른 후에 중국에 가며 법인을 설립할 때, 동업자인 후배와 회사 이름에 대해 논의를 하다가 잊었던 이름을 떠올리고 소프트웨어 설계의 가치를 담은 이름이 지금 저희 회사의 이름이 되었다는 사실을 다시 확인했습니다.
어쩌면, 물론 증명할 수는 없지만 제가 낯선 경영자의 길을 가는 이유는 너무나도 사랑했던 개발자란 일 때문일 듯합니다. 저는 개발자가 제가 10년 노력 끝에 쟁취한 지위, 다시 말해서 누군가에게 짓밟히지 않고 개성을 고스란히 지키고도 일할 수 일터를 만들고 싶었습니다. 사실 10년 전에 이미 만들었는데, 당시는 제가 참여하는 프로젝트에서만 가능했습니다. 제가 속한 회사의 문화는 그걸 지원하지 않았습니다.
다시 책으로 돌아가 보겠습니다. 이번에는 제가 모르는 내용 중에서 언젠가 써먹을 수 있는 내용이 있을지 훑어봤습니다. 빙고! 있네요.
시작은 책 소개를 마음에 두고 썼는데, 사실 책을 다 읽은 것은 아니라서 마음 가는 대로 글을 썼습니다. 그렇게 하고 보니 지난 5월 <Strangler Fig 패턴과 점진적 IT 투자> 이후 6개월 동안 멈췄던 베터코드 인사이트 연재가 떠올랐습니다. 그래서, 그걸 부활하는 것으로 언젠가는 저 그림을 구현해야지 하는 마음을 표현합니다.
[1] 그런 점에서 말차림법은 만난 것은 행운입니다
[2] 이에 대해서는 조만간 다시 설명하겠습니다.
지난 베터코드 인사이트의 시작 연재
3. Funnel을 마케팅 말고 engagement 분석에?
5. 기술 부채는 무엇인가?
8. loosely-coupled: 빠르게 재구성하는 힘
11. 기술은 쓰임새(use case)에 따라 고르고 조합한다
13. 회사 대표가 엔지니어에게 충분한 권한을 주는가?
16. Cloud Native 승자는 집적이 가능한 개발 조직
17. CNCF는 PaaS를 대체한다
19. 다시 보는 웹 앱의 미래