봄 학기를 되돌아보며

스탠포드에서의 세번째 학기, 봄학기를 이번주에 끝냈습니다. 다음주부터 시애틀에서 인턴쉽을 시작하기 전에 지난 학기를 되짚어 볼까 합니다. 

봄학기 시작하기 전에 아래와 같은 네가지 목표를 정했었습니다. 이 중 몇 가지는 목표한 것보다 더 좋은 성과를 거두었으며, 몇 가지는 목표치에 미치지 못하였습니다. 

1. 데이터 마이닝 연구 경험해보기

지난 2011년 1월의 트위터 데이터가 주어졌고, 아마존 EC2에서 쓸 수 있는 $2,500어치의 크레딧이 주어졌습니다. 프로젝트를 정하기 위해 관련된 다양한 페이퍼를 읽었으며, 첫 2주 동안 잘못된 방향으로 간 덕분에 지도 교수님의 조언이 매우 중요하다는 것을 깨달았고, 지도 교수님께 좋은 조언을 많이 해주신 덕분에 어느 정도 성과를 낼 수 있었습니다. 이 수업 덕분에 하둡과 하이브를 익숙하게 쓸 수 있게 되었고, $2,500 를 다 쓸만큼 다양한 시도를 해보았습니다. 

2. Information Retrieval 을 공부하기

CS276 (Information Retrieval)을 수강하였습니다. 제 주 관심 분야이기도 하고 여름 동안 빙 검색팀에서 일하므로 충분히 배경지식을 쌓아두기 위해 수강하였습니다. 검색 엔진의 인덱스를 어떻게 만드는지에 대해서 자세히 다뤄주어서 좋은 공부가 되었습니다. 검색엔진을 만들기 위해 직면하는 많은 문제들에 대해 언급을 하고 다양한 해결책들을 제시하였지만 한 가지 해결책이 최선이다 라고 얘기하는 대신 여러가지 방법들에 대한 trade-off를 보여주고 현재 사용중인 방법을 언급한다는 점이 흥미로웠습니다. 

연습 문제들과 프로그래밍 숙제들이 잘 디자인되어 있어서 많이 배웠습니다. 숙제를 제출할 때 쯤이면 언제나 숙제를 다시 들여다보고 싶지 않을 만큼 지겨워졌습니다. 

3. 수학과 친해지기 

Stats315b (Modern Applied Statistics: Elements of Statistical Learning II)라는 수업을 통해서 의사 결정 트리 (Decision Tree) 와 신경망 이론 (Neural Network)를 중점적으로 배웠으며, R이라는 프로그래밍 언어를 통해 실제 데이터를 가져다가 실험해보기도 하였습니다. 이 수업은 기본적으로 통계과에서 가르치는 데이터 마이닝 수업이었습니다. 이 수업의 전단계 수업인 Stats315a를 수강하지 않았지만 수강 신청하였습니다. 지난 학기에 CS246 (Data Mining) 수업을 들으면서 제가 수학적 기반이 약하다는 것을 절실히 느껴서 수학적 표기법에 대해 익숙해지고 데이터 마이닝 토픽을 조금은 수학적 관점에서 살펴보는 방법을 배우는 것이 중요하다 생각하여 이 수업을 선택하였습니다. 

통계과 수업이라 수학적 표기방법들이 많이 사용되었으며 예제가 적었으며 직관 위주로 설명한다는 점이 제게는 매우 생소했습니다. 알고리즘을 제시하고서는 그 알고리즘의 예제를 보여주기 보다는 알고리즘이 x-y 그래프에서 어떻게 변하는지 보여주는 방식으로 수업이 진행되었습니다. 프로그래머인 저로서는 알고리즘과 수도(Pseudo) 코드를 같이 보여주고서 이게 이거라고 설명해주면 참 쉽게 이해가 되겠다라 생각했습니다. 

교수님의 설명이 잘 이해가 되지 않아 TA (Teaching Assistant)들을 부지런히도 찾아가서 괴롭혔고 덕분에 조금은 수학적 접근법에 대해서 편해졌습니다. 수학은 역시 길게 설명하지 않고도 한 줄에 공식을 간결히 표현할 수 있다는 점이 매력이지요.

4. 다양한 사람들 사귀기

다양한 사람들을 만나고 그들에게서 배우는 것은 매우 중요하다고 생각합니다. K Group에서 진행하는 커리어 세미나도 갔었고, International Center에서 진행하는 졸업생들과의 만찬에도 참가했었습니다. 이 두 가지 이벤트에 참여하면서, 장기적인 커리어 패스에 대해 고민해보는 계기가 되었습니다. 

또한 창업 지원 프로그램인 Runway Program의 info session에 가보았습니다. 자신이 익숙한 분야보다는 사용자가 needs 에서부터 출발하여 비지니스 아이디어를 찾아간다는 점이 훌륭하지만, 엔지니어로서 창업을 접근하는 제게는 맞지 않는다는 결론을 내렸습니다. 엔지니어 배경을 가진 저로서는 CTO 로서 IT분야에서 사업을 하고 싶지, 아무 사업이나 성공할 수 있는 사업을 하고싶진 않기 때문입니다.

이를 테면, Fog Creek 이나, 37 Signals 같은 경우가 제가 생각하는 이상적인 모델입니다. 비지니스 모델도 훌륭하면서 프로그래머들이 일하기 좋은 직장을 만드는 것이 가장 좋다고 생각합니다. 

이번 학기의 그룹 프로젝트는 일부러 수업마다 다른 학생들과 어울려 그룹을 만들었으며, 이 부분은 꽤 성공적이었습니다. 지난 학기에 이미 성공적인 팀웍을 이룬 친구들과 같이 했는데 이번 학기도 무난하게 흘러갔습니다. 또한 통계과 수업 같은 경우는 타전공 수업이라 아는 사람들이 많이 없었는데, TA hour에 자주 찾아간 덕분에 많은 친구들을 만날 수 있었습니다. 

지난 봄학기는 스탠포드에서의 세 번째 학기였습니다. 이제 학교 생활에 익숙해졌고, 제가 하려는 분야도 분명해지고 있어서 스탠포드에서의 지난 3학기 중 가장 즐겁게 공부한 학기였습니다. 어제 시애틀로 이사하였고 마이크로소프트에서의 인턴 생활을 잔뜩 기대하고 있습니다. 

1 note

  1. jill-keller reblogged this from stevenyoo
  2. stevenyoo posted this