프로그래밍 오리엔테이션

전공자와 비전공자

프로그래머라는 직업은 사실 하나의 단일 직업이 아니라고 생각합니다. CPU 인스트럭션 셋을 만드는 사람들, 프로그래밍 언어를 만드는 사람들, 운영체제를 만드는 사람들, 브라우저를 만드는 사람들, 웹사이트를 만드는 사람들 모두가 사실은 직업이 다른 것 같습니다. 이 사람들 간의 동질성이란 컴퓨터에 대한 이해가 필요하다는 것과 코드를 다루는 사람들이라는 점 정도이고 실제로 이들에게 요구되는 지식이나 재능은 꽤 다르거든요. 프로그래머라는 말은 너무 포괄적이기 때문에 이것을 좀 세분화시켜서 논의해보는 것도 유익할 것 같습니다.
 
컴퓨터를 다루는 이유는 문제를 해결하기 위해서 일 것입니다. 이 글의 맥락에서 저는 문제를 두가지로 나누고 있습니다. 하나는 해결해야 할 대상이 컴퓨터 자체인 경우이고, 다른 하나는 현실의 문제를 해결하기 위해서 컴퓨터를 사용하는 것입니다. 
 
전공자가 반드시 필요한 분야가 바로 컴퓨터 자체의 문제를 해결하는데에 있다고 생각합니다. 실제로 전공자들의 커리큘럼은 바로 컴퓨터 자체의 문제를 해결하는데 방점이 맞춰져 있습니다. 하지만 컴퓨터를 만들고 또 컴퓨터의 성능을 향상시키기 위한 많은 문제들이 이미 해결 되었기 때문에 전공자들이 해결해야 할 문제의 대상은 빠른 속도로 사라지고 있는 것 같습니다. 자연스럽게 현실의 문제를 해결하는 쪽으로 관심을 갖게 되겠죠.
 
현실의 문제란 사람들의 삶을 더 편리하게 해주는 앱이나 웹이나 게임과 같은 것들이 대표적일 것입니다. 생물학자가 DNA를 분석한다거나, 금융 거래 시스템을 구축하는 것과 같은 일도 여기에 속하는 문제일 것입니다. 해결해야 할 문제가 현실의 문제라면 그것을 누가해야 하는가에 대한 질문은 조금 복잡해지는 것 같습니다. 이를테면 금융 프로젝트를 한다고 했을 때 금융을 10년 했던 금융 출신의 1년차 비전공 개발자와 적금이 무엇인지 잘 모르는 10년차 개발자가 프로젝트에 투입된다면 누가 더 잘할까요?
 
물론 금융맨 출신의 개발자가 더 잘한다!고 할 수는 없을 것입니다. 그렇지만 전공자가 더 잘한다고 확신하기도 어렵습니다. 금융은 금융공학이라는 말이 있을 정도로 복잡한 하나의 분야니까요. 그렇다고 금융처럼 신뢰성이 중요한 분야를 컴퓨터에 대한 이해가 부족한 사람이 하는 것도 역시 문제가 있겠죠. 결국에는 협력이나 통섭이 중요해지는 것이 아닐까요? 컴퓨터 공학자가 금융을 배우는 것처럼 금융을 하는 사람들이 컴퓨터 공학을 배우는 것도 비슷한 일이라고 생각합니다. 
 
제가 아는 실력 좋은 개발자 중에는 비전공자들이 꽤 많이 있습니다. 이들은 자신의 문제를 해결하기 위한 방법으로 개발을 시작했습니다. 문제를 해결하니 문제는 사라지고 개발능력이 남았습니다. 그 능력을 살려서 개발자의 길을 가게 된 것이죠. 이 분들은 꾸준히 전공자들의 공부를 섭렵해서 컴퓨터에 대한 이해를 넓혀나아가고 있습니다. 거기에 자기 분야의 경험을 조화롭게 융합하고 있습니다.
 
반대로 제가 아는 실력 좋은 컴퓨터 엔지니어중에는 다른 분야로 이동한 경우도 많이 있습니다. 컴퓨터 공학을 전공하고 물리학자의 길을 간 분도 계시고, 명망있는 해커였는데 지금은 생명과학을 연구하고 계신 분도 있습니다. (개발자들에게 DNA와 RNA를 알려주고 싶다고 하십니다.) 이 분들은 자신의 전공을 버린 것이 아니고 오히려 컴퓨터에 대한 높은 이해를 바탕으로 해당 분야에서 두각을 나타내고 있습니다.
 
최초의 컴퓨터 공학자는 컴퓨터 공학자가 아니었을 것입니다. 수학자, 물리학자였습니다. 심지어 노암촘스키는 언어학자인데 이분이 프로그래밍 언어에 미친 영향은 심대한 것으로 알려져있습니다. 또 올바른 객체지향을 위한 길잡이인 디자인 패턴도 건축가들이 올바른 설계를 하기 위해서 고안한 방법론을 차용한 사례이고요.
 
현실은 다양한 분야들이 복잡하게 조우하는 교차로가 아닐까 싶습니다. 이러한 복잡성을 어떻게 조합해 나가는가는 컴퓨터를 전공해서 다른 전공자들의 문제를 해결하려는 사람이건, 컴퓨터를 이용해서 자기 전공 분야의 문제를 해결하려는 사람이건 중요한 숙제인 것 같습니다. 

댓글

댓글 본문
  1. 이상민
    감사합니다
  2. hyo236
    비전공자에게 힘를 주면서도, 앉은 의자 깊숙이 들어가 차분해지는 글이네요. 항상 내가 어디로 향하고 있고 어떠한 일을 원하는지 잊지 말아야 하겠습니다
  3. 맹뚜
    비 전공자이지만, 지속적으로 노력해보겠습니다! 정말 좋은 이야기 감사합니다!
  4. 상선약수
    생활코딩님의 고뇌가 느껴집니다.
  5. switpotato
    좋은 말씀 감사합니다!!
    비전공자로써 다시 용기를 내어봅니다!!
  6. Kyung Hwan Kim
    자기 책 광고 하는거 아닙니까!! 준이님
  7. 허공
    감사합니다!
  8. 준이
     저는 문과 출신이지만, 금융 IT 현장에서 개발자로 일하고 있습니다. 전산 비전공자라도 당당히 IT 분야에 취업해서 자신의 역량을 발휘할 수 있습니다.  
     업무 전문가로 인정받으면서 개발자로 장수하는 방법에 대하여 이야기하는 책("문과생이 판치는 소프트웨어 개발")을 참고해도 도움이 됩니다. 업무단 개발 현장에서 50대 후반, 60대 선배 개발자를 만날 수 있습니다.
     비전공 문과 출신 선배 금융 IT개발자로서, 여러분을 응원합니다 ~!
  9. Cenfun
    전 프로그래머를 단일 직업으로 보고 노후 대책 방안에 대해 상상하고 있었습니다. 단순히 가상의 세계에서 가상의 이름을 가지고 필요한 것들을 만들어내고 팔리면 좋은 그런 것. 그런데 프로그래머가 단일 직업이 아니라는 말에 막막해지네요. 저는 C와 JAVA를 후다닥 공부했었는데 프로젝트를 진행하기가 어려워 그냥 오픈 소스를 하나 정해서 분석하고 있습니다. 다른 것에 대한 욕심인지 호기심인지 코딩야학에도 참여해 봅니다. 제게 맞는 게 어느 한 가지는 걸리겠죠. 너무 비현실적인 말 같아서 쓰면서도 너무 부끄럽군요
  10. 돼지천재
    감사합니다.
  11. 비전공들계발자
    저 역시 비전공자로 프로그래밍 공부를 시작했는데 1차적인 목표는 제가 겪고 있는 일상의 불편함과 문제를 해결하는 것이고 그것들이 어느 정도 해소된다면 좀 더 많은 사람들의 불편과 문제를 해결하는데 프로그래밍을 사용하고 싶다는 생각을 가지고 있습니다.
    생활코딩 덕분에 생각으로만 가지고 있던 의도를 실현할 수 있을 거 같네요.
  12. 제로스
    항상 생각하는 부분이 있습니다.
    우리는 목적보단 도구를 위해 학업을 하지 않았나 하구요.
    물론 목적이 있었는데 그것은 시험...
    어떠한 목적, 즉 프로젝트 같은걸 두고 도구들을 이용해서 좀더 쉽게 효율적으로 모든 학문, 업무를
    풀어가는게 좋다고 봅니다.
  13. seokhee
    단순히 언어를 배우고 코딩하는 방법에만 치중하는것이 아닌
    밑바탕이 되는 철학을 배울 수 있기에 참 좋은 공간입니다.
    이고잉님감사합니다.
  14. Gwanghyeon Harry Gim
    좋은 글 감사드립니다.

    웹어플리케이션 만들기, Web 1,2(CSS), Python & Ruby 등을 완주한 뒤 '그래서 뭘 하면 좋은가?'를 고민하다 들어온 이 과정에서 이처럼 좋은 글을 만나게 돼 기쁩니다. 프로그래머는 현실의 문제를 해결하는 사람이라는 말이 제게 무척 와 닿았고 문제를 해결하는 과정과 그 뒤에 남게 되는 것은 한쪽을 포기하는 것이 아닌 '통섭'이라는 것도 희망적인 말이라는 생각이 들었습니다.

    프로그래밍을 시작한 이 길의 끝을 더욱 더 기대하며 공부하고 만들어보고 싶다는 생각을 하게 됐습니다. 감사합니다.
  15. 정말 좋은 글이라고 생각합니다.
  16. 양수
    '얽힘의 시대'라 하겠습니다. 언어의 의존성, 복잡도가 존재하듯이..
    현실의 세계도 이와 같겠지요.

    서로 조우하며 공조해야 된다고 생각합니다.
  17. JiYoung Choi
    감사합니다.
  18. 강경호
    아주 공감합니다
  19. Daniel Sun
    글 동영상 모두 쏙쏙 들어오게 참 잘하시네요~ 비전공자로서 감사드립니다. 이제 시작이지만 열심히 해보도록 하겠습니다 ㅎ
  20. nomad2gleam
    철학과 물리학을 함께 전공하고 (7년차) 처음 프로그래밍을 접하게 되어 공부하고 있습니다.
    단순하게 보일지 모르지만 정말 좋은 글이라 생각합니다.
  21. 완료!
    감사합니다~완료
  22. 폭스킴
    현실은 다양한 분야들이 복잡하게 조우하는 교차로~
  23. Gina Choi
    글이 한문장 한문장 명필이네요
  24. JustStudy
    고맙습니다
  25. Metanoia
    Convergence!!!

    May the force be with you!!!
  26. 오빠는다르다
    감사합니다!!!
  27. nouj
    융합학문에서 가장 핵심적인것이 프로그래밍이라고 생각합니다. 실제로 저도 전공은 유전자 쪽이지만 실제로 프로그래밍으로 전향해서 공부중입니다. 글에서 언급하신 개발자를 위한 DNA와 RNA 수업 궁금하네요 ㅎㅎ.
  28. 검사무운
    잘 봤습니다.
    전공자가 한길을 파면 생각의 폭은 좁아지고 깊어지지만
    다른길을 더하면 생각의 폭까지 넓어지는것 같습니다.
    많은 생각을 하게 하는 글 이었습니다.
  29. 바람과 나무
    감사합니다. 좋은글이네요
  30. 방랑객
    통섭과 협력.. 비전공자로서 잘 읽었습니다.
  31. 강구임돠
    좋은 말 씀 감사합니다. 공감합니다.
  32. Nacora
    잘봤습니다 ㅎㅎ
  33. Bongchul Ki
    감사합니다..
  34. 찍찍이얌
    감사합니다.
  35. jaballet
    짝짝짝! 대단히 공감합니다.
  36. 우옹우옹
    좋은 말씀 감사합니다
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기