10x 엔지니어는 환상일까? 전체는 부분의 합보다 크다고 말한 아리스토텔레스도 ‘좋은 사람이 아니면 뽑지 마라’는 현대의 채용 난제에 머리를 싸맬 것이다. 회사들은 10x 엔지니어들을 채용하고 싶어한다. 회사는 그들이 많은 업무를 하면서 동시에 비효율을 찾아 개선해주기를 바란다. 하지만 정말 그들만 있으면 되는 걸까.
10x 엔지니어가 팀에 들어와도 능력을 십분 발휘하기는 어렵다. 우리의 일과를 떠올려보자. 수많은 방해 요소를 알게 될 것이다.
작업을 하다 ‘이거 기능이 이상해요’라는 메세지를 받고 얼굴을 찌푸리며 대응을 한다. 여유가 생겨 개선 작업을 떠올려보지만 불편한 점이 떠올리지 않아 린트(lint)만 수정한다. 개선을 위한 계획을 세워도, 기능 개발과 병행하는 등 현실적인 문제로 진척이 없다.
10x 엔지니어의 미신
“맨먼스 미신”의 저자인 프레더릭 브룩스는 이렇게 말했다. 소프트웨어 개발에서 생산성, 신뢰성, 단순성을 10배 이상 향상시킬 수 있는 획기적인 기술이나 방법론은 존재하지 않는다. 소프트웨어 개발의 핵심 문제는 본질적 복잡성을 다루는 것이며, 이는 쉽게 해결될 수 없다.
그런 측면에서, 나는 일반적인 10x 엔지니어의 정의를 지금은 믿지 않는다. 그러나 이런 사람들이 있다. 지금보다 10배 더 나아질 수 있다고 믿고, 해낼 능력이 있으며, 시간과 노력을 들여 이뤄내는 사람들 말이다.
잠깐 생각해보자. 우리는 정말 10x 엔지니어가 필요한 것일까? 혹은 10x 팀이 필요한 것일까?
팀 그라디언트
소프트웨어는 가라앉는 배와 같아서 가만히 있어도 -1로 간다. 우리의 목표가 10이라면 알 것이다. 한 걸음에 -1을 10으로 만들 수는 없다. 10x 엔지니어의 능력을 최대한으로 발휘하는 팀은 여러 엔지니어들이 그라디언트처럼 존재한다.
-1을 0으로 만드는 사람이 있다. 숨통을 트이게 만들어 새로운 시도를 해도 된다는 안정감을 준다. 0을 1로 만드는 사람이 있다. 아무것도 없는 상황에서 뭔가 된다는 걸 증명한다.
1을 1로 유지하는 사람도 있다. 생각보다 사람들은 이들의 중요성을 잘 모르는데, 소프트웨어가 커지고 오래 된다면 계속해서 1로 유지만 해도 정말 대단한 노력이 필요하다.
이들의 노력으로 불편한 점, 고칠 점을 알게 된다. 그리고 개선을 위한 시간도 확보할 수 있다. 이제 능력을 발휘할 때다. 1을 2로 만드는 사람은 현재의 상황을 바로 개선하는 일을, 1을 10으로 만드는 사람은 시간을 들여 문제 자체를 근본적으로 바꾸는 일을 할 수 있게 된다.
(여담으로, 만약 10x 엔지니어가 정말로 존재한다면 그들은 위와 같은 그라디언트를 모두 익숙하게 해낼 수 있는 사람일 것이다)
기우제의 종지부
훌륭한 대본이 있어야 애드리브도 빛날 수 있다. 위대한 인물도 온전히 자기 힘으로 이룩한 일이란 그리 많지 않다. “악당의 명언”에서 나오는 말이다.
사람들은 10x 엔지니어와 같은 천재의 강림을 기대하며 기우제를 지낸다. 기우제는 그들이 나타날 때까지 계속된다. 그러나 이제는 끝없는 기우제에 종지부를 찍고 본령으로 돌아와야 한다.
부분보다 전체의 합이 언제나 더욱 크다. 10x 엔지니어를 넘어 10x 시너지와 팀을 생각할 때이다.