엉덩이가 무거워진 개발자의 딜레마

엉덩이가 무거워진 개발자의 딜레마

일자

상시
유형
아티클
태그
이 아티클은 <이 시대의 개발자로 일하기> 시리즈 6화입니다.


저는 개인을 하나의 기업으로 보는 것을 즐겨 합니다. 기업에 적용되는 이야기를 개인에게 적용해 보면 뜻밖의 새로운 시각을 얻을 때가 있기 때문이죠. 얼마 전 <혁신 기업의 딜레마>라는 책을 보면서 ‘개발자에게도 이런 딜레마가 있을 것 같은데?’라는 생각이 들어 이에 대해 이야기해 보려고 합니다.

ⓒ 클레이튼 크리스텐슨, <혁신기업의 딜레마>


왜 위대한 기업들조차 실패하는가?


<혁신 기업의 딜레마>는 ‘왜 위대한 기업들조차 실패하는가?’라는 질문에 대한 해답을 찾는 내용으로 이루어져 있습니다. 시장을 지배하던 어떤 기업이 기술과 시장의 변화를 버티지 못하고 실패했다면, 원인은 무엇이었을까요? ‘기업이 너무 커져서 관료주의적이 되었을 거야’, ‘직원들이 다들 수동적이 되어서 아무도 변화를 추구하지 않았겠지’ 등의 생각이 드는 게 일반적일 것입니다. 하지만 이 책은 그런 기업들이 아니라 ‘위대한’기업, 즉 고객의 요구에 기민하게 대응했으며 새로운 기술에 공격적으로 투자한, 오히려 그랬기 때문에 실패한 기업에 대한 이야기입니다.

“아니, 그러면 고객의 요구를 무시해야 했다는 이야기인가요? 고객에게 가치를 전달하는 것이 비즈니스의 사명이라고 했는데?”

네. 가끔! 그래야 할 때가 있다고 합니다. 왜 그런지 이제 살펴보도록 하겠습니다. 이 책은 ‘존속적 기술’ 과 ‘파괴적 기술’이라는 개념을 바탕으로 이야기를 진행합니다.

  • 존속적 기술: 주요 시장의 주요 고객들의 기준에 따라 제품의 성능을 향상시킵니다.
  • 파괴적 기술: 기존의 기준으로는 제품의 성능을 떨어뜨리지만, 신규 고객들에게 새로운 가치를 전달합니다.

예를 들어, 미국의 모터사이클 제조 기업인 ‘할리-데이비슨’이 1960년대 시장의 70%를 점유하면서 큰 도로를 질주할 수 있는 더 강력하고 더 오래 달릴 수 있는 오토바이를 만들기 위해 노력하던 것을 존속적 기술이라고 할 수 있습니다. 그런 상황에서 ‘혼다’가 비포장 도로에서 타기 좋은 저렴한 소형 오토바이를 새롭게 출시한 것은 파괴적 기술이라고 할 수 있고요. 대부분의 기존 고객들은 더 강력하고 오래 달릴 수 있는 오토바이를 계속 원했지만, 비포장도로를 즐기는 일부 고객들이 작고 저렴한 소형 오토바이에 흥미를 보였습니다.

기업들은 종종 제품이 고객이 필요로 하는 것보다 빠르게 발전해 나가고 있다는 것을 깨닫지 못합니다. 그러면 고객들이 원하는 것보다 더 높은 성능과 비싼 가격의 제품을 내놓게 되겠지요. 그 사이 파괴적 기술이 (새로운 고객들의 기준이 아니라) 기존의 성능 기준에서도 경쟁력 있는 제품을 만들게 되면, 결국 파괴적 기술이 존속적 기술의 시장을 차지하게 됩니다.

2TB면 충분한 고객에게 무겁고 큰 10TB HDD 보다는, 작고 가벼운 1TB SSD 가 더 매력적일 수 있습니다. ⓒ <혁신기업의 딜레마> 그림 I-1


제가 처음 사용했던 플래시 메모리는 용량이 8MB 밖에 되지 않았었습니다. 저 작은 용량을 가지고 어디에 썼었을까요? 20년 전쯤에 일반인용 디지털 카메라가 출시되기 시작했는데, 여기에는 작고 빠른 플래시 메모리가 제격이었습니다. 그렇지만 너무 작은 용량과 높은 용량 당 가격 때문에 플래시 메모리가 기존 HDD 시장을 대체할 수 있을 것이라고는 상상하지 못했습니다. 그래서 기존에 HDD를 개발하던 회사들은 SSD를 개발하기보다 더 큰 용량과 더 싼 가격의 HDD를 만들기 위해 노력했습니다. 고객이 실제로 필요로 하는 것보다 크면서 저렴하게 말이죠. 그러다 시간이 지나며 SSD의 용량도 커지고 용량 당 가격도 낮아지면서 기존 HDD 고객들이 원하는 수준을 갖출 수 있었고, 이제는 SSD 시장에 일찍 뛰어들었던 회사들이 HDD 시장을 대체하고 있습니다.

ⓒ 서울 신문


문제는 기존 시장에서 우위를 점하고 있던 기업들이 경영적, 재정적, 기술적으로도 더 우위를 가지고 있음에도 불구하고 파괴적 기술에 투자를 하기가 쉽지 않다는 것입니다. 그 이유는 무엇일까요?

  • 기업에 수익을 안겨주고 있는 기존의 고객들은 성능이 더 낮은 파괴적 기술에 관심이 없습니다. 만일 현재 고객의 대부분이 용량이 확 줄어들면서 속도가 빨라지는 것에는 관심이 없다면, 기업은 기존처럼 용량을 더 키우는데 투자하는 것이 현재 고객들을 위한 선택입니다.
  • 파괴적 기술이 만든 작은 시장으로 기업은 충분한 수익을 얻을 수 없습니다. 같은 돈이 있다면 이제 막 생겨나고 있는 작은 시장에 투자하는 것보다, 기존의 크고 수익성 높은 시장에 투자하는 것이 더 큰 수익을 얻을 수 있는 선택입니다.
이런 이유로 기업들은 고객을 만족시키고 큰 수익을 얻을 수 있는 ‘좋은 경영’을 하지만, 나중에 파괴적 기술이 발달해 기존 시장을 침범하며 들어올 때 이를 따라잡지 못하고 새로 진입한 기업들에게 시장의 우위를 내주게 되는 겁니다. 


‘나’라는 기업


그런데 이 이야기를 개발자인 ‘나’에게도 적용해 볼 수 있을 것 같아요. 나를 하나의 기업이라고 했을 때 나는 어떤 고객들에게 무엇을 팔고 있는 것일까요? 회사에 다니고 있다면, 고객은 지금 다니고 있는 회사고 팔고 있는 제품은 내가 개발한 결과일 것입니다. 그렇게 해서 벌어들이는 이익은 생각하기 편하게 급여라고 생각해 보겠습니다. (사실은 급여 말고도 내 성향과의 어울림, 재미, 기여감 등 여러 가지가 합쳐진 것이겠죠?)

내가 지금 내놓은 결과물이 주요 시장에 잘 맞는 엔터프라이즈급 기술을 기반으로 한다고 가정해 보겠습니다. 그 기술은 계속해서 더 큰 규모의 서비스를 더 안정적으로 제공할 수 있도록 발전하고 있습니다. 인력도 안정적으로 수급할 수 있어 기업에서도 선호하는 기술입니다. 나는 이 기술에 경력이 높고 실력이 좋다고 평가받고 있습니다. 그러면 이 기술만 계속해서 파도 괜찮은 것일까요?

만약 확장성이나 안정성은 떨어지지만, 스타트업이 빠르게 개발하기에 좋도록 획기적인 생산성을 갖춘 새로운 기술이 나온다면 어떨까요? 아니면 획기적인 동시성을 갖춘 새로운 기술이 나온다면요? 그런 새로운 기술은 지금 당장은 기존 기업들에서 선택되지 못하고 생산성과 동시성이 중요한 몇몇 회사들에서만 조금씩 쓰이기 시작할 것입니다. 하지만 그러다가 그  기술이 계속 발전하면서 결국 충분한 확장성과 안정성, 인력 수급 등까지 갖추게 된다면, 개발자 시장에는 어떤 변화가 생길까요?

미래가 그렇게 된다고 확신한다고 할지라도 우리는 그 새로운 기술을 써서 개발하기가 쉽지 않습니다. 내가 지금 다니고 있는 회사가 그 기술을 원하지 않을테니까요. 혹여나 그 기술을 원하는 새로운 회사로 이직하려 해도 그런 회사는 자금이 충분하지 않고 내가 기존 기술로 가지고 있는 능력을 다 인정받을 수 없어서 연봉도 더 낮을 수 있습니다. 이런 장벽들은 내가 지금 가지고 있는 기술로 뛰어난 역량을 보유하고 있으면 있을수록 더 커집니다. 이를 우리는 흔히 ‘엉덩이가 무거워진다'라고 표현합니다.

오히려 기존의 기술에 높은 능력이 없거나, 이제 막 개발을 시작하는 분들은 새로운 기술로 개발하는 선택을 쉽게 할 수 있습니다. 그리고 그 새로운 기술이 발전해서 주요 시장을 차지하게 되었을 때 그 시장에서 인정받는 사람들은 이 기술을 이전부터 계속 사용해온 경험과 역량이 있는 분들일 것입니다.

이런 얘기는 그저 상상일 뿐일까요? 이러한 일들은 IT의 역사 속에서 계속해서 일어나고 있습니다. 새로운 언어와 프레임워크의 등장, 웹 생태계에서 모바일 생태계로의 이동 등 시장에 큰 변화가 있을 때 누군가가 실제 실력만으로 평가받는 것이 아니라 그 흐름을 얼마나 잘 탔느냐에 따라 더 잘 되는 경우도 잘 안되는 경우도 많았습니다.

지난 10년간 Backend Framework의 인기도 변화를 봐보는 것도 재밌을 것 같습니다. (영상 링크


그래서 어떻게 해야 할까?


크게는 두 가지 선택지가 있을 것 같습니다. 하나는 지금 내가 높은 역량을 가지고 있는 기존 기술에 최고가 되어 끝까지 살아남는 것입니다. 새로운 기술들이 나온다고 하더라도 기존 기술이 시장에서 완전히 사라지는 일은 오래 걸리기 때문에, 끝까지 살아남으면 오히려 더 좋은 대우를 받을 수도 있을 것입니다. 끝까지 가지 못하고 중간에 탈락할 때 리스크는 있겠지만요. 실제로 얼마전 미국에서는 기존에 COBOL로 작성된 시스템을 유지보수하기 위해 COBOL 개발자를 구한다는 기사가 나오기도 했습니다. (영상 링크)

이 시대 마지막 COBOL 개발자가 되어보시겠습니까? ⓒ TechRepublic


다른 하나는 이 새로운 기술의 등장을 잘 받아들이는 것입니다. 어떻게 잘 받아들인다는 것일까요? 위에서 지금 당장 새로운 기술을 쓰기 위해서는 여러 가지 변화와 손해를 감내해야 할 것처럼 이야기했었는데, 그렇게 할 수밖에 없는 것일까요?

이 책의 저자는 파괴적 기술을 잘 받아들이는 유일한 방법은 별도의 조직을 세우는 것이라고 말합니다. 기존의 고객들과 수익구조 안에서는 파괴적 기술에 투자하기가 쉽지 않다는 것이죠. 지금 다니고 있는 회사에서 새로운 기술을 쓰게 만들기도 어렵고, 다른 회사로 옮겨서 지금보다 좋은 대우를 받기도 어렵다는 것입니다. 그래서 새로운 기준을 바탕으로 움직일 수 있도록 분리되어 있는 작은 조직을 만들어야 새로운 기술에 투자할 수 있다고 말합니다.

기업에서 별도의 조직이라고 하면 자회사를 떠올려 볼 수 있습니다. 개발자에게 별도의 조직은 무엇이 될 수 있을까요? 저는 사이드 프로젝트가 그중 하나가 될 수 있다고 생각합니다. 사이드 프로젝트를 할 때는 지금 다니고 있는 회사와 같은 기준으로 기술을 선택하지 않아도 괜찮죠. 새로운 시도를 적은 리스크로 해보기 좋은 환경이라고 생각합니다. 지금까지 React 전문가로 일하고 있었지만 사이드 프로젝트에서는 Svelte 를 사용해보면 어떨까요? 사이드 프로젝트에 대해 궁금한 게 있다면, 일전에 제가 작성했던 원티드플러스 아티클 <개발자의 사이드 프로젝트>를 읽어보셔도 좋을 것 같습니다. 


더 생각해 볼 것들


지금까지 새로운 기술이 계속해서 나오는 이 시장을 한 명의 개발자로서 어떻게 대응해 나가면 좋을까에 대해 얘기해 보았습니다. 그런데 이 이야기가 새로운 개발 기술에 한해서만 적용되는 얘기일까요? 조금 더 넓혀서 내가 있는 개발 분야 전체에 대해서 생각해 보면 어떨까요? 아니면 개발자라는 직업 자체에 대해서 생각해 보면요? 미래에 더 나은 선택이 될 것이라고 생각하면서도, 현재 내 고객과 이익 때문에 선택하지 못하고 있는 무언가가 있지는 않으신가요? 이러한 질문들을 찬찬히 생각해 보세요. 뜻밖의 좋은 답을 찾을 수 있을지도 모를테니까요. 



▶ <이 시대의 개발자로 일하기> 시리즈 보러 가기 



글ㅣ손진규 
기계항공공학 석사 졸업 후 뒤늦게 개발자로 커리어를 시작해 그래픽스, Android/iOS, Front-end/Back-end 개발을 경험해왔다. 현재 Momenti에서 Back-end Engineer로 일하고 있고, 과거 힐링페이퍼(강남언니) 개발 챕터 리드, Daybit CTO 등을 역임했다.



발행일 2022.02.24