[리뷰] 함께 자라기 - 애자일로 가는 길

sana·2022년 8월 7일
0
post-thumbnail

책을 읽게 된 계기

개발자 3년차인 요즘 부쩍 불안한 마음이 들고는 한다.
경력은 쌓였는데 실력은 그에 비례하지 않는 것처럼 느껴지기 때문인 것 같다.
돌이켜보자면, 신입때는 직장생활도 실무도 처음이라 그저 적응하기 바빴다..고는 하지만
한편으로는 취업이라는 목표를 달성해서 안주했던 것 같다.
이듬해는 그냥 놀았다.

그리고 지금, 새로운 회사로 이직하게 되어 새로운 사람들을 만나니 성장에 대한 욕구가 커졌다.
배울점이 많은 팀원들을 보며 나도 팀에 도움이 되고 싶어졌다.
그래서 이 책을 읽게 되었다.
동기부여도 얻고 어떻게 학습하고 성장할 수 있을지에 대한 유용한 힌트들을 얻기 위해서 말이다.

내용 정리

이 책은 총 3장으로 이루어져 있는데, 내용 정리는 1장인 <자라기>만 하려고 한다.
왜냐하면 뒷부분을 읽지 않았기 때문이다.
두꺼운 책은 아니지만 내 경험을 떠올리며 읽다보니 생각이 많아져서 그것을 충분히 정리한 후 다음 챕터를 읽으려고 한다.

1장 자라기

  • 최소한도의 경험치만 넘어가면 경력 연수와 실제 직무 성과의 상관성이 생각보다 낮다.
    • 개발자의 경험이 얼마나 폭넓고 다양했는지가 실제 직무성과와 관련이 있다.
  • 의도적 수련
    • 피드백을 짧은 주기로 얻는 것, 그리고 실수를 교정할 기회가 있는 것
    • 피드백을 짧을 주기로 얻어야 다음 사이클에서 그 피드백을 바탕으로 실수를 교정하여 발전할 수 있음
  • 자기계발은 복리다
    • 더글러스의 작업 구분
      • A작업) 원래 하기로 되어 있는 일
      • B작업) A작업(제품만들기)에서 시간과 품질을 개선하는 것
      • C작업) B작업(개선 사이클) 자체의 시간과 품질을 개선하는 것. 개선하는 능력을 개선
        • C작업은 우리의 사고방식과 상호 작용 방식을 개선하는 것으로 잠재적으로 영향력이 매우 크다
    • 저자의 팁
      • 자신이 이미 갖고 있는 것들을 잘 활용하라
        • 새로운 것만 유입하는 데 집중하지 말고 내가 갖고 있는 지식을 활용하라
        • 이미 갖고 있는 것들을 서로 연결하여 시너지 효과가 나게 하라
        • 새로운 것이 들어오면 이미 갖고 있는 것들과 충돌을 시도하라
        • 현재 내가 하는 일이 차후에 밑거름이 될 수 있도록 하라
    • 외부 물질을 체화하라
      • 주기적으로 외부자극을 받으라
    • 자신을 개선하는 프로세스에 대해 생각해 보라
    • 피드백을 자주 받아라
    • 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들어라
    • 학습 프레임을 가져야 한다
      • 실행 프레임은 현재 주어진 과업이 좋은 성과를 내는 걸로 생각하는 틀
      • 학습 프레임은 현재 주어진 과업이 내가 얼마나 배우느냐로 여기게 되는 틀
  • 가장 학습하기 힘든 직업이 살아남는다
    • 학습하기 힘든 것) 독창성, 사회적 민감성, 협상, 설득, 타인을 돕고 돌보기
    • 기획서에 나와있는 대로 프로그램을 만드는 것이 아니라, 암묵지와 직관을 잘 학습해야 함
  • 달인이 되는 비결
    • 꾸준한 반복만으로는 안된다. 실력을 개선하려는 동기가 있어야 하고, 구체적인 피드백을 적절한 시기에 받아야 한다
  • 전문성을 형성하기 위해서는 타당성과 피드백을 높여야 함
    • 타당성을 높이려면 변수를 제한하고 실험을 하면서 규칙성과 인과관계를 찾으려는 노력을 하면 됨

  • 의도적 수련의 필수 조건: 적절한 난이도
    • 지루함을 느끼는 경우: 실력 낮추기(a1)
      • 마우스가 아닌 키보드로만 개발, 디버거를 안 쓰고 개발 등
    • 지루함을 느끼는 경우: 난이도 높이기(a2)
      • 시간 제약을 두고 하기, 새로운 언어로 진행하기
      • 잡 크래프팅) 리팩터링, 자동화 테스트, 일을 효율적으로 하기 위한 자신만의 도구 개발
    • 불안함을 느끼는 경우: 실력 높이기(b2)
      • 사회적 접근) 나보다 뛰어난 전문가 도움 얻기 (e.g. 페어 프로그래밍), 검색
      • 도구적 접근) 디버거, 자동 통합 도구, 오픈소스 라이브러리 활용
      • 내관적 접근) 비슷한 일을 했던 경험을 되살려 봄
    • 불안함을 느끼는 경우: 난이도 낮추기(b2)
      • 맡은 일의 가장 간단하면서 핵심적인 결과물을 첫번째 목표로 삼는다
      • 쉬운 작업을 먼저 수행할 경우 정확도가 높아진다
    • 이러한 전략을 선택하기 위해서는 우선 자신의 상황을 정확히 파악해야 한다. 즉, 메타인지가 중요함
  • 의도적 수련의 일상적 예시
  • 프로그래밍 언어 배우기의 달인
    • 튜토리얼을 읽을 때 뭘 만들지 생각하고 읽는다 (e.g. 단어 개수 세기 프로그램)
    • 공부할 때 표준 라이브러리 소스코드를 읽는다
    • 공부 중 다른 사람의 코드에 내가 필요한 기능을 추가한다
    • 전문성을 효과적으로 뽑아내기 위해서는 구체적인 사건에 대해 말하도록 유도하는 것이 좋다
  • 실수는 예방하는 것이 아니라 관리하는 것이다
    • 불확실한 상황에서 실수는 피할 수 없다. 실수를 통해 배워야 한다.
  • 뛰어난 선생에 대한 미신
    • 메타인지를 높이는 노력
      • 가르치는 입장에서 “내가 이 문제를 해결할 때 어떤 과정을 거치는가”를 생각하며 자신의 머릿속을 관찰하고, 질문하고 분석함
      • 학생의 입장에서 이걸 배우면서 어떤 생각을 하는가를 직접 관찰하고 질문을 던지고 분석함
  • 나홀로 전문가에 대한 미신
    • 어떤 기술적 실천법이라도 그걸 현실에 적용하기 위해서는 사회적 자본과 기술이 필요함
    • 사회적 자본) 일적으로 협력하고 신뢰하는 것
    • 뛰어난 개발자일수록 타인과의 관계에 더 많은 시간을 씀
    • 프로그래밍을 잘한다는 정의 안에 의사소통 능력을 그 일부로 보아야 함
    • 사회적 자본과 기술이 없는 상황에서 도메인 지식만 높으면 오히려 장애가 되기도 함
    • 마이크로 인터랙션이 필요. 인사 주고받기, 지나가는 대화, 물어보기 등 일상적이고 소소하고 빈번한 상호작용
    • 사회적 기술) 도움받기, 피드백 주고받기, 영향력 미치기, 가르치고 배우기, 위임하기 등

떠오르는 생각들

  • 경력과 직무 성과의 상관성이 낮다는 것. 알고 있는 사실이었지만 실제의 실험사례와 숫자로 보니 더욱 정신이 번쩍 들었다. 책을 읽은 의도대로 아주 동기부여 확실하게 되었다.
  • 의도적 수련이라는 개념은 몰랐지만 업무를 하며 무의식적으로 난이도 조절을 해 온 것 같다. 이것은 반복되고 지루한 것을 못참아 하고 언제나 새로운 것을 익히는 것을 좋아하는 덕분인 것 같다. 다소 쉬운 일이 주어졌을 때는 새로운 방법을 시도하면서 난이도를 높인다거나, 어려운 일에 부딪혔을 때는 작은 부분으로 잘게 쪼개 하나씩 완수해 간다는 식으로 말이다.
  • 모르는 것이 너무 많다보니 인풋을 늘리는 데에만 집중했는데 이미 내가 가지고 있는 것을 활용하는 방안을 고민해 보아야 할 것 같다. 더불어 내가 알고 있다고 생각하는 것이 정말 맞는지 확인하는 시간도 필요하다. 지금껏 새로운 것을 도구적으로 익히기만 하고 그것을 깊게 이해하고 넘어가지는 않아 한없이 얕은 지식만 늘어나는 것 같다. 가지수는 적더라도 자신있게 말할 수 있는 것들이 늘어났으면 좋겠다.
  • 그동안 학습에 대한 계획을 세울 때 단순히 업무 시간과 고정된 시간 외 가용 시간을 계산하고, 그 시간에 무엇을 채워넣을지, 어떤 우선순위가 있을지 고민했었다. 이 계획에 피드백 시간은 존재하지 않았다. 앞으로 짧은 주기로 회고하는 시간을 많이 가져야겠다.
  • 커뮤니케이션과 소셜스킬은 자신 없는 부분인데 연차가 쌓일수록 중요성을 많이 느끼고 있다. 학습이야 혼자 열심히 하면 된다지만, 사람들과 어울리는 것은 경우의 수와 변수가 많아 조금 어려운 것 같다. 2장 <함께>에서 힌트를 얻을 수 있을까?
  • 어려운 내용을 정말 쉽게 알려주는 사람에게 비결을 물었더니 스스로에게 질문하고 설명하고 막히면 다시 공부하는 식으로 한다고 했다. 메타인지가 높은 사람같다.
  • 의도적 수련을 일상 생활에도 어떻게 적용할 수 있을지 고민해 보아야겠다. 책에서는 등산을 예시로 들었는데, 나의 경우 피아노나 수영을 할 때 이것이 필요할 것 같다. 그러고보니 피아노 학원을 다닐때와는 다르게 개인 레슨을 받는 지금은 연습시간에 혼자서 어떻게 의도적 수련을 할 수 있는지를 배우는 것 같다. 초등학생들이 다니는 동네학원에서 배울 때는 단순히 악보를 보며 치는 반복이었고, 선생님께서도 어떻게 악보에 나와있는 대로 칠 수 있는지를 알려주셨다. 반면, 개인레슨 선생님께서는 음표를 읽는 것을 넘어 음악을 어떻게 표현할지 내 생각을 물어보시고, 한 음 한 음 소리를 만들기 위해 어떻게 연습해야 할지 나와 상의한다. 역시 전문가가 되는 방법은 어느 분야나 비슷한 것 같다.

0개의 댓글