[서평] 프로그래머의 길, 멘토에게 묻다를 읽고

moonee·2021년 10월 20일
1

📚서평

목록 보기
4/4
post-thumbnail

들어가며

요즘의 나는 정체되었다는 느낌을 자주 받곤 했다. 부족한 점을 공부하고 동아리에 들어가서 프로젝트를 진행해도 "이렇게 가는게 맞나?, 더 좋은 길은 없을까? 성장하고 있는걸까?" 라는 생각이 들 때가 많았고, 앞으로 개발자 인생을 꾸려나가기 위해서는 성장하는 습관과 개발자로서 방향을 잡아놔야 한다고 생각했다. 그래서 이 책을 읽기 시작했고, 꽤나 많은 영감을 얻었다.
개인적으로 독서 할 때 인상깊은 부분은 따로 발췌해놓는데, 이 책을 읽으면서 도무지 펜을 놓을 수가 없었다
책은 총 5개의 챕터를 걸쳐 특정 패턴에 대해'직면한 문제점'과 '해결방안'을 소개한다. 그 중 각 챕터별로 인상깊었던 몇가지를 정리해보고자 한다.



1. 잔을 비우다

흰 띠를 매라

  • 새로운 상황에 들어설 때는 학습을 통해 얻은 자신감은 그대로 두면서 이전에 얻은 지식은 한편으로 밀어두어라.
  • 흰 띠를 맨다는 것은, 검은 띠라면 방법을 알지만 흰 띠는 배우는 것 말고는 다른 선택이 없다는 깨달음에 근거를 둔 행위이다.
  • 새로운 지식을 받아들이려면 우리는 우선 과거의 경험과 선입견을 한 켠으로 밀어 둘 수 있어야 한다.

    특정 프로그래밍 패러다임으로 작성했던 프로그램을 하나 골라 다른 패러다임에 속한 언어로 다시 구현해보라

열정을 드러내라

  • 열정을 드러내는 것이야말로 견습생이 맡아야하는 몇 안되는 책무 중 하나이다. 심도 있는 지식이나 엄청난 생산성으로 기여하지는 못하더라도 팀에 열정을 불어 넣고 모든 것에 대해서 질문하는 것이야 말로 당신의 본분이라 할 수 있다.

무지를 드러내라

  • 무언의 압력에 굴복해서 사름들이 듣고 싶어하는 얘기를 해주는 것은 튼튼한 관계를 쌓는데 좋은 방법이 아니다. 사람들에게 진실을 말하라.
  • 그 사람들을 안심시켜야 할 때, 아는 척 하기 보다는 당신이 얼마나 잘 배울 수 있는지를 가지고 안심시켜라. 이렇게 해서 당신의 평판은 어떤 지식을 알고 있느냐가 아니라 학습하는 능력이 얼마나 좋은지를 기반으로 쌓여갈 것이다.

업무에 관해서 정말로 이해되지 않는 다섯 가지를 적어보라. 그 목록을 다른 사람들이 볼 수 있는 곳에 붙여두고, 당신의 업무가 바뀔 때 마다 그 목록을 갱신하라

한발 물러서라

  • 너무나 광대한 무지에 직면할 경우, 어떻게 만들어야 하는지 잘 아는 무언가를 만들어보는 시간을 가져라. 그리고 그 경험을 바탕으로 당신이 얼마만큼의 길을 왔고, 지금 현재 역량은 어느 정도인지 깨달아라.

2. 긴 여정을 걷다

예술보다 기예

  • 장인정신은 튼튼한 상호관계에 기초한다. 이기심을 좇이 말고 고객에게 가치를 제공하는 데 집중하라.

열정을 키워라

  • 당신이 좋아하는 일을 하라. 일에서 흥밋거리를 찾고 스스로 그것을 즐길 수 있는지 분별한 후, 자기 자신을 그 일에 쏟아 부어라.
  • 마음 맞는 사람들을 찾고, 배운 것을 공유하라.
  • 고전을 공부하라
  • 자신만의 지도를 그려라.

또 다른 길

  • 당신의 삶에서 무언가 다른 일을 해보는 것을 두려워하지 말았으면 한다. 소프트웨어 개발로부터 멀어진다고 해도 엄격한 사고방식과 다량의 데이터 관련 작업을 자동화하는 습관은 당신이 어디를 가게 되든지 유용할 것이다. 소프트웨어 장인으로서 지냈던 과거는 당신이 택한 어떤 미래든지 더 풍요롭게 해줄 것이다.

만약 어떤 이유로 소프트웨어 개발을 할 수 없게 된다면, 당신은 무슨 일을 하겠는가? 당신이 즐길 수 있을 것 같은 다른 직업 몇 가지를 한번 적어보라. 그 직업에 몸담고 있으면서 그 일을 사랑하는 사람들을 찾아보라. 그들에게 그 직업의 어떤 면이 좋은지 물어보고 당신이 소프트웨어 개발을 좋아하는 이유와 비교해보라

3. 정확한 자기 평가

가장 뒤떨어진 이가 되라.

  • 주변을 당신보다 뛰어난 개발자들로 채워라. 당신이 가장 뒤떨어진 멤버가 되며 그 안에서 더 성장할 여지가 있는 팀을 찾아라
  • 이러한 환경에 있을 수록 더욱 부숴도 되는 장난감을 만들어라
  • 훌륭한 개발자들과 같이 일하는 것은 당신이 자기 평가를 더 면밀히 하도록 해주며, 멘토를 찾는데도 도움이 된다.

바닥을 쓸어라

  • 단순하고 매력도 없지만 반드시 해야하는 종류의 일에 자원하라. 이것은 꼭 그럴 필요 없는 일이라도 당신이 훌륭하게 해낸다는 것을 보임으로써 팀의 성공에 일찍 기여하는 좋은 방법이다.
    -당신이 어디에서 왔던 간에, 새로이 프로젝트에 합류 할 때는 출발점부터 새로 시작해야 한다. 이런 바닥 쓸기는 비록 별 볼일 없는 일이지만 그렇게라도 기여하기 원한다는 메시지를 당신 팀에 보낼 수 있는 기회로 생각하라.

4. 끊임없는 학습

소스를 활용하라

  • 다른 사람들의 코드를 찾아서 읽어라. 당신이 매일 사용하는 도구나 애플리케이션부터 시작해보라. 그 사람들의 코드를 읽고서 당신은 그들처럼 프로그래밍하는 법을 배우게 되고, 더 중요하게는 당신을 둘러싼 인프라를 만들어낸 사고 과정이 어떤 것이었는지 이해하게 된다.
  • 프로그래머들이 어떤 까닭에서 그런 선택을 했는지 이해하기 위해서, 그리고 만약 당신이 그 코드를 작성한 사람 중 하나였다면 어땠을지 보기 위해서 코드의 리팩터링을 시도해보라.

배운 것을 기록하라

  • 당신이 걸어가는 여정의 기록을 일지나 개인 위키, 블로그 등으로 남겨라. 배운 교훈 시간 순으로 기록하게 되면 걸어온 여정을 뚜렷이 볼 수 있으므로 당신이 멘토링하는 사람들에게 영감을 줄 수 있다.
  • 배운 것을 기록만 하고 그냥 잊어버리는 덫에 빠지지 마라. 자신의 일지를 꾸준히 리뷰함으로써 당신은 미래를 만들어 내기 위해 과거와 현재를 재배치 할 수 있다.

피드백 루프를 만들어라

  • 유용한 피드백이란 그것을 기반으로 삼아 실천 할 수 있는 데이터이며, 특정한 행위를 더하거나 덜하도록 선택의 여지를 주는 데이터이다.
  • 강화시키는 피드백과 균형잡는 피드백의 차이점에 유의해라. 강화시키는 피드백은 당신이 무언가를 더 하도록 장려한다. 균형 잡는 피드백은 덜 하도록 장려한다. 이러한 두 유형의 피드백이 결합되면서 하나의 시스템은 자잘한 조정을 수 없이 거쳐 안정적인 상태로 유지 가능하게 된다.

실패하는 법을 배워라

  • 당신이 어떤 식으로 실패하곤 하는지 확인하고, 고칠 부분을 바로 잡아라.
  • 당신을 실패하게 만든 방식, 조건, 습관, 행동 양식이 무엇인지 스스로 인식하는것이 중요하다. 이런 자기 인식으로 무장하면, 스스로의 한계를 인지하면서 자신만의 지도를 그릴 때 의식적으로 선택하고 이상주의로 기우는 경향을 조절 할 수 있게 된다.

6. 학습과정의 구성

독서 목록

  • 읽기로 한 책들을 추적해 갈 독서 목록을 유지하고, 다 읽은 책은 기억해두라.
  • 공개된 장소에 독서 목록을 올려두는 것을 고민해보라.
  • 이 패턴을 통해서 과거의 독서 습관을 성찰 할 수 있다. 여러 해에 걸쳐 쌓인 데이터를 이용하면, 당신이 공부하기로 선택했던 주제들에 나타나는 패턴과 동향, 빠진 부분 같은 것을 알 수 있게 된다.
  • 우선 하나의 주제에 개괄적으로 이해 할 수 있는 책을 골라 읽고, 그 다음에 흥미를 끄는 세부 주제에 대해 자세히 다룬 책을 고르도록 해라.

더 깊이 파고들어라

  • 어떤 개념을 정말로 이해하려면 그 개념이 최초로 언급된 당시의 전후 맥락을 재구성해야한다. 그 어이디어를 누가 먼저 냈는지 조사하고, 그들이 풀려고 했던 문제가 무엇이었는지 이해하라.
  • 수박 겉핥기 식으로 지식을 습득해서는, 지금 모르는 것을 앞으로도 모를 것이며 자기 지식의 한계가 어디까지인지 이해하지 않고 새로운 것을 깨달을 수 없다.


나가며

개발자는 정말 꾸준히 공부해야 하기 때문에 '레거시'같은 개발자가 되지 않기 위해서는 계속해서 마인드셋이나 공부방법을 리팩토링해야 한다.

책을 읽으며 나의 학습 방법을 많이 반추했다. 부족한 점도 있고, 혼자서도 나름 잘해온 점도 있다고 생각한다.

나름 잘해온 점이라 하면 개발 공부를 시작 했을 때 선언식으로 개발 한 미니 프로젝트들을 객체지향으로 싹다 바꿔본 경험, 꾸준히 공부한 과정들을 블로그에 메모한 경험, 새로운 경험에 처해있을 때는 늘 '흰 띠'를 맨다는 생각으로 임했던 경험이 그러한 것 같다.
반면 부족했던 점은 '가장 뒤떨어진 이가 되는 것'을 두려워했던 경험, '더 깊이 파고드는 공부법'을 몰랐던 것, 피드백 루프를 어떻게 만들지 몰랐어서 오랫동안 지체되어있던 것이 그러하다.

이 책을 통해서 현재 나의 문제점이 무엇이고 어떤 점을 개선해야 할지, 어떤 점이 과거의 실패의 원인이었는지 돌이켜보고 깨달을 수 있었다.

이 책은 정말 두고 두고 주기적으로 읽어줘야겠다.

profile
기록

0개의 댓글