- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 들어가며 — 동굴 물고기와 역량 실명
- 원인은 방치가 아니라 억제다
- 아무도 질문하지 못하는 레거시
- 현실이 썩는 동안에도 초록색인 대시보드
- 프로세스가 흉터 조직이 될 때
- 마치며 — 다시 눈을 뜨려면
- 참고 자료
들어가며 — 동굴 물고기와 역량 실명
최근 해커뉴스(Hacker News)에서 화제가 된 Ian Reppel의 에세이 "How Successful Companies Go Blind(성공한 회사는 어떻게 눈이 머는가)"는 멕시코 동굴 물고기(Astyanax mexicanus)로 시작합니다. 같은 종이 불과 수 킬로미터 떨어진 곳에서 두 형태로 존재합니다. 시에라 델 아브라의 강에 사는 개체는 눈이 있고 평범한 물고기처럼 행동하지만, 같은 산맥 아래 석회암 동굴에 사는 개체는 눈이 멀었고 색소가 없으며 반투명합니다.
중요한 것은 눈을 어떻게 잃는가입니다. 그것은 쓰지 않아 퇴화한 것이 아닙니다. 동굴 환경에서 수정된 지 몇 시간 안에 수정체를 만드는 프로그램이 이른 아폽토시스(apoptosis), 즉 예정된 세포 사멸을 일으키고, 시각 조직에 쓰였을 에너지는 동굴이 실제로 보상하는 형질로 재배치됩니다. 더 나은 후각, 더 깊은 곳에서의 섭식, 다음 흉년을 대비한 지방 비축이 그것입니다. 눈은 방치된 것이 아니라, 환경이 그 눈에 들인 에너지를 되돌려주지 않기 때문에 능동적으로 꺼진 것입니다.
Reppel은 이 회사판 현상을 역량 실명(competence blindness) 이라 부르며, 익숙한 이야기와 조심스럽게 구분합니다. 이것은 어제의 시장이 주던 고객과 마진에 매달리다 무너지는 고전적 파괴적 혁신이 아닙니다. 역량 실명에 빠진 회사는 사라지지 않습니다. 강한 브랜드, 괜찮은 마진, 늘어나는 인원을 몇 년이고 유지하는 동안, 그 아래의 기초 엔지니어링만 조용히 위축됩니다. 역량은 여전히 유전자 안에 있습니다. 다만 발현이 억제되었을 뿐입니다.
원인은 방치가 아니라 억제다
Reppel이 묘사하는 메커니즘은 정확히 짚을 가치가 있습니다. 흔한 "게을러졌다"는 이야기가 아니기 때문입니다. 피해의 대부분은 성장이 만듭니다. 회사가 빠르게 커질 때 "인원 목표가 기준을 휘어, 결국 기준 자체가 사라집니다." 내부 관행만으로 채용되고 훈련된 엔지니어가 결국 채용 면접관이 되고, 그들은 한 번도 본 적 없는 역량 대신 지금의 혼란에 대한 편안함을 기준으로 사람을 뽑습니다.
그다음 억제가 시작됩니다. 밀린 유지보수를 제안하는 엔지니어는 저항에 부딪히고, "처음 제안들이 기각되고 나면 아폽토시스가 시작"됩니다. Reppel의 가장 날카로운 관찰은, 기술적 제안이 더 이상 제안으로 읽히지 않는다는 것입니다. 그것은 그 시스템을 만들고 유지해 온 사람들의 "정체성에 대한 공격"으로 읽힙니다. 아직 문제를 볼 수 있는 엔지니어, 바깥 경험이 있는 사람들은 빠르게 떠납니다. 남는 사람들은 대개 스스로도 알아차리지 못한 채 동굴에 적응하고, "그 적응은 마침내 충성심과 구별되지 않게" 됩니다.
여기에 나쁜 사람도, 나쁜 시장도 필요하지 않습니다. 안정적이고 경쟁이 적은 환경이면 충분합니다. 진입 장벽이 아주 높으면 기존 기업은 아무런 반발 없이 관료제와 낭비를 축적할 수 있습니다. 불편한 지점은 이것입니다. 이 실명은 더 이상 시력을 보상하지 않게 된 환경에 대한 합리적 적응이라는 것입니다.
저는 이 "생물학을 논증으로" 쓰는 방식이 꽤 유용하다고 봅니다. 다만 한 가지 단서를 답니다. 비유는 증명하기보다 설득합니다. 동굴 물고기는 실재하는 인상적인 메커니즘이지만, 회사는 게놈이 아닙니다. 그러니 역량 실명은 법칙이 아니라 날카로운 렌즈로 다뤄야 합니다. 그럼에도 이 렌즈가 값진 이유는, 구체적이고 확인 가능한 증상을 예측하기 때문입니다. 그 증상이 엔지니어링 조직에서 실제로 어디에 사는지 짚어 보겠습니다.
아무도 질문하지 못하는 레거시
큰 엔지니어링 조직에는 모두가 우회하지만 아무도 건드리지 못하는 시스템이 적어도 하나는 있습니다. 느리고, 문서가 없고, 테스트는 형식뿐이며, 배포하려면 여전히 특정 시니어 엔지니어 한 명이 새벽 2시에 깨어 있어야 합니다. 왜 그렇게 동작하냐고 물으면 이유가 아니라 역사가 돌아옵니다.
Reppel의 정체성 메커니즘은 이 상황이 왜 그토록 견고한지를 설명합니다. 그 시스템을 만든 사람은 이제 시니어이고, 대개 영향력이 있습니다. 시스템을 질문하는 것은 그 사람을 질문하는 것으로 들립니다. 그래서 "이건 다시 써야 한다"고 말하는 신입은 그 주장의 타당성으로 평가받지 못하고, 조용히 순진한 사람 혹은 조직과 안 맞는 사람으로 분류됩니다. 제안이 몇 번 기각되고 나면 그는 제안을 멈춥니다. 그 시스템은 좋아서 방어되는 것이 아니라, 누군가의 정체성과 융합되었기 때문에 방어됩니다. 이것이 하나의 컴포넌트 수준에서 일어나는 역량 실명입니다. 조직은 그 시스템을 더 이상 시스템으로 보지 못하고, 오직 사람으로만 봅니다.
신호는 감정의 온도입니다. 어떤 컴포넌트에 대한 차분한 기술적 질문이 반복적으로 방어적 반응을 부른다면, 조직이 이미 꺼 버린 눈을 하나 찾은 것입니다.
현실이 썩는 동안에도 초록색인 대시보드
실명이 숨는 두 번째 장소는 지표입니다. 압박받는 조직은 대개 숫자를 조작하지는 않습니다. 더 미묘하고 더 나쁜 일을 합니다. 초록색으로 남는 것은 계속 측정하고, 아프게 할 것은 조용히 측정하지 않게 됩니다. 가용성은 99.95%이고, 스프린트 번다운은 깔끔하며, 대시보드는 온통 초록색인데, 실제로 배포하는 사람은 누구나 시스템이 취약하다는 것을 압니다. 정작 중요한 현실이 애초에 대시보드에 올라간 적이 없기 때문입니다.
이것은 동굴 물고기의 옷을 입은 굿하트의 법칙(Goodhart’s law)입니다. 어떤 지표가 조직이 보상받는 목표가 되는 순간, 그것은 다른 무엇을 재는 좋은 척도이기를 그칩니다. 그 지표는 좋아진 후각이고, 측정되지 않는 현실은 꺼져 버린 눈입니다. 위험한 변경은 드물고 무서운 릴리스로 묶여 차트가 매끄럽게 덮어 버리기 때문에, 배포 빈도는 건강해 보입니다. "장애"의 정의가 조용히 좁혀졌기 때문에 장애 건수는 줄어듭니다. 이 숫자들은 사기가 아닙니다. 바로 이 동굴이 보상하는 형질일 뿐입니다.
제가 신뢰하는 점검법은 격차 테스트입니다. 지표가 말하는 것과, 가장 경험 많은 엔지니어에게 비공식적으로 물었을 때 나올 답을 나란히 놓아 보는 것입니다. 건강한 조직은 그 격차가 작습니다. 눈먼 조직은 격차가 크고, 그 격차와 더 이상 다투지 않는 대시보드를 가지고 있습니다.
프로세스가 흉터 조직이 될 때
세 번째 증상은 프로세스입니다. Reppel은 "센터 오브 엑설런스(centre of excellence)"의 역설을 지적합니다. 곳곳에 퍼져 있던 탁월함이 하나의 "프로세스 상점으로 추출"되고, 그것을 지키려던 통제가 오히려 내재적 동기의 위축을 낳는다는 것입니다. 엔지니어링 조직에 대해서는 저는 더 직설적으로 말하겠습니다. 무거운 프로세스의 대부분은 흉터 조직입니다. 리뷰 보드, 필수 승인, RFC 템플릿은 저마다 특정한 옛 상처에 대한 반응으로 자라났고, 상처가 아문 뒤에도 제거되는 경우는 거의 없습니다.
그 결과는, 더 이상 제대로 만들지 못하는 시스템에 대해 흠잡을 데 없는 설계 문서를 생산하는 조직입니다. 프로세스 경직은 엄밀함으로 오해되기 쉽고, 바로 그래서 살아남습니다. 그것이 대체해 버린 꼼꼼한 엔지니어링처럼 보이기 때문입니다. 그러나 진짜 역량은 분산된 판단입니다. 게이트 없이도 좋은 결정을 내리리라 믿을 수 있는 엔지니어들 말입니다. 판단을 믿을 수 없을 때 우리는 게이트를 추가하고, 추가하는 모든 게이트는 최고의 사람들에게 그들의 판단이 필요 없다고 말합니다. 그러면 눈 밝은 사람들이 떠나고, 고리가 완성됩니다.
간단한 진단이 있습니다. 프로세스의 각 필수 단계마다, 그것이 막아 주는 실패가 무엇인지 그리고 그 단계가 마지막으로 무언가를 잡아낸 게 언제인지 누군가 말할 수 있습니까. 답이 없는 단계는 흉터 조직이고, 흉터 조직은 보지 못합니다.
마치며 — 다시 눈을 뜨려면
에세이는 진심으로 희망적인 음으로 끝나고, 저는 그럴 자격이 있다고 봅니다. 유전자는 여전히 거기에 있습니다. 실명은 억제된 발현이지 삭제가 아닙니다. Reppel은 이렇게 씁니다. "다른 곳으로 헤엄쳐 가라, 그러면 당신의 시력은 돌아올지도 모른다." 개인 엔지니어에게 이것은 구체적이고 종종 옳습니다. 환경을 바꾸면, 동굴에서 보낸 10년이 꺼 버렸던 판단력이 몇 달 만에 돌아올 수 있습니다.
조직에게는 더 어렵습니다. 그리고 저는 이 에세이의 가장 냉정한 함의가, 탈출은 조직보다 개인에게 더 쉽다는 것임을 솔직히 말하고 싶습니다. 그래도 메커니즘은 스스로 대응책을 시사합니다. 시스템을 만든 사람과 시스템을 분리해 레거시를 질문할 수 있게 만드십시오. 사람이 아니라 컴포넌트를 리뷰하는 것입니다. 초록색으로 남는 것이 아니라 아픈 것을 측정하고, 대시보드와 엔지니어의 비공식적 견해 사이의 격차를 진짜 신호로 삼으십시오. 코드를 폐기하듯 프로세스를 폐기하되, 여전히 막아 주는 실패를 대지 못하는 게이트는 지우십시오. 그리고 바깥에서 눈 밝은 엔지니어를 채용했다면, 초기의 "이건 잘못됐다"는 말을 그들이 줄 수 있는 가장 값지고 가장 쉽게 상하는 것으로 대하십시오. 동굴은 이미 조용히 그들에게 그 말을 그만하라고 가르치고 있기 때문입니다.
조직을 이끄는 입장에서 짧은 요약이 필요하다면, 건강한 조직과 눈먼 조직을 가르는 네 가지 질문이 있습니다.
- 가장 오래된 시스템에 대한 차분한 기술적 질문이 호기심을 부릅니까, 방어적 반응을 부릅니까.
- 초록색 대시보드와 시니어 엔지니어가 비공식적으로 하는 말 사이의 격차는 얼마나 넓습니까.
- 각 필수 프로세스 단계마다, 그것이 막는 실패와 마지막으로 무언가를 잡아낸 시점을 누군가 댈 수 있습니까.
- 신입이 "이건 잘못됐다"고 말할 때, 조직은 궁금해합니까, 아니면 그가 왜 틀렸는지를 설명합니까.
에세이가 남기는 가장 어려운 질문은 개인적인 것입니다. 적응이 끝내 충성심과 구별되지 않게 된다면, 지금 괜찮다는 당신 자신의 감각조차 온전히 믿을 수 없습니다. 정직한 선택은 아직 눈을 가진 사람들과 대조해 보는 것입니다. 최근 입사자, 떠난 사람, 다른 회사의 엔지니어 말입니다. 그들에게 명백한 것이 당신에게 보이지 않는다면, 그것은 의견 차이가 아닙니다. 당신은 동굴을 보고 있는 것입니다.