개발자로 살아남기 - 한글과컴퓨터, 블리자드, 넥슨, 삼성전자, 몰로코 출신 개발자의 30년 커리어패스 인사이트 (패스트캠퍼스 The Red 콜라보), 2022 세종도서 학술부문 선정작
박종천 지음 / 골든래빗(주) / 2022년 1월
평점 :
장바구니담기


[이 리뷰는 골든래빗 출판사로부터 책을 제공받아 작성했습니다.]

가히 개발자 전성시대라 해도 과언이 아닙니다.
한때 3D를 넘어 4D업종이라고 하던 개발자에 대한 관심을 보면 격세지감을 느낍니다.

얼마 전, 게임개발자인 백영진님의 '정년퇴직'이 업계의 화제였습니다.
백영진님은 네오플에서 16년 이상을 개발자로 근무하였습니다.
트랜드는 물론이고 기술 변화가 심한 직종에서 정년퇴직이라니...정말 대단하십니다.
다른 분야도 마찬가지겠지만 기술 변화가 심한 IT업계에서는 한 업체는 고사하고 동일 직종에서 10년 이상을 온전하게 살아가기가 쉽지 않습니다.


이 책 '개발자로 살아남기'는 '개발자'의 성장 커리어를 담고 있습니다.
저자는 한컴, 삼성전자, 블리자드를 거쳐 현재 몰로코에서 근무하고 있습니다.
30년을 개발 직종에 몸담으면서 개발자가 오랫동안 살아남기 위해 어떻게 커리어를 관리해야 하는지를 잘 보여 주고 있습니다.
컨설턴트의 가이드가 아닌 직접 자신의 발자취를 보여주고 있기에 후배 개발자들을 향한 진심을 느낄 수 있습니다.

저자는 크게 커리와 관리를10년씩 3단계로 나누고 있습니다.

처음 10년은 실력을 쌓으며 성장하는 시기,
다음 10년은 다른 개발자를 리딩하며 일하는 시기,
마지막 10년은 한 발 물러서서 사람들을 돕고 서포트하는 시기입니다.

첫 10년은 기술적 능력을 배양하는 엔지니어링에 집중하고, 다음 10년은 팀 단위의 작업을 진행할 수 있는 매니지먼트 역량을 키워야 합니다.
마지막 10년은 개발의 궁극적인 목표, 비즈니스에 초점을 맞춰 그에 맞는 역량을 가져야 합니다.

저자가 제시하는 역량이 단계별로 갖춰야 되는 것도 아니고, 꼭 필요하지 않을 수도 있습니다.
그리고...더 필요할 수도 있지요.
하지만 이 책에 담긴 내용만으로도 충분히 훌륭한 개발자 커리어를 갖췄다고 생각합니다.

위에서 언급한 3단계를 각 단계별로 갖춰야 할 자질과 기술 3가지씩 소개하고 있습니다.
저자는 이를 '커리어패스 30년을 꿈꾸는 개발자를 위한 9가지 기술'이라고 하네요.

30년 커리어패스 9가지 기술

  • 엔지니어링 역량 : 개발에 대한 기본 지식, 제품에 대한 이해, 개발 주기 지식
  • 매니지먼트 역량 : 프로젝트 관리, 팀 관리, 프로세스 관리
  • 비즈니스 역량 : 인사 시스템, 사업 관리, 비전과 조직 문화

스팩만으로도 어마어마해 보입니다.
이 모두를 갖춘 개발자리면 정말 수억대 연봉을 받을 자격이 있을 것입니다.

오직 코딩, 프로그램 작성만을 생각하는 개발자라면 마지막 '비즈니스 역량'의 필요에 대해 의구심을 가질 수 있습니다.
개발만 하더라도 비즈니스에 대한 이해는 꼭 필요합니다.
어느 정도 이상의 레벨에서는 비즈니스에 따른 최적의 개발 프로세스를 제공해야 합니다.

영어를 못한다고 개발을 못하지 않습니다.
하지만 영어를 잘하면-요즘엔 중국어도 상당히 올라온 것 같더군요- 개발이 좀 더 편안합니다.
비즈니스도 영어와 같습니다.

일반적인 서비스라면 품질과 시간 사이에서 밸런스를 잡아야 합니다.
적절한 품질로 최대한 늦지 않게 지속적으로 시장에 출시하는 것이지요.
스타트업에서는 최소기능제품이라는 개념이 활발히 사용됩니다.
'시간도 부족하고 리소스도 부족하니, 무조건 기능을 줄여서 출시한다'는 정답이 아닙니다.
더 높은 차원에서 프로젝트 관리를 하려면 애초에 이런 상황이 오지 않게 주어진 시간과 리소스를 효과적으로 써야 합니다.

'품질'과 '시간'.
이 둘의 간극은 좀처럼 좁히기 어렵습니다.
특히 시간과의 싸움-그리고 적은 자본-이 생명이라 할 수 있는 스타트업에서는 더욱 그러합니다.
개인적으로는 품질보다는 시간 엄수를 더 중요시합니다.
하지만 '무조건'은 아닙니다.
불편을 느끼지 않을, 서비스를 온전히 사용할 수 있는 최소한의 품질은 보장되어야 합니다.

시간을 아끼는 최고의 방법은 낭비를 없애는 겁니다.
시간을 잡아먹는 요인으로는

  1. 필요 없는 코드
  2. 개발 과정에서 기다림(다음 과정이 준비되지 않았기 때문에)
  3. 불명확한 요구사항
  4. 내부 정치
  5. 느린 내부 소통
    이렇게 다섯 가지가 있습니다.

너무 공감가는 지적입니다.
이런 낭비를 없애려고 노력하지만 잘 되지 않네요.
1,4,5번은 정치와 경륜의 영역이라 생각합니다.
할 수 없는 것은 과감히 포기하거나, 미루고, 지금 당장 할 수 있는 일에 집중해야 합니다.
불필요한 코드를 제거하고, 리팩토링하고, 요구사항에 대한 명확한 정의를 요청해야 합니다.
'개발'은 전체 과정 중 마지막 부분에 있기에 '데드라인'에 민감할 수 밖에 없습니다.
저자가 언급한 5가지를 제거할 수 있다면 마감을 앞두고 하는 야근이나 밤샘 작업은 필요없을 것입니다.

초보 개발자는 시키는 일을 잘하고, 중급 개발자는 시키지 않아도 일을 잘하고, 고급 개발자는 남에게 시키는 일을 잘하면 됩니다.
그보다 위에 있는 고수 개발자는 모르는 일, 한 번도 안 해본 일을 하는 사람입니다.
즉 초급, 중급, 고급까지는 아는 일을 잘하는 사람이고, 고수 개발자, 즉 대가는 모르는 일을 하는 사람입니다.

초,중급의 구분은 비교적 명확합니다.
알고 있는 기술 지식과 경험의 차이가 눈에 띄는 시기이죠.
고급과 고수의 차이는 구분이 어려웠는데 구분할 수 있는 방법을 찾았네요.
'안 해본 일을 대하는 자세'네요.
알고 있는 것을 잘하는 사람도 필요하지만, 해보지 않은 일을 잘 풀어가는 사람이야말로 꼭 필요한 인재죠.

속도보다 방향이 중요하므로, 항상 올바른 방향으로 가고 있는지 점검해야 합니다.
속도에 집중하면 안 됩니다.
오히려 속도가 너무 빠르다면 점검해야 합니다.

속도와 방향, 모두 중요합니다.
그래도 우선시되어야 하는 것은 '방향'입니다.
그렇기에 스타트업도 계속 피벗을 하면서 방향을 바꿉니다.
가보지 않고서는 모르기에 여기저기 가서 확인을 하는 것이지요.
기관사의 임무는 속도를 빨리 올리는 것이 아니라 제대로 가고 있는지 확인하고 키를 조절하는 것입니다.
지금 가고 있는 방향이 맞는지 점검해 봐야겠네요.

성과도 중요하지만 성장도 중요합니다.
성과와 성장이 연결되지 않으면, 현재의 성과는 지속될 수 없습니다.
지금 성장해야 미래의 성과도 보장이 됩니다.

속된 말로, '개발자도 소모품이다'라는 말을 듣기도 합니다.
당장의 성과를 위해 가지고 있는 모든 기술과 역량을 쏟아 붓게 만듭니다.
개발자 개인의 성장은 단 1도 되지 않고, 남는 것은 지나친 야근으로 인한 피로와 직업병뿐입니다.
이게 옳은 것까요?
성과 못지 않게 중요한 것이 성장입니다.
성장이 담보되지 않는다면 개발자가 아닌 타이피스트일 뿐입니다.
소모품이 되지 않으려면 성장에 힘을 써야 합니다.

이끄는 팀마다 일종의 팀훈으로 '행복, 학습, 목표' 세 가지를 제시합니다.
첫째, 직장에서 행복해야 합니다.
어떻게든 행복할 방법을 찾아야 합니다.
둘째, 매일 회사에서 배워야 합니다.
배우지 않으면 성장할 수 없습니다.
마지막으로 명확한 목표를 정해야 합니다.
팀 목표와 개인 목표가 있어야 합니다.

행복, 학습, 목표.
직장을 구할 때 고민해야 할 세 가지가 있습니다.
좋은 사람들, 하고 싶은 일, 높은 연봉.
우선순위는 다르겠지만 대략 이것들을 놓고 고민을 합니다.
여기에 저자가 언급한 것도 추가해야 겠네요.
결국 우리가 일하는 것도 행복하기 위함이니까요.

사내에서 각각 다른 용어를 쓴다면 소통에 문제가 생깁니다.
생각보다 많은 회사가 사내에서 다른 용어를 사용합니다.
사내에서 용어가 통일되어야 원만한 소통이 가능합니다.

정말 공감가는 글입니다.
'틀린 용어'는 그리 큰 문제가 되지 않습니다.
'다른 용어'가 문제가 됩니다.
마케팅에서는 '채널'이라 부르고, 기획팀에서는 '라운지'라 부르고, 개발팀에서는 '보드'라고 한다면 제대로 소통이 될까요?
틀린 용어라도 일단 통일해야 합니다.
이게 가장 우선시 되어야 할 일 중 하나입니다.

개발자는 어떤 자리, 어떤 회사를 목표로 해서는 안 됩니다.
'어떤 사람이 돼야겠다.', '무엇을 해야겠다'를 목표로 삼아야 합니다.
어떤 회사에 지원하는 이유는 그곳에 하고 싶은 일이 있어서여야 하지, 꼭 특정 회사 특정 포지션을 고집해서는 안 됩니다.

개발자가 인기가 높아지면서 특정기업을 지칭하는 단어들도 들리더군요.
그 기업들이 연봉, 복지, 기술적 성장 등 대부분의 분야에서 우수한 조건이긴 하지만 그것이 지원의 전부이어서는 안됩니다.
특히, 주니어라면 자신이 더 배우고 싶은 것이 무엇인지를 고민해야 합니다.
속된 말로 하루이틀 장사할 것이 아니잖아요.
30년 이상을 살아남기 위해서 필요한 것이 무엇인지 잘 생각해 봐야 합니다.

위에서 소개한 9가지 기술외에 부록 개념으로 '시간 관리 비법'과 '30년 커리어패스에서 배운 것'을 소개하고 있습니다.
시간 관리는 개발자에 국한되지 않고 누구나 알아야 하는 것입니다.
저자는 하루에 86400원을 받는다고 생각한다고 하네요.
오늘이 아니면 사용하지 못할 돈, 이걸 어디에 사용할까요?
멋진 아이디어입니다.
매일 생기는, 하지만 오늘 안에 써야하는 돈, 어디에 쓸지 고민이 되네요.

  • 이 회사는 5년을 갈 것인가?
  • 나는 5년 후에도 이 회사에서 일하고 있을 것인가?
  • 5년 후에 내가 이 회사에 아직 있다면, 나는 무슨 일을 하고 있을 것인가?

저자의 '5년 후 질문'입니다.
지금 회사에 대해, 이직에 대해 고민할 때 도움이 되는 질문이네요.
5년이 길다면, 3년, 1년으로도 해보시는 것도 좋을 것 같네요.

30년 경력 개발자의 멋진 강의를 본 기분이 드네요.
이제 막 개발자로 입문하는 주니어는 물론이고 오랜 경력의 시니어들에게도 많은 것을 생각하게 하는 책입니다.
현재 자신의 위치와 자질에 대해 확인해 볼 수 있는 좋은 가이드입니다.

사람은 자신의 꿈을 이루는 사람과 누군가의 꿈을 이루어 주는 사람으로 구분됩니다.

자신의 꿈을 이루겠습니까, 남의 꿈을 이루겠습니까?
개발자 꿈을 이룰 수 있는 방법을 찾고 있는 분들에게 이 책을 추천드립니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo