-
보통 20대 후반에 취직한다면, 50대 후반까지 30년은 일해야 한다. 하지만 시간만 흐른다고 경력이 쌓이고 저절로 승진하며 30년을 한 직장에서 일하는 시대는 끝났다. 그렇기에, 이 책의 저자는 끝없이 성장하고 위로 올라갈 수 있는 개발자의 커리어 패스를 제시한다. IT 제품의 메이커인 개발자의 커리어 패스에는 3가지 포인트가 있다. 바로 기술 / 제품 / 사람이다. 사람이 기술을 통해 제품을 만드는 것이 IT산업의 본질이기 때문이다.
회사에 20년 있었다고 부장님 되는 시대는 끝났다 30년의 경력을 성장하는 시기 10년, 리딩하며 일하는 시기 10년, 서포트하는 시기 10년으로 나눈다. 이해하기 쉽게 말하자면, 팀원으로 10년, 팀장으로 10년, 임원으로 10년 살아가는 것이다. 연차로 말했지만, 단순히 연차가 중요한 것이 아니라, 가장 중요한 건 꾸준히 성장해 각 단계별로 필요한 역량을 갖추는 일이다. 역량은 지식, 숙련도, 경험 삼박자가 잘 맞아떨어져야 갖춰진다. 결국 꾸준히 무언가를 배우고 익히고, 경험해야 하는 것이다.
1. 성장하는 시기 10년
첫 시기인 성장하는 시기 10년에는 세 가지 역량이 필요하다. 바로 엔지니어링 기술, 제품에 대한 이해, 개발 주기에 대한 지식이다. 이런 역량을 쌓기 위해서 무엇보다 중요한 것은, 그저 시키는대로 하는 것이 아닌, 업무의 이면을 이해하려고 하는 크리티컬 싱킹이다.
기술, 제품 이해, 개발 주기 지식이 있다면 당신도 나는 비둘기를 만들 수 있어요! 기술 : 엔지니어링 역량
역시 개발자라면 꾸준히 기술을 익혀야 한다. 책에서는 다양한 분야의 기본 지식을 추천해주고 있다. 나는 기술을 3가지 레이어로 구분해서 공부하고 있다.
도구 - git, intellij, 터미널 등 업무 생산성을 위해 사용법을 알아야 하는 것
응용 - MySQL, 스프링, 코틀린, 자바, 카프카, 도커, 쿠버네티스, 브라우저, 리눅스, nginx 등 기술 기본을 토대로 동작하는 시스템
기본 - 자료구조, 알고리즘, 네트워크, 운영체제, DB, 객체지향, 테스트, 설계 및 아키텍처, 리팩터링, 분산 시스템, 대규모 시스템 등 좀 더 추상적인 개념들
약속이 없는 날 매일 1 ~ 2시간씩 공부를 꾸준히 하고 있지만, 기록하거나 공유하는 습관이 아직 부족하다는 생각이 든다.
제품 : 제품에 대한 이해(도그 푸딩)
기술만 가지고도 충분하다고 생각하는 사람이 많은데, 개발자는 IT 제품의 최종 생산자이자, 최초의 사용자이다. 그렇기에 제품에 대한 이해는 필수적이다. 끊임없이 자신이 개발한 제품을 사용해보며(도그 푸딩) 제품에 대해 이해하려고 노력해라. 자신이 개발하는 제품뿐 아니라 경쟁사 제품도 알아야 하고, 제품에 대해 이해해야 한다. 왜 나온 건지, 어떻게 쓰는 건지 자신의 제품을 이해하려고 노력해야 한다.
제품 + 기술 : 개발 주기에 대한 이해
분석 - 기획 - 개발 - 테스트 - 출시 - 피드백 - 피드백 반영의 개발 주기를 이해해야 한다. 최근에는 애자일 방법론을 통해 이 주기를 짧게 가져가며 소프트웨어 개발이 이뤄지고 있다. 이러한 애자일 방법론을 이해하는 것도 굉장히 중요하다.
2. 리딩 하며 일하는 시기
관리자의 시기에 접어드는 두 번째 시기인 리딩하며 일하는 시기에는 프로젝트, 기술, 사람을 관리하게 된다. 세 가지를 모두 잘할 수는 없으니, 자신이 부족한 부분이 있다면 팀원들 중 해당 부분을 잘하는 사람에게 부탁하라. 관리를 위해서는 소통, 협업, 긍정적인 자세, 프로 의식, 리더십이 중요하다. 꾸준히 책을 읽고, 사람을 만나고, 크리티컬 싱킹을 통해 이 역량들을 발전시켜라.
리더와 프로그래머 사이 제품 : 프로젝트 리드
제품에 집중해서 본다면, 프로젝트를 리드해야 한다. 항상 리소스는 부족하다. 시간, 비용, 인원을 잘 활용해 좋은 품질의 제품을 제 때 낼 수 있도록 관리하는 것이 중요하다. 프로젝트를 하다 보면 다양한 문제들이 곳곳에 도사리고 있다. 문제 해결은 항상 문제를 1. 고르고, 2. 정의하고, 3. 분석하고, 4. 해결책을 찾고 선택하고, 5. 결정권자에게 승인받고, 6. 해결했는지 확인하는 단계를 통해서 나아가야 한다. 모든 문제를 모두 해결할 순 없다. 그렇기에 프로젝트 리드는 항상 문제의 우선순위를 잘 정해야 한다. 급하나 - 급하지 않냐, 중요하냐 - 중요하지 않냐를 통해서 4가지 차원으로 문제를 나누고 접근하라.
기술 : 테크니컬 리드
"초보 개발자는 시키는 일을 잘하고, 중급 개발자는 시키지 않아도 일을 잘하고, 고급 개발자는 남에게 시키는 일을 잘하면 된다. 고수 개발자는 모르는 일, 한 번도 안 해본 일을 하는 사람이다."라고 저자는 이야기한다. 끊임없이 업계, 기술에 대한 공부를 해야한다. 애자일한 방식으로 일단 동작하는 제품을 만들고, 이 제품을 제대로, 그리고 빠르게 동작하게 만들어나갈 수 있도록 해야 한다. 그리고 항상 팀의 기술적 역량을 점검하라. 미지의 기술까지 다루며 속도와 방향성을 지키는 제품을 만들 수 있게 하는 것이 테크니컬 리드의 자질이다.
사람 : 피플 매니저
사람들의 성향을 파악해라. 사람들은 다양한 관점에서 3가지 분류로 나눌 수 있다. 먼저, Why, Why, How 중 어디에 집중하는지로 분류할 수 있다. 그리고 고객 - 제품 - 기술 중 어디에 집중하는지로, 마지막으로 일을 시작하는 사람 - 수행하는 사람 - 마치는 사람으로도 분류할 수 있다. 다양한 성향이 팀에 골고루 있을 수 있도록 해야한다. 피플 매니징의 핵심은 직원들에게 일관성 있고 믿을 수 있는 피드백 루프를 제공하는 것이다. 성과와 행복, 성장 세 가지 측면에서 직원들을 계속 트래킹하며 관리자를 사용해 직원들이 성과를 내고, 행복하고, 성장할 수 있도록 도와라.
제품, 기술, 사람 : 프로세스
제품, 기술, 사람 세 가지 꼭지를 연결시켜 주는 것이 바로 프로세스이다. 그렇기에 좋은 프로세스는 유지하고, 나쁜 프로세스는 꾸준히 개선해야 한다. 좋은 프로세스는 시스템으로 구현되고, 이를 사람들이 자연스럽게 따라서 다시 각 조직의 프로세스가 되도록 정착시켜야 한다.
3. 서포트(경영과 사업) 하는 시기 10년
좋은 사람을 채용하고, 조직의 시너지를 통해 더 큰 퍼포먼스를 내는 게 핵심이다. 최고로 뛰어난 개발자는 초보 개발자의 약 100배의 생산 성가질 수 있지만, 그보다 더 큰 임팩트를 내려면 조직을 통해서 더 큰 책임을 가져야 한다. 결국, 다른 사람을 활용해야 한다. 혼자서 낼 수 있는 임팩트는 한계가 있다.
C언어 아니고 C레벨이다 제품 : 비즈니스 관리
우리 제품이 매출은 어디서 나오는지, 어떻게 사회에 기여하는지 등을 알아야 한다. 핵심 역량, 전략, 작전 재정, 마케팅 다양한 분야를 모두 알아야 한다. 매출, 시장 점유율, 기술력을 전략의 근본으로 삼아서 비즈니스를 성장시켜야 한다. 잘 만들고, 잘 파는 걸 반복하는 게 사업의 본질이다. 소프트웨어의 사업화 방향은 4가지가 있는데, 해당 분류 중 어디에 속하는지 고민해보면 더욱 도움이 될 것이다.
- 제품 판매
- 플랫폼
- 데이터 수익화
- SaaS (B2B)
사람 : 인사 시스템
좋은 프로세스들을 합쳐 인사 시스템으로 만드는 것이 중요하다. 인사 시스템은 직급별 역할과 책임을 나누고, 보상과 복지를 잘 정의하는 것이다. 가장 중요한 것은 잘못된 사람을 뽑지 않는 것이다. 그렇기에 폭넓은 개발 지식과 전문성을 가진 사람을 뽑아라. 이를 위해서 채용 시스템을 정비해야 한다. 사람을 뽑을 때 그냥 대충 뽑지 말고 구체적인 사례 기반으로 사람을 판단하고 채용하는 것이 좋다. 결국 회사는 구성원들의 역량만큼 성장한다. 그렇기에 뽑는 과정에서만 최선을 다하는 것이 아니라, 뽑고 나서도 최선을 다해 그 사람을 성장시킬 수 있는 시스템을 만들어야 한다. 열심히 뽑아놓고 방치하는 건 그 사람에게도, 회사에도 큰 낭비다.
제품 + 사람 : 비전, 목표, 조직 문화
어떤 제품이 나올지는 어떤 비전을 가지고 있는지에서 출발하기 마련이다. 어떤 제품을 어떤 식으로 만들어가는지는 조직 문화에 달려있다. 그렇기에, 어떤 비전을 가지고 있는지, 어떤 가치를 가지고 있는지, 어떤 조직문화를 가지고 있는지는 회사에게 굉장히 중요하다. 좋은 비전과 가치를 통해 조직 문화를 만드는데 기여해야 한다.
책이 참 재밌다. 내가 앞으로 나가야 할 길이 어떤 것인지도 어렴풋이 감이 온다. 지금 당장 내게 중요한 것은, 기술적인 완성도를 갖춰가는 것이다. 이를 바탕으로 꾸준하게 인정받아 팀장 레벨에 빠르게 올라가고 싶다. 그리고 조직 관리, 제품에 대한 식견을 넓히기 위해 카네기 인간 관계론, 실리콘밸리의 팀장들, 실리콘밸리의 위대한 코치, 피플웨어 등 다양한 책을 읽기도 하고 스타트업 제품들에 대한 뉴스 레터를 구독하는 등의 노력을 하고 있다.
유튜브 영상을 통해서도 재밌게 저자의 생각을 들을 수 있으니, 굉장히 추천한다.