이 게시물은 김창준님이 쓰신 <<함께 자라기: 애자일로 가는 길>> 책을 읽고 작성되었습니다. 책은 함께 파트와 자라기 파트로 나뉘는데, 자라기 파트에 집중되어 작성되었습니다.
학습의 두 가지 길: 학교 학습과 야생 학습
학습이라고 다 같은 학습이 아니다. 학교에서 배우는 학습과 실제 현장에서 이루어지는 학습은 엄연히 다르다. 책의 저자는 학습에 두 가지 종류가 있다고 말한다. 바로 '학교 학습'과 '야생 학습'이다.
야생 학습은 학교 학습과는 다른 특징을 갖는다. 학교 학습이 개별적으로 진행되는 반면, 야생 학습은 대부분 협력적이다. 또한 야생 학습은 비순차적이고 정답이 없다. 저자는 학습의 본질적 의미는 야생 학습에 더 가깝다고 생각한다.
소프트웨어 개발에서 경력과 실력의 관계
경력이라고 해서 모두 같은 실력을 보장하는 것은 아니다. 많은 분야에서 최소한의 경험치만 넘어가면 경력 연수(years)와 실제 직무 성과의 상관성은 생각보다 낮다. 소프트웨어 개발 분야에서도 경험이 적은 사람은 '문제를 이해하는 데 더 많은 시간과 노력을 기울인다'는 특징이 있을 뿐, 결과물의 품질이 반드시 경력자가 뛰어나다는 평가는 올바르지 않다.
따라서 인력 채용 프로세스에서 경력에만 집중하는 행동은 경계해야 한다. 구조화된 인터뷰와 실제 작업 샘플 테스트를 포함시키는 것이 더 낫다. 또한 실제로 함께 일할 사람들이 인터뷰에 참여하도록 하는 것이 강력히 권장된다.
의도적 수련: 진정한 1만 시간의 의미
수련이라고 다 같은 수련이 아니다. 몇 년 전 '1만 시간 법칙'이 유행했다. 하지만 이것은 단순히 일한 시간을 1만 시간으로 채우는 것이 아니다. 1만 시간 법칙에서 말하는 시간은 '의도적 수련(deliberate practice)', 즉 '자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련 시간'을 의미한다.
애자일 프로젝트에서는 10분, 1시간, 1일, 1주일 등 여러 주기를 통해 피드백을 받을 수 있다. 자주 피드백을 받는 것이 중요한 이유는 내가 잘했는지 못했는지 알지 못하면 행동을 조정할 수 없기 때문이다. 피드백을 1일차에 받는 것이 6개월 뒤에 받는 것보다 훨씬 효과적이듯, 피드백 주기가 길어지면 학습이 잘 이루어지지 않는다. 개발자들은 애자일 철학을 개발 프로세스뿐만 아니라 학습에서도 활용해야 한다.
자기계발은 복리로 돌아온다
자기계발이라고 모두 같은 효과를 내는 것이 아니다. 저자는 일이 끝나면 항상 회고를 한다. 연말에는 한 해를 되돌아보고 반성하는 일 년 회고도 진행한다. 특히 일 년 회고를 할 때 가장 중점적으로 되짚어 보는 것 중 하나가 '자신에게 얼마나 투자했는가'(자기계발)이다.
자기계발이 중요한 이유는 현재 나에게 투자한 것이 1년 또는 2년 후의 나를 결정하기 때문이다. 자기가 습득한 지식이나 능력은 복리로 이자가 붙기에 자기계발은 매우 중요하다.
자기계발은 어떻게 해야 잘하는 것일까? 다음과 같은 질문을 던지며 진행하면 효과적인 자기계발이 될 것이다:
-
자신이 이미 갖고 있는 것들을 잘 활용하라
- 새로운 것을 유입시키는 데에만 집중하다 보면 새로 들어온 것들이 이미 있는 것들을 덮어버릴 수 있다. 자신이 올해 몇 권을 읽었다고 자랑하지 말고, 그 지식을 얼마나 어떻게 활용하는지 반성하라.
- 이미 갖고 있는 것들을 하이퍼링크로 서로 연결하라. 이미 습득한 지식, 기술, 경험 등을 서로 연결 지어 시너지 효과가 나게 하고, 하나의 영역에서 다른 영역으로 왔다갔다하는 것을 자주 해서 다른 영역 간을 넘나들기가 수월해지도록 하라.
- 새로운 것이 들어오면 이미 갖고 있는 것들과 충돌을 시도하라.
-
외부 물질을 체화하라
- 계속 내부 순환만 하다가는 일정 수준에 수렴할 위험이 있다. 주기적인 외부 자극이 있어야 한다.
- 외부 물질 유입 이후 생긴 내부의 갈등을 해결하려는 데에 노력을 기울여야 한다.
-
자신을 개선하는 프로세스에 대해 생각해보라
- 회고/반성 활동을 주기적으로 하는 프로세스를 만들어라.
- 나를 개선하는 과정을 어떻게 하면 개선할 수 있을지 고민하라.
-
피드백을 자주 받아라
- 사이클 타임을 줄여서 순환율을 높여라.
- 일찍, 그리고 자주 실패해야 한다. 실패에서 학습해야 한다.
달인이 되는 진짜 비결
달인이 되는 비결이라고 다 같은 비결이 아니다. "달인이 되는 비결은 매우 단순하다. 매일 세수하고 양치하듯이 꾸준하게 반복하는 것이 그것이다"라는 말이 있다. 전문성 획득에 있어서 반복의 중요성을 이야기하는 것으로 취지는 이해가 된다. 하지만 모든 역량에 있어서 전문성이 올라가는 것은 아니다. 예를 들면 양치질을 평생 해왔어도 충치가 생기는 것처럼 말이다.
꾸준한 반복으로 달인이 되려면 두 가지 조건이 선행되어야 한다:
- 실력을 개선하려는 동기가 있어야 하고,
- 구체적인 피드백을 적절한 시기에 받아야 한다.
특정 영역에서 자신의 실력을 향상시키고 싶은 사람이라면, 그 일을 양치질하듯이 수십 년을 단순히 반복해 온 것은 아닌지 되돌아보고, 동기가 없다면 이 동기를 어떻게 만들어낼지 고민해 봐야 한다.
의도적 수련을 올바르게 하는 법: 몰입 영역 찾기
의도적 수련의 필수조건에는 적절한 난이도가 있어야 한다. 의도적 수련이 되려면 나의 실력과 작업의 난이도가 비슷해야 한다.
가로축은 해당 작업에 대해 자신이 느끼는 실력을 의미하고, 세로축은 해당 작업에 대해 자신이 느끼는 난이도를 의미한다:
- A 영역의 일을 한다면? → 조금 지나면 지루함을 느끼게 된다.
- B 영역의 일을 한다면? → 높은 난이도의 일을 하는 영역이므로 불안함이나 두려움을 느낀다.
- 우리가 주목해야 하는 영역은 C영역이다. → 칙센트 미하이(Mihaly Csikszentmihalyi)의 몰입이론에서는 인간이 이 부분에서 몰입을 경험한다고 한다.
자신이 업무 시간 중 지루함이나 불안함을 많이 느낀다면 A영역이나 B영역에 있지 않은지 점검해야 한다. 이 경우에는 실력이 도무지 늘지 않게 된다.
그럼 제자리걸음에서 벗어나려면 어떻게 해야 할까?
지루함을 느낄 때의 전략
-
실력 낮추기(a1)
- 마우스를 즐겨 쓴다면 키보드로만 개발하려고 한다든지, 디버거를 늘 쓰는 경우 디버거를 안 써보기
- 실력이 떨어진 느낌을 받으면서 지루하던 작업이 몰입되는 작업이 되고 실력을 늘릴 수 있다
-
난이도 높이기(a2)
- 흔한 방법은 자기에게 요구되는 수준을 더 높게 여기는 것이다. 예를 들면, 시스템의 처리 수준을 끌어올리거나 버그를 평소보다 더 많이 찾는 것이다.
- 공식적으로는 안 해도 되는 업무를 자신의 의지로 추가해도 된다. 예를 들어 리팩터링을 하거나 자동화 테스트를 추가하는 등의 방식이 있다.
- 여기서는 남들보다 일을 더 효율적으로 하기 위해 내가 직접 만들어 쓰는 나만의 도구와 방법을 만드는 것이 중요하다.
불안함을 느낄 때의 전략
-
실력 높이기(b2)
- 사회적 접근: 나보다 뛰어난 전문가의 도움을 얻는 것
- 도구적 접근: 다른 도구의 도움을 받는 것(오픈소스나 AI)
- 내관적 접근: 비슷한 일을 했던 경험을 머릿속에서 되살려보기. 스스로 인식하는 자기 실력이 향상되기 쉽고 결과적으로 몰입 영역으로 들어가기 좋아진다.
-
난이도 낮추기(b1)
- 간단하면서 효과적인 방법으로는 자신이 맡은 일의 가장 간단하면서 핵심적인 결과물을 첫 번째 목표로 삼는 것이다.
- 애자일에서 말하는 WTSTTCPW(What's The Simplest Thing That Could Possibly Work?)와 같다.
팀장이 할 수 있는 일
팀장이라고 다 같은 역할을 하는 것이 아니다. 좋은 팀장은 팀원들이 어떤 상태를 주로 경험하고 있는지 파악하고 적절한 전략을 구사하게 도와줄 수 있다. 이상적으로는 그 사람의 실력에 맞는 난이도의 일을 나눠주는 걸 생각할 수 있겠지만 현실은 그렇지 않다. 몰입 상태를 조정하는 능력을 키우게 도와주는 것이 더 바람직하다.
하지만 몰입 영역 밖으로 팀원들을 몰아내는 팀장이 많다. 실력보다 낮은 일을 해서 지루함을 느끼도록 하거나, 실력보다 높은 일을 해서 불안함을 느끼는 직원에게 핀잔을 주거나 문제를 분석해서 보고서를 제출하라는 추가업무를 주는 등의 방식으로 말이다.
이런 상황을 고려하면 팀장이 팀원의 상태를 파악하고 몰입으로 가게 도와주는 것 자체가 고도의 의도적 수련이 될 수 있다. 결국 함께 자라는 팀을 만드는 것이 가장 중요한 목표다.
읽고 느낀 점
이 책은 토비님이 속해 있는 커뮤니티에서 추천하셔서 읽어보았다. 지금 당장은 대학생 그리고 취업준비생으로써 꾸준히 성장하는 방법 위주로 와닿는 내용이 많았다. 그러나 리더로서 팀원들이 함께 성장하는 방법에 관한 부분도 적지 않게 포함되어있었고, 개발 년차가 쌓일때마다 이 책을 읽어보면 큰 도움이 될 것이라고 생각했다. 아직 이 책을 읽어보지 못한 분들이라면 가볍게 읽어보는 것도 추천드린다.