경쟁을 넘어, 타인을 작동시키는 생태계가 되는 법
앱 스토어에는 매일 수천 개의 애플리케이션이 쏟아진다. 저마다 더 화려한 UI, 더 빠른 속도, 더 혁신적인 기능을 자랑하며 선택을 기다린다. 우리는 이 거대한 마켓에서 나라는 앱을 런칭하고, 끊임없이 업데이트하며 살아간다.
나보다 더 유능한 동료가 등장하면 초조해진다. 내 기능이 낡아 보일까 봐, 트렌드에 뒤처질까 봐 잠을 줄여가며 자신을 패치한다. 이것은 킬러 앱이 되고자 하는 욕망이다.
하지만 앱의 생명 주기는 짧다. 사용자는 냉정하고, 트렌드는 변덕스럽다. 기능으로만 승부하려는 삶은 필연적으로 불안을 동반한다. 대체 가능하기 때문이다.
40여 개의 글을 써 내려오며 나는 개발자의 시선으로 삶을 디버깅해 왔다. 그리고 이제 마지막을 앞두고, 삶의 아키텍처를 완전히 뒤바꿀 제안을 하나 하려 한다.
우리는 앱이 되기를 멈추고, 플랫폼이 되어야 한다.
iOS나 Android, 혹은 AWS 같은 클라우드 시스템을 본다. 그들은 화려한 아이콘으로 바탕화면을 점령하지 않는다. 그들은 언제나 백그라운드에 존재한다. 하지만 그들 없이는 그 어떤 화려한 앱도 실행될 수 없다.
앱은 주목을 원하지만, 플랫폼은 안정을 제공한다. 앱은 남을 이겨야 살지만, 플랫폼은 남을 살려야 자신이 산다. 입점한 앱들이 마음껏 뛰어놀고 수익을 내야 플랫폼도 유지되기 때문이다.
이것은 이타주의가 아니다. 가장 고도화된 형태의 이기적 생존 전략이다.
내가 가진 기술과 통찰을 나만의 무기로 숨겨두면, 나는 그냥 기능 좋은 기술자로 남는다. 하지만 내 코드를 오픈 소스로 공개하고, 동료들이 내 레거시 위에서 더 쉽게 개발할 수 있도록 라이브러리를 만들어 배포한다면?
그때부터 나는 경쟁자가 아니라 기반이 된다. 사람들은 나를 이기려 드는 대신, 나에게 의존하게 된다. 기반은 쉽게 교체되지 않는다. 이것이 경쟁하지 않고 독점하는 유일한 방법이다.
사람이 플랫폼이 된다는 것은 무엇인가. 타인에게 예측 가능한 인터페이스를 제공하는 것이다.
개발자들이 가장 싫어하는 것은 문서화되지 않은 에러다. 기분이 좋을 땐 받아주다가 기분이 나쁠 땐 화를 내는 사람, 원칙 없이 상황에 따라 리턴 값이 바뀌는 사람은 최악의 API다. 불안해서 연동할 수가 없다.
플랫폼이 된 사람은 자신의 호불호와 원칙을 명확한 문서처럼 공유한다. "나는 이런 상황에서 예외 처리가 발생한다. 그러니 이 선은 넘지 말아라." "네가 실패해도 내 시스템은 셧다운 되지 않는다. 언제든 다시 요청을 보내도 좋다."
내 감정의 가동 시간을 99.9%로 유지하는 것. 누군가 힘들 때 기대어도 404 Not Found를 띄우며 도망가지 않는 것. 그것이 인간관계에서 제공할 수 있는 최고의 SDK다.
이 아키텍처의 가장 중요한 클라이언트는 바로 내 아이다.
나는 일전의 글 <파르테논을 짓다>에서 아이에게 다섯 개의 기둥을 세워주겠다고 썼다. 신체, 지성, 예술, 사회, 놀이. 그 기둥들이 단단히 서기 위한 바닥은 자율성이어야 한다고 했다. 나는 아이를 코딩하려 하지 않았다. 대신 아이가 스스로 자랄 수 있는 구조를 설계했다.
하지만 구조물은 정적이다. 삶은 런타임이고, 세상은 예측 불가능한 변수들이 날아드는 전장이다. 파르테논 신전조차 지진이 나면 흔들린다.
이제 나는 건축가를 넘어, 아이가 마음껏 실행될 수 있는 운영체제가 되기로 한다.
운영체제의 역할은 명확하다. 프로세스가 실행되다 오류를 일으켜도, 전체 시스템이 붕괴되지 않도록 막아주는 것이다. 아이가 실수라는 런타임 에러를 냈을 때, 비난이라는 블루스크린을 띄우는 대신 샌드박스 환경을 제공하는 것이다.
샌드박스는 외부 시스템에 피해를 주지 않고 코드를 마음껏 실행해 볼 수 있는 격리된 공간이다.
"괜찮다. 아빠라는 시스템 안에서는 넘어져도 안전하다. 여기서 마음껏 터지고 깨져 봐라. 메모리는 내가 정리해 줄 테니까, 너는 다시 실행 버튼만 누르면 된다."
아이가 밖에서 겪을 수많은 충돌을 미리 시뮬레이션해 볼 수 있는 안전한 테스트 서버. 실패 비용이 ‘0’에 수렴하는 환경. 내가 파르테논의 기둥 아래 깔아주고 싶었던 자율성은, 바로 이 견고한 플랫폼 위에서만 비로소 완전해진다.
우리는 모두 유한하다. 언젠가 우리의 서비스는 종료될 것이다.
하지만 혼자 빛나다 사라지는 앱으로 생을 마감할지, 누군가의 성장을 돕고 그들의 기억 속에 영원히 구동되는 플랫폼으로 남을지는 우리의 선택이다.
내가 주인공이 되지 않아도 괜찮다. 누군가가 나의 API를 호출해 멋진 결과물을 만들어낼 때, 기꺼이 그들의 백그라운드 프로세스가 되어주는 것. 나의 어깨를 밟고 아이가, 동료가, 연인이 더 높은 곳을 바라볼 수 있게 하는 것.
그것이 개발자가 정의할 수 있는 가장 이성적이고, 가장 낭만적인 사랑의 아키텍처다.
이제, 나의 코드는 나만을 위해 돌지 않는다. 타인을 작동시키는 운영체제가 된 우리는, 서로가 서로에게 연결됨으로써 비로소 거대한 생태계를 이룬다.
이 단단한 연결을 믿고, 이제 마지막 장으로 넘어간다. 우주의 거대한 무질서, 그 엔트로피에 맞서는 최후의 코드를 작성할 시간이다.