Friday, March 22, 2019

코딩이 어려운 이유? 문제는 공교육식 프레임

코딩, 프로그래밍, 소프트웨어를 개발하고 배우는데 다들 어렵다고들 한다. 이건 전공자, 비전공자 가릴 문제도 아니다. 그런데 처음 배우는 거는 누구나 다 어렵다. 어렸을 때 부터 지금까지 새로운 걸 보고, 듣고, 배우는게 쉬운 사람이 있었던가? 만약 있었다고 자신있게 말할 수 있다면 탁월한 재능을 가진 사람이라고 말하고 싶다.

(이제부터 코딩, 프로그래밍, 소프트웨어 관련된 단어는 개발로 통일해서 얘기한다.)

다시 잘 생각해 보자. 개발을 하는 게 왜 어려운지. 한번 더 잘 생각해 보자. 잘 생각해 보면 어려울 이유가 없다. 개발에 대해 아주 쉽게 설명한 글들이 인터넷에 널려 있고, 특정 기술 관련된 따라하기 책들은 한달이 멀다하고 마구 쏟아져 나온다. 유튜브 동영상도 있고, 같이 공부하는 학원, 학교, 회사 사람들과 함께 하면 어렵지 않은 이유를 찾는게 더 쉽다고 말할 수 있을 정도다. 그런데도 개발 하는 걸 배우는 사람들은 이해하는 것도 어려워 하고 뭔가 잘 와닿지 않아서 어려워 하고, 자신의 학력탓, 비전공자 탓, 나이탓, 수준탓을 하면서 어려워 한다. 어쨌든 어려워 한다는게 핵심이지 않겠는가?

난 이 이유가 어디에서 부터 오게 되었는지 오랜 시간 생각해 왔다. 같은 걸 배우고 하는데 수준차이가 나는 이유도 찾아 봤고, 과외, 온라인 강의 하면서도 찾아 봤다. 최근에 멘토링 하면서도 찾아보고, 인터넷 까페에 올라온 수 많은 게시글에 댓글을 달아 주면서도 많이 생각해 봤다.

그 결과 프로그래밍 하는 걸 어려워 하는 이유는 거의 아래와 같은 내용들로 수렴된다는 결론을 얻을 수 있었다.
  1. What의 문제: 뭘 해야 하는지 모른다. 
    • 공부를 하는 방법을 모른다. 코딩하는 방법을 알면 잘 하게 될 거라 믿는다.
    • 어떤 개발을 하는게 즐겁고 재미있는지 잘 모른다. 이유도 단순히 취업이 잘되는지, 돈을 많이 벌 수 있는지에 집중되어 있다.
  2. Why의 문제: 왜 어려운지 판단하지 못한다.
    • 내가 이해를 잘 못해서, 책이 쉽지 않아서, 내가 게을러서 등등 핑계는 찾을 수 있는데, 왜 어려운지에 대한 근본적인 의심을 잘 안한다.
    • 자신이 가진 궁금증에 대한 해결을 다른 사람에게만 의존하려 한다. why에 대한 생각의 흐름 정리를 스스로 하지 못한다.
  3. How의 문제: 어떻게 하는지에 대한 궁금증만 가득하다.
    • 하루아침에 뭔가 쉽게 되는게 아닌건데도 되는 방법만 찾고 싶어 한다.
    • 거기서 뭔가 조금만 더 고쳐서 해보려고 해도 계속 how to의 문제로만 귀결된다.
    • how to에 대한 것만 하고 싶어 하다 보니, what, why에 대한 중요성의 인식이 상대적으로 떨어진다.

여기에 있는 내용을 다시 종합해서 보면 근본적인 학습 방법에 대한 훈련이 안되어 있는게 결론이다. 스스로 궁금증을 가지고 문제를 만들고 해결해 나가는 과정에서 학습하고 그 결과를 문서/사진/동영상 등으로 리포트 하고 review를 하는 활동을 학교에서 잘 하지 않았기 때문이다. 사실 이런 활동들을 해야지 개발을 할 수 있는 훈련이 되는 것이고, 그렇게 해 나가야 조금씩 성장이라는 걸 할 수 있는 건데, 어렵다 => 못하겠다 => 남들한테 물어본다 => 내가 안한다 이런식으로 흘러가다 보니 잘 하고 싶은 생각은 충만한데, 그냥 시간만 흘러가게 된다.

이런 안좋은 마음가짐들은 모두 공교육에서 나왔다고 본다. 공부를 하는 이유는 성적 관리를 위해서이고, 공부를 하는 즐거움은 없다. 또 어떻게 공부하느냐에 대한 문제도 범위가 정해져 있고 방법도 널려 있기 때문에 내가 고민할 필요가 없다. 내가 점수를 내기 위한 시간 투자와 점수를 내기 위한 방법을 잘 아는 학원이나 과외를 받으면 되기 때문이다. 어쨌든 뭔가 문제를 해결하려는 생각의 정리나 리뷰, 발표 이런 활동 위주로 하지 않았으니까 주어진 시험범위 내에 문제를 풀고 점수를 얻어 평가를 받아 등급이 매겨지면 내가 잘 하는 사람이 맞겠지라는 생각만 가득한 것이다. 그렇게 10년 이상을 반복해서 살아온 사람들이 갑자기 그런 패턴이 아닌 활동을 하려고 하니 비단 코딩 뿐만 아니라 어떤 분야를 하던 어려운게 맞을 것이다. 

이제 주어진 범위의 지식을 단기간 알고 있다가 점수를 내는 방식으로 평가를 받는 방법의 공부를 하지 말고
내가 해결하고자 하는 문제를 만들고 그걸 해결해 나가기 위한 탐색, 고민, 분석, 설계, 생각, 정리, 깨달음, 발표, 피드백, 리뷰, 기록을 가능한 수준부터 해 나가 보자.
지금 이렇게 하는게 늦은거 같은데 제가 이걸 할 수 있을까요? 같은 이상한 질문 하지 말고 일단 해보자. 공교육식 프레임을 깨고, 성장을 위한 활동 프레임을 씌우자. 지금 부터 몇 개월 몇 년 후를 돌아봤을 때, 아무것도 안한걸 후회하지 않게 지금 당장 해야 한다.

늦었다고 생각할 때는 진짜 늦은게 맞을 수 있다.
하지만 늦었다고 해서 아무것도 하지 않는건 잘못된게 맞다.

No comments:

Post a Comment