일단 하기 싫다. 시간아깝다. 내 일하는 것도 바쁘다.

게다가 재수없다.

그래서 알고리즘 공부를 안할 수 있는 변명 알고리즘을 푸는 것이 더 나을 것 같다.

 

사람은 눈 앞에 일이 닥쳤을 때 몰입되는 신경을 통해 문제를 풀기 마련이다.

그것을 풀었을 때의 보상과 주변사람들의 칭찬 등을 기대하기 마련이다.

실생활에 활용되고 지금 이용되어야만 한다. 현물적인 보물이 되어야한다.

야구경기가 있다면 경기 안에서 홈런을 치고 싶지 바깥에서 깔짝거리지는 않을 것이다.

 

 

야구선수 입단테스트인 트라이아웃은 선수들의 달리기 속도, 제구력, 구속 등을 측정한다.

그리고 시뮬레이션 경기를 통해 어떻게 경기를 하는지 지켜보고 평가한다.

그것은 실제 경기 안에서의 다양한 문제들을 풀기 이전 단계에 있는 기본적이면서 객관적인 수치들이다.

그 기본이 갖춰진 선수를 뽑은 뒤에 그 선수를 키우는 것의 적어도 절반은 구단의 몫이다.

전략과 훈련은 감독이 짜는 것이기 떄문이다.

 

그런데 어째서 프로그래밍 영역의 코딩 테스트는 갑작스레 1류 주전 선수가 풀어야만 하는 문제를 냅다 들이미는 것일까?

그건 마치 야구선수를 뽑을 때 '커쇼라는 투수가 등판했고 주자 1,2루 상황에서 어떻게하면 커쇼의 공을 칠 수 있는지 푸시오' 라고 들이밀면서 커쇼에게 쌈짓돈을 주고 데려와 테스트를 보게하는 것과 같다.

미친소리다. 현장과 연습은 다르다.

프로그래밍에선 인위적으로 조작한 문제를 들이밀 수 있는 비용에 자유롭기 때문에 아무런 생각도 하지않고 좃대로 생각한 것이다.

생각을 위한 알고리즘 문제를 아무 생각없이 공부하고 있다.

 

'숙련자가 되어 성능에 신경쓰고 수 많은 빅데이터를 다룰 때 알고리즘이 너무나도 필요하기 떄문에 당연히 공부해야한다' 라고들 말한다.

그 말이 틀렸겠는가? 당연히 맞겠지.

하지만 그것은 두려움에 기반한 생각이다.

 

문제란 크고 어려운 만큼 같은 팀안에 수많은 사람들이 '모두 다같이' 푸는 것이다. 

개발자 뿐만 아니라 모든 사람이 푸는 것이다. 예를 들면 기획자가 '이건 이렇게 이렇게 해야되요' 라고 육성으로 말을 했을 떄 개발자의 뇌에는 그것이 박히는 것이고 그것을 적용하려면 어떻게 해야할까? 라는 머리가 돌아가게 되고 흐름을 타게되며 하나하나의 조건들이 눈에 확실하게 보이면서 그것을 풀어낼 동기가 생기고 눈에 들어오게된다.

누구는 어떤 부분을 담당하고 누구는 어떤 부분에 강점이 있기에 의견을 내며 어딘가에서 좋은 환경이 갖춰져있기 떄문에 편안한 부분이 있게되어 어떤 문제를 풀게 되고 하는 무한방대한 방식이 있다.

문제라는 것은 너무나도 다양하고 너무나도 돌발적이며 너무나도 순간적이다. 

 

커쇼라는 투수가 던진 문제를 푸는 것은 커쇼를 계속해서 경험하고, 커쇼를 분석하는 사람들에게 보고서를 받고, 그 사람을 눈으로 지켜보고, 구속을 머릿속에 그려보고 그 사람의 약점과 분위기를 파악하고 눈빛의 미세함을 파악할 수 있는 현장에 있는 사람이 풀어야만 하는 문제다.

남의 일을 지금 들이밀면서 풀어라고하니 어이가 없을 뿐이다.

마치 어린아이에게 '너는 언젠가 늙어서 무릎이 아플 것이 분명하니 지금부터 무릎 운동을 공부하고 의학지식을 쌓아라' 라는 미개한 생각이다.

 

 

내가 나의 문제를 푼다.

그것이 인간의 기본 표준이다. 

 

인공지능의 영역이 엄청난 속도로 발전하고 매일매일 새로운 공부를 하고 매일 새로운 이론이 나온다고들 말한다.

나는 전문가가 되지 않았기 때문에 감히 함부로 말할 수 없지만

지금 드는 생각은 마치 매년 새로운 투수가 나와서 그 투수들에 대해서 계속해서 공부해야한다고 생각하는 것과 마찬가지인 멍청한 태도 인 것 같다.

 

매일 새로운 것이 나오는 것은 당연하다.

매일 새로운 문제가 나오는 것은 당연하다.

 

하지만 내가 해야할 일은 어떤 투수가 나오던 상관없이 공을 칠 수 있는 타자가 되는 것이다.

투수에 신경쓰기보다 야구 그자체를 신경 쓰는 것이 더 옳다.

어떤 투수가 나와도 커브볼이라는 것은 무엇인가? 에 대해 생각하는 것이 옳다.

그리고 기본적인 것에 집중하는 것이 옳다.

구속, 제구력, 체력, 인성에 집중하는 것이 정답이다.

알고리즘을 얼마나 파이써닉하게 풀었는지, 몇문제를 몇분만에 풀었는지 따위로 자위하는게 아니라

측정가능한 것에 집중해야한다. 현장에 집중해야한다. 내 몸에 집중해야한다.

 

 

무한열차를 타는 모든 것은 거짓말이다.

지속가능하며 반복가능한 곳으로 되돌아가야만 한다.

그런 프로그래밍 연습은 무엇일지 생각해봐야겠다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기