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


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

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

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


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


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


  수학을 좋아 하십니까?



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


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

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

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


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

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

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

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



신고
  1. 저도 프로그래머 출신이었던 입장으로 되돌아보면 적성 안 맍으면 다른 일 하시는게 낫죠. 머리아프고 몸도 고되고 스트레스 많이 받는 일임에 틀림없습니다. 물론 즐기는 분들도 있긴하지만요. 즐길 자신 없으면 다시 한번 생각해보는것도 좋은 방법입니다. 돈벌이로서 하는 프로그래밍은 업무외적으로 스트레스도 많기도 하구요. 의외로 프로그래머의 업무생명이 짧다는 것도 감안하셔야 할겁니다.
    • 2010.03.08 13:19 신고 [Edit/Del]
      전 오래도록 개발일을 하고 싶은데 우리나라에선 그게 힘든거 같습니다. 왜 우리나라에선 개발일을 오래도록 못하는지 알수가 없네요. 개발자에게 돈 투자하는게 아까워서 그런건지... 에혀... ㅠ.ㅠ
  2. 수학 싫어하는데 코딩하는 1인 ( ..)a
  3. 수학은 논리적 사고력과도 연관이 되고, 결국에는 수학을 잘 해야 하기도 합니다. 수학을 잘 못하면 언젠가 벽에 부딧히더라구요. 어느 레벨 이상으로 올라서려면 수학실력이 정말 필수 인 것 같습니다.전 그 수학의 벽에 걸려 관둔 프로그래머.
    • 2010.03.08 13:21 신고 [Edit/Del]
      저도 수학을 좋아는 하지만 잘 하진 못합니다. 저도 언젠가는 벽에 부딧치는 날이 오겠군요. ㅜ.ㅜ 그래서 3D 작업은 겁이 난다는... ㅋ
  4. 음...저는 비전공자의 프로그래머(개발자)로서의 입문은 별로 추천하지 않습니다.
    그 이유는 경력이 쌓여 갈수록 내공이 깊어져야 하는데 그에 기반이 되는 전공 관련 기반 지식들이 부족할 수 밖에 없기때문입니다.(비전공자를 비하하거나 하는건 절대 아닙니다. 잘하는 분 많다는 것 저 또한 잘 압니다.)
    본문에 언급하신 것처럼 계속 공부해야 하는 게 새로운 기술이 나오는 것만은 아니기 때문입니다.
    즉 개발 내공을 쌓아갈수록 파일 시스템이 왜 그렇게 되어 있을까? 메모리 관리가 왜 그렇게 되며 heap, stack 등의 메모리 차이는 무엇인가? 등등등(아주 사소한 예입니다.) 이런 것들을 고민하면 할 수록 학교때 배웠던 기초 지식이 필요합니다. 그런 내공이 쌓여야만 발전해 나갈 토대가 된다는 생각입니다.
    • 2010.03.08 17:14 신고 [Edit/Del]
      그렇죠. 비전공자일수록 컴퓨터 기본 구조에 대해서 관심을 가지고 공부를 열심히 해야죠. 그런데 그건 전공자 비전공자를 떠나서 컴퓨터에 얼마나 관심이 있냐가 중요한거 같습니다. 비전공자라도 컴퓨터에 관심이 많으면 기본적인 시스템을 잘 습득을 하고 전공자라도 컴퓨터에 관심이 없으면 시스템을 잘 모르는거 같습니다.
      전공자든 비전공자든 IT 쪽 일을 할려면 무한한 관심과 열공모드를 가지고 있어야 할거 같습니다. 비전공자는 더욱 그렇겠죠.
      저도 비전공자지만 전공자 못지 않게 알려고 노력을 많이 했습니다. 제 밥줄이라 생각했기 때문이죠. ㅋ

      적다보니 말에 두서가 없네요. 이해해 주세요. ^^
  5. ㅋㅋㅋㅋㅋ 그냥 그러려니 읽다가 말로 코딩하는 사람 얘기에 댓글 남깁니다.
    말로 코딩하는 사람은 발로 코딩하는 사람보다 더 심각하죠. ㅋㅋㅋㅋ
  6. 의미론적인 내용이었군요! 제목보고 놀랐어요 ㅎㅎ
  7. 음..
    제가 처음 입사 했을 때 차장왈..
    내가 널 입사하기 전부터 알았다면 도시락싸들고 다니면서 너 말렸다고 이말을 했죠..
    IT구조부터 변해야 프로그래머할만할듯..ㅠㅠ 저도 그만두었지만.. 참..
    힘들죠..개발은 재미있지만.. 시간은..ㄷㄷㄷ
    • 2010.03.09 08:24 신고 [Edit/Del]
      지금 고생한 분들이 오너가 되면 아마 많이 괜찮아 지지 않을까 하는 생각도 해봅니다. 지금 대부분의 오너들은 IT 전공자가 아니거나 개발 일을 모르는 사람들이 많아서 더욱 개발자가 힘든게 아닌가 하는 생각이 듭니다.
  8. 저도 아이들에게 논리적 사고를 가르치기 위해 프로그래밍을 가르치면 어떨까 하는 생각을 가끔 하곤 하는데
    (저는 중고등학교 때 독학으로 C를 공부하고 지금은 컴퓨터와 상관 없는 전공에 있습니다.)
    현장에 있는 분도 역시 수학이 중요하다고 생각하시는군요^^:
    • 2010.03.12 13:41 신고 [Edit/Del]
      많이 중요합니다. 수학적인 사고를 좋아 하지 않으면 개발일을 즐기기가 힘들거 같습니다.
      학생들에게 재미로 공부겸해서 C를 가르치는것도 논리적 사고 향상에 좋을 듯 보이네요. ^^
  9. 금강초롱
    저도 IT를 전공하였지만 현재 그쪽 일을 하고있진 않습니다.
    물론 적성에 맞아서 계속하고 있는 친구도 있습니다.
    수명도 짧고 평생공부를 해야한다는 내용이 정말 공감이 가며
    그러한 이유로 깊이 발을 담그지 않은게 현재로선 다행이라고 생각합니다.
    다른 어느 직업보다 대접받아야 하는 직업임에도 불구하고
    현실은 그렇지 못한것이 안타까울 따름입니다.
    • 2010.06.15 14:32 신고 [Edit/Del]
      크... 알아 주시니 감사합니다. 언제쯤 대접을 받을지...
      삼성에서도 이제는 소프트웨어의 중요성을 알고 투자를 많이 한다고 하니 그 여파가 다른 모든 기업에게까지 퍼졌으면 좋겠습니다. ^^
  10. OneFlewby
    지나가던 대학생입니다^^;; 좋은 글 잘 읽었습니다.
    저는 경제학을 전공하고 있지만 프로그래밍이 좋아서 독학하고 있는데(뭐 꼭 직업으로 해야겠다는 생각은 없지만 그런 생각을 안해본건 아니니까요ㅎㅎ)...많은 도움이 된 글이었습니다. 제 진로에 대해서도 다시한번 생각해 보게 되었네요^^
  11. 정말 "개발자란 평생 공부해야 하는 직업"일까요? 저도 개발할때는 이렇게 생각했었는데, 사실 개발자를 떠나게 된 이유는 "더 배우는 게 없어서"였답니다. 저는 10년여 전부터 개발을 했는데 그때는 기술들이 자리잡기 전이었기 때문인지 모든 기술이 계속 변했습니다. 저는 개발 오래한 선배들이 나보다 자바랑 html을 더 잘하지 않을 뿐더러, 자기도 몇번 안해봤네 얘기하는걸 듣고 비전이 없다고 생각했었죠. 하지만 저랑 같이 개발하던 분들은 똑같은 기술로 계속 개발하고 있습니다. 기술은 변했지만, 10년전에 짜던 자바/쿼리나 지금 짜는 거나 달라 보이지 않습니다. 심지어 메인프레임에 DB2에 코볼 돌리는 사람들도 아직 있습니다. 그분들이 본인의 업무를 지속하기 위해 계속 공부하신다고 보기는 어렵지 않을까요? "당연히 평생 공부한다는 각오로" 라는 말씀이라면 백번 인정합니다 ^^
  12. 꺼식
    해볼만한 가치가 있긴합니다. 일부러 평생공부를 하지 않아도 된다고 생각 합니다. 아는 분야(언어 등)에 관련된 프로젝트에 투입되어도 문제 영역 자체가 늘 공부를 안할수 없게 나를 기다리고 있으니까요 ㅎㅎ
  13. 허저
    저는 수학을 좋아 하진 않지만 (너무 어려워서...) 프로그래밍을 공부하며 간단한 코딩이라도 내 스스로 하게 되어서 결과물을 얻었을 때의 그 기쁨은 정말 짜릿짜릿 하더군요... 회사선배가 이런 이렇게 저건 저렇게 말은 해주지만 막상 내가 짜기 시작하면 ...뭐지? 하는 느낌을 정말 많이 받았었는데 말이죠... 근데 해결하고나면 이런거구나... 으악!! 하면서 쾌감을 느낍니다...(싸이코? ㅋ) 아무튼 저도 좋은 개발자로 성장하고 싶네요 !!
  14. 역시 수학도 꾸준히 공부해야겠네요
    잘 보고 갑니다 ㅎ

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기