개발자 지망생에게 대학원 연구실은 어떤 곳이었나
대학원 관련해서 느꼈던 점들이 많다. 아직 정리되지 않은 내용들이 많기 때문에 이번 글에서는 논란이 될만한 부분은 제외하고 단순히 연구실 생활이 어땠는지에 대해서 소소하게 적었다.
전공은 컴싸(Computer Science). 아침 10시부터 밤늦게까지(딱히 퇴근 시간이랄 게 없었다) 연구실에 남아 친구들과 어울리고 개발 공부를 하며 시간을 보냈다. 여름 방학 기간 동안 이미 연구실에 나가고 있었기 때문에 적응이 필요하진 않았다. 대학원 교과 과정은 학사 때와 이질감이 없었다. 다만 연구실이라는 사무실 같은 곳에 소속됐고 담당교수와 끈적하게 생활한다는 점이 달랐다. '끈적함'이라는 표현에 대한 정의는 따로 하지 않겠다.
막상 학기가 시작하니 대학원 강의가 나의 하루를 귀찮게 했다. 'Full time 대학원생'은 연구실 업무가 사실상 대학원 생활에서 가장 중요한 일과이기 때문에 수업과 연구실 업무를 병행해야 했다. 주객전도라고 느낄 수 있지만 주(主)가 연구실 업무이고 부(附)가 강의였다. 연구실 일은 교수가 시킨 잡무, 행정 처리와 서류 작업들이 대다수인 경우가 많았다. 비전공생인 출신인 나에게는 학부 전공 수업도 18학점(?)이 추가로 배정됐다(안 들으면 졸업 못함). 일 좀 하려고 하면 강의 시간이 돼버리니 집중해서 하는데 어려움이 있었다. 특히 시험 기간에는 일도 해야 되고 공부도 해야 하니 스트레스도 많이 받았다. 마지막 학기는 졸업 논문을 써야 하기 때문에 수업을 많이 들을 수 없었다. 덕분에 첫 두 학기는 일하랴 강의 들으러 다니랴 과제하랴 시험 준비하랴 정신없었다. 대학원 강의 일정은 학부에 비하면 널널한 편인데 나는 학부생들과 다를 바가 없었다.
다행히 학부 전공 수업들이 재미있었다 (컴퓨터 구조, 자료구조와 알고리즘, 프로그래밍언어론, 운영체제 등등). 갈증을 느끼는 기초 과목들이다 보니 능률적으로 들었다. 성적은 또 다른 얘기다. 최선을 다했지만 대학원 생활 동안 학점에는 크게 연연하지 않았다. 수업을 통해서 배웠다는 게 중요하지 학점이 최우선이라고 생각 안 했다(응~ 핑계~). 실제로 대학원 학점이 개발자로 취업하는데 어떤 영향을 끼쳤는지 조차 모를 정도로 중요한 스펙이 아니었다(유명 IT 대기업을 지원할 때도 다르지 않았다. 자세한 건 다른 글에서 따로 다뤄보겠다). 하지만 그때 공부했던 전공 지식들이 현업에서 개발할 때 큰 도움을 주었고 현재도 개발을 하다가 부족한 부분이 있으면 찾아가면서 채워가는 중이다. (한번 더 강조하자면) 학점은 중요하지 않지만 기초 전공 지식들은 개발하는데 필수적이다. 그래도 3.0 이상은 받아두자. 지원 요건에 최소학점이 있는 기업들이 많다.
대학원 수업과 과제보다 연구실에서 해야 할 잡무들로 시간을 더 많이 보냈다. 학기가 시작하니 교수도 나를 연구실 일에 활용하기 시작했다.
첫째 연구실에서 연구비를 받기 위해선 인건비(또는 지원금)가 나오는 사업에 참여를 해야 한다. 본인도 연구실에 들어올 때 교수에게 약속받은 월급이 있었기 때문에 밥값을 해야 했다. 석/박사생들도 직장인들처럼 월급을 받으며 연구실에서 일을 한다(물론 액수는 직장인들보다 작다). 교수가 주는 것도 아니고 학교가 주지도 않는다. 그럼 누가 줄까? 대부분 국가에서 발주하는 연구 사업들에 참여해서 임금을 받는다. 고로 국가 세금으로 먹고사는 것이다. 당시에 4차 산업혁명과 소프트웨어 산업의 유행으로 '4차 산업혁명', '스마트 팩토리', '빅 데이터', '머신러닝' 등의 꼬리표를 붙인 국가 연구 과제들이 많이 쏟아져 나왔다. 덕분에 컴싸 쪽 연구실들은 노다지를 캐고 있었다. 그 기회를 담당 교수가 잘 이용한 덕분에 돈이 나오는 과제를 많이 운용(?)했고 그 돈으로 연구실 학생들에게 월급을 지급했다. 본인도 연구 과제 하나를 전담해서 결과물도 만들고 행정 처리도 하고 보고서 작성도 작성했다.
둘째 정기적으로 논문을 작성해 학술지에 제출해야 한다. 지원금, 장학금, 사업(혹은 교수의) 성과를 위해 정기적으로 논문을 제출해야 한다. 특히 위에서 언급한 연구 사업들의 경우 구체적으로 논문 제출 횟수가 요구 성과로 잡힌다. 따라서 과제 평가를 위해서 요구하는 횟수만큼 논문을 작성해서 제출해야 한다.
셋째 교수의 호기심 (혹은 욕심)으로 던져주는 숙제도 해야 한다. 연구실에선 매주 월요일 회의를 했다. 학생들은 교수 앞에서 매주 발표를 해야 했다. 회의 시간은 보통 4~5시간. 긴 시간 동안 재미없는 주제의 발표를 듣고 있자니 죽을 맛이었다. 우선 장시간의 회의와 잦은 보고는 생산적이지도 효율적이지도 않았다. 길게 자주 하면 좋다고 생각한 교수나 시간을 때우기 위해 '보여주기 용'으로 준비한 학생 모두의 잘못이라고 생각한다.
마지막으로 교수의 On-call 대응이 있다. 위에서 언급했던 '교수와의 끈적함'에 해당되는 항목 중 하나다. 교수가 수시로 전화해서 업무 지시를 한다. 밤낮, 주중 주말을 가리지 않고 전화나 문자가 온다. 나는 그래도 요령껏 대응했던 것 같다. 적당히 받고 적당히 못 받은 척을 했다.
위에서 언급한 '1! 2! 3!'을 하고 시간을 쪼개서 개발을 하고 필요한 공부는 개별적으로 했다. 음? 컴퓨터 연구실인데 하루 종일 개발하는 거 아니냐고? 그리고 왜 교수님이 개발하는 걸 지도해주지 않냐고? 우선 대학원 연구실은 지식을 떠먹여 주는 교육 기관이 아니라 단순히 학습할 공간과 기회를 제공해주는 곳이었다. 다음으로 교수는 개발자가 아니었다. 과거에 전산 관련 일을 했지만 현업에서 멀어진 사람이었다. 1년만 쉬어도 감이 떨어지고 트렌드에서 멀어지는 게 요즘 개발 현장이다. 현업에서 멀어진 지 10년도 더 된 교수가 그 감을 가지고 있을 리 만무했다. 고로 교수가 학생들에게 개발 지식과 노하우를 전달하는데 한계가 있을 수밖에 없다. 마지막으로 가장 중요한 포인트다. 개발은 컴퓨터 사이언스가 기초 틀인 영역이지만 그렇다고 해서 대학/대학원에서 배우는 전공 이론들이 개발의 전부는 아니었다. 기초일 뿐이었다. 따라서 대학원에서 제공해주는 프로그램과 별개로 개발에 필요한 기술 공부를 했다. 개발 공부할 시간을 확보하기 위해서 연구실 업무들을 더 열심히 했다. 빨리 끝내야 개발 공부를 할 수 있었으니까.
컴퓨터 영역 안에서도 직군은 다양하게 있으니까. 다만 아쉬웠던 점은 연구실 친구들 중에 개발 분야에 관심 있는 사람이 없었다는 것이다 (같이 개발 얘기를 나눌 친구가 있었다면 연구실 생활이 더 풍족하지 않았을까 생각한다). 개발 얘기, 기술 얘기를 하면서 코딩도 같이 해보고 싶었지만 연구실이 그런 분위기는 아니었다. 다행히도 옆 연구실에 개발을 좋아하는 형과 친해져서 같이 스터디를 할 수 있었다 (현재도 좋은 인사이트를 주고 있는 고마운 선배이자 형). 덕분에 좋은 기술들과 개발 지식을 설파받아다. 그때 같이 했던 알고리즘 문제풀이 스터디가 내 취업에도 큰 도움이 됐다 (교재는 알고리즘 문제 해결전략 구종만 저). 대학원에서 개발자를 준비하려면 의도적으로 개발과 가까운 환경에 스스로를 노출시킬 필요가 있다고 생각했다. 대학원에서 가르쳐 주는 이론들만으로는 개발하는데 많이 부족했다.
신입생 시절만큼 재밌게 놀았던 시기였다. 연구실에 척척박사님(?)들보다 또래의 석사생들이 많아서 친한 친구처럼 생활할 수 있었다. 마치 친구들로 가득 찬 독서실 느낌이었다. 또래들과 있다 보면 이야깃거리와 놀거리들이 넘쳐났다. 밤에는 다 같이 술 한잔하며 시답지 않은 이야기들을 하고 다 같이 피시방에 가 아침이 밝을 때까지 게임을 했다.
2학기가 되고 따뜻한 봄이 오면서 연구실에 오토바이 바람이 불었다. 저렴한 연비와 비용으로 통근할 수 있다는 점이 매력적이었다. 연구실 사람들 대부분이 오토바이를 한 대씩 보유하게 됐다. 교수가 퇴근한 늦은 저녁 도로가 한산해질 때 다 같이 바이크를 몰고 근교로 바람을 쐬러 나갔다. 작고 볼품없는 125cc 중고 바이크였지만 세상을 다 가진 느낌이 들었다. 지금은 더 크고 좋은 바이크로 즐기고 있지만 그때 친구들과 즐겼던 라이딩이 눈물 나도록 그립다. 라이딩은 대학원 생활의 활력소이자 낙이었다(구닥다리 중고 바이크는 결국 1년이 안돼서 빌빌 거리는 바람에 보내줄 수밖에 없었다).
월 100만 원대 중반의 액수를 받았다(연구비 + 출장비 + 여비 + 종종 나오는 인센티브 + 조교 비). 부자는 아니었지만 다른 연구실 석사생들보다는 넉넉한 편이었다. 연구실 교수가 사업수완이 뛰어난 탓에 연구비가 나오는 연구과제를 많이 따왔다. 덕분에 일도 많았지만 나름 경제적으로 풍족한 연구실 생활을 했다. 연구비 한 푼 없이 다니거나 40~50만 원대 월급을 받는 대부분의 대학원생들을 생각하면 적지 않은 액수다. 그 돈으로 학비도 내고 월세도 내고 취미 생활도 하고 친구들과 어울리고 데이트도 하는 호사를 누렸다. 교수가 연구비로 장난치거나 연구실 학생들에게 갑질 하지 않았다는 점에서 고마움을 느낀다. 애초에 100만 원 중반대의 월급을 보장해주는 연구실이 아니었다면 대학원 진학을 생각도 안 했을 거긴 하다.
졸업 논문과 석사 학위가 대학원 진학의 최종 목적은 아니었다.(삶을 사는 데 있어 학위가 도움이 될 순 있겠지만 개발자에게 학위 그 자체가 갖는 의미는 크지 않다고 생각했고 지금도 생각이 달라지진 않았다). 졸업 논문 쓰는 일에 동기 부여가 되지 않았지만 어찌어찌해서 구색을 맞추고 졸업장을 받았다. 80장이나 되는 졸업 논문을 휘갈겨 놨지만 부끄러운 논문이었다(졸업 논문 책자는 받은 날 바로 상자에 처박아버렸다). 일단 졸업은 했으니 속이 후련했다. 이제 그동안 쌓아온 기초를 토대로 개발하는데 온전히 에너지를 쏟고 싶었기 때문이다. 그때가 201C년 여름이었다. 졸업을 하자마자 개인 프로젝트와 이력서를 제출하며 취업 전선에 다시 뛰어들었다.