Articles

7년만에 학부를 마치며

대학생 때 알았더라면 좋았을 것들

Table of Contents

나에게 컴퓨터는 무한 캔버스였다.

새내기

미디어는 스무 살을 찬란하게 묘사한다. 스무 살은 두 번 다시 오지 않을 가장 반짝이는 나이이며, 모든 가능성이 열려 있는 나이이고, 하루하루가 가슴 뛰어야 하는 나이다. 하지만 현실에 미디어가 그려내는 스무 살은 없었다.

대부분의 수업은 시시하게 느껴졌고, 아무것도 모르는 신입생들이 교재를 발제하는 개론 수업에 알맹이가 있을 리 없었다. 대학이 순수한 목적으로 학문을 탐구하는 곳이길 바랐지만, 순진한 생각이었다. 학교는 새내기에게도 취업을 강조했다. 하루는 대기업에 취업한 선배들이 발표하는 특강을 듣기 위해 주말에도 학교에 나와야 했고, 교수님들은 수업 중 ‘성공한’ 제자들의 사례를 자랑스럽게 나열하곤 했다. 여기서 '성공’이란 당연히 대기업에 입사해서 높은 연봉을 받는 것을 의미했다. 스무 살이 되자마자 취업이라는 과업을 받아드니 공허함이 밀려왔다.

딱히 마음을 둘 곳도 없었다. 솔직히 말하자면 입학 직후 새내기 배움터(새터, OT)에서 억지로 장기자랑을 시킬 때부터 이미 학과에 정나미가 떨어지는 바람에 다른 학과의 소학회나 중앙동아리를 전전하며 내 자리를 찾고 있었다. 여름방학 쯤에는 우리 과보다 소프트웨어학과에 아는 사람이 더 많았다. 더군다나 4인1실의 기숙사 방은 너무 좁아서 숨이 막힐 지경이었고, 1층이었던지라 대낮에도 방 안은 어두웠다. 같은 방에는 내가 초등학교 5학년이었을 때부터 대학생이었을 09학번 선배가 있었다. 선배는 8년간 어떤 사연으로 아직까지 학교에 남아 있는 것일까 궁금했다. 그러나 입소 첫날 서로 인사를 한 뒤로는 7시에 기상해서 12시에 취침하는 그 선배와 제대로 된 대화를 나눌 기회가 없었다. 선배의 책장에 꽂혀 있던 CPA 기출문제집들이 몇몇 추리의 단초만을 제공할 뿐이었다.

낮에 수업이 없을 때는 도서관에서 시간을 보내곤 했다. 도서관은 교내에서 거의 유일하게 혼자 시간을 보낼 수 있는 장소였고, 높은 책장 사이에서 완전히 긴장을 풀 수 있는 장소였다. 대학 도서관에는 없는 책이 없었고, 만에 하나 찾는 책이 없으면 구입 신청도 할 수 있었다. 전공서부터 소설까지 온갖 책을 손에 잡히는 대로 읽었다. 한편 밤에는 대부분의 시간을 술집에서 보냈다. 더 많은 술자리에 나갈수록 스무 살이 더욱 반짝인다고 생각한 것마냥 알코올을 찾아 다녔다. 밤새 술을 마시고 첫차를 기다리며 거리를 서성이거나, 담배 냄새나는 친구 자취방에서 아침을 맞이하곤 했다. 술자리는 성년의 자유를 즐기는 자리이기도 했지만, 때로는 내가 대학 사회에 어울리는 인간임을 증명하는 자리이기도 했다. 입학 전 '예비 신입생 환영회’부터 입학 후 ‘신입생 환영회’, 새터 등 온갖 행사에 참석하며, 가고 싶지도 않은 술자리와 뒷풀이를 굳이 찾아가며, 각종 동아리에 중복 가입하며, 맥주 광고같은 스무살을 실현하기 위해 부단히 노력했다.

하지만 나의 스무 살은 집에서 홀로 크리스마스를 보내는 듯한 묘한 기분으로 흘러갔다.

학교에서 배우기

2학년이 되자 친구들은 진지해지기 시작했다. 이제는 속수무책으로 졸업을 향해 달려가고 있다는 생각이 들었다. 종강이 다가올 때마다 무엇을 할 것인가하는 걱정에 사로잡혔다. 불확실한 미래에 대한 불안감이 있었지만, 가장 즐거운 대학 생활을 보낸 시기이기도 했다. 전공 수업은 물론이고 교양 수업까지도 모든 내용이 흥미로웠고, 이제서야 학교에서 의미를 찾을 수 있었다.

미디어학과에는 크게 컴퓨터공학, 시각디자인, 영상미디어 분야의 수업들이 개설된다. 미디어학도는 자신의 진로에 맞게, 혹은 끌리는대로 관심 분야의 수업을 선택해 수강할 수 있다. 내가 2학년이 되는 해부터는 자유의 폭이 더욱 넓어져서 말그대로 나만의 커리큘럼을 구성할 수 있었다. 이와 더불어, 소프트웨어학과 수업을 눈여겨 보고 있던 내게 타과 수업 수강에 제한을 두지 않는 학교 정책도 큰 행운이었다. 수강신청날에 선착순 안에만 든다면 듣고 싶은 수업은 마음껏 수강할 수 있었다.

컴퓨터구조 수업은 특히 재미있었다. 나는 중학교 1학년 때 처음 C언어를 공부하면서 컴퓨터 프로그래밍을 시작했다. 취미로써, 가끔은 일로써 수많은 애플리케이션 코드를 작성하면서도 논리 세계의 코드가 도대체 어떻게 물리 세계의 전자회로를 조작한다는 것인지 이해하지 못하고 있었다. 컴퓨터라는 기계를 제대로 이해하지 못한 채로 컴퓨터를 다루고 있다는 사실이 답답하기도, 불안하기도, 부끄럽기도 했다. 컴퓨터구조 수업은 내게 컴퓨터의 실체를 밝혀준 수업이었다. MIPS 어셈블러를 만드는 첫 과제는 쉽지 않았다. 손으로 직접 어셈블리 코드를 32비트 바이너리로 해석해봐야 했고, 리눅스 머신은 물론이고 WSL도 없어서 버벅거리는 VMWare 위에 우분투를 올리고 코딩해야 했다. 크리스 소이어(Chris Sawyer)는 도대체 어떻게 롤러코스터 타이쿤을 만든 것인지 경이로웠다. 이때 C로 작성한 MIPS 어셈블러는 3년뒤 러스트로 재작성하기도 했다.

컴퓨터구조 수업에서 MIPS 어셈블러를 만들기 위해 작성한 노트

미디어학과 전공 커리큘럼에는 시각디자인 수업들도 있었다. 그래픽 디자인 수업에서는 기초적인 조형요소와 원리를 배우고 벡터 그래픽을 다루는 방법을 익혔다. 넘치는 열정으로 4학년 수업이었던 UX디자인 수업을 들었는데, 엄청난 과제량에 압도되면서도 사용자 경험을 디자인한다는게 무엇인지, 디지털 제품을 어떤 과정으로 설계하는지 배우는 것이 즐거웠다. (이렇게 강도높은 수업은 수명을 깎아내지만, 종강하면 기억이 미화되기 때문에 같은 선택을 반복하게 된다.) 디자인 수업들은 '좋아 보이는 것’이 왜 좋아 보이는지 설명하는 훈련의 연속이었다. 좋은데 이유가 어디있냐는 말이 낭만있긴 하지만, 왜 좋은지 자신의 언어로 풀어보면 더 좋아지기도 한다. 이때 내가 이른바 스위스 스타일로 불리는 국제주의 양식의 형식미를 좋아한다는 사실을 알게 됐다. 지금도 나는 포스터를 모은다.

UX디자인 수업에서 만든 고객 여정 지도

시각디자인은 확실히 재미있었으며, 내 적성에도 잘 맞았다. 하지만 그 전문성을 인정받기가 쉽지 않았다. 디자인 결과물에는 누구나 한마디씩 얹기를 좋아했다. 클라이언트가 만족할만한 결과물을 만들기 위해 협상과 타협을 반복하는 것도 지치는 일이었고, 제작 과정이 결과물에 투영되어 함께 평가받는 점도 부담스러웠다. 이 시기에 보다 분명히 스스로를 엔지니어로 정체화했던 것 같다.

여러 동아리를 돌아다닌 끝에 정착한 사진 동아리와 프로그래밍 동아리에서 적극적으로 활동하기는 했지만, 그저 좋은 사람을 넘어서 가치관까지 맞는 사람을 찾기는 쉬운 일이 아니었다. 1학년 때는 함께 어울리던 사람들이 특정 지점에서 나와 가치관이 어긋난다는 사실을 알게 되면 마음이 떠나버리곤 했다. 10대 시절을 함께 보내면서 가치관이 동기화된 친구가 아닌 이상, 성인이 되어 그런 관계를 찾으려면 기적에 가까운 확률이 필요하다는 사실을 깨닫고 나서야 현실과 타협하며 관계를 확장해 나갔다. 좋은 말로하면 사회화였다. 하지만 아무리 넉살좋게 행동해봐도 습관적으로 혐오발언을 내뱉는 사람과 마음을 터놓는 사이가 될 수는 없었다. 내가 사회로부터 지켜야 하는 것과 양보할 수 있는 것 사이에서 선을 정하는 것은 새내기의 과제였다. 교지편집위원회(교편위)는 나와 비슷한 가치관을 가진 사람들이 모인 곳이었다. 나를 제외한 모든 편집위원들이 사회학도나 인문학도였고, 어떤 아젠다에는 의견 차이가 있었지만, 마음은 편했다. 그들은 적어도 3년전 일어난 세월호 참사를 애도할줄 아는 사람들이었다.

2학년 때는 대부분의 시간을 동아리방에서 보냈다. 청춘의 변두리에서 새내기 시절을 보냈지만, 각종 대학조직의 주도권이 2학년에게 이양되는 흐름과 함께 교편위 편집장이 되었다. 교편위는 학생운동이 수축되고 학생자치가 와해되며 학내에서도 입지를 잃어왔다. 대학의 탈정치화가 이어지면서 자치교지는 학생사회로부터 외면받았고, 결국 등록금 고지서에서 교지비가 삭제되며 기부금으로 교지를 발행하는 상황에 처해 있었다. 자치교지의 열악한 상황은 다른 학교도 별반 다르지 않았다. 전국 대학교지 커뮤니티에는 OO대학교 자치교지의 마지막호를 발간한다는 글이 심심찮게 올라오곤 했다. 내 입장에서 교편위 활동이 전공지식이나 커리어에 그다지 도움되는 것은 아니었지만, 학생 자치 언론 기구 하나가 사라지는 것을 가볍게 생각할 수는 없었던 것이다. 이와 동시에 프로그래밍 동아리와 교육 비영리단체를 운영하고 학교로부터 지원을 받아 창업활동을 했다. 하루를 48시간처럼 보냈지만, 지금 돌이켜 보면 많은 기회와 위기의 상황에서 너무 아마추어스러운 결정을 한 같아서 부끄럽다. 뭐라도 해야한다는 조급증에 사로잡힌 학부 2학년 학생이 이제 막 전공 수업을 듣고 우매함의 봉우리에 올랐던 순간이었을지도 모른다.

한국에서 대학생은 최고의 신분이라고 생각했다. 가능하다면 평생 학부생으로 살고 싶고, 하다못해 최대한 학부생으로 오래 남기 위해 최선을 다하겠다고 생각했다. 그러나 한편으로는 이 모든 것이 소꿉놀이 같았다.

필드에서 배우기

대학교는 도전적인 시도를 장려하는 곳이고, 주기적으로 컴포트 존(Comfort zone)을 벗어나볼 수 있는 역동적인 곳이다. 수업에서는 나보다 먼저 문제를 다뤄본 이들이 문제에 어떻게 접근했는지, 그 문제를 어떤 과정으로 해결했는지 배울 수 있었고, 이를 통해 그들의 사고흐름과 방식을 어설프게나마 따라해볼 수 있었다. 하지만 "그래서 뭐?"라는 질문에 대한 대답은 내가 스스로 찾아야 했다. 가령 객체지향프로그래밍 수업을 들으면 추상화나 다형성, 상속, 은닉, 캡슐화 같은 개념을 배우고, 이러한 개념을 응용해서 실제 프로그램을 작성해보기도 한다. 그러나 많은 개발자가 참여하는 대규모 코드베이스에서 작업해보지 않고서는 정말로 왜 OOP가 유용한지 알 수 없고, 작은 프로그램을 하나 만드는데 왜 그렇게 까지 장황한 코드를 작성해야 하는지 의문이 생길 수 밖에 없다. 수업을 듣고, 코드를 작성하고, 시험을 보고, 과제를 하고, 성적을 받으면서도 나는 그저 교수님이 주최하는 보물찾기 놀이에 너무 진지하게 참여하고 있다는 생각이 들었다.

1학년을 마친 뒤로 많은 친구들이 군에 입대했다. 병역은 휴학의 명분이 되었다. 초등학교부터 중고등학교, 그리고 대학교 1학년까지 도합 13년간 이 굴레에서 벗어나본 적이 없었다. 대학생이 되어 얻은 휴학이라는 선택지는 막연하게 자유롭게 정할 수 있는 방학처럼 느껴지기도 했기에 1학년 개강 첫날부터 나는 휴학을 노래해왔다. 그럼에도 굴레를 스스로 끊으려면 용기가 필요했다. 내 성격에 그럴듯한 이유와 정당한 명분, 뚜렷한 계획이 없다면 절대로 휴학을 선택할 수 없을 것 같았다. 2학년이 되자 휴학은 방학이 아니라, 거침없이 졸업을 향해 달려가는 초시계를 멈추기 위한 방법으로 느껴졌다. 다들 휴학할 때 함께 휴학하는 것이 좋겠다는 생각으로 2학년 초부터 군 휴학을 알아보기 시작했다. 중학생때부터 알고 있던 병역특례 제도를 드디어 활용할 때가 온 것 같았다. 10월 안에 지원서 제출을 시작하고 다음해 1월부터 복무를 시작하면 딱 좋겠다고 생각했다. 일단은 산업기능요원 복무가 가능한 기업들을 찾아 스프레드 시트에 나열하고 지원할만한 포지션을 정리했다. 병무청에서 미디어 전공이 '전산관련 전공’임을 확인받고, 꾸역꾸역 활동을 끌어담아 담백한 이력서를 작성하자 사실상 준비는 끝났다. 하지만 자신이 없었다. 내가 필드에서 돈받고 일할 정도의 역량이 되는지, 기업은 어느정도의 실력을 기대하는지, 경쟁력이 부족하지 않은지, 사실 애초에 자질이 없는 것은 아니었는지, 끝없는 고민과 의심이 이어졌다. 걱정과 함께 지원 시기를 계속 미루면서 산학협력 교수님과 취업센터에서 상담을 받고 이력서만 계속 수정해나갔다. 1학년 가을에 여기어때 윤진석 CTO가 학교에서 특강을 한 적이 있는데, 실제 채용 공고를 보여주며 일단 지원해보라고 독려했던 기억이 났다. 11월이 되자 더 이상 물러날 곳이 없었고, 메일로 이력서를 제출했다. 맨 땅에 헤딩하는 심정이었다.

어디선가 들은 "회사는 학교가 아니다"라는 말 때문에 회사는 막연히 두려운 곳으로 느껴지기도 했다. 하지만 그런 말이 무색할 정도로 회사는 친절했다. 첫 출근 이후 3개월 남짓한 기간 동안 CTO의 도움을 받으며 백오피스 작업을 했고, 프로덕션 환경에 첫 배포를 했다. 배포할 때는 엔터를 살살쳤다. 학교와 달리 회사에서는 책임이 따랐기 때문이다. 프로덕션에 내 코드가 올라갈 때, 태스크 마감 기한이 다가올 때, 담당자로서 미팅에 참석해 무엇이 가능하고 무엇이 불가능한지 말할 때 그 책임이 손에 잡힐듯 느껴졌다. "알아보고 말씀드릴게요"와 "~라고 알고 있습니다"를 입에 달고 살았다. 왜 시니어들이 텍스트에 끝없이 마침표를 찍어대는지 알 것 같았다. 세상 무엇도 함부로 단언해서 말할 수 없었다. 시간이 지나도 나는 아직 사회의 일원이 아닌 것 같았다. 모두가 모종의 규칙에 따라 게임을 하는데, 나만 그 규칙을 잘 모른다는 느낌과 함께 2년차가 되었다.

입사할 때 회사에는 50명이 채 안 되는 사람들이 있었다. 4주간 훈련소를 갔다온 뒤로 회사는 더욱 빠르게 성장했다. 매주 새로운 사람들이 입사했고, 휑했던 사무실이 북적였다. 그 성장에 1년차 프로그래머의 몫이 얼마나 됐을지는 모르지만, 나 역시 회사와 함께 성장하고 있다는 느낌을 받았다. 개발자들이 모여 백로그에서 원하는 태스크를 선택해 업무를 진행하던 방식은 이 시기에만 즐길 수 있는 낭만이었다. 어떤 태스크를 선택해도 눈에 띄는 성과가 만들어졌다. 출퇴근 지하철에서 '스타트업은 개고생’이라는 생각이 드는 것도 하루 이틀이 아니었지만, 급성장으로부터 얻어지는 도파민은 그런 생각을 완전히 잊게 만들고 과거를 미화해주곤 했다.

어떤 일을 무작정 오래한다고 실력이 좋아지지는 않는다고 한다. 나는 지난 20년간 적어도 매일 6분씩 하루도 빠지지 않고 양치질을 했지만, 23살이 되어서야 지금까지 양치질을 잘못하고 있었음을 깨달았다. 4년차가 됐을 때 기분이 그랬다. 이제 업무도 익숙해졌고, 크게 당황할 일도, 딱히 즐거울 일도 없어졌다. 새로운 기능을 구현할 때 어떤 데이터를 어디에 요청하고, API는 어떻게 설계하고, 캐시는 어디에 하고, 배치는 언제 돌리고, DB 테이블은 어떻게 구성할지 대략 머릿속에 그려졌다. 반복적인 업무는 거의 무의식 중에 PR을 날리고 배포했다. 지난 3년간 명함에 소프트웨어 엔지니어라는 이름을 달고 일을 해왔지만, 내가 나의 일을 정확하게 알지 못한 채로 일하고 있다는 생각이 들었다. 내가 프랙티컬하게 하는 일 뒤에 숨겨진 이론이나 법칙이 있을 것 같았다. 학교에 뭔가 두고 왔다는 느낌을 지울 수 없었다.

다시 학교로 돌아가기

4년만에 돌아온 학교는 많은 것이 변해 있었다. 처음보는 건물이 있었고, 생협 매점은 편의점으로 바뀌었고, 무관심 속에 교지는 사라졌고, 학식 가격은 2배 정도 올랐고, 새터에서 새내기들에게 시키던 장기자랑은 폐지됐다. 다음 학기에 입학할 신입생들이 중학교 1학년이었을 때에도 나는 대학생이었다. 5년전 기숙사 방을 함께 썼던 09학번 선배가 다시 떠올랐다. 간혹 출석부에 16, 17학번이 보이면 무슨 사연이 있는지 대뜸 물어보고 싶었다.

다시 돌아온 학교에서 하고 싶은 것은 명확했다. 첫 번째는 대학원 진학을 확실히 결정하는 것이었고, 두 번째는 성적에 전혀 신경쓰지 않고 듣고 싶은 수업을 마음껏 듣는 것이었다.

또 한편으로 막연히 생각한 것은

스마트폰을 PC의 모션 컨트롤러로 만들기

멀티 디바이스 앱을 위한 라이브러리, Zap

Articles