앞날 창창보
article thumbnail

글을 시작하기 전에 "개발 공부"라는 말에 대해서 설명하고자 한다. 개발 공부는 "내가 개발을 더 잘하기 위해 하는 코딩과 모든 학습"을 의미한다.

만약 회사에서 개발을 하고 있다면, 언제나 깊이 있는 해결책이 좋은 해결책이 아닐 수도 있다. 빠른 해결책이 좋은 해결책일 수도 있고, 회사의 사정과 상황에 따라서 다르다. 그렇기에 공부하는 입장에서 어떻게 개발을 학습하는 것이 가장 좋은지에 대해서 설명하기 위해서 개발 공부라는 말을 쓴 이유라고 생각하고 글을 읽어주길 바란다.

 

무의미한 개발 공부

개발 공부를 하다 보면 어떻게 그 기술을 사용하는지는 알지만, 다른 사람에게 그 기술에 관해서 설명을 하지 못하는 경우가 많이 발생한다. 심지어 깊은 생각을 하지 않고, 그 기술을 사용할 때도 많다. 특히 개발 공부를 할 때에 그런 상황에 더 자주 직면하는 것 같다고 느껴진다. 그 이유를 일단 문제는 풀 수 있다는 것으로 보았다.

 

무의미한 개발 공부를 하게 하는 이유

일단 내가 그 문제를 풀 수 있다는 게 내가 그것에 대해서 깊게 알지 않아도 된다고 인식하게 만든다. 개발공부를 하다가 어떤 문제에 직면했을 때, 가장 먼저 하는 것이 무엇인지 고민해 보자. 나는 에러 문장을 그대로 복사해서 구글에 검색한다. 그러면 해결 방법을 알려주는 글이 수도 셀 수 없이 많이 나온다. 짧은 시간이 지나면 없어지는 내 기억력을 내가 학습했다고 말할 수 있는가? 절대 아니다. 내가 저 행위를 통해 얻은 것은 복사 붙여 넣기를 조금 더 빠르게 할 수 있는 능력일 것이다.

 

그렇다면 이런 의문점이 생길 것이다. 아니 문제를 해결할 수 있는데, 굳이 기술에 관해서 깊이 알아야 하냐?

 

깊이 개발 공부를 해야 하는 이유

내 대답은 YES이다. 크게 2가지로 이유를 들 수 있다.

 

첫 번째로, 그 이유를 기술에 관해서 깊이 알 때 나의 사고가 다른 사람의 사고 안에 구속되지 않고, 문제를 잘 해결할 수 있기 때문이다.

깊은 이해를 갖지 않고 문제를 해결하는 사람은 반사적으로 외우거나 구글에서 본 방법을 코드에 대입한다. 뭐 문제를 해결할 수는 있을 것이다. 내가 주목하고 싶은 점은 “문제를 잘 해결했는가?”이다. 내가 구글에서 본 해결책이 도출된 배경과 나의 코드의 현 상태가 완벽히 같을 순 없다. 구글에서 본 방법이 그 상황에선 최선이었다고 해도, 나의 현재 상황엔 최선이 아닐 수 있다. 문제를 잘 해결하기 위해서는 기술에 관한 깊은 지식이 필수적이다. 문제를 해결하는 것은 누구나 할 수 있다. 

 

두 번째로 복합적이고 복잡한 문제를 해결하는 데에는 깊은 지식이 필요하다.

언제나 구글이 10초 만에 알려주는 간단한 문제를 해결하지는 않는다. 기업에서는 개인의 단위에서는 경험할 수 없는 크고 복합적이고 복잡한 문제를 다룬다. 그런 문제를 해결하는 데에 필요로 하는 것은 기술들에 대한 깊은 이해도이다. 기술들에 대한 깊은 이해가 있을 때, 상황에 맞는 좋은 기술을 사용하고, 그 기술을 잘 활용할 수 있을 것이다.

 

 

위에서의 말들이 독자에 기술의 개념을 깊이 학습해야 한다는 것을 설득했다고 생각한다.

 

깊이 있는 개발 공부를 하는 방법

그러면 어떻게 할 때에 기술에 대해서 깊게 이해할 수 있을까?

 

  • 먼저 시각화해라.

자신이 안다는 착각을 할 때가 많다. 그런 경우를 막기 위해서, 오직 자신의 머릿속으로만 마인드 맵을 그리던, 그림을 그리던 해서 시각화를 해라. 

 

  • 남들에게 가르쳐라.

남들에게 가르치기 위해서 준비를 해보는 것이 중요하다. 준비자의 관점이 아니라 청중의 입장에서 발표 준비를 한다면 어떤 말을 해야 하는지, 자신이 무엇을 놓치고 있는지 명확하게 알 수 있을 것이다.

 

이 두 가지만 잘해도 의미 있게, 깊게 공부할 수 있을 것이다.

 

마치며

기술을 깊게 아는 데에는 문제를 해결하는 것보다 훨씬 많은 시간이 들어간다. 그러나 기술을 깊게 아는 사람과 모르는 사람의 차이는 하늘과 땅이다. 우리가 매일 양치질을 하지만 양치질 전문가가 아닌 이유도 우리가 의식적으로 하지 않기 때문이라고 생각한다. 의식적이고 의미 있는 학습을 할 때 우리는 전문가 혹은 장인이 될 수 있을 것이다.

 
 

검색 태그