드디어 29일부로 드디어 “나의” 가을학기가 끝났다.

올해는 5년간의 학부 생활을 끝내고 대학원생활을 시작한 것이 삶에 있어서 가장 큰 변화였다고 할 수 있겠다. 대학원은 학부 때와는 확실히 느낌이 다른데, 수업만 들으면 되는 학부 때와 달리 우선 해야 할 일이 압도적으로 많고(대신 수업을 적게 듣긴 하지만) “재밌어보이는 것”과 로드를 고려하여 수강신청하는 정도가 아니라 직접 배울거리와 연구거리를 찾아나서야 한다는 것이 가장 큰 차이인 것 같다. 학부 때는 주변에서 ‘가능성’의 인재로 보는 시각이 있지만 대학원생은 무언가 실제로 이루어내야 하기 때문에 좀더 압박이 심해지는 것 같다. 사실 이건 직장생활을 해도 마찬가지겠지만 업무가 구체적으로 주어지는 것이 아니라 연구라는 것 자체가 스스로 길을 파야 나오는 것이기도 하고 졸업연한에 대한 부담도 있기 때문에 더 그렇게 느끼는 것 같다.

또 한 가지 깨닫게 된 것은, 교수님들도 사람(?)이라는 것. 학부 때는 왠지 모르게 교수님이라고 하면–좀 과장하자면–변소에도 안 갈 것 같은 그런 느낌이었는데(…) 교수님들도 정말 바쁘고 힘들게 사시는 분들이라는 걸 알게 되었다. 연구비 따오기 위해서 과제 제안서 쓰고, 다른 교수님들이나 정부연구소 등과 계속 연락 유지하면서 정부과제 로드맵 짜고, 단순히 학회에 참석만 하는게 아니라 학회 논문 리뷰에 session chair 같은 것도 가끔씩 해줘야 하고, 수업도 해야 하고, 학생 논문 지도도 해야 하고, 테뉴어 받으려면 실적도 쌓아야 하고… 나는 대학원생이라 일이 늘었다지만 교수님 말씀마따나 농담반진담반 “그래도 게임할 시간이라도 있으니” 말이다.; 정말 연구하고 학문을 좋아하는 게 아니라면 (되고 안 되고를 떠나서) 교수도 참 어려운 직업임을 알게 되었다.

대학원에서 듣는 수업들은 학부도 카이스트였기 때문에 쭉 이어지는 느낌이라 큰 감흥은 없었다. 다만 논문 읽거나 요약 발표하는 과제가 많아지고 교수님 수업에서는 좀더 근본적인 이야기들 또는 최신트렌드에 가까운 이야기들이 나오는 느낌이다. 그리고 전산과의 경우 이론 수업이 아니라면 거의 다 자유주제 기말프로젝트가 있다. 이 프로젝트가 참 골때리는 것이, “잘 하면” 논문도 써보자(임도 보고 뽕도 따고-_-)..는 컨셉인데 사실 연구실 과제나 프로젝트를 하려다보면 이것을 과목 프로젝트에 끼워맞추는 게 쉽지 않아서 후자에 집중하기 위해 과목 프로젝트는 최대한 대충대충 때우려는 경향이 생기는 것이다.

특히 가을학기에 들었던 분산시스템의 경우 그냥 한번 아이디어로 이야기해본 주제가 교수님 맘에 들었는지(?) 많은 기대(…)를 받아버리는 바람에, 그리고 수업 자체가 프로젝트 중간 발표를 3번씩이나 하면서 계속 progress 점검을 하고 마지막에는 evaluation 결과를 아무도 안 가져왔다는 이유로 크리스마스 이후로 데드라인을 부왘 연기해버리시는 바람에 매우 고생한 케이스였다. 그래도 프로젝트 내용(peer-to-peer online social network) 자체는 내가 관심있던 부분(소셜네트워크에 시스템적 관점을 결합시켜보는 것)을 과목프로젝트로 작게나마 시도해본 것이라 개인적으로는 나름 의미가 있었기에 다행이다. 다만 evaluation 방법론–어떤 변수들을 측정하고 어떤 변인들을 가정을 통해 통제하고 시뮬레이션은 어떻게 돌려야 하는지 이런 것들–이 익숙하지 않아 생각보다 많은 시간이 걸린 것이 아쉽다. 한 가지 재밌는 것은 우리 연구실 석사졸업하시고 NHN에서 전문연구요원하시다가 미국 유학가신 선배가 이번 학기 학교 수업으로 거의 같은 주제의 프로젝트(P2P Twitter)를 진행하셨다는 것이다. (다만 peer와 client에 대한 모델이 좀 다르긴 하다) 일단은 PacketShader에 집중해야겠으나 나중에 기회가 되면 다시 살려볼 수 있을지도 모르겠다.

아직 본격적으로 연구를 시작했다고 보기는 힘들지만 그래도 이제 대학원 레벨의 연구가 어떤 것인지 조금이나 느끼게 된 것도 2010년의 성과라 할 수 있겠다. 특히 포스터 작성하여 OSDI 학회에 참석하였던 것이 여러가지로 자극도 되고 ‘학계가 어떻게 돌아가는지’ 파악할 수 있는 좋은 기회였다. 원래 가을학기 때 예정되었던 PacketShader control plane 구현이 빨리 진행되었으면 어쩌면 내년에 스페인 Telefonica 인턴을 간다거나(!) 하게 되었을지도 모르지만 분산시스템과 조교 로드가 예상 밖으로 쎄서 거의 진행하지 못한 것이 좀 아쉽다.

얘기가 나왔으니 말인데, 조교도 세 종류를 다 해본 것 같다. CS101은 ‘재미있게’ 했고 CS220은 ‘널널하게’(수강생이 많았지만 대신에 조교도 많아서 숙제 채점 한번과 시험감독 한번만 하면 되었다), CS443은 ‘빡세게’ 한 조교였다. CS101은 내가 가장 좋아하고 자주 쓰는 파이썬 언어를 사용한 것이기도 하고 프로그래밍 입문자들이나 문외한들에게 설명하는 연습(?)을 하고 싶었던 것도 있고 해서 재밌었다. 대신 (월급 받긴 하지만) 한 주 6시간이나 연습반에 꼬박 할애해야 한다는 점은 다소 부담이었고 가을학기 때는 수업과 연구 로드를 고려하여 더 하지 못했다. CS443은 원래 MapReduce만 하던 수업을 MPI까지 확장하는 바람에, 그리고 작년과 달리 서버 자원이 충분하지 않아서 자주 문제가 발생했기 때문에, 게다가 조교가 나 한 명이었기 때문에 상당히 힘들었다. 나도 내 프로젝트 하느라 한창 바쁜데 학생들이 찾아오면 그래도 응대를 해주어야 할 때, 아침에 자고일어날 때마다 자꾸 서버가 죽어있었을 때가 가장 힘들었다. (서버가 죽는 원인은 여러가지가 있었는데, 주원인은 사용한 학과 클러스터의 설정 문제로 인한 것이 가장 컸고 그 다음이 로그가 용량을 꽉 채워버리는 경우였다.)

특히 CS443 조교를 하면서 몇가지 노하우를 터득하였는데 이건 다음번에 내가 조교를 하거나 후배가 조교를 할 때 꼭 적용해야겠다고 생각하는 것들이다.

  • 숙제 제출 경로는 무조건 일원화. 이메일로만 받는 경우 고유한 제목 형식 명시하고 지키지 않을 경우 0점 나올 수 있음을 사전 고지. gmail 필터링 기능 등으로 숙제 제출 메일은 따로 태깅하고, 위와 같이 엄격하게 체크할 경우 학생 입장에서 수신여부 확인이 되어야 하므로 24시간 이내 이메일 확인 즉시 답장해주기. (내가 받는 메일이 상당히 많아서, 별도로 메모해두지 않은 상태로 ‘읽음’ 상태로 넘어간 경우 성적처리에서 누락되는 경우가 생길 수 있다…가 아니라 실제로 그런 케이스가 이번에 발생해서 성적 정정해야 함. orz)
  • 단순 질의응답의 경우에도 제목 형식 지정해주고 안 지킬 경우 응답 없을 수 있음을 명시. 이것도 gmail 필터 적용.
  • 숙제 낼 때 입출력 형식과 결과를 담을 파일명, 전체 압축 파일명 형식 명시. (안 그럼 이런 삽질을…ㅠㅠ)
  • 딜레이의 경우 서버의 잦은 다운 문제로 감점을 최대 50%로 제한했는데 일정 threshold 넘어가면 0점 처리하는 것이 좋을 것 같다. (최대 40일 딜레이한 경우가 있었는데 서버세팅이 바뀐다거나 할 경우 채점하기도 힘들어질 수 있고, 누락되기 쉽다.)
  • 조교하다가 했던 삽질은 다음 조교에게 문서화해서 넘겨주기. 이번학기에 문제가 많았던 VC 클러스터의 경우 예전에 CS443 조교하셨던 선배님이 클러스터 관리자를 하면서 설정 노하우를 가지고 있었는데 그분이 조교하셨다는 건 알았으나 클러스터 관리자였는지는 전혀 몰랐고 현재는 별도로 학과에 고용된 관리자가 있기 때문에 설정 문제가 생겼을 때 애초에 그분께 물어볼 생각을 못했음. 현 관리자도 해결못하던 게 그 선배한테 여쭤보니 며칠 삽질하던 게 30분 내로 해결되더라는…
    • 나도 이번 경험은 연구실 위키에 별도로 정리할 생각이고, 서버 세팅이나 관리 관련한 삽질은 이미 어느 정도 기록해두었다. 관련해서 오픈소스화한 코드도 만들어둠.
  • 숙제 내용은 가능하면 학기 시작 전 미리 만들어두고, 이전에 해본 검증된 숙제가 아닐 경우 조교가 완전 구현까진 아니더라도 feasibility test는 해보는 것이 좋겠다. (예를 들면 병렬화 불가능한 알고리즘을 병렬화하는 숙제를 내면 안 되겠지…)

조교를 하면서 힘들었지만, 나는 힘들었더라도 다음에 하는 사람들은 힘들지 않도록 해야겠다. 그래야 수업도 나날이 더 나아질 것이고, 교수님도 더 좋은 강의평가를, 조교도 더 좋은 조교평가(…)를 받을 수 있을 테니 말이다. 학생들도 좀 덜 고생하고 더 많은 것을 배울 수 있다면 좋을 것이고.

대학원 생활 얘기는 이쯤에서 마무리해야겠다. 그리고 해가 갈수록 느끼는 것이지만 내 할일을 제대로 하기 위해서 때로는 약아져야 한다는 것. 많은 사람들을 대하면서 살아가다보니 하고 싶다고 혹은 부탁한다고 다 하려다보면 내가 할 수 있는 한계를 넘어서기 마련이다. 이 밸런싱의 묘는 항상 어렵다.

대학원 외의 이야기를 해보면, 중학교 1학년 때 그만둔 피아노 레슨을 다시 시작했다는 것. 물론 그 이후로도 혼자 취미삼아 계속 쳐오긴 했지만 역시 레슨 받으니 다르다. 물론 바빠서 자주는 못하고 2주에 한번꼴로 하고 있으나 그나마도 11~12월엔 쭈우우욱 밀렸다. 그래도 앞으로 계속 이어서 할 생각…인데 왜 기숙사는 문지동이 된 건지…ㅠ_ㅠ 이 외에 성가대 시작한 것도 좋은 변화였다고 할 수 있겠는데 역시 이것도 문지동 기숙사 크리가…-_-;

한편으로는 2008년 구글에 인수된 텍스트큐브닷컴이 문을 닫게 된다는 사실이 알려지기도 하고, Needlworks 그룹 내부에서도 새로운 인원이 충원되는 등 변화가 제법 있었다. 우리를 오랫동안 리딩해오신 신정규님이 미국으로 파견연구를 나가시기도 했고, 겐도님의 결혼과 같은 굵직한(…) 이벤트도 있었다. 오픈소스 텍스트큐브에서는 IIS7 지원이라든지 OSS Camp 참여라든지 마이크로소프트의 협력을 새롭게 받게 되었다는 것도 한 변화였다고 할 수 있겠다.

그 외에 천안함 사건과 북한의 연평도 포격, 북한정권의 3대 세습, 여소야대의 결과를 가져온 지방선거, 무상급식 이슈, G20 정상회의, 한미 FTA, 예산안 날치기 통과, Wikileaks 등을 통해 정치에 대해 시스템 관점에서 더욱 구체적인 관심을 가지게 되었다.

IT 분야에서는 단연코 스마트폰과 소셜네트워크가 대세였고 우리 연구실이나 내 관심 연구주제 중 하나가 온라인 소셜네트워크였다는 것 또한 빼놓을 수 없을 것이다. 2010년대의 시작을 스마트폰·모바일 혁명과 함께 시작한만큼 이제 더욱 다이나믹한 기술과 생활 변화가 이어지지 않을까 싶다. 과학 분야에서는 비소기반 생명체의 실증이 이루어지고 칠레 광부 구조 등의 좋은 일도 있었던 반면 나로호가 발사 70초 후 폭발하는 안타까운 일도 있었다.

세계적으로는 이상기후가 본격화·일상화된 한 해였다. 2008년까지만 해도 겨울이 이상하리만치 따뜻하더니(스톡홀름에 6개월 살면서 눈을 하루밖에 못봤다) 올해 초부터 폭설과 이상저온이 이어지고 여름엔 폭우와 태풍이 몰아치더니 겨울 초입부터 이상한파와 폭설이 더 심해지고 있다. 이건 우리나라뿐만 아니라 전세계적인 현상이기도 하다. 인간이 발생시킨 이산화탄소가 이상기후의 가장 직접적인 원인이냐 아니냐에는 논란이 있지만 이유야 어쨌든 기후가 변화하고 있는 것은 사실이다. 이젠 그 사실을 있는그대로 받아들이되 변화 추이를 예측하고 대비하는 것이 중요해질 거라는 생각이 든다.

(위의 2010년 주요사건 돌아보기는 위키백과를 참고해도 좋을 것이다.)

어쨌든 또 이렇게 한 해가 갔다. 내년은 토끼띠의 해이니 연구도 잘 되고(…) 좀더 좋은 일이 많이 생기길 기대해본다. ㅋㅋ