Hyunjung Im

Frontend Developer

github

개발자로 살아남기 책을 읽고

2024-01-04

image 개발자로 살아남기라는 책을 읽었다. 처음으로 읽은 건 3달 전쯤이지만, 이번에 서평을 작성하기 위해 한 번 더 읽었다. 2번 읽어도 빠르게 읽어나갈 수 있는 책이다.
읽게 된 계기는 ‘살아남기’ 라는 말에 눈길이 많이 갔달까? 개발자 커리어를 시작하면서 앞으로 어떤 방향으로 나아가야 할까 라는 고민이 계속 드는 나에게 딱 맞는 책인 것 같아서 바로 읽기 시작했다.

저자는 한글과 컴퓨터, 블리자드, 삼성 등 30여 년 동안 개발자로 활약하고 있는 분이다. 표지를 보면 30년 커리어패스 인사이트라고 적혀있는데 이 이유가 저자의 경력 년수에 있다. 자신이 걸어왔던 길을 바탕으로 어떻게 커리어패스를 세워가야 할지에 대한 저자의 인사이트가 담겨있다. 그 이상은 자신도 경험하지 않아 적을 수 없었다는 저자의 말을 보니 신뢰가 올라갔다.

저자는 책에서 크게 세 단계 역량으로 나누어 설명한다.

  1. 엔지니어링 역량 (성장하는 10년)
    1. 개발에 대한 기본 지식
    2. 제품에 대한 이해
    3. 개발 주기 지식
  2. 매니지먼트 역량 (리딩하면서 일하는 10년)
    1. 프로젝트 관리
    2. 팀 관리
    3. 프로세스 관리
  3. 비즈니스 역량 (서포트하는 10년)
    1. 인사 시스템
    2. 사업 관리
    3. 비전과 조직 문화

성장하는 10년 - 엔지니어링 역량

엔지니어링 역량에서는 어떻게 하면 지속적으로 성장할 수 있을지 성장을 이끌어내는 일의 방식에 대해 말한다.

중요 키워드는 다음과 같다.

  • 기본 개발 지식이 1순위이다.
  • 개발자 기본은 영어이다. (자료구조, 알고리즘, 운영체제, 디자인 패턴, 프로그래밍 언어, 경험은 기본 지식으로 탑재되어야 한다.)
  • 크리티컬 싱킹하기
  • 도구를 사랑하지 말기
  • 파이자형 인재 되기
  • 데이터 주도 개발
  • 30년 동안 도그푸딩 실천하기 (내가 만든 개밥을 스스로 먹어라)

기본을 중요시 하기

image

개발의 기본은 영어 -> 수학과 물리 -> 위 기본 지식이라고 한다. 세상이 빠르게 변하기 때문에 새로운 것을 빠르게 배울 수 있는 능력을 키우는 것에 집중하라는 말에 많은 공감이 갔다.

부트캠프는 속도가 중요해서 보통의 대학 전공에서 배우는 순서와는 반대로 배운다. 기본 CS 지식을 배우기 전에 바로 개발 언어를 익히면서 조금 익숙해졌다 싶으면 프레임워크에 대해 공부한다. 이렇게 되면 속도는 빠르지만, 속 빈 강정이 되기 쉬운 것 같다. 이후에 운영체제를 조금 공부하다보니 프레임워크에 전반적으로 기본 CS 지식이나 알고리즘 등이 베이스로 깔려있다는 것을 알았다. 기본 지식을 알고서 접근하는 것과 모르고 접근하는 것의 습득 속도가 다른 것은 분명할 것이다.

크리티컬 씽킹

크리티컬 씽킹은 주어진 일의 앞뒤를 생각하는 습관이라고 한다. 즉 남이 시키는 대로만 하지 않는 것이다. 문제의 상하 좌우까지 고민하는 사고방식을 습관으로 들이면 모든 일을 더 깊이 들여다볼 수 있다. 크리티컬 씽킹은 시키는 일에만 해당하는 것은 아니고 빠르게 바뀌는 툴, 언어 등에 대한 시선도 기를 수 있다고 한다.

애자일

마지막으로 개발 주기 방법론인 애자일에 대해서도 나온다. 저자가 블리자드에서 하스스톤 게임을 개발하며 겪었던 애자일 경험을 풀며 어떻게 애자일을 효과적으로 사용할 수 있을지 말한다. 이론만을 말하는 게 아니라서 더 설득력 있게 다가왔던 것 같다. 애자일을 효율적이게 사용하기 위해서는 도구가 중요하다고 말하는데, 이번에 회사에서 JIRA 컨설팅을 받고서 사용 방법을 통일하는 작업을 한 이후에 능률이 올라간 것 같다는 느낌이 들어 많은 공감이 됐다.


공부는 할 때 해야 합니다. 개발 초기 10년에 공부하는 것과 중간 10년에 공부하는 것은 속도가 다릅니다.

개발자 커리어패스 30년 중에서 처음 10년, 모르는 게 가장 많은 시기에 최대한 많이 깊게 공부하세요. 기본 지식이 선입견이 되고, 나이 먹게 되면 새로운 걸 받아들이는 속도가 느려집니다.


리딩하면서 일하는 10년 - 매니지먼트 역량

사실 처음 목차를 읽었을 땐 이 파트는 가볍게 읽어야겠단 생각을 했다. 하지만 요새 많은 고민이 들었던 소통 방법에 관한 얘기가 나오는 걸 보고 제일 집중해서 읽게 됐다.

회사를 다니며 협업이 정말 중요하다는 걸 많이 느끼고 있다. 협업에서 가장 중요한 소통 능력이 부족한 것 같아 어떻게 개선하면 좋을지 고민했는데, 이번 챕터가 방향 설계에 많이 도움이 되었다.

소프트 스킬의 기본 다섯 가지

  1. 소통
  2. 협업
  3. 긍정적인 자세
  4. 프로 의식
  5. 리더십

책 내용 중 가장 인상 깊었던 부분 중 하나는 소통에서는 투명성이 중요하다는 부분이었다. 리더가 투명하게 이야기하면 더 쉽게 의도가 전달되고, 리더를 예측할 수 있게 된다. 투명성과 예측 가능성이 확보되면 직원에게 자율성이 생긴다. 라는 부분이었다. 이 부분을 읽고 나서 나부터 먼저 투명하게 소통해야겠다는 생각이 들어 실천하고 있다. 내가 무엇을 하고 있는지 물어보기 전에 먼저 드러내려고 하고 있다.

어떤 팀원이 되고자 하는지, 어떤 상사를 원하는지에 대한 생각을 해야 더 올바른 방향으로 나아갈 수 있다는 것을 알았다. 리드를 해야 할 경력이 되었다고 해서 바로 매니지먼트 역량이 쌓이는 것이 아닌 것처럼 기조를 잘 쌓아나가야겠다.


서포트하는 10년 - 비즈니스 역량

이 파트에서는 채용에 관한 내용이 나온다. 면접관의 처지에서 그리고 지원자의 입장도 함께 다룬다. 채용 프로세스를 거친 지 얼마 되지 않아서 그런지 굉장히 속도감 있게 읽혔다.

그 다음으로는 회사의 조직 문화 만들기에 대해 다룬다. 조직 문화는 회사의 운영체제라고 할 수 있을 정도로 중요한 부분이다.

스타트업의 조직 문화의 다섯 가지 기본

  1. 얼라인먼트
    1. 모두가 같은 생각으로 통일되는 것
    2. 스타트업 일원은 목표를 이해하고, 목표를 달성하는 데 헌신해야 한다.
  2. 다양성
    1. 쇠사슬 강도는 가장 약한 부분에서 결정되므로 약한 부분을 빨리 발견하는 게 중요하다. 빠르게 발견할 수 있도록 모두가 마음 놓고 자기 생각을 말할 수 있어야 한다.
  3. 한계를 설정하면 안 된다.
  4. 속도
  5. 스케일

개개인이 모여 조직과 회사가 된다. 그러므로 회사가 변하려면 구성원인 개인이 변해야 한다. 조직에 변화가 일어나야 조직 문화가 변해서 경쟁력을 갖춘 회사가 된다.


시간 관리

위 세 가지 역량 이외에도 저자가 강조하는 것이 있다. 모든 과정에서 필수 조건인 시간 관리이다. 저자의 시간 관리 비법에 대해 나오는데 많은 인사이트를 얻을 수 있었다. 계속 보기 위해 간략히 밑에 정리했다.

  • 시간을 돈이라고 생각하기.

    • 시간 관리는 결국 시간을 쓰는 프로세스를 바꾸는 것이다.
    • 항상 목표와 계획을 세우고 실천한 뒤 측정해야 한다. 그리고 반복하면서 최적화해야 한다.
    • 목표 -> 계획 -> 실천 -> 평가
    • 아무 생각 없이 일하면 다른 사람이 시간을 뺏어간다.
  • 계획 세우기

    • 할 일 리스트를 주변인에게 공유하면 더 좋다. -> 소프트 스킬의 “투명성”과 연결됨
  • 몰입하기

    • 생산성은 몰입할 때 가장 높아진다. - flow 이론
    • 몰입 상태로 전환하는 데는 시간이 든다. 시간이 얼마나 걸리는지 파악해보고, 시간 관리를 해야 한다.
    • 몰입 환경 확보하기
    • 사람은 멀티태스킹을 할 수 없는 존재이다. 일과 일을 스위칭할 때마다 몰입 상태로 진입하는 시간이 든다.
  • 쓴 시간 측정하기

    • 나만이 할 수 있던 일은 무엇이었는지, 남이 할 수도 있는 일을 내가 하지는 않았는지 체크하기. 저자는 중요하고 나만 할 수 있는 일을 먼저 하려고 노력한다고 함
    • 사람은 자기가 하는 일을 남에게 주지 않고 끌어안으려는 경향이 있다. 그러지 말기.
    • 일을 버리는 연습 하기
  • 최적화하기

    • 쓴 시간을 측정하는 목적은 최적화이다.
    • 낭비만 없애도 시간 관리에 큰 도움이 된다. 낭비의 예시로 소통이 있다. 급한 일이거나 덜 급한 일일 때 사용해야 할 소통 도구는 다를 것. 소통 도구를 언제 어떻게 사용할지 미리 약속해두면 도움이 된다.
  • 이메일 최적화

    • 용건만 간단히 쓰기 위해 노력해야 한다.
    • 답장 작성하기.
  • 회의 최적화

  • 휴식 취하기


이 책은 제목이나 목차만 봐도 타겟이 누구인지 명확하다. 나처럼 어떤 방향으로 나아가야 할 지 고민이 드는 개발자들에게 좋은 나침반이 되어줄 수 있을 책이다.

개발자로 일하게 된 지 이제 4개월 차가 되어가는데 목표 설정이 모호했던 나를 일깨워준 것 같다. 성장하는 10년에 해당하는 지금. 더 성장할 수 있도록 배우는 것을 멈추지 않고 나아가야겠다.