김창준님의 ‘함께 자라기, 애자일로 가는길’ 을 읽고 정리합니다.
실력이 늘지 않는 이유
지루함 vs 불안함
- 주어진 작업 난이도 보다 지신의 실력이 훨씬 높다면 지루함을 느낍니다.
- 반대로 자신의 실력보다 지나치게 높은 난이도의 일을 한다면 불안함이나 두려움을 느낍니다.
뒷받침 이론
이를 뒷받침 하는 여러 이론들이 있습니다.
- 작업의 난이도와 실력이 엇비슷하게 맞을 때 인간이 몰입을 경험한다고 합니다. 그리고 바로 이때 최고 수준의 집중력을 보이고, 그 덕분에 퍼포먼스나 학습 능력이 최대치가 될 수 있다고 합니다. 또한 그때 최고 수준의 행복감을 경험한다는 흥미로운 사실을 발견하기도 했습니다.”
<미하이, 몰입이론>
- “현재 언어 학습자의 언어 수준을 i 라고 할 때 딱 한 단계 높은 i+1 수준의 입력이 주어질 때에만 언어 능력이 유의미하게 진전한다는 이론”
<크라센, 입력가설 - i+1 이론>
- 불필요하게 인지적인 부담을 주면 어떤 것도 제대로 학습하기 어렵다는 말을 합니다. 예컨데 미적분을 독일어로 배우면 미적분 자체보다 엉뚱한 다른 것들에 두뇌 에너지를 빼앗겨서 학습 효율이 떨어집니다. 반대도 있습니다. 영단어를 여러 개 외울 때 모음을 감추고 외우면 ‘더 어려워서’ 오히려 기억이 오래갈 수 있다는 연구도 있습니다.
<인지 부하 이론>
그래서 이유
그렇습니다. 자신이 업무 시간 중에 불안함이나 지루함을 느끼는 때가 대부분이라면, 실력이 쉽게 늘지 않는 환경에 있는 것입니다.
제자리걸음 벗어나기
주어진 작업 보다 자신의 실력이 훨씬 높아 지루함을 느낀다면, 자신의 실력이 낮아지는 환경을 만들거나 작업의 난이도를 스스로 높게 잡을 수 있습니다. 또는 자신의 실력보다 주어진 작업의 난이도가 훨씬 높아 불안함을 느낀다면 자신의 실력을 높이기 위한 방법을 사용하거나 작업의 난이도를 낮추는 방법을 사용할 수 있습니다.
지루함 : 자기 실력을 낮추는 환경 만들기
- 예를 들면 팔과 다리에 모래 주머니를 달고 운동하는 경우를 생각해 볼 수 있습니다. 프로그래머라면 늘 쓰던 디버거를 안쓰고 개발을 해 보는 겁니다. (아마 눈을 하나 감고 개발하는 느낌이 들겁니다.)
- 그러면 지루하던 작업이 몰입하는 작업이 되고 실력도 늘 수 있습니다.
지루함 : 작업의 난이도 높이기
- 예를 들면 자기에게 요구되는 수준을 스스로 더 높게 잡는 것입니다. 하루 만에 개발하면 된다면 1시간 만에 개발할 수 있는 방법을 고안해 봅니다. 익숙한 작업을 새로운 프로그래밍 언어로 개발해 볼 수도 있습니다.
- 또 다른 방법으로는 공식적으로 안해도 되는 업무를 자신의 의지로 추가로 하는 경우가 있습니다. 자신의 업무를 개선하거나, 리팩토링 하거나, 자신만의 도구를 개발하는 일입니다.
모 방송사에 고속도로 톨게이트 직원이 소개된 적이 있습니다. 다른 사람들에 비해 몇 배나 빠른 속도로 정산을 처리하고 있었는데요. 실제로 카메라로 내부를 비춰보니 이해가 되었습니다. 돈을 한 손으로 받으면서 동시에 다른 손은 잔돈을 이미 집어 들고 있고, 받은 동전은 일정한 개수대로, 지폐는 지폐대로 몇 장씩 묶어서 여기저기 일정한 패턴으로 정리를 해나가며 일을 하고 있었습니다. 아주 놀라웠죠. 뭔가 동선에 리듬감 같은 것이 있었습니다. 그 직원의 인터뷰 답변이 아주 걸작이었습니다. “오늘은 한번에 동전 10개를 집었네, 이번에는 안됐네. 다음번엔 어떻게 해볼까. 저는 톨게이트 일이 게임 같고 너무 재미있어요.” 라는 내용의 말이었던 것 같습니다. 톨게이트 정산같이 단순반복적이어서 지루하고 재미없게 여겨지는 일도 이런 개선 ‘난이도 향상’이 가능하다면 다른 일은 어떻겠습니까
불안함 : 자기 실력을 높이는 환경 만들기
- 장기적으로 실력을 높이는 방법은 많지만 당장 불안함을 느끼고 있다면 어떻게 해야 하는가가 문제입니다. 실력을 어떻게 당장 올릴 수 있을까요? 크게 보면 사회적 접근과 도구적 접근, 내관적 접근 세 가지가 가능합니다.
- 사회적 접근은 나보다 뛰어난 전문가의 도움을 얻는 겁니다. 잘하는 사람에게 가서 짝 프로그래밍을 해달라고 부탁하거나 커뮤니티에서 전문가의 도움을 얻는 것도 괜찮은 방법입니다. 괜찮은 튜토리얼 문서가 있다면 그 문서가 보여주는 진행 순서대로 따라가 보는 것도 괜찮습니다.
- 도구적 접근은 다른 도구의 도움을 받는 겁니다. 내 능력을 확장시켜 줄 수 있는 도구들을 찾아 쓰면 됩니다.
- 내관적 접근은 비슷한 일을 했던 경험을 머릿속에서 되살려 보는 겁니다. 그때 일을 어떻게 했는지 떠올려 보면서 비유적으로 문제를 해결합니다. 보통 이런 과정을 거치면 자기효용감이 증대하면서 스스로 인식하는 자기 실력이 향상되기 쉽고 결과적으로 물입 영역으로 들어가기 좋습니다.
불안함 : 작업의 난이도 낮추기
- 간단하면서 가장 효과적인 방법은, 자신이 맡은 일의 가장 간단하면서 핵심적인 결과물, 즉 아기 버전(혹은 0.0.1버전)을 첫 번째 목표로 삼는겁니다.
- 애자일에서는 말하는 WTSTTCPW (What’s The Simplest Thing That Could Possibly work?)와 같습니다.
- 테트리스를 만들어야 하는 불안함이 엄습해 온다면, 일단 화면 한가운데 네모난 사각형 하나 그리그를 목표로 합니다. 그걸 완성하면 난이도를 조금 올려서, 좌우 화살표를 누르면 방향에 따라 그 사각형이 움직이게 합니다. 이때 주의할 것은 자료구조나 회전 알고 리즘을 먼저 완성하는 게 아니라는 점입니다. 핵심은 살아있으면서도 간단한, 아기 버전의 테트리스를 만드는 것입니다.
동적인 균형
- 유념해야 할 점이 있습니다. 그것은 바로 자신의 실력이나 작업의 난이도가 계속 조금씩 요동을 치고 있다는 점있니다.
- 그래서 현재 자신의 업무 처리 속도가 외부적으로 문제가 되지 않는 범위 내에서 (예컨데 팀장이나 동료가 불만을 얘기하지 않는 선에서) 적절하게 난이도와 실력을 조정해나가야 합니다.
- 이 말은 곧, 지속적으로 자신의 감정 상태를 살피면서 지금 지루한지 불안한지 알아채고 만약 지루함이나 불안함을 느낀다면 앞의 네가지 전략을 적절히 사용해야 한다는 겁니다.
여러부은 어떤 하루를 살고 계신가요? 지루하거나 불안하지는 않으신가요?