선택의 실패를 이기는 법

“한 번도 실수를 해보지 않은 사람은 한 번도 새로운 것을 시도한 적이 없는 사람이다.” – 알버트 아인슈타인

개발자에게 선택의 실패를 이기는 법은 무엇일까요? 프로젝트가 실패하거나 다니던 직장에서 갑자기 해고통보를 받거나 또한 회사가 급작스럽게 폐업할 수도 있습니다. 이곳에서 아까운 시간과 노력을 들인 개발자 입장에서는 이 회사를 선택한 것을 후회할 수도 있습니다. 하지만 비롯 실업자가 되었더라도 그곳에서 개발자로서 후회없는 시간을 보냈다면 보다 더 좋은 기회가 열릴 것입니다. 의미있는 프로젝트에 참여하고 성과를 냈으며 로드맵을 가지고 자기계발을 꾸준하게 해왔다면 크게 문제될 것은 없습니다. 아인슈타인의 말처럼 실패와 실수는 새로운 것을 시도한 사람들에게 주어지는 아픔이지만 축복이 될 수도 있습니다.

실패 두려워하지 않기

회사가 망했다고 여러분이 망한 건 아닙니다. 저 또한 회사 폐업 경험을 3번했습니다. 수천만원의 임금을 못받은 적도 있습니다. 하지만 이것은 저의 선택이었습니다. 금전적으로 값비싼 대가를 치렀지만 절실히 느낀 건 회사가 개발자 미래를 보장해주지 않는다는 것입니다. 다시 이야기하지만 당장 실업자가 되어도 누구나 필요로하는 개발자가 되어야 합니다. 또 다른 실패로 프로젝트가 좋은 성과를 내지 못하는 경우도 있습니다. Amazon Web Services로 큰 수익을 얻고 있는 아마존 회사도 이 서비스의 기반이 되었던 프로젝트에 큰 실패를 겪은 적이 있습니다. 향후 묻어두었던 서비스가 다시 수면에 드러나 개선하여 실패를 딛고 큰 성과를 얻을 수 있었습니다. 프로젝트에 있어서 실패는 크게 세가지로 나눌 수 있습니다. 첫째가 기술적 한계이고 둘째가 제품 개발의 방향성을 잘못 잡은 경우입니다. 마지막으로 막상 현장에 도입하려하니 시장이 받아들일 수 없는 제품이기 때문입니다. 아무리 기술적으로 훌륭하더라도 현장에 도입할 때는 많은 문제가 발생합니다. 기술 검증 단계에서의 우울 안 개구리가 서비스 현장을 접하면 하늘을 보고 다른 기술적 도전 과제가 주어지는 것입니다. 결국 수많은 실패를 겪어야 완성에 이를 수 있습니다. 자신이 짠 코드 또한 QA, 버그 수정을 통해 실수와 실패를 개선하는 과정이 거칠 수 밖에 없습니다. 이런 작은 실수들이 완성도 높은 코드 품질에 이르게 합니다. 괴테는 “실수는 인간적인 것이다. 어느 것도 시도하지 않기 때문에 실수하지 않는 사람도 있다.”라고 말했습니다. 개발자는 자신에게 떳떳하다면 실패를 두려워하지 말아야 합니다.

실패를 인정하는 회사 문화

앞서 말했듯이 실패를 인정하지 않는 개발 문화에서는 개발자들이 결코 도전적인 과제를 시도할 수 없습니다. “실리콘밸리에서 실패는 선택이 아닌 필수다” 라는 말이 있습니다. 실패는 축하할 만한 자랑거리라고 인식합니다. 수퍼셀이라는 게임 회사의 실패를 축하하는 문화는 꽤 인상적입니다. 2010년 5명의 직원으로 시작해 2016년 기준 연간 매출액 약 2조 6000억원을 기록하는 핀란드의 게임회사입니다. 단 4개만의 게임으로 위 성공을 이뤄냈습니다. 하지만 그들은 14개의 게임이 실패한 경험이 있습니다. 그리고 게임 개발의 실패에 대한 책임을 묻지 않았습니다. 그리고 실패파티란 것을 열어 개발팀을 격려하고 잘 된 부분과 잘못된 부분을 분석하고 토론했습니다. 실패로부터 배운 것을 축하했습니다. 실패한 개발자는 당사자가 가장 힘듭니다. 회사에게 피해를 준 것이라 인식하고 자신의 능력을 비하합니다. 하지만 회사는 인원 배정이나 업무 지시, 마이크로 메니징이 아닌 실패를 겪은 개발자에게 스스로 다른 프로젝트에 참가하거나 신규 프로젝트를 개발하게 했습니다. 직원들의 일자리를 보장하고 심리적인 안정을 제공한 것입니다. 블리자드는 7년의 시간을 투여한 ‘타이탄 프로젝트’에서 지독한 실패를 겪었습니다. 하지만 그 실패가 ‘오버워치’를 탄생하게 했습니다. 실리콘밸리의 많은 빅테크 기업들이 실패를 용인하는 회사입니다. 구글 전 CEO, 에릭 슈미트는 “구글은 실패를 축하하는 기업”이라고 하고 테슬라 CEO, 엘론 머스크는 “실패는 옵션, 실패하고 있지 않다면 혁신하고 있지 않는 것”이라고 강하게 말합니다.

정리

면접을 보다 보면 이력서에 지원자의 도전 의지가 나타납니다. 해왔던 일들을 반복적으로 양만 늘려서 했는지 도전적인 과제에서 실패를 겪으며 성장했는지 그대로 보입니다. 회사는 지원자의 개발 능력을 사려고 합니다. 이 능력이라 함은 코딩 능력 뿐만 아니라 그들이 겪었던 실패의 자산을 사길 원합니다. 그 실패의 경험은 올바른 방향을 설정해주고 프로젝트가 성공에 이르도록 하는 확신을 줍니다. 실패하십시요. 그리고 회사는 그 실패를 용인해주고 자산을 축적해야 합니다.

Back to top