새로운 것을 배우는 과정이 꼭 지치고 힘들어야 하는 것은 아니다.
오히려 적당한 고민을 하게 하더라도, 알고 있는 범위 내에서 그 문제를 해결할 수 있도록 해야지, 아예 모르는 것을 풀도록 하면 안된다는 생각이다.
즉, 공부는 개념의 응용이라는 측면에서 접근해 그 사용법에 익숙해지도록 하는 것이지, 그 사이에 미싱링크가 주어져서는 제대로된 공부는 커녕 시간 낭비가 된다는 것이다.
그런데 새로운 분야를 접근할 때에 독학자들이 경험하게 되는 것이 바로 이러한 욕심에 의해서든, 무지에 의해서든 자신의 수준을 가늠해보지 못한 채로, 그냥 남들이 하고 있는 것을 따라하려고 한다는 점이다.
내가 할 수 있는 것이 어떤 특정한 수준이라면, 그 특정 수준에서 시작하여 개념을 하나씩 더한 다음, 그 개념을 더한 응용을 해나가는 연습을 차근차근 쌓아나가는 방식이 되어야 한다.
A
A + B
A + B + C
...
와 같은 형태로 기존에 알던 A라는 개념은 이제 더 이상 생각하지 않아도 손에서 자동으로 튀어나오는 수준이 되고, 상대적으로 상위 개념들을 접근하기가 용이해지게 된다.
새로운 개념의 이해와 기존 개념의 반복숙달을 적절히 사용해야 한다.
그런 측면에서 새로운 어플리케이션을 만들어가면서 공부하라는 조언은 아주 기초적인 문법을 공부한 사람들에게 적절한 조언은 아니라고 생각된다.
애초에 간단한 개념이 들어왔을 뿐, 그것을 응용하는 기초가 되어 있지 않기 때문이다.
난이도가 낮은 단계의 기능의 구현을 위한 문제부터 차근 차근 이해의 폭과 숙달의 정도를 깊이해나가면서 점차 작은 토이프로젝트도 가능하게 될 것이다.
중요한 것은 꾸준한 시간의 투자와 정확한 커리큘럼과 노력이 수반되는 것이다.
'MrLazyDev > Earthian' 카테고리의 다른 글
캐나다 개발자 이민을 생각한 이유 (7) | 2022.02.02 |
---|---|
Overwhelming (0) | 2022.02.01 |
It takes a long time to ripen. (0) | 2022.01.29 |
Software and art (0) | 2022.01.29 |
Computer science and Reality (0) | 2022.01.29 |