의도적 수련
- 의도적 수련이란 '자신의 기량을 향상시키려는 목적으로 반복적으로 하는 수련'을 의미합니다.
이는 단순히 어떤 작업을 '열심히'한다는 것을 넘어서, 자신에게 적절한 난이도의 작업을 선택하거나,
혹은 자신에게 주어진 작업의 난이도를 변화시키면서 작업을 하는 것을 의미합니다.
즉, '난이도'에 대한 적절한 선택 혹은 '난이도'에 대한 적절한 변화를 의미합니다.
후자를 특별히 잡 크래프팅(job crafting)이라고도 합니다.
그렇다면 왜 '난이도'라는 요소가 중요하게 고려되어야 하는 것일까요?
- 의도적 수련의 목적은 위에서 언급했듯이 '실력'의 향상입니다. 그런데 실력의 향상은 '자신에게 약간 어려운 수준'의 작업을 할 때 제일 잘 발생합니다. 그 이유는 자신에게 너무 어려운 수준의 작업은 불안함을 느끼게 하며, 자신에게 너무 쉬운 수준의 작업은 지루함을 느끼게 하는데, 자신에게 약간 어려운 수준의 작업을 할 때 몰입이 제일 잘 일어나기 때문입니다.
- 그렇다면 여기서 '불안함'과 '지루함'을 느낀다는 것은 무슨 의미일까요?
그것은 개발의 경우는 '인지적 작업'으로 설명할 수 있습니다.
개발은 '인지적 작업'을 하는 활동입니다.
개발자는 개발을 하면서 자신이 알고 있는 지식과 자신이 풀어온 문제 해결 경험을 활용해서 인지적 작업을 합니다.
이 때, 자신에게 마주한 문제가
1) 자신이 현재 보유한 지식보다 더 많은 양의 지식 혹은 더 깊이 있는 지식을 요구하거나
2) 자신이 풀어온 문제보다 복잡하다면,
뇌는 인지적 작업을 해나가는 과정에서 어려움을 느낍니다.
그리고 그 어려움이 불안함이라는 감정으로 나타납니다.
즉, 역으로 불안함이라는 감정을 통해 자신이 현재 마주한 문제의 난이도를 어떻게 받아들이는지
유추할 수 있습니다.
반대로, 자신이 현재 보유한 지식보다 훨씬 적은 지식을 요구하거나, 자신이 풀어온 문제보다 복잡도가 낮다면
뇌는 인지적 작업을 쉽게 할 수 있습니다. 하지만 이 경우에는 인지적 작업의 난이도가 낮으므로, 뇌를 충분히
훈련시키지 못하고, 그로 인해 실력을 향상시키지 못하게 됩니다.
즉, 쉽게 비유하자면 1+1 문제를 100번 푼다고 실력이 향상되지 않는 것과 마찬가지입니다.
따라서 개발자로서 실력을 향상시키고 싶다면, 자신에게 '적절한' 난이도의 문제를 선택해서,
그 문제에 도전하고 해결하는 습관을 갖춰야 합니다. 또한 문제 해결에 있어서 요구되는 지식이 있다면
그 지식을 학습해서 내 것으로 소화하는 습관 또한 갖춰야 합니다.
이 과정에서 중요한 것은 자신에게 적절한 난이도의 문제를 선택하는 '지혜'와
자신에게 약간 어려운 문제에 지속적으로 도전하고 해결하는 '끈기와 용기'입니다.