📗 개발자 책 읽기/한권 내용 정리

함께 자라기 - 애자일로 가는 길 | 김창준

민돌v 2022. 12. 13. 00:55
728x90

 

이 책은 백엔드 신입으로 취직하고 지금은 사라진, 전 사수님 께서 처음으로 추천해준 책이다.

그렇게 읽어볼 책 목록 (읽은 책 거의 없음) 에 기약없이 존재하다가,

한 2달전인가? 같이 공부했던 킹갓제너럴엠페리얼 지인께서 선물로 주어서 가지고있다가, 최근에 다 읽었다..!! 

(Shout out sendkite)

 

 

이책을 시작으로 책을 잘 읽어봐야지..

함께 자라기를 읽고 기록해볼만한 내용과 소감 짧게 정리 레쓰고

 

함께자라기


 

1. 자라기

"자라기" == "학습" 이다.

일반적으로 불확실성이 높은 경우일수록 학습이 중요하다.

성인? 사회인은 야생학습을 할 줄 알아야한다.

 

야생학습은 학교학습에 비해서 아래와 같은 특징을 가진다

야생학습은 대부분 협력적이다 (학교학습은 대부분 개별적이다.)
야생학습은 대부분 비순차적이다. 
야생학습은 대부분 자료에 한정이 없다.
야생학습은 대부분 명확한 평가가 없다.
야생학습은 대부분 정답이 없다.
야생학습은 목표가 불분명하고 바뀌기도 한다.

 

📌 경력과 실력은 무조건적으로 비례하지 않다.

경험많은 사람을 전문가로 본 연구에서는 그들이  아래 2가지를 더 잘한다고 나타남

  1. 문제를 이해하는 데 더 많은 시간과 노력을 기울이고
  2. 요구사항 분석에 시간을 더 쓴다

 

→ 최소한도의 경험치만 넘어가면 경력 연차와 업무 수행능력은 크게 상관이 없다.

  • 단, 경험이 얼마나 폭넓고 다양했는지는 실제 직무성과 연관이 있음이 밝혀졌다.

 

📌 잘 뽑는 것 이상으로 중요한 것

교육, 훈련과 시스템

 

훈련 = '자신의 기량을 향상시킬 목적으로 하는 수련' = 의도적 수련

  • (정말 기량 향상을 목적으로 자신의 약점을 개선하려고 애쓰는 훈련)
  • 1만시간의 법칙 = 의도적 수련의 시간만이 의미가 있다.

 

📌 업무를 하면서도 의도적 수련을 할 수 있는 방법

  1. 피드백을 짧은 주기로 얻는 것
  2. 실수를 교정할 기회가 있는 것

ex) 골프 퍼팅 - 공을 치기만하면 훈련이 되지 않는다. 보고 교정해야함

ex) 피드백 시점 - 퍼팅의 결과를 1년 뒤에 알수있다면?  → 작년 이맘때 13시 25분에 이렇게~ 쳐서 잘못했었네.. 교정 가능..??

 

📌 뛰어난 진단 전문의의 의도적 수련 방법

  • 보통의 전문의는 환자를 한번 진료하면 매우 나중에 다시 만나거나, 두번 다시 만나지 못한다.

하지만, 이사람의 인터뷰에서는 다른 점을 발견했다.

  1. 그는 상당한 시간을 자기 환자를 확인하는 데에 보내면서,
  2. 진단 시에 자신이 무얼 새악하는지 많은 기록을 하고, 자신이 얼마나 정확한지 나중에 확인하더라
  3. 이를 통해 그는 자신이 언제, 어떻게 나아지고 있는지 알 수 있었다,

 

즉. 회고한다.

 

📌 자기계발은 복리로 돌아온다.

더글러스 엥겔바트의 작업 구분 (작업을 3가지로 나눔 A, B, C)

A - 원래 하려던 일

B - A를 개선하는 작업

C - B를 개선하는 작업 (즉, 개선하는 작업을 개선하는 작업)

 

이걸 조직의 일에 적용하면, 조직은 복리 조직이 된다. (계속해서 크게크게 성장한다.)

  • 개인의 지성을 높이는 것은 더하기적 사고이다.
  • 집단의 지성을 높이는 것은 곱하기적 사고이다.

 

✨ 저자의 복리적인 성장에 대한 생각

  1. 자신이 이미 갖고 있는 것들을 잘 활용하기
    • 새로운 것만 유입시키지 말고, 그 지식을 얼마나 어떻게 활용하는지 반성
    • 이미 갖고 있는 것들을 하이퍼링크로 서로 촘촘히 연결. 노드 간 이동 속도가 빨라질 수 있도록 고속 도로를 놔라. 다양한 분야를 넘나들며 시너지 효과!
    • 새로운 것이 들어오면 이미 갖고 있는 것들과 충돌을 시도
    • 현재 내가 하는 일이 차후에 밑거름이 될 수 있도록 하라
  2. 외부 물질을 체화하라
    • 주기적인 외부 자극을 받기
    • 외부 자극을 받고 재빨리 자기화
  3. 자신을 개선하는 프로세스에 대해 생각해보기
    • A 작업을 되돌아보는 회고/반성 활동을 주기적으로 하기
    • 나를 개선하는 과정을 어떻게 개선할 수 있을지 고민
  4. 피드백을 자주 받아라
    • 사이클 타임을 줄여라, 순환율을 높여라
    • 일찍, 그리고 자주 실패하기. 실패에서 학습하기
  5. 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들기

 

📌 학습 프레임

일하면서 성장하기.

 

업무 성과가 더 뛰어난 개발자 (출저 : <스타퍼포머가 되는 9가지 법칙> 정성호)

"아직 입사한지 1년도 되지 않아서 챇 보고 코드보고 업무를 배워가는 중 입니다."

  • 그래서 딱히 누구에게 물어보지 않고, 또 아직 업무 파악이 안된지라  누굴 도와줄 입장이 아닙니다.

 

"아직 입사한지 1년도 되진않아서, 많이 물어보며 배우고 있습니다."

  • 제가 공부하고 싶은 내용을 주제로 팀 내 스터디를 운영하고 있습니다. 같이 공부해 가는 거지요
  • 제가 출퇴근 시간에 지하철에서 많이 봤던 모 프레임 워크로 팀원이 힘들어하는걸 알게되어서 도와드렸습니다.
  • 아직 1년도 안되어서 시간이 있으니까 다른분들 일을 저극적으로 도와드릴 수가 있었습니다.

 

 → 마인드의 차이. 자신의 선택과 행동, 반응에 대해서 생각해보자

 

 

📌 달인이 되는 방법

꾸준히 반복하고 그냥한다고 달인이 되지 않는다. 마치 양치질을 10년동안 하지만 개쩌는 양치질을 할 수 없는 것 처럼

하지만, 그저 빛연아

 

  1. 실력을 개선하려는 동기가 있어야한다.
    • (양치질을 개쩔게 하고싶다는 동기가 부족)
  2. 구체적인 피드백을 적절한 시기에 받아야한다.
    • (양치질을 하고 누군가에게 검사받아야하는 피드백의 부족)

 

📌 당신이 제자리 걸음인 이유

다시 한번 더 의도적 수련의 중요성!!

 

실력을 높이기 위해서는 "의도적 수련"이 중요하다.

 

이소룡이 의도적 수련의 쌉고수다.

이소룡은 어느 날 자신이 가르치던 도장에 온 도전자와 싸우게 되었다. 당시 중국인들은 비(非)중국인들에게 무술을 가르치는 이소룡을 못마땅하게 여겨 도전자를 보내곤 했다고 한다. 때문에 이때도 대수롭지 않게 승부에 임했지만, 상대방을 쓰러트리는 것에 3분이나 걸렸다는 것에 이소룡은 충격을 받고,
[51]
 금방 승부를 내지 못한 것은 자신의 몸 상태가 최상이 아니었기 때문이라 생각, 
웨이트 트레이닝
을 본격적으로 시작하며 절권도 개발에 힘썼다는 설이 있다. 그런데 모 다큐멘터리에서의 이소룡의 아내의 말에 따르면, 이소룡은 금방 싸움을 끝내지 못한 것은 절권도의 시스템에 심각한 문제가 있기 때문이라고 생각해 전면 개편을 시작했다는 것이다.

출처 : 나무위키

 

→ 3분이라는 의도적인 제한 시간

 

 

📌 의도적 수련 방법

의도적 수련이 되려면 나의 실력과 작업의 난이도가 비슷해야 한다.
의도적 수련의 필수조건은, 적절한 난이도 이다.
난이도와 실력이 비슷해야 인간은 몰입한다.

-Mihaly Csikszentmihalyi, 몰입이론 중-

 

자신이 업무 시간 중에 불안함이나 지루함을 느끼는 때가 대부분이라면, 실력이 도무지 늘지 않는 환경에 있는 것이다.

이런 환경에 익숙해지고 습관화되는것은 더 무서운 일이다.

 

제자리걸음에서 벗어나기 위한 4가지 프로세스이다.

  • a1: 실력 낮추기 (작업의 난이도는 그대로 두고 실력을 낮추기)
    • 제한하기
    • 모래주머니 차고 달리기
    • 마우스 + 키보드 사용에서 -> 키보드만 사용하기
    • 디버거 사용 제한해보기
    • 컴파일 시간 30초 -> 5분으로 늘리기
  • a2: 난이도 높이기(실력은 그대로 두고 난이도를 높이기)
    • 이소룡 행님처럼 시간 제한하기
    • 100rps (초당 응답수) 정도 되는 시스템을 1,000rps로 만들기
    • 평소 검토 시 버그를 시간당 하나 찾았다면, 오늘은 2개 찾기
    • 익숙한 작업을 새로운 언어로 진행해보기
    • 잡 크래프팅 (안해도 되는 일을 더하는 것)
      • 보통, 자신의 업무를 개선하는 일 (리팩토링, 자동화 테스트, 자신만의 도구 개발) 
    • 남들보다 일을 좀 더 효율적이고 효과적으로 하기 위해 내가 직접 만들어 쓰는 나만의 도구 및 방법을 만들어보기.
    • 자주 일어나는 반복 패턴을 파악하고 분석
  • b2: 실력 높이기
    1. 전문가의 도움 받기.
    2. 도구적인 도움을 받기.
    3. 스터디하기
    4. 나보다 잘하는 사람한테가서 "짝프로그래밍" 부탁하기
  • b1: 난이도 낮추기 (불안함을 느낀느 경우)
    1. 내가 맡은 일의 작은 버전을 먼저 만들어보기
    2. 익숙한 언어로 먼저 풀어보기
    3. 테트리스를 만드는데 불안함이 있다면 일단 화면 한가운데 네모난 사각형 하나 그리기를 목표로 하고 이후 난이도를 조금 올려서 좌우 화살표를 누르면 그 사각형이 움직이게 하는 식으로 점차 개선.
    4. 알고리즘 문제를 2가지 언어로 풀어본다던지

미하이 칙센트미하이의 몰입이론, 단순화된 도식

 

🔥 C 영역의 수련이 의도적 수련이다. 난이도를 조절해보자!!!!!!!

 

 

📌실수는 예방하는 것이 아니라 관리하는 것이다.

실수를 저지르지 않는것은 불가능에 가깝다.

 

실수관리

  • 실수는 어떻게든 할 수밖에 없다.
  • 대신 그 실수가 나쁜 결과로 되기 전에 일찍 발견하고 빨리 고치면 된다.
  • 다음 행동할 때는 이렇게 하자

 

실수 훈련

  • 실수를 공개하고, 실수에 대해 서로 이야기하고 배우는 분위기의 팀이 더 폭발적인 성장세를 보인다. 

 

2. 함께

대화는 기적이다. 옆사람과 소통하고 그림을그려보고 추상성을 높혀보자 협력하자

 

어떻게 하면, 협력을 더 잘할 수 있을까

 

📌이것도 모르세요?

코칭하는 방법

 

  • 반박은 금지.
  • 일단 들어주고 (경청하고)
  • 물어보자, 이 사람이 생각했던 숨은 의도를 파악해야한다.

 

공감하면서 들어주고, 그 사람의 의도를 파악했다면, 조금 더 효과적인 제안을 해줘보자!!!

https://youtu.be/8l-YpiiBH4o

simon sinek - 경청의 중요성
여러분의 의견을 말하지 말아라. 누군가의 의견에 동의한다면 "맞아" 라며 고개를 끄덕여라

 


 

3. 애자일이란

애자일(agile) - 기민한, 민첩한

 

애자일은 불확실성이 클 때 우리가 어떻게 해야 하는지리를 고민한 결과물

 

불확실성이 높을수록 학습을 잘해야한다.

  • 새로운 상황에 대해서 계속 배우고 내가 맞춰 나가야 한다.
  • 따라서 우리는 학습 능력을 향상시킬 수 있다면 불확실성에 대해 더 잘 대응할 수 있을 것이다.

 

애자일은 서로의 업무를 공유하고 상호 검토하는 협력을 통해 전체에 공유한다.

  • 이는 팀 전체의 입장에서 바라볼 떄 불확실성에 대응을 더 잘 할수 있게된다.

 

학습과 협력은 불확실성이 큰 상황에서 좋은 대응전략이 된다.

애자일의 핵심 구동원리가 학습, 협력

즉, 함께 (협력) 자라기 (학습) 이다.

 

 

📌 애자일의 핵심 (씨앗)

  • 고객에게 매일 가치를 전달하라

 

📌 애자일의 도입

  • 애자일을 애자일 스럽게 전달하라

 

 


 

다 읽었다!!

솔직히 이 책을 많은 스타트업 혹은 굴지의 IT 기업에서 많이 읽는거로 알고있어 기대를 하고 읽었지만 조금은 실망스러웠다.

좋은 책이고 좋은 내용이라는 것은 맞지만, 자라기 파트 ( 자라기, 함께, 애자일 3파트로 나누어짐) 말고는

맥락과 말하고자하는게 파악하기 힘들어 솔직히 읽기 힘들었다.

 

그래도, 국룰같은 성장도서를 읽고나니,

  • 더 성장하기위해서 의도적 수련이 필요하다는 것과,
  • 내 의견에대해 경청해주는 팀원과 문제에대해 공유하는 문화를 가지고있는 (세미나) 팀을 만난것에 감사하자

 

 

👏아! 함께 자라기를 읽고 느낀 애자일이란, 

애자일은 불확실성을 다루는 방식!
더 자주 더 빨리, 부딪히고 실수하고 피드백을 받고 함께 개선하자
그 과정에서의 목적은 고객, 혹은 상대방에게 가치를 증명하는것!
반응형