brunch

You can make anything
by writing

C.S.Lewis

by 서일환 Sep 28. 2020

넓게 아는 것과 깊게 아는 것

기술 지식 습득에 관한 고찰

'여러 기술을 많이 알고 있는 게 중요한가요? 하나의 기술을 깊게 아는 게 중요한가요?'


개발자 후배들이 종종 이런 질문을 나에게 던진다. 결론부터 말하자면 넓고 깊게 아는 것이 중요하다. 넓게 아는 것과 깊게 아는 것 이 두 가지 상태는 양자택일의 대상이 아니다. 넓게 알지 못하면 깊게 알 수 없고, 깊게 알고 있지 못하면 넓게 아는 것도 힘들다. 그럼에도 우리가 둘 중 하나의 상태를 선택하려고 하는 것은 그것이 편하기 때문이다. 깊게 알지 못하는 것에 대한 핑계를 찾기 위해, 넓게 알려고 노력하지 않는 게으름을 감추기 위해서 일 가능성이 크다.


개발기술의 트렌드는 빠르게 변화한다. 개발을 업으로 삼고 있는 사람들은 끝없이 공부를 해야만 살아남을 수 있다. 단순히 살아남기 위한 공부는 재미가 없다. 기본적으로 개발 자체가 재밌어야 하고, 더 재밌게 자신의 업에서 성장하기 위해서 공부를 하는 것 자체도 즐거워야 한다. 공부를 해야 할 때는 어떻게 하는 게 좋을까? 흔히 우리는 고된 일을 할 때 속된 표현으로 '삽질한다' 또는 '땅을 파고 있다'라는 표현을 쓰곤 한다. 아마도 사회에 나온 후로는 대부분 땅을 직접 팔일은 없었을 것이다. 어린 시절 모래놀이를 할 때를 떠올려 보자. 땅을 팔 때 어떻게 파는가? 아래로만 내려가려고 해서는 깊게 팔 수가 없다. 결국 옆에 있는 흙이 무너져 내리거나 땅을 파는 도구가 더 깊이 내려가지 못하게 된다. 적당히 흙을 아래로 파낸 후에는 옆을 넓혀야 한다. 그리고 옆이 충분히 넓어지면 다시 아래로 흙을 파 내려가야 한다. 지식도 마찬가지다. 넓게 파고 깊게 들어가고, 다시 넓게 파고 깊게 들어가는 과정의 반복이 필요하다.


넓음이 중요한지 깊음이 중요한지 질문을 던지던 후배 개발자들은 대부분 문맥 전환을 할 준비가 된 친구들이었다. 그동안 열심히 넓이 우선 탐색을 했었기 때문에 깊이 우선 탐색을 할 시기가 되었던 경우나 아니면 그 반대의 경우였다. '나는 너무 수박 겉만 핥고 있는 것 같은데?'라는 생각이 들었다면 다시 파고들 시기가 되었다는 뜻이다. '나는 너무 땅만 파고 있는 것 같은데?'라는 생각이 들었다면 시계(視界)를 넓힐 시기가 된 것이다. 그러니 문득 어느 날 둘 중 하나에만 치우치고 있는 거 아닌가라는 의문이 스스로에게 들었다면 탐색 알고리즘을 전환하면 된다.


대부분의 경우에 질문은 답을 요구하지만, 때로는 질문이 생긴 것만으로도 결론에 도달하는 경우도 있다.

매거진의 이전글 유지 보수는 싫고 신규 개발만 좋아요
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari