개발자로 살아남기 - 책 리뷰
저자는 30년 간 실천할 개발 주기에 대해서 설명한다. 이 책을 선택한 이유는 개발 직무가 아니더라도 우리의 커리어에 적용이 되는 글들이 많다. 스타트업 종사자라면 읽으면 꼭 도움을 줄 책이라고 생각하여 리뷰를 쓴다.
나는 개발자가 아니지만 나의 인생 30년 주기를 어떻게 살아가야 할지에 대해서 한번 생각해주게 된 계기가 된 것 같다. 커리어 30년 주기를 어떻게 설정하고 실행해 나가야 하는지 상세하게 기술해 있기 때문에 스타트업 종사자라면 도움이 많이 될 것이라고 생각한다.
저자는 블리자드에서 일하면서 아는 일을 잘하는 능력보다 모르는 일도 분석해서 끝까지 처리하는 능력, 그래서 새로운 프로젝트를 맡을 수 있는 능력이 있어야 리드 개발자로 승진한다고 말한다. 이 말의 의미는 선례가 없는 문제를 잘 풀 줄 아는 사람을 지칭하는 말이다.
박종천 님의 프로필이 화려하다. 한글과 컴퓨터(개발팀장) -> 미국 스타트업(Technical Director) -> 블리자드 미국 본사(Lead Software Engineer) -> 넥슨(VP of Platform Technology) -> 삼성전자(무선사업부 상무 그룹장) -> MOLOCO(Head of Solutions Architecture)
저자는 현재 잘 나가는 회사 몰로코에서 'Head of Solutions Architecture' 직책을 맡고 있다.
몰로코는 머신러닝을 이용한 광고 집행 서비스 DSP(demand side platform)를 제공하며 구체적으로 고객사의 데이터를 활용하여 고객사가 원하는 사용자들을 찾게 도와주는 서비스를 제공한다.
우리가 회사에서 살아남으려면 결국에는 성장해야 하는데 어떻게 하면 성장할 수 있을까? 저자는 성장 역량을 끌어올리려면 어떻게 해야 하는지 알려준다. 성장은 역량이 늘어난다는 뜻인데 그렇다면 성장하는 사람의 역량이란 무엇일까??
컴퓨터를 분해하고, 운영체제 구석구석 설정을 살펴보거나, 자료구조와 알고리즘을 직접 만들어보라고 한다.
자신이 만드는 제품을 직접 써보면서 더 좋은 제품을 만들고자 하는 욕구가 있어야 더 좋은 개발자로 발전합니다. 그래서 경쟁 제품도 많이 써봐야 합니다. 다양한 제품들을 써보면 제품을 이해하고 시장도 이해할 수 있습니다. 그래야 내가 만드는 제품에 내 의견을 불어넣어 재밌게 개발할 수 있습니다.
엔지니어링 직무가 아니더라도 기획자라면 새로 출시된 어플들을 비교 분석해보고, 어떤 플랫폼이 요즘 핫한지 살펴보는 것만이 아니라 그 이유를 찾으면서 끝까지 파고들어야 한다고 생각한다. 대충 하면 안 하는 것보다 못하기 때문에 본인 걸로 만들어야 한다는 뜻이다.
책을 읽고 공부했으면 꼭 직접 해봐야 내 것이 된다고 말한다.
전문가를 만나서 책에서 배운 내용과 직접 해보며 겪은 어려움을 이야기하면 나의 역량도 올라갑니다.
스펙대로만 개발만 하는 게 아니라 사용자 입장에서 제품을 생각하고 아이디어를 보태야 합니다.
책을 읽고 다른 사람에게 설명하면서 내가 느꼈던 부분과 왜 이 부분이 좋은지 등 설명을 하고 설득을 시켜야 한다. 책을 읽고 상대방에게 설명을 했을 때 설득이 되지 않는다면 논리가 부족하다는 증거이고 어떤 부분에서 설득이 안 되었는지 자기 객관화가 중요하다. 이것 또한 상대방에게 직접 말을 함으로써 본인의 단점이 무엇인지 알 수 있는 것이다. 이런 것들을 습관화하면 책에서 나오는 좋은 내용들을 보고 실천하게 되고, 자기만의 스타일의 옷을 만들어 나가는 과정이라고 생각하면 될 것이다.
피터 드러커는 '측정할 수 없다면 관리할 수 없고, 관리할 수 없다면 개선할 수도 없다'라고 말했다. 그렇다면 내가 알고 있는 지식을 토론을 통해서 얘기를 해봐야 내가 잘 배우고 있는지 측정할 수 있고, 반대로 토론의 패배를 통해서 부족한 부분이 무엇인지 알게 된다면 개선을 할 수 있다.
그렇다면 소비자만 최종 제품을 쓰는 게 아니라, 내가 먼저 제품을 써보고 좋아해야 사용자도 좋아하기 때문에 가까이 있는 직원들부터 좋아하는지 테스트를 해봐야 한다고 저자는 말한다. 우리 제품도 깊이 있게 많이 써보고, 글로 남기는 것이 최고의 방법이다. 좋은 제품을 만들려면 좋은 데이터를 수집하고 분석하는 능력이 필수입니다. 그 과정에서 고객 여정 분석, A/B 테스트, 테이터 주도 개발 등이 유용한 도구가 될 겁니다.
첫 10년간은 열심히 배워야 한다. 책을 보거나, 나보다 많이 아는 사람한테 직접 찾아가서 물어보거나 직/간접 경험을 많이 경험해야 한다고 말한다. 변화하는 시장에서 끊임없이 배우지 못하면 기초가 쌓이지 않기 때문에 물어보고 실험해보고 계속해서 공부해 나가야 한다고 박종천 님이 말한다.
리딩 할 때의 10년은 일을 잘 돌아가게 팀을 행복하게 만들어야 한다고 말한다. 직원이 기술적인 부분이 미흡하다고 느껴지면 열심히 키워서 그 직원을 성장하게 도와줘야 한다고 말한다. 즉 직원들을 성장하게 하고 훌륭한 관리자는 어떠한 사람과도 일할 수 있고, 훌륭한 직원도 어떠한 매니저랑도 일할 수 있다.
마지막 서포트하는 10년은 큰 그림을 봐야 하는데 하고하자 하는 일을 골라야 하고 제품을 출시하고 외부에서 투자를 받아와야 한다고 한다. 비전, 우리가 가는 방향 -> 나의 비전이 아니라 우리의 비전을 만들어야 한다고 말한다.
스티브잡스는 "내가 당신에게 일을 시키려고 뽑는 게 아니라 당신이 나에게 뭘 해야 할지를 알려주기를 기대한다고 말했다." 사장이 시키는 데로 만 일을 하면 회사는 자발적인 문화와 아이디어가 없기 때문에 회사가 망할 수 있다. 그렇기 때문에 시키지 않아도 자발적인 아이디어를 낼 수 있는 기업 문화를 만들어 줘야 한다고 말한다. 또한 좋은 사람을 뽑는 능력과 인사와 비전적 역량을 많이 키워야 한다고 말한다.
애자일은 무계획/무관리 개발과 지나친 계획/관리 개발 사이에서의 타협점이다. 품질을 놓치지 않으면서도 기민한 개발을 지향하고, 짧은 주기를 반복하여 큰 프로젝트를 완성해 나아가는 방법론이다.
애자일의 꽃은 회고라고 말한다. 매달 또는 분기에 한 번 정도 정기적으로 현재 조직, 기술, 제품, 프로세스(도구)에 대해서 논의해보고, 문제점이 발견되었을 때 개선 방안을 깊게 살펴보는 과정이 회고입니다. 지속적으로 조직, 기술, 제품, 프로세스 등 모든 것이 개선되도록 노력하는 최고의 도구가 회고인 거죠. 애자일이 원활히 동작하려면 적극적인 소통이 중요하다. 즉 투명성과 개발성이 필요하다.
블리자드는 게임에 들어가는 A부터 Z까지 모든 걸 직접 만든다.
이 과정에서 일의 진행 상황과 현재 적용하고 있는 개발 기술이 무엇인지 등을 수시로 공유하면서 제품 개발의 방향이 올바르게 가고 있는지 확인하기 위해서 극도로 투명성이 필요하다고 말한다.
블리자드에서는 PC와 모바일 두 플랫폼에 대응해야 해서 일정을 고려해 멀티 플랫폼을 지원하는 유니티 엔진을 선택한 겁니다. 자동 머지 시스템은 빠른 속도로 개발하는 근간이 되었죠.
A부터 Z 모든 프로세스를 직접 해봐야 문제 해결력을 기를 수 있다.
리더에게 기술, 제품, 시장에 대한 인사이트가 없으면 개발만 하다가 도태된다고 말한다. 저자는 책과 사람을 만나 크리티컬 싱킹을 제안하며 인사이트를 계발한다고 말한다. 좋은 책을 계속 읽고, 좋은 사람을 계속 만나면서 얻어진 것들을 실제 업무에 적용해보고, 크리티컬 싱킹을 해서 계속 확장해야 한다고 한다.
크리티컬 싱킹의 과정
1단계 문제 고르기
2단계 고른 문제를 정의하기
3단계 문제 분석하기
4단계 해결책을 찾고 그중에서 최선의 해결책 선택하기
5단계 선택한 해결책을 실행해도 되는지 결정권자에게 승인받기
6단계 문제가 해결되었는지 확인하기
Why 성향은 질문을 던집니다. 왜를 묻는 거죠. What 성향은 제품에 관심을 가집니다. 다리를 만들자고 하면, 무슨 다리인지 제품 자체에 관심을 갖습니다. How 성향은 기술에 집중합니다. 다리를 짓는 최신 공법을 적용할까요?, 콘크리트는 이 제품으로 할까요? 등으로 말입니다. 그래서 결국 Why, What, How는 고객에게 집중하느냐, 제품에 집중하느냐, 기술에 집중하느냐로 나뉩니다. 팀원의 성향을 파악하고 있으면 관리가 한결 수월합니다.
ex) 독을 묻을 때 왜 10번만 파야 되지?, 왜 삽으로 파야 하지?, 곡괭이로 파면 안 되나?, 꼭 파야 하나?, 독을 왜 묻지 이런 질문을 하고 더 좋은 방법을 고민하면 어떻게 될까요? 소프트웨어를 개발하면서 왜(why), 어떻게(how), 무엇(what), 누가(who), 언제?(when)까지 출시해야 하는지를 종합적으로 고려해야 합니다.
어떻게에 매몰되면 좁은 영역에서 해결책을 얻을 수는 있지만 종합적인 관점에서 최고 혹은 최선의 해결책을 얻지 못합니다. 크리티컬 싱킹은 종합적인 관점에서 해법을 구하는 습관입니다. 같은 시간을 투자해도 상대적으로 더 큰 성장을 이끌어냅니다.
마지막으로 What If 성향을 알아봅시다. 이 성향의 사람은 '다리를 짓자고 하면 배를 타고 가면 안 되나요?'라고 물어봅니다. 좀 당황스럽기도 하지만 What If 성향은 굉장히 독특하거나 큰 기여를 하기도 하며 큰 보석이 될 수 있습니다.
일주일치 업무 리스트를 만들어서 공유하자
일주일치 업무 리스트를 만들어 다른 사람들에게 공유하게 되면 그 일을 하는 게 맞다고들 생각하면 조용히 있을 것이고, 아닌 것 같다고 생각하면 조언을 해줄 수 있다고 말한다. 다른 사람에게 자신이 하는 일을 알리는 행위는 소프트 스킬의 투명성과 연결된다고 말한다. 그렇기 때문에 소통이 빨라지고, 시간관리에 도움이 된다. 할 일 리스트를 알리는 행동 자체가 나는 이런 중요한 일을 하고 있으니, '이것보다 중요한 일이 아니라면 나에게 시키지 말아주세요'라는 의미가 될 수 있다.
저자의 30년 커리어패스에서 배운 것
인생은 피봇팅(pivoting)의 연속이라고 말한다. 시장의 변화하는 상황에 따라서 고객들은 무엇을 좋아하는지 필요한 것을 만든다는 생각으로 일했다고 한다. 거기에 더 나아가 핵심가치가 무엇이며 회사에서 가장 중요한 것은 무엇인지를 고민을 많이 했다고 한다. 비즈니스 세계에서 플랫폼은 다른 회사들이 돈 벌 수 있게 도와주는 기반이다.
비즈니스 역량
회사의 역량, 전략, 작전, 재정, 마케팅을 파악하고 있어야 합니다.
첫 번째는 사업성입니다. 진짜로 사업성이 있느냐, 이미 시장이 존재하는지, 만드는 제품이 시장과 잘 맞는지 살핍니다. 두 번째는 혁신성입니다. 다른 회사와 다른 뭔가 특별한 혁신적인 점이 있는지 봅니다. 특허, 기획, 기술, 속도 등을 봅니다. 진입장벽이 너무 낮은 시장은 좋지 못합니다. 시장성이 있더라도 다른 회사가 넘지 못할 진입장벽이 있어야 합니다. 그 장벽이 혁신성입니다. 세 번째는 개발 역량입니다. 개발자들에게 실제로 능력이 있고, 프로세스가 잘 만들어져 있는지 봅니다. 마지막 네 번째는 글로벌 확장성입니다. 세계 무대로 확장해도 통할 비즈니스인지를 보는 겁니다. 이 네 가지가 초기 스타트업을 평가하는 항목이라고 말한다.
회사 목표가 좋은 게임을 만들자이면 팀은 좋은 기술을 만들어서 좋은 게임을 만들자, 개인은 좋은 기술로 좋은 게임을 만들어서 부자가 되자 이렇게 연결할 수 있습니다. 회사가 가는 방향, 팀이 가는 방향, 개인이 가는 방향, 비전, 목표가 연결되어야 합니다. 블리자드 비전은 Dedicated to creating the most epic entertainment experiences...ever.입니다. 최고로 재밌는 게임 경험을 제공하는 데 최선을 다한다 정도로 의역할 수 있습니다.
저자는 돈을 쫓아가기보다는 능력에 집중해야 한다고 말한다. 나뭇가지에 앉아 있는 새가 그 나뭇가지가 부러질까 걱정을 안 한다. 나뭇가지가 튼튼해서가 아니라 부러져도 날개가 있기 때문에 죽지 않기 때문이다.
그렇기 때문에 내 능력이 뛰어나면 회사라는 울타리 안에서 금이 간다고 하더라도 걱정할 필요가 없다는 뜻이다.
이런 책도 추천합니다.
� 좋은 책을 읽고 함께 얘기하는 클럽
� 매일 밤 12시 경제 신문보기(클하)
� 매주 월요일 VC 동향 체크
참고자료