프로그래밍 공부하는 인문계 대학생에게

전문가 칼럼입력 :2015/01/02 09:16    수정: 2015/01/02 09:22

임백준
임백준

인문계 대학생들의 프로그래밍 학습열기가 뜨겁다는 소식이다. 반가운 일이다. 그만큼 소프트웨어와 관련한 직종이 인기라는 뜻인데 소프트웨어 업계에 종사하고 있는 사람들의 표정이 이상하다. 눈은 웃고 있지만 입은 무겁게 닫혀있다. 그리 반가워하는 표정이 아니다. 이런 감정에는 이유가 있다.

한국의 IT 업계가 세계의 환경과 분리된 갈라파고스라는 이야기는 공론화 된지 오래다. IT 업계가 소수의 엘리트 개발자와 다수의 3D 개발자로 날카롭게 구분되어 있다는 점에서 그렇다. 성공적인 소프트웨어 업체나 대기업에서 근무하는 개발자들은 미국이나 유럽의 개발자들과 다를 것 없는 복지와 연봉을 누린다. 하지만 나머지 개발자들의 삶은 고단하고 비참하다.

업계의 종사자들이 소프트웨어를 향해서 불어오는 훈풍을 마음껏 반기지 못하는 이유다. 그들은 최근에 부는 바람이 한국의 IT 환경을 세계의 환경과 통합시키는 방향으로 나아가지 않고 오히려 마이너리그를 강화하는 방향으로 나아갈 거라고 우려한다. 프로그래밍을 공부하는 인문계 대학생들은 이러한 현실을 인식하고 있을까.

업계의 선배로서 나는 그들에게 세 가지를 말해주고 싶다. 코딩과제에 몰두하다보면 생각하기 어려운 부분에 대한 조언이다. 장차 프로그래머가 되면 반드시 기억해야 하는 책임이 있다는 점, 프로그래밍은 기술이 아니라 문화라는 점, 그리고 프로그래밍은 평생공부를 요구한다는 점이 그들이다. 하나씩 살펴보자.

우선 책임이다. 인문학과 사회과학에 소양이 있는 사람들이 누구보다 적극적으로 나서주어야 하는 일이 하나 있다. 그것은 바로 한국 IT 업계의 환경을 세계의 환경과 통합시키는 일이다. 갈라파고스를 둘러싼 벽을 허무는 일이다. 그렇게 하기 위해서는 IT 업계의 현실을 관찰하고, 분석하고, 글로 남기고, 토론하고, 공론화해서 실질적인 개선을 위한 사회적 합의를 도출하는 일이 필요하다.

인문계 대학생들은 상대적으로 사회 전체의 움직임을 관찰하고 그것을 말과 글로 설명하는 능력이 뛰어나다. 그런 사람들이 업계 내부에서 역할을 수행해주면 많은 도움이 될 것이다. 이런 면에서 프로그래머가 된 인문계 대학생은 개인적인 성공을 위해서 매몰될 권리가 없다. 업계 전체의 정상적인 진화를 위해서 발언할 책임이 있다. 한국 IT 환경을 세계 환경과 통합하는 것은 장기적으로 보았을 때 자신이 선택한 개발자라는 길에도 커다란 도움이 될 것이다.

두 번째로, 프로그래밍은 문화다. 기술은 문화라는 흙 위에서 피어오르는 꽃이다. 프로그래밍을 처음 배울 때에는 기술적인 내용에 집중하겠지만, 꽃보다 흙이, 기술보다 문화가 더 중요하다는 점을 잊지 말아야 한다. 예컨대 해커정신이라든지, 힙스터(hipster) 문화 같은 것들은 모두 주류문화에 대항하는 젊은이의 반항정신을 토대로 한다. 개발자에게는 그런 종류의 문화적 DNA가 있다. 있어야 한다.

프로그래밍을 배울 때, 편집기에 코드를 타이핑해서 컴파일 하는 것에 급급하지 않아야 한다. 해당 기술이 탄생한 배경, 그것이 해결한 문제, 비슷한 기술 중에서 선택되지 못하고 도태한 기술, 그것을 처음으로 만든 사람의 삶, 그리고 그 기술을 뛰어넘기 위해서 사방에서 솟아오르고 있는 새로운 기술 등에 대해서 관심을 가져야 한다. 그런 관심이 모이면 문화가 된다. 여기에서 이야기하는 문화란 그런 것을 의미한다.

진짜 개발자가 되려면 문화적 소양을 키우기 위한 노력이 필수적이다. 테드(Ted), QCon, 마이크로소프트 테크데이즈(Techdays), 애플 세계개발자대회, 네이버 데뷰(Deview), 구글 I/O, 자바원(JavaOne), 스칼라데이즈(ScalaDays), 스트레인지 루프(Strange Loop) 등등, 수없이 많은 컨퍼런스의 키노트 강연을 듣고, 인터넷 강의를 수강하고, 블로그에 글을 남기고, 책을 읽으며 안목을 넓혀야 한다. 개발자 모임에 참석하고, 배우고 싶은 개발자에게 과감하게 연락해서 사람을 알아가야 한다. 개발자 친구를 사귀어야 한다.

그렇게 문화적 소양을 키우면서 기술적인 내용을 함께 공부하는 것이다. 6개월이라는 시간이 중요한 것이 아니라, 어떻게 공부한 6개월인가가 중요하다. 초보자라고 해서 머뭇거리지 말아야 한다. 문화적으로 세련된 초보자는 편집기만 들여다보면서 10년을 보낸 개발자보다 섹시하다. 문화적 소양을 다른 말로 하면 ‘내공’이다.

마지막은 평생공부다. 앞의 내용과 연관이 있다. 문화적 소양을 쌓기 위해서는 평생공부가 필수다. 내가 이미 알고 있는 것, 지금 배우는 내용은 천년만년 가지 않는다. 계절이 바뀌면 시드는 꽃이다. 누군가 그대에게 “프로그래밍은 6개월만 공부하면 할 수 있는 것”이라고 말한다면 그것은 6개월 정도 공부하면 마이너리그에서 3D 업무를 수행하기에 충분하다는 뜻이다. 기술을 암기하는 것이다. 허접한 꽃이다.

프로그래밍은 과학(science)과 공학(engineering)을 바탕으로 하지만 기예(art)의 속성이 다분하기 때문에 배운 시간이 아니라 재능에 따라서 더 많은 차이를 보인다. 그렇지만 재능과 상관없이 프로페셔널 개발자들은 매일 공부한다. 프로그래밍의 세계에는 그것으로 다 배운 거야라는 개념이 없다. 오리가 물에 뜨기 위해서 끊임없이 발을 움직이는 것처럼, 개발자는 개발자이기 위해서 매일 공부한다. 공부를 멈추는 순간, 그는 더 이상 개발자가 아니다.

관련기사

그래서 공부가 그 자체로 즐겁지 않거나, 마음이 조급한 사람은 프로페셔널 개발자가 되기 어렵다. 6개월 동안 배울 수 있는 것이 있다면 그것은 프로그래밍이 아니라 프로페셔널 개발자가 되는 방법일 것이다. 프로그래밍은 결코 6개월 만에 배울 수 있는 것이 아니다.

지금까지 이야기한 세 가지, 한국 IT 환경을 세계 환경과 통합시켜야 하는 책임, 기술보다 문화적 소양을 쌓기 위해 노력해야 하는 점, 평생 공부해야 한다는 사실을 듣고 나서도 기꺼이 개발자가 되고 싶은 사람이라면 계속 프로그래밍을 공부해도 좋을 것이다. 통섭과 융합은 좋은 거니까. 그렇게 훌륭한 자질을 갖춘 인문계 대학생들이 많아지다 보면 굳게 닫힌 소프트웨어 종사자들의 입이 열리고 환하게 웃는 날도 오리라고 생각한다. 건투를 빈다.

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.

임백준 IT컬럼니스트

한빛미디어에서 『폴리글랏 프로그래밍』(2014),『누워서 읽는 퍼즐북』(2010), 『프로그래밍은 상상이다』(2008), 『뉴욕의 프로그래머』(2007), 『소프트웨어산책』(2005), 『나는 프로그래머다』(2004), 『누워서 읽는 알고리즘』(2003), 『행복한 프로그래밍』(2003)을 출간했고, 로드북에서 『프로그래머 그 다음 이야기』(2011)를 출간했다. 삼성SDS, 루슨트 테크놀로지스, 도이치은행, 바클리스, 모건스탠리 등에서 근무했고 현재는 맨해튼에 있는 스타트업 회사에서 분산처리, 빅데이터, 머신러닝과 관계된 업무를 수행하고 있다.