이 게시물은 김창준님이 쓰신 <<함께 자라기: 애자일로 가는 길>> 책을 읽고 작성되었습니다. 책은 함께 파트와 자라기 파트로 나뉘는데, 자라기 파트에 집중되어 작성되었습니다.

학습이라고 다 같은 학습이 아니다. 학교에서 배우는 학습과 실제 현장에서 이루어지는 학습은 엄연히 다르다. 책의 저자는 학습에 두 가지 종류가 있다고 말한다. 바로 '학교 학습'과 '야생 학습'이다.
야생 학습은 학교 학습과는 다른 특징을 갖는다. 학교 학습이 개별적으로 진행되는 반면, 야생 학습은 대부분 협력적이다. 또한 야생 학습은 비순차적이고 정답이 없다. 저자는 학습의 본질적 의미는 야생 학습에 더 가깝다고 생각한다.
경력이라고 해서 모두 같은 실력을 보장하는 것은 아니다. 많은 분야에서 최소한의 경험치만 넘어가면 경력 연수(years)와 실제 직무 성과의 상관성은 생각보다 낮다. 소프트웨어 개발 분야에서도 경험이 적은 사람은 '문제를 이해하는 데 더 많은 시간과 노력을 기울인다'는 특징이 있을 뿐, 결과물의 품질이 반드시 경력자가 뛰어나다는 평가는 올바르지 않다.
따라서 인력 채용 프로세스에서 경력에만 집중하는 행동은 경계해야 한다. 구조화된 인터뷰와 실제 작업 샘플 테스트를 포함시키는 것이 더 낫다. 또한 실제로 함께 일할 사람들이 인터뷰에 참여하도록 하는 것이 강력히 권장된다.
수련이라고 다 같은 수련이 아니다. 몇 년 전 '1만 시간 법칙'이 유행했다. 하지만 이것은 단순히 일한 시간을 1만 시간으로 채우는 것이 아니다. 1만 시간 법칙에서 말하는 시간은 '의도적 수련(deliberate practice)', 즉 '자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련 시간'을 의미한다.
애자일 프로젝트에서는 10분, 1시간, 1일, 1주일 등 여러 주기를 통해 피드백을 받을 수 있다. 자주 피드백을 받는 것이 중요한 이유는 내가 잘했는지 못했는지 알지 못하면 행동을 조정할 수 없기 때문이다. 피드백을 1일차에 받는 것이 6개월 뒤에 받는 것보다 훨씬 효과적이듯, 피드백 주기가 길어지면 학습이 잘 이루어지지 않는다. 개발자들은 애자일 철학을 개발 프로세스뿐만 아니라 학습에서도 활용해야 한다.
자기계발이라고 모두 같은 효과를 내는 것이 아니다. 저자는 일이 끝나면 항상 회고를 한다. 연말에는 한 해를 되돌아보고 반성하는 일 년 회고도 진행한다. 특히 일 년 회고를 할 때 가장 중점적으로 되짚어 보는 것 중 하나가 '자신에게 얼마나 투자했는가'(자기계발)이다.
자기계발이 중요한 이유는 현재 나에게 투자한 것이 1년 또는 2년 후의 나를 결정하기 때문이다. 자기가 습득한 지식이나 능력은 복리로 이자가 붙기에 자기계발은 매우 중요하다.
자기계발은 어떻게 해야 잘하는 것일까? 다음과 같은 질문을 던지며 진행하면 효과적인 자기계발이 될 것이다:
자신이 이미 갖고 있는 것들을 잘 활용하라
외부 물질을 체화하라
자신을 개선하는 프로세스에 대해 생각해보라
피드백을 자주 받아라
달인이 되는 비결이라고 다 같은 비결이 아니다. "달인이 되는 비결은 매우 단순하다. 매일 세수하고 양치하듯이 꾸준하게 반복하는 것이 그것이다"라는 말이 있다. 전문성 획득에 있어서 반복의 중요성을 이야기하는 것으로 취지는 이해가 된다. 하지만 모든 역량에 있어서 전문성이 올라가는 것은 아니다. 예를 들면 양치질을 평생 해왔어도 충치가 생기는 것처럼 말이다.
꾸준한 반복으로 달인이 되려면 두 가지 조건이 선행되어야 한다:
특정 영역에서 자신의 실력을 향상시키고 싶은 사람이라면, 그 일을 양치질하듯이 수십 년을 단순히 반복해 온 것은 아닌지 되돌아보고, 동기가 없다면 이 동기를 어떻게 만들어낼지 고민해 봐야 한다.

의도적 수련의 필수조건에는 적절한 난이도가 있어야 한다. 의도적 수련이 되려면 나의 실력과 작업의 난이도가 비슷해야 한다.
가로축은 해당 작업에 대해 자신이 느끼는 실력을 의미하고, 세로축은 해당 작업에 대해 자신이 느끼는 난이도를 의미한다:
자신이 업무 시간 중 지루함이나 불안함을 많이 느낀다면 A영역이나 B영역에 있지 않은지 점검해야 한다. 이 경우에는 실력이 도무지 늘지 않게 된다.
그럼 제자리걸음에서 벗어나려면 어떻게 해야 할까?

실력 낮추기(a1)
난이도 높이기(a2)
실력 높이기(b2)
난이도 낮추기(b1)
팀장이라고 다 같은 역할을 하는 것이 아니다. 좋은 팀장은 팀원들이 어떤 상태를 주로 경험하고 있는지 파악하고 적절한 전략을 구사하게 도와줄 수 있다. 이상적으로는 그 사람의 실력에 맞는 난이도의 일을 나눠주는 걸 생각할 수 있겠지만 현실은 그렇지 않다. 몰입 상태를 조정하는 능력을 키우게 도와주는 것이 더 바람직하다.
하지만 몰입 영역 밖으로 팀원들을 몰아내는 팀장이 많다. 실력보다 낮은 일을 해서 지루함을 느끼도록 하거나, 실력보다 높은 일을 해서 불안함을 느끼는 직원에게 핀잔을 주거나 문제를 분석해서 보고서를 제출하라는 추가업무를 주는 등의 방식으로 말이다.
이런 상황을 고려하면 팀장이 팀원의 상태를 파악하고 몰입으로 가게 도와주는 것 자체가 고도의 의도적 수련이 될 수 있다. 결국 함께 자라는 팀을 만드는 것이 가장 중요한 목표다.
이 책은 토비님이 속해 있는 커뮤니티에서 추천하셔서 읽어보았다. 지금 당장은 대학생 그리고 취업준비생으로써 꾸준히 성장하는 방법 위주로 와닿는 내용이 많았다. 그러나 리더로서 팀원들이 함께 성장하는 방법에 관한 부분도 적지 않게 포함되어있었고, 개발 년차가 쌓일때마다 이 책을 읽어보면 큰 도움이 될 것이라고 생각했다. 아직 이 책을 읽어보지 못한 분들이라면 가볍게 읽어보는 것도 추천드린다.