개발자로 입문을 고민하는 분에게 던지는 질문

반응형
간혹 제 지인 중에 IT쪽 전공자가 아닌 분이 프로그래머를 꿈꾸며 프로그램 공부를 하기 위해 저에게 어떻게 생각하냐고 묻는 분들이 계십니다. 저도 멋모르고 토목쟁이가 컴퓨터가 좋아 프로그램 일을 시작하긴 했지만 제 적성에는 잘 맞는다고 생각하고 있습니다.

하지만 다른 분들이 프로그래머 즉 개발자 일을 하기 위해 공부를 한다고 하면 좀 걱정이 됩니다. 프로그래머 일이 쉬워 보이면서도 어려운 직업이기 때문입니다. 그다지 수명도 길지 않고 말이죠.

또한 개발자를 직업적으로만 봤을때 참 안좋은게 평생 공부를 해야 한다는 것입니다. 제가 토목과를 나와서 토목쪽과 비교를 해봐도 토목은 대학4년동안 배운 내용과 기술을 평생 써먹을 수 있습니다. 크게 기술에 대한 변화가 없죠. 새로운 기술이 나와도 자기 평생에 몇번 나오지 않죠.  


하지만 IT쪽은 토목 뿐만이 아니고 다른 직업군과 비교해 봐도 하루가 다르게 새로운 기술이 나오고 새로운 제품이 나옵니다. 그러다 보면 개발자 직업을 가지고 있는 이상 평생 공부를 해야 합니다. 물론 하지 않아도 되긴 하나 공부를 하지 않으면 시대에 뒤떨어진 개발자가 되겠죠. 


그럼 IT 비전공자가 저에게 프로그램 언어를 공부 해서 개발자를 해도 되겠냐고 물으면 전 다시 그 분에게 딱 한가지만 묻습니다.


  수학을 좋아 하십니까?



라고 하나만 묻습니다. 좋아 한다고 하면 해보라고 하고 좋아 하지 않는다고 하면 프로그램 공부를 하지 말라고 합니다. 여기서 중요한건 수학을 잘하느냐가 아니고 좋아 하느냐 입니다. 좋아 하는거랑 잘하는거랑은 다릅니다. 좋아 한다고 해서 반드시 잘하는건 아니니깐요. 잘하지 못해도 좋아 하면 되는것입니다. 물론 좋아 하면서 잘하면 더욱더 좋겠죠. 그런데 제가 왜 저런 질문으로 프로그래머로서의 입문을 판단하냐 하면 프로그램을 하는것이 수학 문제 푸는것과 비슷하기 때문입니다. 


실예로중고등학교때 수학 문제를 풀어 보신분들은 아실겁니다. 문제 풀다가 한군데가 막혀서 풀리지 않으면 답답한게 미칩니다. 그 부분을 풀어야 그 다음 풀이가 진행이 되는데 풀리지 않으면 진도가 안나가죠. 그런데 이 안풀리던 부분을 풀어 버리면 진도는 또 순식간에 나갑니다. 그래서 다 풀고 나면 그 희열은 이루 말할수가 없죠.

프로그램 일도 마찬가지 입니다. 작업을 하다가 하나가 안풀리면 그 다음일을 진행을 하지 못합니다. 시간이 얼마나 걸릴지도 모릅니다. 그리고 굉장히 괴롭죠. 이 안풀리는 부분을 빨리 풀어야 일에 진도가 나가는데 안풀리면 답답한게 미칩니다. 일정이 얼마 안남았으면 더욱더 미칠 노릇이죠. 

그래서 개발자가 밤을 많이 새는것입니다. 물론 고급 개발자가 되면 이런 부분은 극히 드물겠지만 초급 개발자들은 이런 부분에서 많은 시간을 소비합니다. 그리고 많이 소비 해야 합니다. 그래야 실력이 늘거든요. 수학 문제도 누가 가르쳐 줘서 푼거보다 내가 스스로 푼게 응용력도 생기고 다음에 비슷한 문제가 나왔을때 바로 바로 풀수 있듯이 프로그램도 누가 가르쳐 줘서 해결한건 보다 내가 직접 그 문제를 해결한게 기억도 오래 남고 다음에 유사한 문제가 발생했을때 해결 능력이 뛰어 납니다.


또하나 비교를 하자면 수학은 말로 들으면 다 풀수 있을거 같은데 직접 풀어 보면 잘 풀리지 않습니다. 선생님이나 수학 잘하는 친구가 푸는걸 보면 쉬워 보이고 나도 풀수 있을거 같아 보입니다. 하지만 막상 내가 풀어보면 잘 안풀립니다. 프로그램도 똑같은거 같습니다. 누군가 말로 이렇게 저렇게 짜면 다 된다고 말로 들으면 다 될거 같은데 막상 코드를 작성하다 보면 막히는 부분이 많습니다.

여담입니다만 그래서 전 말로 코딩하는 사람을 제일 싫어 합니다. 자기는 잘 짜지도 못하면서 말로 모든 코딩을 해버리는 개발자가 간혹 있습니다. 그런 개발자는 정말 짜증나죠. ㅋ

이렇듯 프로그램 일은 수학문제를 푸는것과 유사한 부분이 많습니다. 수학문제를 풀면서 느끼는 고통, 답답함, 괴로움 등을 즐길줄 아는 사람이 개발일을 해도 오래 할수 있고 진정한 개발자로 거듭나지 않을까 싶습니다. 그리고 안풀리던 수학문제를 풀었을때의 희열감을 아시는 분이시라면 프로그래머로서의 자질이 있다고 생각됩니다. 지금 개발자로 입문을 고민하고 계신 분들이 계시다면 제가 드린 질문을 한번 생각해 보시기 바랍니다.

PS. 이건 전적으로 제 개인적인 생각입니다. 수학을 싫어해도 프로그램 일을 잘 할수 있습니다. 하지만 수학을 좋아 하는 사람이 프로그래머 일이 더 잘 적응하지 않을까 하는 제 개인적인 생각입니다.