포스테키안

2021 여름호 / POSTECH ESSAY

2021-07-20 332

재미있는 컴퓨터공학
컴퓨터공학은 재미있는 학문이고 프로그래밍은 즐겁다

포스텍 컴퓨터공학과 조성현 교수

학부생들을 대상으로 ‘객체지향프로그래밍’ 과목의 수업을 할 때마다 학생들에게 항상 하는 이야기가 있다. ‘컴퓨터공학은 재미있는 학문이고 프로그래밍은 즐겁다’라는 것이다. 솔직히 몇 명의 학생들이 이 이야기에 공감하는지, 또 몇 명의 학생들이 이 이야기에 공감하지 않는지는 모르겠다. 몇 명의 학생들은 그저 교수의 실없는 농담으로 여기는지도 모른다. 수업 시간에는 길게 얘기하지 못했지만, 이 자리를 빌려서 내가 왜 컴퓨터공학과 프로그래밍이 재미있다고 하는지에 대해 순전히 내 개인적인 관점에서 적어 보고자 한다. 공대생이 그대로 자라서 된 것이 공대 교수인지라 논문 외의 글쓰기와는 거리가 먼 삶을 살아왔기 때문에 얼마나 재미있는 글이 나올지 모르겠지만 부디 감안하고 봐주길 바란다.

컴퓨터공학과 프로그래밍은 왜 재미있는가? 올해 6살인 내 아들은 내가 집에 갈 때마다 레고 블록으로 공룡이니 우주선이니 하는 각종 장난감을 만들어서 나에게 자랑하곤 한다. 집에 훨씬 더 그럴듯한 공룡이나 우주선, 로봇 장난감 등이 많지만 그런 것보다는 레고 블록으로 만든 자신의 장난감을 훨씬 좋아한다. 또한 레고 블록으로 장난감을 만들 때는 다른 곳에서는 도통 보여주지 않는 엄청난 집중력을 보여주곤 한다. 아이의 그런 모습을 보며 나는 가끔 내가 어렸을 때 프로그래밍에 빠져 있던 모습을 떠올린다.

나는 우연한 계기로 초등학생 때 컴퓨터 프로그래밍을 접한 뒤에 그 매력에 흠뻑 빠져 버렸다. 그 후 C언어 등을 이용해 게임 제작을 한답시고 초등학생 시절부터 중학생 시절까지 컴퓨터 앞에서 종종 밤을 새우곤 했다. 나는 항상 프로그래밍이 레고 블록으로 장난감을 만드는 것과 비슷하다고 느꼈다. 이번에는 무엇을 만들어 볼까 고민하고, 블록을 쌓듯 코드를 한 줄씩 쌓아가다 보면 어느새 내가 상상했던 프로그램이 완성되어 있었다. 그리고 그것이 내가 기대했던 모습대로 작동하는 모습을 보면서 희열을 느꼈다. 또한 프로그램을 작성하다 만나는 어려운 문제들을 해결하는 것 역시 게임상의 퀘스트를 해결하는 것처럼 재미있는 과정이었다. 그 과정에서 성장한 나 자신을 보면서 뿌듯해하곤 했다. 이런 재미는 다른 분야에서는 쉽게 느낄 수 없는 것들이었으며, 심지어 게임을 하는 것보다도 훨씬 더 재미있었다. 물론 수학이나 물리와 같은 과목을 공부하며 새로운 내용을 깨닫고 이해할 때마다 느끼는 뿌듯함도 있다. 그렇지만 내가 원하는 대로 결과물을 직접 만들 수 있고, 이를 통해 바로 성취감을 얻을 수 있는 분야는 과학이나 공학 분야에서는 컴퓨터공학밖에 없을 것이다.

컴퓨터공학과 프로그래밍이 재미있다는 것은 나만의 일방적인 생각이 아니다. 내가 어렸을 때는 인터넷 대신 PC통신이 있었는데, 하이텔이나 천리안과 같은 PC통신 서비스에서는 각종 동호회가 활성화되어 있었다. 그중에서도 하이텔의 게임 제작동호회나 천리안의 채소 소프트 프로그래밍 동호회와 같은 곳은 수많은 아마추어 개발자들이 모여 정보를 교류하고 친목을 쌓곤 했다. 나는 밤새 PC통신을 하며 동호회 활동을 했는데, 이때 거기서 나와 비슷한 친구들이 많다는 것을 알 수 있었다. 초등학생부터 중학생, 고등학생까지 프로그래밍, 특히 게임 제작을 순전히 취미로 하는 학생들이 많았다. 그때 만났던 많은 사람 중 다수가 현재 게임개발자나 컴퓨터공학 분야의 연구원으로 근무하는 경우가 많다. 포스텍을 다니면서 만난 선후배 중에서도 이런 사람들을 쉽게 찾아볼 수 있었다. 중간고사 전날까지도 시험공부가 하기 싫다며 순전히 재미로 시험과 아무런 관련이 없는 해킹 관련 문서를 공부하던 후배도 있었다. 그 후배는 현재 서울대에서 컴퓨터 보안 전공의 교수로 일하고 있다. 또한 현재 성균관대 교수로 재직 중인 모 선배는 선배의 사무실에 놀러갈 때마다 본인의 연구와는 아무 상관 없이 순전히 취미로 만든 프로그램을 자랑하듯 보여주곤 한다. 이 외에도 다양한 사례가 많다. 이런 사례가 많다는 것이 컴퓨터공학의 재미를 증명한다.

포스텍 컴퓨터공학과 조성현 교수

포스텍 컴퓨터공학과 조성현 교수와 학생들

컴퓨터공학은 단순히 성취감과 같은 개인적인 재미만을 주는 것은 아니다. 내가 만든 앱이 수많은 사람의 스마트폰 위에서 작동하면서 사람들의 생활 방식을 바꾸거나, 내가 개발한 게임을 수많은 사람이 즐기는 것은 생각만 해도 짜릿한 일이다. 연구 역시 마찬가지이다. 내가 연구한 결과가 논문으로 발표된 뒤 이 논문이 다른 사람들의 연구에 토대로 사용되고, 더 나아가 사용자가 이용할 수 있는 기술로까지 발전되는 일은 정말 흥분되는 일이다. 물론 다른 과학과 공학 분야에서도 당연히 이렇게 실제 세계에 영향을 주는 것이 가능하지만, 대부분의 경우에는 수많은 인원과 자금 및 시간이 동반되어야 하는 경우가 많다. 이런 점에서 컴퓨터공학은 혼자서 개발한 프로그램으로도 충분히 이러한 일들을 할 수 있다는 점에서 매력적이다. 아마도 이게 컴퓨터공학과 출신들이 졸업 후 유독 스타트업을 많이 하는 이유 중 하나가 아닐까 싶다.

나는 대학원 진학 시의 전공 선택에 있어서도 재미를 추구했다. 내 전공은 컴퓨터공학 중에서도 컴퓨터 그래픽스 분야이다. 컴퓨터 그래픽스는 영상이나 동영상과 같은 시각 콘텐츠를 컴퓨터의 도움을 받아 생성하는 것을 의미한다. 컴퓨터 공학에서의 컴퓨터 그래픽스는 이런 시각 콘텐츠를 제작하기 위한 각종 컴퓨터 알고리즘을 연구하는 학문이다. 사실 내가 컴퓨터 그래픽스 분야를 대학원 전공으로 선택한 이유 중 하나는 그래픽스에 대해 특별히 잘 알고 있다거나 큰 뜻이 있어서라기보다는 단순히 알고리즘의 결과물이 그림으로 바로 나온다는 점 때문이었다. 결과를 내 눈으로 바로 확인할 수 있다는 것, 그러니까 보상이 즉각적이라는 것이 재미를 추구하던 나에게는 정말 매력적이었다. 이 덕분에 대학원 생활도 재미있게 할 수 있었던 듯하다.

물론 매일 재미있고 즐거운 것은 아니다. 어렸을 때의 취미생활이 어느새 대학교와 대학원에서의 전공이 되고, 또한 직업이 되면서 분명히 어렵고 힘든 순간도 존재했다. 대학원에서는 논문 제출 마감일에 쫓기면서 코드 작성과 실험을 하고, 회사에서도 프로젝트 일정과 목표에 맞춰 개발하면서 여러 힘든 순간들이 있었다. 그럴 때는 한 걸음만 뒤에서 바라보면 내가 하는 일이 여전히 재미있고 내가 순간순간을 즐기고 있음을 깨달을 수 있다. 물론 정 안 될 때는 때때로 내가 하는 일은 재미있다고 자기 최면을 걸기도 한다.

이 세상의 모든 사람은 인생을 한 번밖에 살지 못한다. 그리고 그 인생의 많은 시간을 일하면서 보내게 된다. 그렇다면 이왕이면 재미있는 일을 해야 행복한 인생이 아닐까? 자신이 재미있어하는 일을 직업으로 삼는 것을 소위 ‘덕업일치’라 한다. 이런 단어가 아무 이유 없이 그냥 발생한 것은 아닐 것이다. 이를 추구하는 사람들이 많기 때문에 생겼을 것이다. 모두 ‘덕업일치’를 하여 행복한 인생을 살 수 있기를 바란다.

포스텍 입학팀 유튜브채널 QR코드

9월 3일, 에세이와는 다른 매력의 조성현 교수님을 만나보세요!

 

글. 포스텍 컴퓨터공학과 조성현 교수