본문 바로가기
  • 블랜더 거실
독서습관

독서습관220_시간 경력 학업 성장의 중요성을 알려주는 책_커리어 스킬: 완벽한 개발자 인생 로드맵_존 손메즈_2019_길벗(200308)

by bandiburi 2020. 3. 8.

● 저자 : 존 손메즈 John Sonmez
개발자로 17년 이상 일하면서 프로그래밍을 할 줄 아는 것과 소프트웨어 개발자로 성공하는 데 필요한 기술을 갖추는 것에는 큰 차이가 있다는 걸 깨닫고 자신에게 부족한 기술, 리더십, 소통 능력을 키웠다. 그 결과 고액을 받고 테스트 자동화, 애자일 방법론에 관한 컨설팅을 해주는 컨설턴트가 되었다. 기술 관련 유명 교육기관인 플루럴사이트에 소프트웨어 개발 관련 강의 55개를 올려놓았고, 현재는 심플 프로그래머 블로그 및 유튜브 채널에 동영상, 책, 강의를 올리면서 성공을 원하는 다른 개발자를 돕는 일에 집중하고 있다. 두 권의 베스트셀러 <커리어 스킬: 완벽한 개발자 인생 로드맵>, <소프트 스킬: 평범한 개발자의 비범한 인생 전략 71가지>를 집필했다. 

728x90


소감
코로나19 사태가 시간이 지나면서 진정이 되리라 생각했는데 '20년 1월에 시작해서 3월 초인 현재까지 국내뿐만 아니라 전 세계로 확산되고 있습니다. 한국에서 진단을 많이 하고 감염경로를 지속 관리하다 보니 양성 확진자와 사망자가 보도되면서 한국인의 입국을 불허하는 나라가 100개국을 넘어섰다고 합니다.

회사에서도 임산부나 어린 자녀를 양육해야 하는 여직원을 우선적으로 재택근무로 바꿨고 확진자와 동선이 겹치면 자가격리를 실시하고 있습니다. 자영업자를 포함한 많은 업종에 직격탄을 날리고 반면에 모바일 앱을 통한 주문이 급증하고 있다는 보도입니다. 

 엔지니어지만 스마트폰 중심으로 세상이 돌아가고 있고 산업도 모바일을 빼놓고는 성장하기 힘든 시대가 되었습니다. 그래서 프로그래머로 산다는 것이 어떤 것일까 궁금했는데 구리 도서관 신간 코너에서 이 책 <커리어 스킬>과 마주쳤습니다. 목차를 보니 프로그래머 초급부터 전문가로서의 삶까지 전반적으로 포함한 책으로 직장생활을 하는 일반인들에게도 어떻게 직업인으로 살아야 할지 인사이트를 주는 책입니다. 

 미국과는 차이점이 있지만 한 직장에서 20년을 넘기고 매너리즘에 빠지기 쉬운 시기에 앞으로의 인생을 어떻게 살아야 할지 긴장감을 주는 책입니다. 아이들이 하나 둘 대학생이 되면서 할 일을 다했다고 생각하는 순간 이제 은퇴를 앞두고 인생 후반전을 준비해야 하는 시기가 되었습니다. 회사에서는 관리자로서 수직적 직급체계 내에서 일반직원일 때보다 더 상급자의 지시에 솔직한 의견을 내기가 어려워지는 걸 느낍니다. 위에 있는 상급자는 그 위에 있는 상급자에게 똑같은 상황입니다. 이 점에 결국은 Line이라는 말과 코드가 맞는 인사라는 것이 와 닿습니다. 

 한 사람의 삶이 모두 소중합니다. 조직 내에서 한계가 느껴질 수도 있지만 그럴수록 이 책에서 언급한 것처럼 쿨하게 준비하고 쿨하게 변신을 해야 하겠습니다. 감정에 치우쳐서 비난하는 것은 평판에서도 좋을 게 없습니다. 누구나 조직 내에서 역할을 하기 위해 최선을 다하고 있는 것입니다. 

이 책이 소프트웨어 개발자뿐만 아니라 대한민국의 직장인들에게 파이팅할 수 있는 기폭제가 되길 기대합니다. 


책에서 발췌
44페이지) 대신 훌륭한 코드를 작성하는 데 도움이 될 필독서 두 권을 추천한다. 첫 번째 책은 스티브 맥코넬Steve McConnell이 쓴 <Code Complete>다. 이 책은 모든 소프트웨어 개발자가 읽어야 할 고전이다. 두 번째 책은 로버트 마틴 Robert Martin이 쓴 <Clean Code>다. 이 책 또한 더 나은 코드를 작성하는 데 도움이 될 고전이다. 
54) 차라리 한 가지 프로그래밍 언어를 꼼꼼히 배우는 데 집중하라. 진짜 자신감을 느끼는 언어가 적어도 하나는 있어야 한다. 어떤 소프트웨어 개발자가 되고 싶은지 결정할 때 최대한 구체적인 목표를 세우라고 했던 것을 기억하는가? 그 원칙은 여기서도 똑같이 적용된다(중략)
 코드를 구조화한다는 게 무슨 뜻일까? 코드 구조화란 주석을 줄줄이 달지 않고도 이해하기 쉽도록 코드를 잘 작성하는 것을 가리킨다. 원래는 코드만으로도 의사 전달이 가능해야 한다. 은퇴할 때까지 그런 기술을 모르는 소프트웨어 개발자가 많다. 
57) Gale Laakmann McDowell이 쓴 탁월한 책인 <코딩 인터뷰 완전 분석 Cracking the Coding Interview>은 이에 관한 최고의 참고 도서다. (중략) 이 책은 알고리즘과 데이터 구조에 대해 알아야 할 거의 모든 것을 다룬다. 배우기 어려운 부분이긴 하지만 고생할 만한 가치가 있다. 이 분야에 대한 소프트웨어 개발자 대다수의 이해 수준은 한심할 정도로 낮다. 
69) 학습 계획을 모듈 단위로 세우고 각 모듈마다 실습에 돌입할 수 있을 정도의 내용을 공부하라. 그리고 직접 이것저것 해보면서 떠오르는 질문에 대한 답을 찾아라. 경험을 통해 배우는 데 집중하라는 뜻이다. (중략)
마지막으로 배운 내용을 남에게 가르쳐라. 어떤 형식으로 누구를 가르치든 상관없다. (중략) 자신의 생각을 다른 존재와 소통할 수 있는 형태로 정리하는 게 관건이다. 그렇게 해야만 머리에 담긴 지식을 제대로 이해할 수 있다. 
75) 기술 발전에 도움이 될 마지막 방법은 그 기술을 이미 잘 알고 있는 전문가가 쓴 글을 열심히 읽는 것이다. 나는 새로운 기술을 배울 때 매일 30분씩 그 기술과 관련된 다양한 블로그 포스트를 읽는다. C++를 진심으로 심도 있게 배우고 싶을 때는 스콧 마이어스 Scott Meyers의  <Effective C++>를 집어삼킬 듯이 읽었다. 때로는 전문가의 의견을 듣는 것만으로 혼자서는 얻기 어려운 깊은 통찰을 얻는다. 
91) 오늘날 프로그래밍에서는 그 언어를 완벽하게 통달하느냐보다 라이브러리와 프레임워크 사용법을 아느냐가 더 중요하다. 그래서 둘을 구분하는 게 중요하다. 
96) 당신에게도 추천하는 방법이다. 꼭 톱코더일 필요는 없다. 알고리즘 유형의 프로그래밍 문제 해결을 연습할 곳은 거기 말고도 많다. 지금 소개한 좋은 자료(톱코더) 외에도 많은 자료가 있다. 
 - Gayle Laakmann McDowell <Cracking the Coding Interview>
 - Jon Bentley <Programming Pearls>
 - Project Euler
 - Codility
 - Interview Cake
 - 톱코더 (알고리즘 대결은 'practice room'에서 이뤄진다)
99) 대학교육의 장점 중
대학 교육은 개발자로 일하는 데 필요한 실용적인 지식보다는 컴퓨터 공학 관련 개념에 대해 깊이 있는 지식을 전달하는 데 집중한다. 이러한 지식은 실시간 시스템 작업이나 새 알고리즘 개발, 혹은 알고리즘 효율 높이기처럼 복잡한 프로그래밍 시나리오와 연관된 문제를 풀어나갈 때 엄청나게 큰 도움이 된다. 머신 러닝 같은 새로운 분야에서도 컴퓨터 공학 개념을 깊이 있게 이해하고 있는 사람을 찾는다. 
101) 대학교육의 단점 중
 가장 명백한 첫 번째 단점은 시간이다. 대학에 진학하면 최소 4년이라는 시간을 투자해야 한다. 재학 중에는 풀타임 소프트웨어 개발자 경력을 만들 수 없다. 일을 한다면 꽤 많은 경력을 쌓을 수 있는 시간이므로 그 정도면 꽤 큰 헌신이라고 볼 수 있다. 그러므로 학위 취득 시 얻는 혜택이 4년이라는 시간을 포기할 가치가 있는지 생각해볼 필요가 있다. 
 그리고 대학 생활 중에는 큰 의미 없이 낭비하는 시간이 많다. 
103) 대학은 학생들의 주의를 분산시킬 온갖 것들로 가득 차 있다. 술, 파티, 시위, 스포츠, 공연, 코 고는 룸메이트... 주의를 흐트러뜨릴 것 천지다.(중략) 소프트웨어 개발자가 되기 위해 진지하게 노력할 마음이 있다면 이러한 환경은 집중에 방해가 될 뿐이다. 
104) 인생은 한 번뿐이고 그걸 살아내는 건 자신의 몫이다. 당신은 누구에게 무엇도 빚지지 않았고 반대로 당신에게 빚진 사람도 없다. 결국 자신이 내린 선택의 결과를 책임지는 건 자기 자신이다. 
105) 최대한 빚을 내지 않기를 진심으로 바란다. 빚은 끔찍하다. 빚 때문에 인생이 망가질 수 도 있다. 교육 때문에 지는 빚은 주택이나 부동산 투자를 담보로 내는 대출처럼 좋은 빚이라고 보는 사람도 있으나 나는 동의하지 않는다. 
106) 빚을 내지 않고 대학교를 다닐 수 있는 방법


   1. 1년 정도 직장에서 일하면서 돈을 모아라. 고등학교를 졸업하자마자 대학에 진학할 필요는 없다. 어느 정도 현금을 모아두면 빚을 지지 않을 수 있다. 
   2. 장학금을 받아라. 누구나 받을 수 있는 건 아니지만 장학금을 몇 번 받으면 비용이 크게 절약된다. 
   3. 학교에 다니는 동안 파트타임으로 일하라. 그러면 학비에 보탬이 된다. 힘들어도 장기적으로 볼 대 그럴 가치가 있다. 
   4. 부모님 집에서 지내라. 독립하고 싶은 마음도 이해한다. 하지만 다른 일을 할 수 있는 시간이 많이 늘어나고 비용도 크게 절약된다. 
   5. 알래스카처럼 무상교육을 받을 수 있는 지역으로 이사하라. 아니면 잠시 독일 같은 곳으로 가도 좋다. 
106) 자신의 학습은 자신이 책임져라
  대학에 진학하고 학위를 취득하는 건 좋은 일이지만, 모든 걸 배울 수 있다는 뜻이 아니다. 대학에 그렇게 많은 돈과 시간을 투자할 거라면 학위증 이상의 혜택을 얻는 게 좋지 않겠는가? 뭔가를 배웠다고 해서 꼭 그걸 습득했다고  장담할 수 없다. 어디서 누구에게 배우는지와 상관없이 학습은 어차피 스스로 해야 한다. 자신의 학습은 늘 자신의 책임이라는 걸 잊지 마라. 
107) 대학 시절은 포트폴리오를 만들거나 사이드 프로젝트를 시작할 완벽한 시기다. 거기서 얻은 경험과 부수입은 제대로 된 경력을 만들 때까지 도움이 될 것이다. 사이드 프로젝트는 좋은 실습 기회가 되므로 공부한 내용을 뇌리에 새기고 자신의 지식을 현실 세계에 적용할 때 필요한 깊이 있는 이해력을 얻는 데 도움이 된다. 
108) 인턴십은 경력 없는 신입 소프트웨어 개발자가 구글이나 마이크로소프트 같은 큰 기업에 취직할 좋은 기회가 된다. 사실 일반 직장에 들어가서 일해보는 것만으로도 큰 수확이다. 인턴십은 학위 과정에서 얻기 어려운 업무 경력도 만들어준다. 학위는 받았지만 아무 경력이 없어 다른 대학 졸업생들과 마찬가지로 구직난에 시달리고 싶은 사람은 없을 것이다. 
112) 시간은 돈이다(그리고 돈은 시간이다) 돈을 버는 데 시간을 투자하라. 번 돈은 더 많은 돈을 버는 데 써라. 그리고 벌어들인 순수익은 시간을 되사는 데 써라. 나는 무언가를 배울 때 천천히 수년의 시간을 들이기보다 3~6개월간 온전히 집중해서 쏟아붓는 쪽을 선호한다. 
125) 소프트웨어 개발자가 익혀야 할 다섯 가지 소프트 스킬을 꼽아달라고 하면 나는 항상 독학하는 기술을 1순위로 꼽는다. 독학하는 기술은 컴퓨터 프로그래밍이나 소프트웨어 개발 분야뿐만 아니라 일상에서도 정말 중요한 역할을 한다. 
131) "계획을 세우는 데 실패하면 실패할 계획을 세운 것이나 마찬가지다."라는 옛말이 있다. 좀 상투적으로 들리겠지만 정말 맞는 말이다. 장담컨대 소프트웨어 개발자가 되기 위해 어떻게 공부할지 계획을 세우지 않은 사람은 반드시 실패할 것이다. 무슨 일이든 혼자 힘으로 하려면 반드시 계획이 있어야 한다. 내 말을 믿어라. 사업을 해본 사람으로서 하는 말이다. 
132) 어떤 분야에서건 발전에 필요한 가장 강력한 원동력은 누적 효과다. 일정표를 만들고 매일 매주 천천히 조금씩 전진하길 바란다. 
133) 나는 내 소중한 시간을 들인 이상 일거양득의 효과를 거두길 좋아한다. 지금 쓰고 있는 글을 먼저 블로그에 올릴 것이다. 글을 책상 앞에 서서 작성하면서 추가로 칼로리도 소모한다. 하루에 1,000자 이상 쓰면서 글 솜씨도 함께 발전시킨다. 이 장을 쓰는 동안 적어도 세 가지 소득을 올릴 것이다. 당신도 사이드 프로젝트를 통해 그런 효과를 볼 수 있다. 좋은 사이드 프로젝트는 다음과 같은 혜택을 제공한다. 
 - 배운 내용을 연습하고 적용해볼 문제를 제공한다. 
 - 면접에 제출할 프로젝트 포트폴리오 제작에 보탬이 된다. 
 - 추가 소득이나 새로운 사업을 만들 가능성이 열린다. 
 - 코딩을 배우는 동시에 유용한 도구도 만들 수 있다. 
 - 자신의 능력에 대한 자신감을 키워준다. 
 - (이런 일을 좋아하는 사람에게는) 그 자체로 재미있다. 
137) 인턴십 기회가 누구에게나 주어지는 건 아니다. 해볼 기회가 생겼다면, 특히 막 입문할 즈음에 그런 기회를 얻었다면 보수가 별로 좋지 않거나 거의 무보수에 가깝더라도 그 기회를 꼭 잡기를 강력히 권한다. 
144) 자신이 처한 상황을 유리하게 이용하는 게 좋다. 그리고 장담하는데 이런 자세는 반드시 본인에게 도움이 된다. 누가 무엇을 필요로 하는지 관찰하고 예측하고 다른 이들의 업무 수행을 도울 때, 단순히 본인의 업무를 수행하면서 다른 이의 도움을 받을 때보다 훨씬 많은 것을 배운다
145) 고용주로서 말하건대 내가 지급하는 비용보다 더 많은 돈을 벌어다 줄 능력을 증명하는 인턴은 바로 고용한다. 그렇게 하지 않을 이유가 없다. 
149) 반대로 자신 있는 특정 소프트웨어 개발 기술과 관련된 글을 최근까지 꾸준히 업데이트하고 있는 전문 블로그가 등장한다면 상황이 극적으로 역전된다. 
150) 자신의 이름을 구글에서 검색해 무엇이 뜨는지 확인해보라. 회사에 어떤 이력서를 냈는지 모르지만 요즘 같은 세상에서는 그게 진짜 이력서다. 
151) 모바일 앱을 제작해서 앱스토어에 올리는 것이다. 요즘에는 누구나 정말 쉽게 모바일 앱을 만들 수 있는데 앱을 만들면 포트폴리오만 만들어지는 게 아니다. 돈을 벌 수도 있고 부업을 시작할 수도 있다. 
156) 자신의 제안을 효과적으로 잘 전달한다면 낮은 보수를 경험과 맞바꿀 수 있을 것이다. 이렇게 얻은 경험은 장기적으로 볼 때 가치가 크다.


158) The squeaky wheel gets the grease 우는 아이 젖 준다는 속담과 비슷한 의미를 지닌다. 
169) 강력한 인맥을 구축하는 핵심적인 두 가지 방법은 다음과 같다. 
 - 많은 사람을 만나라
 - 그들에게 보탬이 돼라
173) 다른 이들에게 보탬이 될 일을 해서 자신이 남들을 찾아다니지 않아도 사람들이 자신을 찾아오게 하는 것이다.  소프트웨어 개발자라면 블로그 운영, 튜토리얼 동영상 제작, 책이나 기사 쓰기, 팟캐스트 참여하기 등 여러 활동을 통해 평판을 높이면 된다. 
176) 실력 있는 이력서 작성 전문가의 도움을 받아서 만든 이력서를 낸 소프트웨어 개발자는 더 많은 일자리, 더 높은 연봉을 받는다. 
178) 계약하기 전에 작업 샘플을 보여달라고 해라. 전문가라면 다른 고객을 위해 작성했던 이력서를 가명으로 바꾸어서 보여줄 수 있을 것이다. 
181) 궁극적으로 자신이 어떤 기술을 갖추었고 어떤 분야가 전문인지, 그 기술로 과거에 어떤 훌륭한 결과를 냈는지, 그리고 지원하는 자리에서 그 기술을 어떻게 활용할지 아주 명확하게 보여주어야 한다. 그거면 된다. 
182) 좋든 싫든 링크드인Linkedin은 경력 관련 인맥 관리와 웹 이력서에 있어 사실상 표준이나 다름없는 서비스다. 적어도 이 책을 쓰는 시점에는 그렇다. 그러므로 링크드인 프로필을 만들어라. 장래에 당신을 고용할 사람도 그 프로필을 반드시 확인할 것이다. 그러니 여기서부터 시작하라. 
185) 좋은 광고가 최대한 짧은 시간에 구매로 이어지듯이 좋은 이력서도 최대한 짧은 시간 안에 면접으로 이어진다. 그러므로 이력서는 1페이지로 작성하라. 
204) 면접 중에 '공격'받는다고 느낀다 해도 그냥 그 상황을 견뎌라. 자신이 자신감을 가질 만한 실력을 갖추었다고 믿어라. 자신은 바보 같아 보인다거나 무능해 보이는 것을 두려워할 필요 없이 약점을 인정할 배포가 있는 사람이라고 굳게 다잡아라. 
205) 그리스 시인 아르킬로코스는 이렇게 말한다. "기대를 높인다고 저절로 수준이 높아지는 일은 없다. 한 인간의 수준은 오로지 그가 훈련한 수준에 머무른다."(중략)
저는 능동적인 사람입니다. 해야 할 일이 무엇인지 스스로 파악하고 실행합니다. 자신이 면접에서 하는 모든 말에 이 메시지를 담아라. 심플 프로그래머의 고용주로서 말하건대 이것이야말로 내 직원에게 바라는 바다. 
224) 막다른 지점에 다다랐다는 걸 깨달았으면 즉시 이직을 준비하라. 똑같은 직급으로 10년, 심지어 15년까지도 계속 머무는 소프트웨어 개발자를 많이 보았다. 성장하지 않으면 죽어가고 있는 것이다. 성장해야 한다. 
225) 영국의 전 총리 벤자민 디즈레일리 Benjamin Disraeli는 이런 명언을 남겼다.  "불평하지도 설명하지도 마라." 나는 이 조언이 퇴사하는 사람에게 딱 맞는 말이라고 생각한다. 

728x90
반응형

댓글