How to Fill in the Blanks with Language Models

Enabling Language Models to Fill in the Blanks
Chris Donahue, Mina Lee, Percy Liang
ACL 2020
paper · code · demo · blog · talk

Most existing text generation systems (like autocomplete for text messages and emails) can only generate text based on previous context. The ability to take both previous and subsequent text into account could power a new generation of writing assistance tools for planning, composing, and editing text.

This work presents an extremely simple and quick approach for building text generation systems with such capabilities. With this approach, one can simply download an existing pre-trained language model and enable it to fill in any number and length of blanks in a document by fine-tuning it on artificially generated examples. Our experiments show that humans have difficulty identifying sentences generated by this approach as machine-generated.


Fill in the blanks?

Consider the following sentence with blanks:

She ate ____ for ____

To fill in the blanks, one needs to consider both preceding and subsequent text (in this case, “She ate” and “for”). There can be many reasonable ways to fill in the blanks:

She ate leftover pasta for lunch
She ate chocolate ice cream for dessert
She ate toast for breakfast before leaving for school
She ate rather quickly for she was in a hurry that evening

Language models?

Language modeling is a special case of filling in the blanks where only the preceding text is present and there is only one blank at the end.

She ate leftover pasta for ____

Language models are the models that can perform language modeling. In recent few years, a number of large-scale language models are introduced (e.g. GPT-3) and shown to achieve human-like performance. These models are often pre-trained on massive amount of unlabeled data, requiring huge amount of computation and resource.

Our goal is to take these existing language models and make them perform the more general task of infilling.


When editing or revising we often write in a non-linear manner.

Writing an email


Thanks for updating the draft! 

The modifications look good with one exception. 
Can you revert the wording of the task definition?

An existing language model might suggest something like great to me because it only considers the preceding text but not the subsequent text.

A better suggestion in this case would be something like good with one exception since the writer is not completely satisfied and suggesting a further revision.

Writing a novel

We were lost in the dark forest. Suddenly, we saw a flashlight in the distance. A wave of relief washed over us and we ran over to greet the other traveler.

When you don’t have a concrete idea on how to connect two scenes, the system can suggest a way to connect the fragmented ideas.


The task of filling in the blanks is known as text infilling in the field of Natural Language Processing (NLP). It is the task of predicting blanks (or missing spans) of text at any position in text.

The general definition of text infilling considers text with an arbitrary number of blanks where each blank can represent one of more missing tokens.


How can we make a language model fill in the blanks?

Our approach is infilling by language modeling. With this approach, one can simply (1) download an existing pre-trained language model and (2) enable it to fill in any number and length of blanks in test by fine-tuning it on artificially generated examples.

Concretely, let’s see what happens at training and test time!

Training time

  1. Manufacture infilling examples

To produce an infilling example for given data, first generate input by randomly replacing some tokens in the data with [blank] tokens.

Data: She ate leftover pasta for lunch.
Input: She ate [blank] for [blank].

Then, generate a target by concatenating the replaced tokens, separated by the (answer) token.

Target: leftover pasta (answer) lunch (answer)

Finally, construct the complete infilling example by concatenating input, a special separator token [sep], and target.

New data: She ate [blank] for [blank]. <sep> leftover pasta (answer) lunch (answer)

2. Download your favorite language model

For instance, OpenAI GPT-2

3. Fine-tune the model on infilling examples

Now, you can fine-tune the model on the infilling examples (new data) using standard language model training methodology.

Test time

Once trained, we can use the language model to infill at test time.

As input, the model takes incomplete text with blanks and generates a target.

Input: He drinks [blank] after [blank].
Target: water (answer) running (answer)

You can then construct the complete text by simply replacing [blank] tokens in the input with predicted answers in the target in a deterministic fashion.

Output: He drinks water after running.


Turing test

The following is a short story consisting of five sentences. One of the sentences is swapped with a sentence generated by our model.

Q. Identify one of the five sentences generated by machine.

[1] Patty was excited about having her friends over. 
[2] She had been working hard preparing the food.
[3] Patty knew her friends wanted pizza.
[4] All of her friends arrived and were seated at the table.
[5] Patty had a great time with her friends.

(The answer is in the table below.)

In our experiments, we sampled a short story from ROCstories (Mostafazadeh et al., 2016), randomly replaced one of the sentences with a [blank] token, and infilled with a sentence generated by a model. Then, we asked 100 people to identify which of the sentences in a story was machine-generated.

SystemScoreGenerated sentence
BERT (Devlin et al., 2019)20%favoritea “, Mary brightly said.
SA (Zhu et al., 2019)29%She wasn’t sure she had to go to the store.
LM 41%She went to check the tv.
ILM (ours)45%Patty knew her friends wanted pizza.
Human78%She also had the place looking spotless.

System output for sentence [3] in the above example.

The results show that people have difficulty identifying sentences infilled by our model as machine-generated 45% of the time.

More experiments and analysis can be found in the paper.

Details for Practitioners

Advantages of our framework

  1. Our framework incurs almost no computational overhead compared to language modeling. In contrast, using language models to directly predict complete text from incomplete text will effectively double the sequence length. This is particularly problematic when considering models like GPT-2 whose memory usage grows quadratically with sequence length.
  2. Our framework requires minimal change to the vocabulary of an existing language models. Specifically, you need three additional tokens: [blank], , and [sep].
  3. Our framework offers the ability to attend to the entire context on both sides of a blank with the simplicity of decoding from language models.

Experimental setup

  • Model: GPT-2 small (any left-to-right language model can be used)
  • Training time: one day on a single GPU
  • Early stopping criteria: perplexity on the validation set
  • Mask function: mask out paragraphs, sentences, n-grams, and words with a marginal token mask rate of about 15%

Please refer to our paper for further details.

Try it out!

지난 일 년 반을 돌아보며

2019년 11월, 너무나도 소중한 친구의 생일파티에서
(Photo Credit: Constantin Berzan)

어떠한 상황에 처하더라도 그것을 계기로 자신을 한 단계 성숙시키고 발전의 원동력으로 삼으면, “그 때 그 일이 있었기에 그래도 내가 지금 이 자리에 있을 수 있지” 하며 감사하는 마음으로 살게 될 거라는, 결국 모든 것은 현재 자신이 어떻게 하느냐에 달려 있다는 마음가짐

– 2016년 3월, 유학 준비를 시작하던 시기에 적은 글

마지막으로 글을 쓴 것은 스탠퍼드에서의 박사과정 첫 해가 끝난 뒤였는데, 그 이후 일 년 반이 순삭(…)되고 벌써 박사과정 3년차 첫 쿼터를 마쳤습니다. 이제 나름 박사과정 중반부 즈음이므로 아기와 어른 사이인 어린이 정도가 된 느낌입니다.

이번 글을 적기까지 멀고 먼 길을 온 것 같습니다. 사실 지난 일 년 반 동안 있었던 일들을 공유하기에 많은 용기가 필요했습니다. 수없이 적었다 지웠다가를 반복했고, 이런 내용을 모두에게 공개되어 있는 블로그에 올리는 것이 옳은 것인지 고민했습니다.

(누군가에게는 불편할 수도 있는) 글을 쓰기로 결심한 이유는 단순한 것 같습니다. 가장 먼저 제 스스로에게 솔직하고 싶었습니다. 행복해보이는 단편적인 모습만 보여주는 것이 아니라 힘들었던 부분도 공유하고 기록하고 싶었습니다. 그리고 이러한 경험조차 아주 소수라도 누군가에겐 위안이 될 것이라는 믿음이 있었습니다. 왜냐하면 제가 가장 힘들었을 때에도 다른 사람들이 용기내서 공유해준 그들의 어려웠던 순간들에 대한 이야기가 제게는 정말 큰 위안과 용기가 되었기 때문입니다. 마지막으로 힘든 시간을 이겨내도록 도와준 주변의 소중한 사람들에게 글을 통해 작게나마 감사의 표현을 하고 싶었습니다. 고마워요, 제게 많은 가르침과 용기를 주셔서 :)

저는 창의력이 별로 없는 사람이므로 (긁적) 예전 박사과정 지원을 준비하며 글처럼 시간 순으로 적어내려갈 것 같습니다. 마찬가지로 긴 글이 될 것 같아 지루할만한 부분은 건너 뛰실 수 있도록 목차를 먼저 공유합니다.

  • Deadline after Deadline
  • Anxiety and Depression
  • Love Yourself like Your Life Depends on It
  • Bucket List for 2020

Deadline after Deadline

2018년 9월

간절히 원하던 교수님과 연구를 시작하다.    박사과정 첫 해에 로테이션 시스템을 마치고 (참조: 스탠퍼드에서의 한 해를 마치며) 너무나도 원했던 교수님의 연구실에 들어가게 되었습니다. 지금도 교수님이 저를 받아들이기로 결정할 때 보내주셨던 이메일을 받았던 순간을 떠올리면 가슴이 벅차오릅니다.

You do still have many things to learn to catch up in terms of ML background and research maturity, but you’ve shown a strong will and capacity to improve, which are hugely important. I think you have the potential to become a top researcher, but it will take continual dedication and an unwavering focus. I will help you get there if you are up for it.

– 2018년 여름, 현재 지도교수님으로부터 받은 이메일

부담감.    연구실에 들어가기만하면 모든 것이 해결되고 자신감도 넘치고 행복할 줄 알았는데, 이게 왠 걸, 오히려 부담감이 천만배 늘어났습니다. 너무나도 훌륭한 지도 교수님과 학생들이 있는 연구실이라서 (한 학년 위의 친구는 Coursera의 세 번째 멤버였습니다) 그만큼 잘해야 한다는 생각에 잔뜩 겁을 먹었습니다. 따라서 저의 박사과정 2년차의 시작은 설렘과 긴장감으로 가득했던 것 같습니다.


첫 번째 학회 마감.    2년차의 첫 쿼터인 9월부터 12월까지는 머신러닝 분야의 ICML이라는 학회 논문 제출을 위해 정신없이 달렸습니다. 주변에 1년차부터 혹은 박사과정 입학 전부터 우수한 학회에 논문을 내고 상을받는 친구들을 보며 조급한 마음도 생겼었고, 또 너무나도 부족한 저를 받아주신 지도교수님께 그분의 선택이 옳았다는 것을 보여드리고 싶은 마음도 컸습니다.

프로젝트 처음부터 끝까지 기초가 너무나도 부족한 저를 끈기있게 가르치고 지도해 준 지금은 스탠퍼드의 교수가 된 Tatsunori Hashimoto와, 밤을 새워가며 함께 디버깅해주고 함께 프로젝트의 방향을 고민해준 현재 열심히 박사과정을 밟고 있는 Yunseok Jang에게 깊은 감사의 마음을 전합니다.

2019년 3월

두 번째 학회 마감.    많은 실수와 시행착오로 결국 처음 준비했던 마감일을 맞추지 못하고, 자연어처리 분야의 ACL이라는 학회 논문 제출로 목표를 바꾸었습니다. 두 달의 시간을 더 가지고 차근차근 준비하니 훨씬 더 탄탄한 내용의 논문을 쓸 수 있어서 감사했습니다.

하지만 이미 마감 기간을 한 번 놓쳤었고, 박사과정 2년차의 중반 임에도 불구하고 아무런 결과가 없다는 사실에 불안함이 증폭되었습니다. 그러나 굉장히 열심히 하루하루를 보내고 있었고, 매일 수많은 것들을 배우고 있다는 사실에 몸은 힘들고 스트레스도 받았지만 크게 뿌듯함을 느꼈던 시간이었던 것 같습니다.

Anxiety and Depression

4월, 5월, 6월

아무런 결과가 없던 세 달.    3월 초 논문 제출 이후 다음 프로젝트에 대한 브레인스토밍을 시작했습니다. 지금 생각해보면 충분히 그럴 수 있다는 생각이 들지만 그 당시에는 굉장히 불안하고 초조했던 것이, 세 달을 아무런 구체적인 결과 없이 보냈습니다. 인생 전체를 놓고보면 세 달이 굉장히 짧은 시간이겠지만, 그 시간을 직접 겪을 때에는 얼마나 긴 시간으로 느껴지던지, 제 자신의 능력과 이 곳에 있는 것이 적합한 사람인지에 대해 매일매일 끊임없이 자문했던 것 같습니다.

5월 즈음 앞서 제출했던 논문이 거절당했지만, 그것이 큰 영향을 끼치지 않았을 정도로 이미 저에 대한 의문과 불안감이 꽤나 커져있던 상태였습니다. 어느 새 그룹미팅과 소셜, 친구들 만나기를 꺼려하는 저를 발견하게 되었고 연구실에 가는 빈도수가 점점 줄어들게 되었습니다. 불안함으로 가득찬 머리를 비우고자 방 안에 틀어박혀 멍하니 TV를 보는 날들이 늘어났고, 교수님과의 미팅에 대한 걱정과 두려움은 점점 커졌습니다. 뿐만 아니라 연애 관계에서 오는 스트레스와 룸메이트와의 관계에서 오는 스트레스로 인해 학교와 집, 그 외의 어느 공간에서도 마음 편히 있는 것이 어려웠습니다.

도움이 필요하다는 것을 깨달은 순간.    이런 나날이 계속 되던 중, 어느 날 복도에서 지도교수님을 마주쳤을 때 강하게 가슴이 조여오는 듯한 느낌을 받고 나서야 깨달았습니다. 이건 단순히 스트레스를 이겨내야하는 상황이라기보다, 누군가의 도움이 절실히 필요한 상황이란 것을요. 심장에 무슨 문제가 생긴 줄 알았을 정도로 실제 몸으로 스트레스를 느끼니까 그 심각성이 직접적으로 와닿았습니다.

되돌아보면 연초부터 이런 느낌을 받긴 했지만 그것은 굉장히 스트레스를 받았던 순간에만 일시적으로 그랬었습니다. 그렇지만 6월 즈음에는 정말 사소한 일(복도의 끝자락에서 지도교수님의 모습을 언뜻 보았을 때, 그룹미팅에 가는 것을 상상만 했을때, 예상치 못한 상황에서 아는 사람을 마주쳤을 때 등)에도 가슴이 조여오는 것을 느끼고 그 심각성을 인지했습니다.

상담을 받다.    그제서야 학교에서 제공하는 심리상담(Therapy)을 신청했습니다. 미국의 정신 건강에 대해 상대적으로 보다 공개적으로 말하고 그 중요성을 인지하는 문화가 도움이 되었습니다. 개인적으로는 제가 정말 좋아하는 부부인 Kristen Bell(겨울왕국의 안나 목소리 성우)와 Dax Shepard가 어떻게 각자 우울증, 마약중독을 극복했고 함께 일찍부터 커플테라피를 받는지 오픈하고 공유하는 것을 보고 심리상담에 대한 저의 인식이 많이 바뀐 것 같습니다.

심리상담을 받기로 결심한 것은 단순히 지금 당장 힘든 것을 극복하기 위해서이기도 하지만, 이번 기회에 저의 사고회로를 근본적으로 고치고 싶다는 생각도 강했습니다. 의외일수도 있지만 (?) 이때까지만 해도 저는 항상 자신감이 없고, 너무나도 부족한 것이 많다는 생각에 가득찬 사람이었습니다. 단 한 번도 제 자신에게 만족해본 적이 없다고 하면 조금 더 와닿을까요?

제 자신과 다른 사람을 비교하는 것이 바람직하지 않다는 것을 알면서도, 제가 무언가를 이루었을 때 혹은 칭찬을 들었을 때 매번 “나보다 더 잘하는 사람들이 많이 있는걸”이라는 생각을 했습니다. 이것을 심리학 용어로는 긍정적인 모습 깎아내리기(Discounting Positives)라고 합니다. 그것이 겸손함에서 멈추면 다행이지만, 결과적으론 언제나 스스로에 대한 자신감과 믿음을 잃는 쪽으로 흘러왔던 것 같습니다.

심리상담을 통해 배운 것이 정말 많은데 그 중 또다른 하나는 불안과 우울의 차이입니다. 실제 겪어보지 않으면 굳이 차이를 알 필요도 없고 그것이 최선이겠지만, 이미 두 가지를 모두 겪고있던 저로써는 그 차이를 이해하는 것이 많은 도움이 되었습니다. 불안(Anxiety)은 미래에 대한 걱정과 근심의 감정입니다. 주로 무언가가 잘못되면 어쩌지? 라는 생각으로부터 시작됩니다. 반면 우울(Depression)은 이미 모든 것이 잘못되어서 아무런 희망이 없다는 느낌의 감정입니다.

저는 거의 항상 불안했던 것 같습니다. 아주 어렸을 때 부터요. 나이가 들고, 대학교에서 아무리 좋은 성적을 받고 과분한 상을 받아도 그 느낌은 사라지지 않았습니다. 스탠퍼드에 오게되며 그 불안감은 가면 증후군(Imposter Syndrome)과 만나 아주 크게 증폭되었고, 그 결과 그것이 우울증으로 발전했습니다. 시간이 지나며 이러한 감정들이 연구와 친구 관계에도 모두 영향을 미쳤고, 그것이 생산력 저하와 더 큰 자기 불만족으로 이어지며 불안감이 더 커지는 악순환을 돌았습니다.

약을 처방 받다.    머리에 안개가 낀 것처럼 멍한 느낌이 지속돼 생각과 표현을 분명하게 하지 못하는 상태를 브레인 포그(Brain Fog)라 하는 것도 이때 처음 알게 되었습니다. 처음 심리 상담은 학교에서 시작하고 이후 보다 장기적인 상담을 위해 약 9월까지 학교 밖의 상담가를 만나게 되었습니다. 그때 제가 지난 몇 달 동안 브레인 포그 상태였던 것을 깨닫게 되고, 신속한 해결을 위해 약을 먹어보는 것을 추천받았습니다.

물론 선택의 여지는 있었지만 약물을 권유받았다는 것 자체가 (실존하지 않는) 제 스스로의 망상에게 졌다는 패배 신고 같아서 너무나도 슬펐던 기억이 납니다. 이렇게나 멍청할 상때일 때의 저를 계속해서 도와주고 응원해준 고마운 친구 Jean Betterton와 Daniel Kang에게 감사의 마음을 전합니다.

Love Yourself like Your Life Depends on It

6월, 7월, 8월

이번 여름은 지금까지 보낸 시간 중 가장 우울하고 무기력하지만 그만큼 많이 깨닫고 성장한 시간이라는 생각이 듭니다. 심할 때에는 일주일 중 삼 일 이상을 집에만 머물기도 하고 하루에 여러 번씩 울기도 했습니다. 아침에 일어나는 것이 너무나도 싫고 두려워서 침대에서 몇 시간씩을 보내다가 저녁이 다 되어서 일어났던 날도 많고요. 정말로 바보같은 생각인 걸 알지만 왜 사는지, 다른 사람들이 왜 웃는지, 웃긴 웃는데 정말 행복한건지 이해가 되지 않는 나날들의 연속이었던 것 같습니다.

여름 학기로 접어들며 프로젝트의 방향도 잡히는 듯하고 장거리 연애의 어려움도 해결되는 듯 했지만… 여러가지가 겹치며 상향 곡선을 그리던 저의 행복지수는 다시 바닥을 찍게 됩니다. 약을 먹기 시작했지만 보통 효과가 나타나기까지 한 달 정도의 시간이 걸리므로 초반에는 오히려 더 힘들어 했었던 거 같기도 합니다. 이렇게 말하니까 겁나 다크다크(…)하게 들리는데, 실제로 가장 다크다크 했던 시기였기에 일부러 미화시키지 않고 넘어가겠습니다 (먼산).

스스로에게 너무나도 엄격하고 가혹했던 시간.    거의 반 년이 지나고 나니, 지금은 제가 왜 그렇게까지 다크다크 했는지 너무나도 당연하게 이해가 되는 것 같습니다. 가장 저를 힘들게 했던 요소를 요약하자면 (1) 자신감 부족으로 인한 불안감, (2) 워커홀릭들로 가득찬 주변 환경으로부터 오는 스트레스, (3) 제대로 쉬지 못하고 계속 달려온 것 이 세 가지인 것 같습니다.

세 가지가 모두 다 연결되어 있는데, 공통점은 제가 제 스스로에게 너무나도 엄격하고 가혹하게 대했다는 것입니다. 자신감 부족과 불안감으로 힘들어 하는 저를 “나약해지면 안된다” 또는 “아무리 힘들어도 열심히 해야한다”라며 채찍질하게 된 것은 당시 제가 제 스스로에게 부가한 높은 기대치와 책임감 때문이 컸던 것 같습니다. 또한 당시 주변 사람들이 일을 중요시하고 감정적 교류가 적은 사람들이 대다수였기에 쉰다고 해도 제대로 쉬는 시간을 갖지 못했고, 그것을 쉰 것으로 생각하고 더 열심히 해야한다고 스스로를 다그치며 자꾸만 주저 앉는 절 더 못살게 괴롭힌 것 같습니다.

너무나도 소중한 친구들.    그러던 와중 친구가 추천해준 Love Yourself like Your Life Depends on It이라는 책을 읽게 되었습니다. 제목 그대로, 자기 자신을 사랑하는 것에 대한 중요함을 강조한 40 페이지 남짓의 짧은 책입니다.

친구는 스스로와의 대화가 가장 친한 친구 혹은 사랑하는 사람, 또는 어린 아이에게 하는 것과 같아야 한다고 말했습니다. 사랑하는 사람 또는 아이가 힘들어서 울고 있다면 왜 이 정도 가지고 우냐고 다그칠 것인지, 아니면 위로하며 수고했다고 보듬어 줄 것인지 생각해보라면서 말입니다. 친구가 “너도 먼 타지에 와서 2년 동안 적응하고 열심히 공부하느라고 정말 고생했다”라고 말해주는데 제 스스로 단 한 번도 저를 그렇게 생각하고 토닥여준 적이 없다는 걸 깨달았습니다.

This day, I vow to myself to love myself, to treat myself as someone I love truly and deeply — in my thoughts, my actions, the choices I make, the experiences I have, each moment I am conscious, I make the decision I LOVE MYSELF.

Love Yourself like Your Life Depends on It by Kamal Ravikant

처음에는 책에서 “I love myself.”를 반복해서 말하라는 저자의 요구에 당황했지만, 반년이 지난 지금은 정말로 저의 모든 부분을 사랑하며 감사하는 마음으로 하루를 보낼 수 있다는 사실에, 저자에게도 이 책을 추천해준 친구에게도 너무나도 감사한 마음 뿐입니다. 제 얼굴에 대고 아무렇지도 않게 “화장 좀 해라”라고 하는 문화에서 자랐기 때문에 외모에 대한 콤플렉스도 굉장히 심했는데, 이제는 아무리 부시시해도 제 모습에 만족하며 기쁜마음으로 아침에 일어나게 되었습니다.

이 시간 동안 제게 정말로 큰 힘이 되어준 친구들에게 감사의 말을 전합니다. (아마도 한글로 적어서 이 글을 읽지는 못하겠지만 그래도) 너무나도 고맙고 소중하고 큰 힘이 되어준 Aditi Raghunathan, Xinkun Nie, Fanny Yang, Alex Tamkin, Sumith Kulal, Fereshte Khani에게 — 정말 정말 고마워 :) 네가 있었기에 힘든 시기를 이겨낼 수 있었어 [hugs].

Words are not enough to express my gratitude towards your kindness. Thank you very much for all the love you have shown.

딜레마.    매번 겪는 일이긴 하지만 굳이 6~8월이라고 하는 이유는, 이 시기에 고려대학교로부터 후배들이 많이 스탠퍼드에 방문했기 때문입니다. 분명 이전보다는 나아지고 있었지만, 여전히 정신 상태가 너덜너덜했던 저로써는 기분이 묘했던 것 같습니다. 선배로써 후배들에게 꿈과 희망을 심어주고 싶은 마음과, 한 명의 사람으로써 힘든 것에대해 찡찡대고 싶은 마음 사이의 갈등이랄까요 (긁적).

최대한 진솔하게 답변하려고 노력했는데, 어떻게 받아들여졌을지는 잘 모르겠습니다. “어떻게 스트레스를 해소하냐”라는 질문에 “해소하는 좋은 방법을 모르는데, 안 그래도 최근 그것에 대해 많이 고민하고 있다”라고 대답하며 놀랐던 기억이 납니다. 저보다도 훨씬 빠르게 스트레스 해소의 중요성을 알고 그 일과 휴식의 균형을 찾으려는 후배분들이 대단하게 느껴졌습니다.


한 달간의 휴식.    그래서… 라기 보단, 연구실에 있어도 아무런 생산성이 없는 상태라는 걸 깨닫고 지도교수님께 한 달간의 휴식 시간을 요청했습니다. 누가 쉬면 큰 일 난다고 한 것도 아니고 지도교수님도 언제든지 제가 원하는 만큼 휴식을 취하라고 하셨었지만, 괜히 스스로에게 지는 것 같아 / 약한 모습을 보이는 것 같아 / 별거 아닌 일로 불평하는 것 같아 지난 2년 동안 미뤄왔던 휴식입니다.

스스로를 돌보는 시간.    처음 2주는 혼자서 그동안 하고 싶었지만 하지 못했던 것들을 하면서 보냈습니다. 먼저 바쁘다는 생각에 (실제로 바쁘지 않더라도) 하지 못했던 봉사활동을 몰아서 했고, 미루고 미뤘던 요리도 했으며, 정말 오랜만에 하루 종일 연구에 대한 걱정을 하지 않고 운동과 요가를 하고 따스하게 비치는 햇빛을 즐기며 주변을 걸어다녔습니다. 이 기간 동안 책도 많이 읽고, 사람들도 만나고, 앞으로 어떤 사람이 되고 싶은지, 어떤 모습으로 살고 싶은지, 내가 무엇을 두려워해왔는지 그리고 무엇을 소중하게 여기는지 생각을 많이 하게 되었습니다.

부모님의 방문.    나머지 2주 동안은 부모님이 방문하기로 이전부터 계획되어 있었습니다. 거의 누구에게나 그럴 것 같지만, 부모님과의 시간은 재충전을 넘어서서 인생에 있어서 소중한 많은 것들을 다시금 리마인드 시켜주는 너무나도 좋은 시간인 것 같습니다. 먼 곳까지 딸을 보러 와주시는 감사함에 최대한 편하게 모시고자 가진 책임감과, 부모님 곁에서 큰 걱정이나 불안감 없이 보냈던 시간들 덕분에, 새롭게 가지게 된 강인함이 제 속에 보다 확고하게 자리잡게 된 것 같습니다. 아빠 엄마, 항상 고맙고 사랑해요 :)

10월, 11월, 12월

연구.    박사과정 3년차가 시작되며 마법처럼 모든 상황이 서서히 좋아졌습니다. 새롭게 함께 일하게 된 포스닥 친구인 Chris Donahue와 연구하는 스타일도 잘 맞았고, 그 결과 세 달 동안 함께 일하며 다음 ACL 학회 마감일에 맞추어 짧은 논문(Short Paper)을 제출했습니다. 거절 당했던 논문은 NeurIPS 워크샵에 다시 제출했는데 Contributed Talk으로 선정되어 많은 사람들 앞에서 발표할 기회가 주어졌습니다. 그 외에 추가적으로 HCI 분야를 경험해 볼 수 있는 기회도 생겼고, 다양한 사람들과 이야기가 오가며 협업할 가능성도 많아졌습니다.

NeurIPS 워크샵에서 발표
(Photo Credit: Fanny Yang)

일과 휴식의 균형.    힘든 시간을 겪으며 깨달은 휴식의 중요함을 통해 시간과 스트레스 조절을 더더욱 신경써서 하게 되었습니다. 더 이상 주말 중 하루(혹은 이틀)는 일을 하지 않는 것에 대해서, 그리고 저녁 시간 이후 알람을 모두 꺼두고 응답하지 않는 것에 대해서 죄책감을 느끼지 않게 되었습니다. 저의 건강을 위해 하는 운동이나 취미활동을 일이 바쁘다는 핑계로 포기하거나 미루기보다, 반대로 운동과 취미활동을 일보다 우선순위에 두게 되었고 그 결과 그 시간을 더더욱 소중하게 여기고 즐기게 되는 선순환이 시작되었습니다.

처음으로 5K를 뛰었으며 운동하는 시간 자체를 즐기는 일상을 보내게 되었습니다. 지치고 힘들면 아무리 재미있어 보이는 또는 가야 한다고 생각되는 이벤트가 있어도 집에 돌아와서 쉬고 이것이 제게 필요한 시간임을 다시금 상기했습니다. 제게 중요하지 않은 일이나, 무례하게 또는 무심하게 부탁하거나 요구하는 사람들을 큰 망설임 없이 정중하게 거절하게 되었습니다.

서로 힘이 되어주는 것.    동시에 제가 힘든 시간을 겪고 나니, 저와 비슷한 힘든 시간을 겪게 되는 다른 친구들이 눈에 보이게 되었습니다. 제가 힘들어 할 때에 귀신처럼 먼저 알고 연락을 주었던 친구들이 있는데 (지나고보니 그 친구들도 모두 비슷한 시간을 겪었던 친구들이었습니다), 이젠 제가 그 친구들의 마음을 100% 이해할 수 있게 되었습니다. 그리고 먼저 적극적으로 자신의 개인적인 이야기를 나누며 진심으로 응원해주었던 그 따뜻한 마음을 저도 똑같이 전달하고자 노력했습니다.

겉으로 보기에 아무리 성공적이고 당당하고 똑똑해보이더라도 그들만의 어려움이 있고 정말 많은 역경을 거쳐서 지금의 이 모습, 이 자리에 있다는 것을 깨달았습니다. 그리고 모두가 현재 맡은 책임과 신뢰에 대해 보답하고자 각자의 최선을 다해 노력하고 있다는 사실도요. 그것이 때로는 굉장히 무겁게 느껴지기도 하지만, 서로의 마음을 나누고 공감해줌으로써 이겨낼 수 있는 힘이 생기는 것 같습니다.

생각하는 것보다 훨씬 많은 수의 친구들이 우울증, 공황장애 등을 겪었다는 것, 더 많은 수의 친구들이 명상, 요가, 운동 등을 통해 적극적으로 스트레스를 초기에 해결하려고 노력한다는 것, 그리고 제가 개인적으로 존경하고 닮아가고 싶은 사람들은 적어도 언젠가 한 번은 이런 경험을 했었다는 사실을 알게 되었습니다. 개인적인 이야기이므로 이곳에 이름을 나열하진 않겠지만 저의 고민을 들어준 많은 분들과 제게 고민을 진솔하게 이야기해준 분들 모두에게 정말정말 깊은 감사의 마음을 전합니다 :)

Bucket List for 2020


지난 일 년 반 동안 제가 많은 사람들을 서운하게 한 것을 알고 있습니다. 이것을 제게 직접적으로 말한 사람들도 있었고, 간접적으로 표현한 사람들도 있었으며, 표현은 안했지만 분명 서운함을 느꼈을 거라고 생각되는 사람들도 있습니다. 제 개인적으로 보면 정말 많은 일들이 있었지만, 이 모든 것을 미리 나누고 양해를 구하지 못해서 진심으로 미안해요 :)

My sincere apologies for those who have been hurt by me.

아직 저는 너무나도 부족한 사람이라 여전히 하루하루 많은 것을 실수하고, 헤매고, 배워가며 조금이라도 더 나은 사람이 되고자 노력하고 있습니다. 그러한 과정에서 뜻하지 않게 기분 나쁘게해서, 감정을 상하게 해서, 충분히 소중하다고 느끼지 못하게 해서 미안합니다. 내년에는 올해보다 더 좋은 사람이 되도록 노력할게요.


매 순간 내 삶속의 모든 사람들을 온마음을 다해 사랑하는 것.
그것이 가장 행복하고 아름다운 삶.

– 2019년 10월 12일에 적은 글

2019년도 하반기의 목표는 “스스로에게 보다 관대하고 진솔한 사람이 되자” 정도로 요약할 수 있을 거 같습니다. 2020년에 있어서 목표로 하는 것은 “누군가가 의지할 수 있는 사람이 될 수 있을 정도로 강인한 사람이 되자”입니다.

구체적인 버킷리스트는 다음과 같습니다:

  • AI 멘토링 프로그램을 통해 만나게 된 멘티가 원하는 연구실에서 인턴을 할 수 있도록 적극적으로 도와주기
  • 다음 쿼터에 우리 연구실 로테이션을 도는 박사과정 일 년 차 친구가 잘 적응하고 유익한 시간을 보내고 갈 수 있도록 먼저 챙겨주고 연락해주기
  • 함께 일하는 포스닥에게 일하는 시간 동안 쉽게 연락할 수 있고 편하게 이야기를 나눌 수 있는 협업자가 되어주기
  • CS224N 조교로써 맡게 될 10개 이상의 프로젝트 팀 최선을 다해서 지도하고 이끌어주기
  • CS224N 조교로써 맡은 일 꼼꼼하고 세심하게 처리하기
  • CURIS 프로그램을 통해 학부생과 함께 여름 학기에 연구하기
  • 사람들과 일주일에 한두 번은 점심을 먹거나 커피를 마시며 이야기 나누기
  • 오피스에서 친구들과 매일 이야기 나누고 함께 일하기
  • HCI 분야 세미나와 수업 등에 참석하기
  • 같은 분야 그리고 다른 분야 사람들과 적극적으로 네트워킹 하기
  • 사교댄스를 계속해서 배우고 Viennese Ball에 참석하기
  • 운동 일주일에 두세 번 이상 꾸준히 하기
  • 기차 여행가기

마지막으로 이 글을 쓸 수 있도록 큰 용기를 준 Daniel Jiang에게 감사합니다.
모두 메리 크리스마스! 🎅🏻🎄

Do not let anything that happens in life be important enough that you’re willing to close your heart over it.

The Untethered Soul by Michael Singer

스탠퍼드에서의 한 해를 마치며

몇 년 후에 혹시라도 제가 박사과정 첫 해를 “에이, 그렇게 힘들지 않았어”라며 미화하고 있거든 (…) 아니었다는 걸 스스로 상기시켜주기 위해 이 글을 씁니다.

일년 치 밀린 일기를 쓰는 느낌이 들기도 하네요. :) ⭐️

TL;DR.    수능 때보다도 훨씬 더 열심히 공부하고 배운 한 해였습니다.

처음으로 제대로 된 공부를 한다고 느꼈습니다. (또는 그동안 얼마나 야매로 살아왔는지를 깨달았습니다.) 질적인 부분에서는 예전에 공부를 했던 내용이라도 정말 깊게 제대로 이해한 것이 하나도 없다는 것, 그리고 양적인 부분에서는 그동안 열심히 한다고 했던 것이 정말 열심히 했던 것이 아니었다는 점에서 더더욱 그렇게 느낀 것 같습니다.

스탠퍼드의 로테이션 시스템*을 통해 세 교수님과 연구를 하며 전혀 성격이 다른 세 개의 분야를 각각 세 달에 걸쳐 심도있게 경험해보는 진귀한 경험을 하고, 동시에 교수님의 지도 방식 및 연구 방향을 비교할 수 있는 눈을 기르게 되었습니다. 그리고 넘쳐나는 실력자들과 끊임없이 경쟁해야 하는 상황에서 심리적 부담감과 스트레스를 이겨내는 것 자체가 무언가를 추구함에 있어서 가장 중요하고 필요한 능력 중 하나라는 것을 깨달았습니다.

가장 감사했던 것은 주변의 모든 사람들로부터 배울 점이 너무나도 많다는 사실입니다. 말도 안되는 운으로 이곳에 오게 되었지만, 이렇게 훌륭한 사람들 곁에 있다보면 아주 조금이라도 그들의 모습을 닮아갈 것 같아 앞으로의 시간이 정말 기대가 됩니다. 매년 느끼고 있지만 특히나 더, 그 어느 때 보다도 크게 성장한 한 해였기에 감사한 마음뿐입니다. :)

*스탠퍼드의 로테이션 시스템: 스탠퍼드는 쿼터제로 1년을 4개의 학기로 나누는데, 컴퓨터학과 박사과정의 경우 첫 해는 각 쿼터마다 다른 교수님과 연구를 하고 마지막 쿼터에 지도교수를 정하는 시스템입니다. 여름 쿼터는 계절학기를 수강하지 않는 한 방학이므로, 보통 가을, 겨울, 봄 쿼터 동안 총 세 명의 교수님과 연구를 하게 됩니다.

미쳐 돌아가는 곳**

이곳에 온 지 얼마 안되었을 무렵, 밥먹듯 반복했던 말이 있습니다.


“여긴 정말 미쳐 돌아가는 곳이야.”


길을 걷다보면 저 앞에 구글의 자율주행자동차가 우회전을 하고 있고, 배드민턴을 치러가면 만나는 사람들이 너도나도 페이스북 직원이고, 동네의 어느 카페에 가든 심심치 않게 스타트업 아이디어에 대한 피치와 여러 기업들의 채용인터뷰를 들을 수 있는 이 곳 — 학교에서는 말할 것도 없이 유명한 사람과 기업들의 세미나 및 강연이 한 건물에서만 해도 하루에 몇 개씩 진행됩니다.

대학원생으로서 놀랐던 것은, 거의 모든 사람과 딥러닝에 대한 대화, 그리고 심지어 논문 레퍼런스가 가능하다는 것입니다. 여기서 “거의 모든 사람”이라 하면 정말로 “거의 모든 사람”을 의미합니다. (한국으로 치면 택시에 해당하는) 우버(Uber) 기사 아저씨가 저의 배경과 현재 연구 주제를 듣더니 아이디어들을 던져주며 여러 편의 논문을 추천해준다거나, (한국으로 치면 이마트에 해당하는) 세이프웨이(Safeway)에서 장을 봐서 돌아가던 길에 우연히 마주친 사람과 연구 얘기를 하다가 인턴십 제안을 받는다거나 하는 일들이 비일비재합니다. 실제로 지난 몇 달간 제가 직접 겪은 일이니까요.

전반적으로는 굉장히 경쟁적이고 치열하게 사는 분위기인 것 같습니다. 퇴근 후 그리고 주말에 공부하거나 일을 하는 것은 당연한 일입니다. 아무도 “왜 그렇게까지 열심히 해?”라면서 은연중에 거부감을 보이지 않습니다. 반대로 당연히 눈에 보이지 않는 곳에서도 열심히 하고 있을 것이라고 가정해서 처음에는 정말 놀랐던 기억이 납니다. 가장 중요한 점은 그렇게 사는 것을 좋아하는 사람들이 모였다는 점입니다.

** 이 글은 스탠퍼드에서의 두 번째 쿼터인 겨울 학기 초반에 작성하다가 결국 다 마무리 짓지 못하고 방치해두었는데 이제서야 빛을 보네요. 사실 이 글을 작성할 때만 해도 고개를 절레절레 저으며 글을 썼던 기억이 나는데 그래도 일 년 있었다고 이제는 이런 모습들이 당연하게 느껴지는 걸 보면, 참. :)

스탠퍼드를 스탠퍼드로 만드는 수업

수업을 들으며 무엇이 스탠퍼드를 스탠퍼드로 만드는지 비로소 알 수 있었습니다. 제가 졸업프로젝트로 한 학기 동안 했던 것을 여기 친구들은 한 쿼터만에 여러 개의 수업에서 해내는 느낌이었습니다. 스탠퍼드는 학부와 대학원 수업이 구분되어있지 않은 상태에서 수업이 상향평준화 되어있고 쿼터제인 바람에 속도도 정신을 못차릴 정도로 빠릅니다.

수업.    강의 자료의 매 페이지 마다 최신 논문 두 세개씩 레퍼런스는 기본이오, 두 달 남짓 되는 기간 동안 방대한 양을 커버하는데, 항상 “이번 수업을 통해 무언가를 배웠다.”라는 느낌보다는 “이번 수업을 이해하기 위해 추가적으로 공부해야 할 것이 겁나 많다.”라는 느낌으로 강의실을 나왔습니다. 수능 후 처음으로 매 수업시간 전후로 예습과 복습을 하고, 걸어다닐 때마다 동영상으로 강의를 시청했습니다. 그런데도 따라가기가 정말 힘들었습니다. 공부를 “하는”게 중요한 것이 아니라, “제대로, 잘 하는”게 중요하다는 것을 절실하게 느꼈습니다.

한국에서는 수업 내용이 하나도 이해가 안된다는 표정을 짓고 있으면 교수님이 눈치를 채고 친절하게 설명해주셨습니다. 그리고 설명이 길어지거나 학생들이 이해를 못하면 속도를 늦추고 종종 계획했던 진도의 반만 나갔던 기억이 납니다. 그러나 스탠퍼드에서의 수업은 “이 많은 걸 한 수업에서 다 커버한다고?” 싶은 진도를 수많은 학생들이 끊임없이 손을 들고 질문을 하는 도중에도 다 나갑니다. 시간이 부족해서 다 받지 못한 질문들은 수십명의 조교들의 오피스아워를 통해, 그리고 인터넷 질의응답 사이트를 통해 어떻게해서든 해결해줍니다.

질문.    앞서 말했듯 해당 분야를 몇 년째 연구해온 대학원생들도 함께 수업을 듣기 때문에 질문의 수준도 굉장히 높다고 느꼈습니다. 사실 스탠퍼드의 학부생 중 상당수가 연구에 참여하고 (여름 방학에는 엎어지면 코닿는 곳에 있는 구글, 페이스북 등에서 인턴을 하거나, 그게 아니라면 학교에서 연구를 합니다) 고등학생 때부터 논문을 낸 친구들도 꽤 있기 때문에 (나는 그동안 무엇을 해왔던가) 대학원과 학부생의 간극이 한국만큼 크지는 않은 것 같습니다. 질문의 내용도 강의 자료에 국한되지 않고 풍부한 배경지식과 깊이를 가지고 질문합니다.

논문.    그 중 가장 인상깊었던 수업은 논문을 읽고 토의하는 수업이었습니다. 한국에서는 주로 대학원생만을 대상으로 열리는 수업으로 알고 있는데, 스탠퍼드에서는 해당 분야 및 주제에 관심이 있는 학부생들도 많이 수강합니다. 수업은 사전조사를 통해 학생들의 관심사과 최신 트렌드를 반영해서 일주일마다 6편의 논문을 읽고 학생들이 발표하는 형식으로 이루어집니다.

여기까지는 어느 학교나 비슷할 것 같지만 결정적인 차이를 만드는 것은 지도교수님, 조교들의 노력과, 확실하게 자리잡힌 체계, 그리고 학생들의 열의인 것 같습니다. 각각의 논문 발표자료의 사전 검열이 이루어지고, 발표에 대한 자세한 피드백도 제공함으로써 발표를 하는 사람과 듣는 사람 모두에게 유익하도록 체계적으로 계획되고 진행됩니다. 발표자인 학생은 논문의 핵심아이디어를 쉽게 따라가고 테스트 할 수 있는 연습문제도 제공합니다.

그리고 이곳에 와서 깨달은 어떻게 보면 당연한 사실은 “학부생도 논문을 많이 읽어야 한다“는 것입니다. 이곳에서는 누구나 논문을 접할 기회가 정말 많습니다. 강의를 이해하기 위해 읽어야 하는 최소한의 논문 — 강의 자료가 이해 안되서 논문을 읽는 경우가 허다합니다 — 뿐만 아니라, 앞서 말한 논문 토의 수업, 세부 분야별 정기적인 논문 모임, 주단위 세미나 등, 다양한 경로로 최신 연구 결과를 접할 기회가 굉장히 많습니다.

논문을 읽을 기회뿐만 아니라 쓸 기회도 많습니다. 모든 과제물의 작성은 LaTeX으로 이루어지고 (첫 번째 과제의 첫 번째 문제가 교수님 논문 중 한 편의 부록에 실린 theorem의 증명이었습니다. 물론 검색해도 찾을 수 없도록 조교들이 기가막히게 문제의 단어들을 바꿔서 줍니다.) 수업 프로젝트 최종 결과물은 3시간의 포스터 발표와 함께 기계학습 분야의 우수 학회의 정규 논문 형식대로 8페이지의 보고서를 작성하는 것입니다. 상황이 이렇다보니 학생들이 논문을 읽고, 쓰는 과정을 자연스럽게 익히게 되고, 그것이 좋은 아이디어와 연구로 이어지는 것을 알 수 있었습니다.

시간의 중요성

그러나 아이러니하게도 수업을 듣고나서 제가 얻은 교훈은, “수업을 들으면 안된다” (…) 는 것이었습니다 — 적어도 로테이션을 돌 때만큼은요. 교수님 한 명당 매년 최대 한두 명의 학생을 받는데, 로테이션을 도는 학생은 4~6명 이상이다보니 두세 달안에 무언가를 해내야한다는 부담이 상당히 큰 편입니다. 그 결과 세 번째 쿼터에는 수업을 듣지 않았는데, 반대로 살면서 그 어느 때보다도 가장 바쁘게 살았던 시간이었습니다. :)

제 이야기를 하기 전에, 잠시 주변 친구들의 말을 인용하고 싶습니다.


수업을 들을 시간이 없어. 수업은 시간 효율이 떨어지니까 차라리 혼자 공부하거나,
강의를 보고 싶으면 집에서 2-3배속으로 보는 걸 선호해.”

지난 몇 년 동안 주말이란 게 없었던 거 같아. 그런데 난 그게 좋았어.” 

“학부때는 다같이 고생하면서 공부했는데 재미있었어. 한 수업의 경우 교수님이 학생들이 사는 기숙사의 사감이어서, 기숙사의 공용 공간에서 오피스아워를 토요일 밤 10시부터 새벽 1시까지 가지셨었거든. 그래서 보통 그때까지 다같이 과제를 하다가, 10시에 오피스아워에 가서 열심히 토론하고, 그러다보면 보통 새벽 1시가 넘는데 그때까지 교수님도 계속 머물면서 학생들을 지도해주셨어. 그러고나서 간신히 과제를 제출하고나면 바로 다음 과제가 주어졌지.”


당연한 것.    시간이 지날수록 스탠퍼드를 스탠퍼드로, 실리콘밸리를 실리콘밸리로 만드는 것은 결국 사람들의 열정이라는 것을 절실히 느낍니다.  처음에는 주변의 교수님과 친구들이 오전 열 시쯤 학교에 왔다가 저녁 다섯 시쯤 집에 가는 것을 보며, 모두 여가 시간을 중시하는 균형잡힌 삶을 살고있다고 생각했습니다. 그러나 어느 순간 깨달았습니다 — 이들 모두 당연히 학교에 오기 전에 집에서 공부를 하고, 마찬가지로 돌아가서도 새벽까지 공부를 한다는 사실을요. 너무나도 당연해서 언급할 필요도 없고, 굳이 누군가에게 (학교 또는 오피스에 있음으로써) 그것을 증명할 필요도 없는 것이었습니다.

이곳에서 주말과 공휴일은 공부와 일을 마음껏 할 수 있는 절호의 기회이자 평소 관심 있던 주제를 더 파고들 수 있는 자기 계발의 시간으로 여겨집니다. 하고싶은 것은 너무나도 많지만 부족한 시간이 문제인 이들에게는, 쉬는 것 조차 철저한 계획하에 최대한의 효용을 얻는 방향으로 이루어지는 것 같았습니다. 그들에게 운동을 하고, 등산을 하고, 친구들과 식사를 같이 하는 것은, 아주 바쁜 시간을 쪼개어 활용하는 굉장히 의식적인 선택이자 계획인 것입니다.

솔직히 한동안은 “너무한 거 아닌가”라는 생각이 강했습니다. 그리고 동시에 느껴지는 엄청난 부담감 — 이런 사람들만 모아놓은 환경이다보니, 조금이라도 게으르거나 뒤쳐진 모습을 보이면 자연스럽게 평가의 잣대를 들이댈거라는 생각이 들었기 때문입니다. 게다가 조금 지치기도 했었던 것 같습니다. 한 번은 친구와 약속을 잡으며 정각 또는 삼십 분 단위가 아니라 분 단위로 약속을 잡게 되었는데, 너무 야박하다는 생각을 했었던 기억이 납니다. (지금이라면 그냥 “바쁜 시기인가 보다”라고 생각할 것 같습니다. :)

시간의 중요성.    결론적으로는, 모두 굉장히 바쁘기 때문에 서로의 시간을 존중하는 것이 굉장히 중요합니다. 교수님을 보면 사전에 계획되지 않은 일정에 일주일 내로 30분의 시간을 추가적으로 할애하는 것이 거의 불가능에 가까워 보일 때가 많습니다. 각각의 일정에 있어서도 칼같이 시간을 맞춰서 만나고 다음 일정을 위해 칼같이 헤어집니다. 2~3분이라도 늦는 것은 상대방의 시간을 그만큼 낭비하는 것이 되고, 현재 일정이 늦어지는 것은 다음에 만나는 사람의 시간을 그만큼 뺏는 셈이 되기 때문입니다. 상황이 이렇다보니 최대한 상대방의 입장을 고려하고 주어진 시간을 효율적으로 사용할 수 있도록 준비하는 것이 모두의 몸에 배어있는 것 같습니다.

부모님과 이런 주변 환경과 관련해서 이야기 할 기회가 있었습니다. 열심히 사는 사람들로 가득한 것은 좋지만, 가끔씩은 지나친게 아닌가 하는 생각이 든다며 지친 말투와 표정으로 한숨을 쉬었던 것 같습니다. 그런데 그에 뒤따라오는 어머니의 말씀에 정말 놀랐습니다. “그게 너의 스타일 아니었어? 너랑 잘 맞는 거 같은데?

그제서야 제가 학부 때 들고다니던 스케줄러의 빼곡했던 페이지들이 생각났습니다. 하루를 미리 계획하는 것을 좋아하기도 하지만 기억력도 나쁜 편이어서 정말로 모든 것을 적어놓는 편인데 (논문을 읽고, 수업을 듣고, 과제를 하고, 연구를 하는 시간도 각각 세분화해서 계획하는 편), 안 그래도 빼곡한 스케줄러를 더 빼곡하게 채우며 희열을 느끼는 (…) 저를 보며 다른 사람들도 이런 비슷한 감정을 느꼈겠구나 싶었습니다.


IMG_0687 (1)
가장 바쁘지 않았던 첫 번째 쿼터의 랜덤한 주의 스케줄. 이후 스케줄러를 쓸 시간도 부족하다고 느껴서 더 이상 작성하지 않고 모두 구글 캘린더로 옮겼습니다.


이 때부터 따라가기 힘들다거나 너무 과하다는 생각을 버리게 되었습니다. 그 결과 너무나도 힘들고 버겁게만 느껴졌던 것들이, 내게 잘 맞는 내가 좋아하는 모습이라고 생각이 전환되며 마음이 편안해졌습니다. 그리고 동시에 다른 사람들을 더 잘 이해할 수 있는 계기가 되었습니다.

따뜻한 사람들

Quora라는 사이트에서 우연히 읽게 된 “하버드 학생들은 얼마나 똑똑한가요?”라는 질문에 대한 누군가의 우문현답이 기억납니다. 대충 기억나는대로 적자면, “당연히 하버드 학생들은 똑똑하지만, 소위 천재라고 일컫을만한 학생은 소수에 불과하다. 반대로 거의 대다수의 학생에게서 찾을 수 있는 공통점은 그들이 다재다능하며 (well-rounded) 편안하게 어울릴 수 있는 사람이라는 점이다.”라는 대답이었습니다. 지난 일년 동안 만났던 수많은 사람들을 생각했을 때, 저는 이 대답에 전적으로 동의합니다.

미국의 문화를 잘 모르는 저를 배려해 유머나 어휘의 유래를 알려주며 되려 제 문화를 충분히 알지 못하는 것에 미안해 하거나, 여러 모로 부족한 점이 많은 파티나 이벤트를 주최했을 때 저보다 더 많은 부분들을 알아서 맡고 도와준 친구들, 옷 입는 것, 생각하는 것, 말하는 방식이 다르더라도 그런 개인 본연의 모습을 존중하는 환경을 만들어주는 참된 리더의 모습을 갖춘 사람들 — 그들이 아니었으면 저의 학교 생활, 그리고 미국에 대한 이미지는 지금과는 사뭇 다른 모습이었을 것 같습니다.

잊을 수 없는 할로윈, 크리스마스를 보냈습니다. 친구들과 다같이 모여서 서로 준비해온 음식을 먹고 이야기를 나누는 팟럭(potluck)도 두 번 주최했는데, 이것도 친구들의 도움이 아니었다면 결코 해낼 수 없었을 것입니다. 그 외에도 바쁜 시간을 쪼개어 함께 밥을 먹고, 운전 면허 시험을 도와주고, 안부를 물어주는 친구들과, 항상 인내심을 가지고 지도해주신 교수님과 연구실, 회사에서 함께 일하는 친구들 모두 다 감사한 마음뿐입니다.

사실 더 고마운 부분은, 그들이 행복한 순간 뿐만 아니라 힘든 시기마저도 곁에서 계속해서 걱정하고 도와줬다는 사실입니다. 로테이션 때문에 스트레스를 받는 모습을 숨기고자 노력했는데도 눈치채고 바로 메시지를 보내 이야기를 하고 싶거나 잠깐 머리를 식히고 싶을 때 언제든지 얘기하라던 친구들, 자신의 개인적인 경험을 나눠주며 진심으로 공감하고 응원해준 친구들, 본인에게도 불편한 주제일텐데도 먼저 조심스럽게 말을 꺼내며 상황을 개선할 수 있는 방법을 함께 찾아준 친구들… 이들이 아니었다면 정말 어떻게 되었을 지 상상이 되지 않을 정도입니다.

스스로 느끼기에도 정말 큰 가치관의 변화가 있었던 한 해입니다. 그와 동시에 굉장히 혼란스러운 시기었기에, 주변 사람들을 많이 챙기고 위하지 못한 것 같아서 미안한 마음이 가득합니다. 이런 부족한 저를 항상 이해하고 너그러운 마음으로 지켜봐주시는 부모님과, 매번 곁에서 응원하고 큰 힘이 되어준 친구들에게 너무나도 감사합니다.

이 모든 것이 너무나도 감사하고 믿을 수 없는 행운이라 생각합니다. 앞으로 더 즐겁게 꾸준히 해야겠다고 항상 다짐하지만, 아직까지는 이런 과분한 환경과 기회에 대한 책임감이 무겁게 느껴질 때도 있는 것 같습니다. 그래도 이 모든 것이 더 큰 성장을 위한 밑거름이라고 믿기에, 너무 조급해하지 않고 하루에 한 걸음 씩 꾸준히 즐겁게 내딛고자 노력하겠습니다. :)


This is a record of your time. This is your movie. Live out your dreams and fantasies. Whisper questions to the sphinx at night. Sit for hours at sidewalk cafes and drink with your heroes. Make pilgrimages to Mougins and Abiquiu. Look up and Down. Believe in the unknown for it is there. Live in many places. Live with flowers and music and books and paintings and sculpture. Keep a record of your time. Learn to read well. Learn to listen and speak well. Know your country, know your world, know your history, know yourself. Take care of yourself physically and mentally. You owe it to yourself. Be good to those around you. And do it all of these things with passion. Give all that you can. Remember, life is short and death is long.

– Fritz Sholder


박사과정 지원 Q & A

이 글은 크게 (1) 이메일 작성시 유의 사항, (2) 박사과정 지원 관련 Q & A, (3) 자기소개서로 구성되어 있습니다.

첫 번째 파트는 이메일과 관련해서 일반적으로 드리고 싶은 조언들과 함께 제 만담과 근황을 담았고, 두 번째 파트는 박사과정 지원과 관련해서 추가적으로 받은 질문들에 대한 답변을 정리했습니다 (질문을 받을 때마다 지속적으로 이곳에 업데이트 하고 있습니다). 언제나 그렇듯, 이 글도 딱딱한 정보성 글이라기보단 제 사설이 여기저기 뒤섞인 글이랍니다. 편하게 읽어주세요.

※ 혹시 제 블로그 포스트 박사과정 지원을 준비하며 또는 을 읽고 궁금한 점이 있어 이메일 등으로 질문하고자 하신다면 이 글을 먼저 읽고 보내주시면 정말 감사하겠습니다. :)

이메일 작성시 유의 사항

※ 바쁘시다면 이 부분은 건너뛰고 읽으셔도 크게 상관 없습니다.

스탠퍼드에 와서 제가 느낀 가장 큰 변화 중 하나는 매일 받는 엄청난 양의 이메일입니다. 물론 저보다 훨씬 많은 이메일을 받는 교수님들과는 비교도 안 되겠지만, 평범하고 잉여롭게(?) 한국에서 대학생활을 하다 온 제게는 엄청난 변화라고밖에 할 수 없습니다. :)

며칠 전까지의 제 일상은 이랬습니다.

  1. 아침에 눈을 뜬다.
  2. 핸드폰을 집어든다.
  3. 엄청난 수의 이메일을 보고 후덜덜 한다.
  4. 씻고, 아침을 먹고, 학교에 가는 내내 이메일을 확인한다.
  5. 연구실에 도착해서 처음 한두시간 정도를 이메일에 답장하는데 쓰고, 그 결과 새로 생긴 일정을 체크하고, 겹치는 일정을 조율한다. 이 과정에서 추가적으로 필요한 이메일이 있으면 쓰고, 영어 표현을 올바르게 사용했는지 확인하고 전송한다.

이러다보면 자연스럽게 오전 시간이 사라집니다.

Clipart Credit:

이메일의 내용은 정말 다양합니다. 가장 중요도가 높은 이메일은 당연히 연구와 관련해서 지도교수 그리고 함께 일하는 포스닥과 오가는 이메일이고, 학교의 학사일정, 행정업무 처리와 같은 이메일은 무시하면 인생이 꼬일 수 있기 때문에 가능한 꼼꼼히 읽고 까먹지 않도록 스케줄러에 바로 기록해두는 편입니다. 새로운 학교, 새로운 한해, 새로운 학기이기 때문에 온갖 행사 및 이벤트가 일주일 내내 즐비하고, 스탠퍼드 학교 전체로 보면 대학원생 모임, 학교밖에 거주하는 학생모임, 국제학생 모임, 공대생 모임 등의 초청장이 매주 수십통씩 도착하고, 컴퓨터학과로만 봐도 유명 학자들의 강연, 기업들의 리크루팅 일정 등이 매일 있고, 각 연구분야 별로 점심식사 및 연구 발표가 매주 정기적으로 있습니다. 이와 관련된 공지도 계속 오는 데다가 모르는 기업에서까지 링크드인, 페이스북, 홈페이지 등을 보고 스팸필터가 걸러내지 못할 정도로 정교하게 개인화시켜서 채용공고 이메일을 보내니 정신이 없을 수밖에 없습니다.

이메일을 작성하지 말아야 할 때

우리는 살면서 정말 별의별 이유로(?) 이메일을 씁니다.

  • 해외 대학의 교수에게 컨택 메일을 보낼 때
  • 지도교수님과 일정을 조율할 때
  • 타 연구실의 사람과 상의할 것이 있을 때
  • 연구실의 선후배에게 전달할 사항이 있을 때
  • 기타 아는 사람, 모르는 사람에게 질문 또는 부탁할 일이 있을 때

그러나 일반적으로 다음 중 하나라도 “그렇다”라고 대답할 수 있다면 이메일을 작성하지 않는 것이 바람직합니다.

  1. 인터넷에서 하려는 질문에 대한 답변을 찾을 수 있는 경우
  2. (저와 같은 경우) 블로그 포스트 또는 에서 답변을 찾을 수 있는 경우
    • 학교 조사
    • 연구
    • 영어
    • 이력서
    • 학업계획서
    • 추천서
    • 장학금
    • 컨택 메일
    • 인터뷰
    • 등 유학 준비에 대한 거의 모든 것 [목차]
  3. 직접 상대방을 만날 기회가 있고, 그때까지 기다렸다가 물어볼 수 있는 경우

감사하게도 제가 받는 99% 이메일은 다양한 방법을 통해 알아보고 고민한 뒤 질문한 흔적이 묻어납니다. 그렇지만 간혹 난감한 경우가 있습니다. 예를 들면 “제 영어 점수가 부족한데 괜찮을까요?”라고 이메일이 오는 경우입니다. 이때 제가 겪는 에로사항은 여러가지가 있는데요 (먼산)

  • 책의 한 챕터 분량의 내용을 말씀드려야 할 지 (영어와 관련된 챕터의 예: “영어 성적이 당락을 결정짓는 절대적 요인은 아니다”, “영어 성적이 지원자를 거르는 기준이 될 때”, “학점과 영어와 연구” 등)
  • 아니면 그냥 책 한 권 분량의 내용을 전부 말씀드려야 할 지 (박사과정 준비에 있어서 영어 점수 외에 훨씬 더 중요하다고 생각되는 다른 요인들(대표적으로 논문, 학업계획서, 추천서 등)이 어떻게 판도를 뒤집을 수 있는지 설명하기 위해)
  • 아니면 당장 생각하기에 중요하다고 판단되는 내용 위주로 그때그때 요약해서 말씀드려야 할 지
  • 아니면 그냥 답장을 하지 말 것인지

등등 다양한 선택지 사이에서 항상 갈등하게 됩니다. 지금까지는 책을 강권하는 것처럼 보이고 싶지 않아서 거의 세 번째 방법을 택했는데, 앞으로 점점 더 바빠지다보면 자연스럽게 네 번째 선택지를 선택하는 빈도가 높아지지 않을까 싶습니다. :'(

그렇지만 정말 신경써서 보내주신 메일이라도 간혹 “잠시후에 답장해야지”라고 생각하고 미뤄두었다가 새로 도착한 수십통의 메일에 밀려서 기억속에서 사라진 경우도 있답니다 (눈물). 많이 고민하고 정성들여서 보내주신 이메일인데 답장드리지 못해서 정말 죄송하다고 포스트를 통해서라도 말씀드리고 싶어요ㅡ저를 너무 미워하지 마세요 (또르르).

그래도 이메일을 작성하기로 했다면, 이것만큼은 반드시!

Email Writing Tips

How to send and reply to email

박사과정 지원 관련 Q & A

Random facts:

  • 지속적으로 업데이트 중
  • 댓글/이메일로 질문해주세요 :)
  • 책과 중복된 질문도 몇 가지 포함
  • 개인적인 내용/질문 제외

인적사항 & 메일

Q. 이미나님!

A. 이민아입니다!

Q. 혹시 더 궁금한 점 있으면 메일드려도 괜찮을까요?

A. 네, 얼마든지요! 위에서 말씀드린 “이메일을 작성하지 말아야 할 때”에 해당되지 않는다면 기쁜 마음으로 답장드리겠습니다. 저도 준비 과정에서 많은 도움을 받은 만큼, 제 부족한 대답이 조금이라도 도움이 되길 바라는 마음에서 항상 성심성의껏 제 의견을 말씀드리고 있어요. :)

가장 중요한 요소

Q. 좋은 학교들로부터 어드미션을 받은 후 현재 시점에서 돌이켜봤을 때, 어떤 점이 강하게 어필되었다고 생각하시나요?

A. 저는 연구 역량을 잘 보여줄 수 있는 논문과 추천서가 가장 중요하다고 생각해요.

사실 모든 요소가 중요하게 작용하지만, 그 중에서도 특히 박사과정 진학을 위해서는 연구 역량을 보여주는 것이 제일 중요하니까요. 그런 점에서 논문은 백마디 말로 설명하는 것보다 효과적으로 본인의 연구 능력을 보여줄 수 있어요.

마찬가지로 추천서도 함께 연구를 진행했던 교수들로부터 평가를 받는 것이므로 어떻게 연구를 했고 어떤 점에서 어려움을 겪었으며 그럼에도 불구하고 어떻게 극복했는지 등 학생의 기여도, 태도, 발전 가능성을 충분히 드러낼 수 있고요.

그 외에도 연구 역량에 직간접적으로 영향을 미칠 수 있는 다양한 요소들(수업, 프로젝트, 포스터 발표, 학회 참여, 공모전 수상, 인턴 경험, 조교 경험 등)이 있을 수 있겠지만, 저는 그 중에서도 논문과 추천서가 가장 밀접하게 관련이 있었던 케이스인 것 같네요.

추가적으로 학업계획서와 자기소개서도 굉장히 중요할 수 있는데요, 이 부분에 있어서는 CMU 교수 Jean Yang의 포스트 중에서 관련된 부분을 인용할테니 참고해보세요.

“The three important parts of the application are
the personal statement,
the academic transcript,
and the recommendations.

How much each part matters depends on the person, but my take on it is:
a strong personal statement can help a lot;
a weak personal statement could hurt some;
a strong transcript doesn’t hurt;
a weak transcript won’t necessarily kill you;
strong recommendations can get you in;
weak recommendations will get you ignored.”


Q. 작성하신 이력서의 LaTeX 파일을 주실 수 있나요? / 작성하신 이력서를 워드 버전으로 바꿔서 주실 수 있나요?

A. 아니요.

구체적인 이유는 아래의 학업계획서 LaTeX 파일 요청 문의에 대한 답변을 참조해주세요.


Q. 민아씨의 학업계획서의 구성이 석사과정 지원자의 학업계획서에도 적용될 수 있을까요?

A. 석사과정과 박사과정의 차이를 떠나서, 본인의 이야기를 전달할 때 이 형식이 적합할 것 같다는 생각이 들 때 사용하시면 될 것 같습니다.

형식 자체로만 보면 석사과정 학업계획서에 쓴다고 해서 문제 될 것은 없습니다. 그렇지만 만약 연구 경험이 부족한 상태에서 이 형식을 취한다면 전체적인 구성이 부실해보일 수 있겠지요. 또는 졸업 후 스타트업 또는 색다른 진로를 생각하고 있다면 연구나 프로젝트 경험보다도 자신만의 이야기를 풀어나가는 것도 좋을 것입니다. 따라서 본인이 생각하기에 적합하다고 생각하는 구성/형식을 택하시면 됩니다. :)

Q. 민아씨의 학업계획서 형식으로 적는 것이 정말 괜찮은지 확신이 안듭니다.

A. 일단 고백하자면 저도 끝까지 형식에 대해서 반신반의 하면서 제출했었습니다. 이것은 제가 감히 “괜찮습니다”라고 말해드릴 수도 없고, 그렇게 말한다고 해도 믿으시면 안되는 부분이라고 생각해요.

제가 드릴 수 있는 말씀은 이렇게 써서 많은 학교에 합격을 했으나 분명 떨어진 학교도 있다는 사실입니다. :) 학교마다, 학과마다, 읽는 사람마다 달라질 수 있는 부분이고 그렇기 때문에 끊임없이 스스로 고민하고 선택해야 한다고 생각합니다.

Q. 다른 대학들에 대한 학업계획서는 내용이나 주제를 많이 변경하셨나요? 

A. 아니요, 큰 형식은 동일했고 주요 관심사와 그에 관련된 문단의 뉘앙스만 교수에 맞춰서 조금씩 변경했어요. 제 경우에는 중간 부분은 제가 했던 연구에 대한 소개와 관심사에 대한 폭넓은 소개이기 때문에 학교에 맞춰서 특별히 더 손 댈 부분은 없었던 것 같습니다.

구체적으로 말씀드리자면, 저는 처음 시작하는 문장과 마지막에 각 교수와 어떤 연구를 하고 싶은지 언급하는 부분으로 차이를 주었어요. 예를 들면 University of Washington에 제출한 학업계획서의 첫 문단은 이렇게 시작해요.

My research objective is in the area of programming languages. Through my research, I would like to leverage and improve program synthesis techniques to automate demanding tasks and resolve numerous issues caused by the error-prone nature of manual work. To this end, I hope to pursue a Ph.D. in Computer Science at the University of Washington.

Q.  결론부분에 스탠포드에 가야하는 이유를 설명하시면서 교수님들의 구체적인 이름을 적으셨는데, 개인적으로 컨택이 되어서 적으신건지, 컨택없이 적으신건지 궁금합니다.

A. 스탠퍼드의 경우 컨택 없이 적은 경우입니다.

일반적으로 학업계획서에 컨택이 되지 않은 교수를 적는 경우가 다반사입니다. 왜냐하면 지원하는 학교의 관심있는 모든 교수들에게 연락하는 것도 어렵지만, 그렇게한다 해도 답장을 받기가 굉장히 힘들거든요.  반드시 교수 이름을 언급해야 하는 건 아니지만, 관심 있는 교수가 있다면 컨택을 하지 않았더라도 (또는 답장을 못받으셨더라도) 학업계획서에 쓰는 것이 크게 문제되지 않습니다.

Q. 학업계획서를 작성하실 때 Letter 크기로 적으신건가요 아니면 A4로 적으신건가요?

A. 미국 대학원에 제출하는 모든 서류는 Letter 크기로 준비하시면 됩니다.

Q. 학업계획서에 사용된 글씨체는 무엇인가요?

A. LaTeX 기본 글씨체(Computer Modern)와 글씨 크기를 사용했습니다. 자세한 내용은 아래의 링크를 참조해주세요!

Q. 학업계획서 템플릿을 직접 만드신 건가요? 

A. 네, LaTeX으로 뚝딱뚝딱 만들었습니다.

그러나 문서의 디자인 자체는, 학업계획서 세 번째 페이지에 적혀있듯  Anant Bhardwaj의 학업계획서의 디자인을 많이 따랐습니다.

Q. 작성하신 학업계획서의 LaTeX 파일을 주실 수 있나요? / 작성하신 학업계획서를 워드 버전으로 바꿔서 주실 수 있나요?

A. 아니요.

사실 이 질문을 받고 조금 놀랐습니다. 개인적인 이야기이지만 조심스럽게 말씀드리자면, 부족한 점이 너무나도 많다는 걸 알고 어떻게 보면 정말 개인적인 서류들이기 때문에 처음에는 공개하는 것조차도 망설여졌습니다. 그렇지만 제 서류가 좋은 예로든, 나쁜 예로든 많은 분들께 참고자료로써 도움이 될 수 있다는 사실에 감사했기에, 기쁜 마음으로 인터넷을 통해 누구나 다운로드 받을 수 있도록 공유했습니다.

그렇지만 저는 스스로 노력할 수 있는 부분은 스스로 하는 것이 가장 좋다고 믿는 사람입니다. 제가 중요하게 생각하는 공유의 가치는, 얻기 어려운 정보를 함께 나눔으로써 이루어지는 것이지 모든 것을 쉽게 하실 수 있도록 도와드리는 것은 아닙니다. :)

Q. 해외 명문대 생들의 SOP는 어디에서 구하셨나요?

A. 저는 모두 구글 검색을 통해 찾았어요.

처음에는 검색이 조금 막막할 수 있는데, 컴퓨터학과 박사과정의 경우 일단 “mit sop cs phd” 이렇게 검색하면 바로 상위 검색 결과에 Philip Guo 교수님의 학업계획서 pdf 파일이 나와요. (참고로 이 분은 자신의 학생들의 학업계획서도 블로그에 공개하셨어요.) 여기서 키워드를 조금씩 바꾸고 구체화시키면서 검색하다보면 조금 더 본인의 케이스에 맞는 학업계획서들을 찾아보실 수 있을거에요.


Q. 공개해주세요!

A. 공개했습니다! 현재 포스트의 가장 하단에서 다운로드 받으실 수 있습니다. :)

컨택 메일

Q. 혹시 유학준비 과정 중에 사전컨택 하셨었나요?

A. 저는 지원한 학교 중에 반 정도는 컨택을 하고 반은 하지 않았습니다.

제 경우에는 (답변의 유무와 상관없이) 컨택이 결정적인 영향을 미치지는 않은 것 같아요. 제 주변에 컨택으로 합격한 분들도 많이 계셔서 이건 정말 지원하는 교수님과 연구실의 상황에 따라 달라지는 부분이지 않을까 싶습니다.


Q. 혹시 여러 학교를 지원하실 때 교수님들이 흔쾌히 추천서를 써주시던가요? 추천서 때문에 지원하는 학교의 수를 5군데 정도로 좁혀야 할거 같아 고민입니다.

A. 보통 교수님들은 지원 학교의 수가 많아지면 꺼려하십니다.

저는 사실 불안한 마음에 많은 학교에 지원을 한 편이었습니다. 그래서 처음에는 교수님께서 조금 줄이는 게 어떻겠냐는 눈치를 주셨지만 (…) 결국 제 의견을 존중해주셔서 큰 문제 없이 모든 학교에 추천서를 써주셨어요. 교수님께서도 상황과 이유를 잘 말씀드리면 이해해주실 거라고 믿어요ㅡ정중하게 부탁드려보세요!


Q. 혹시 민아씨 블로그 포멧을 베이스로 제 블로그를 꾸며도 될까요?

A. 포멧이 많이 비슷하다면, 블로그 첫 페이지 하단에 조그맣게라도 출처를 명시해주시면 좋을 것 같아요. :)

자기소개서 (Personal Statement)

박사과정 지원 관련 질문을 받으면서 여러 번 자기소개서를 공개해달라는 요청을 받았었습니다. 부족한 제 학업계획서를 좋게 봐주셨기에 요청해주신 것이란 생각에 먼저 감사하다고 말씀드리고 싶습니다. 자기소개서라는 것 자체가 본질적으로 굉장히 개인적인 문서이므로 참고만 하시고 각자 본인만의 멋진 이야기를 들려주시길 바랍니다! :)

나의 자기소개서 [다운로드]

박사과정 지원을 준비하며

지난 일 년 동안 미국 컴퓨터학과 박사과정 대학원 지원을 준비하며.

이 글은 정보 전달의 목적도 있지만 저의 사적인 이야기도 많이 담겨있음을 미리 말씀드립니다. 앞으로 저와 비슷한 길을 걸어가실 분들에게 조금이라도 도움이 되기를 바라는 마음에서 부끄럽지만 작성해 봅니다.

※ 지금까지 제가 받았던 질문들을 별도의 포스트에 정리하였습니다. 만약 궁금한 점이 있다면 먼저 해당 포스트를 읽고 질문해주세요!

※ 관련 내용을 보다 알차게 담아서, 유학을 준비하는 모든 분들께 도움이 될 수 있도록  용기내어 책을 썼습니다ㅡ대형 서점(교보문고 등)에서 지금 만나보실 수 있습니다. :)


지금 알려줄게요, 미국대학원
이민아 지음 | 푸른들녘 | 목차

학교 조사부터 장학금 신청, 유학에 필요한 서류 준비까지 1년 안에 미국 명문 대학원에 진학하는 노하우 대공개!

#아직몰라도괜찮아 #학교조사 #내가연구를잘할수있을까? #연구 #지나치게단순한지원과정 #이력서 #학업계획서 #추천서 #돈때문에고민하고있다면 #장학금 #펀딩 #보내느냐마느냐그것이문제로다 #콘택트메일 #전공지식<인간성느낌성격 #인터뷰

부록: 유학 준비 타임라인 [다운로드], 나의 이력서 [다운로드], 나의 학업계획서 [다운로드], 나의 자기소개서 [다운로드]

[업데이트] 합격 학교 목록 (합격 발표 순서대로 정렬)

  • University of Illinois, Urbana-Champaign
  • University of Pennsylvania
  • University of Texas, Austin
  • University of Washington
  • Cornell University
  • Stanford University
  • University of Maryland, College Park
  • University of California, San Diego

(최신) 유학 관련 추천 자료

저와 비슷한 분야(Machine Learning, Natural Language Processing)를 준비하시는 분들에게 아주 큰 도움이 될 거라고 생각해서 포스트 상단에 공유합니다.

들어가기에 앞서

먼저 간단하게 저에 대해 소개드리겠습니다.

저는 고려대학교 컴퓨터학과에 입학한 뒤 교환학생, 유럽 여행 등 나름 파란만장하다고 생각하는 대학생활을 보냈습니다. ‘연구’라는 것을 처음으로 해 본 것은 4학년 1학기 학부연구생으로 일하게 되면서 부터니까 그리 오래 되진 않은 것 같네요 :) 졸업과 함께 정식으로 백수가 된 다음에는 대학원 입학을 위해 유학원서 준비 및 연구 분야를 알아가는데 한 학기 동안 집중했습니다.

2016년 12월의 끝자락에 서서 지난 한 해를 되돌아보면 정말 많은 일들이 있었던 것 같습니다. 국가적으로 보면 여름의 폭염, 경주의 지진, 최순실 사태 등 정말 많은 일이 있었지만, 개인적으로는 ‘유학 준비’가 될 것 같습니다. 유학을 결심하게 된 계기에서부터, 유학을 준비하는 과정, 그리고 그 과정에서 만나게 된 다양한 사람들 모두 무엇 하나 새롭지 않은 것이 없었습니다.

장래희망도, 컴퓨터에 대해서도, 대학 생활에 대해서도 뚜렷한 계획도 생각도 없었던 제가 무사히 대학을 졸업 하고, 대학원까지 준비하게 된 것은 주변 사람들의 따뜻한 마음과 인내심 덕분이라고 생각합니다. 부족하게나마 이곳에서 그들에게 감사의 말을 전합니다. 정말 진심으로 감사드립니다 :)

일 년 동안의 준비 과정을 뒤돌아보며

해외 대학원 지원을 결정한 시기가 언제인지 질문 받는다면, 4학년 2학기 초반이라고 하는 게 가장 정확하지 않을까 싶습니다. 대학 생활 마지막 학기가 되어서야 진지하게 유학을 생각한, 어떻게 보면 늦깎이 준비생이었습니다. 저의 대학교 4학년부터의 이야기를 시간 순으로 풀어보겠습니다.

4학년 1학기


진로 고민.    진로에 대해 아무런 고민도 하지 않은 건 아니었습니다. 그 반대로, 끊임없이 고민해 왔지만 뚜렷한 답이 보이지 않았고, 결국 4학년이 되어 으레 그렇듯 취업과 대학원 진학 사이에서 고민하게 되었습니다. 그러던 도중 우연히 학부연구생으로 일하게 되었는데 이것이 터닝 포인트가 된 셈입니다.

호기심에 수강한 컴파일러 수업이 인연이되어 제게 학부연구생으로 연구해보지 않겠냐고 제안해주시고 학부연구생으로 일하는 동안 많은 가르침을 주신 오학주 교수님, 그리고 동일 학기에 수강한 정보 검색 수업에서 방과후에 찾아가서 질문드린 것이 인연이되어 이후 유학의 길을 소개해주시고 많은 조언과 충고를 아끼지 않아 주신 주재걸 교수님께 깊은 감사의 말씀을 전하고 싶습니다.

저보다도 제 가능성을 높게 평가해 주시고 격려해주신 교수님이 계시기에, 지난 일 년 동안 많은 것을 경험하고 깨달을 수 있었습니다.


“칭찬을 받아서 들뜬 마음은 이해하고 거기에 찬물 붓고 싶지 않은 것은 마찬가지이지만, 그래도 그와 동시에 칭찬을 긍정 강화로 사용해서 더더욱 나아지는 발전의 원동력으로 삼는 것은 결국 내 몫이지 않은가? 자기만의 속도와 방향을 가지고 나아가는 것도 중요하고, ‘굇수’들이 도처에 널려 있음을 인지하는 것도 중요하다. 그러나  (교수님께서) 누차 강조하셨듯, 내게는 클 수 있는 가능성 또는 ‘떡잎’이 있고, 앞으로는 결국 내가 얼마만큼의 목표, 열정, 끈기로 달려드느냐의 문제인 것 같다. 결국 ‘성공하는 사람과 성공하지 못하는 사람을 구분 짓는 것은 소망의 크기와 소망을 이루고자 하는 열정‘이다.”
– 2015년 12월 11일자 일기의 일부 발췌.


학부연구생.    학부연구생의 목적은 대학원 생활 및 연구 활동을 경험해 보기 위함이고, 저는 그 덕을 톡톡히 보았다고 생각합니다. 그 전에 국내 또는 국외에서 인턴십 및 수주를 받아 여러 번 일한 경험이 있지만 연구실에서의 경험은 180도 달랐고, 너무나도 제게 적합하다는 느낌을 받았습니다. 학부 과제처럼 연습 문제를 푸는 것이 아닌, 앞으로 5년 후, 10년 후의 미래를 내다보며 우리가 당면한 문제를 내 손으로 풀어간다는 느낌이 특히나 좋았습니다. 이와 반대로 인턴으로 일했던 한 회사에서는 어떤 분이 제게 ‘민아씨는 졸업하고 C 할 거에요, Java 할 거에요?’ 라고 물어보신 것이 극명한 차이로 다가왔습니다.

  • 지원 방법: 관심있는 교수님께 이메일 드린 후 면담
  • 지원 시기: 주로 상시 모집 (교수님, 연구실 상황에 따라서 달라질 수 있음)
  • 장점
    • 대학원 생활 경험
      • 석사, 박사, 석박사통합 과정ㅡ내게 맞는 것은?
      • 대학원생의 일상 생활을 직간접적으로 경험
    • 연구 활동 경험
      • ‘연구’를 한다는 것이란?
      • 논문을 읽고 쓰는 경험
      • 세미나 등을 통한 발표 및 토론
    • 해당 분야에 대한 심도 있는 공부
  • 단점
    • 상대적으로 타 세부 전공 공부에 소홀해 질 수 있음
    • 요구되는 일의 양이 많을 경우 본 학업과 병행의 어려움
    • 연구실을 옮길 경우 처신을 잘 해야 함

Tips.    학부연구생을 지원할 때 ‘논문을 쓰겠다’는 목적을 가지고 지원하는 것이 좋습니다. 그 이유는 (1) 교수님도 막연히 학생을 지도하는 것이 아닌 실질적인 연구의 성과를 위해 보다 구체적이고 집중적인 지도가 가능하고, (2) 학생도 뜬구름 잡기 식으로 전공 분야를 공부하는 것이 아니라 제대로 된 목적의식을 가지고 연구 과정을 처음부터 끝까지 경험해 볼 수 있기 때문입니다.

추천 글: 첫 번째 논문을 최대한 빨리 써라

대학원 진학 결심.    대학원 진학을 결심하게 된 계기는 사실상 이것이 전부라고 해도 과언이 아닙니다: ‘해보니까 좋았다’. 밤을 새며 새로운 기술을 익히는 것도 좋았고, 논문 한 무더기를 들고 다니며 여기 저기에서 시간 날 때 마다 읽는 것도 좋았고, 프로젝트에 참여하며 자유롭게 의견을 나누고 개선 방안을 함께 궁리하는 것도 좋았습니다. 즉, 기술의 발전에 직접적으로 기여할 수 있다는 점을 연구의 가장 큰 매력 중 하나로 느꼈습니다 :)

4학년 2학기


유학 결심.    해외 대학원 진학을 결심하게 된 것은 개인적으로 있었던 힘들었던 일 때문인데, 이것을 발전의 원동력으로 삼고자 한 노력의 결과라고 할 수 있습니다 :) 어떠한 상황에 처하더라도 그것을 계기로 자신을 한 단계 성숙시키고 발전의 원동력으로 삼으면, ‘그 때 그 일이 있었기에 그래도 내가 지금 이 자리에 있을 수 있지’ 하며 감사하는 마음으로 살게 될 거라는, 결국 모든 것은 현재 자신이 어떻게 하느냐에 달려 있다는 마음가짐으로 임했습니다. 그것이 올해 3월 말이었고, 대학원 지원은 대부분 12월 중순까지이므로 약 8개월의 시간을 앞두고 준비를 시작하였습니다.

제 유학 준비의 시작은 고려대학교 출신 유학생 연합 (AKUSSA) 라는 모임에 간 것이었습니다. 이 모임을 알려준 주재우 선배, 그리고 처음부터 끝까지 지켜보고 응원해준 장호진 선배에게 정말 감사합니다. AKUSSA는 유학 설명회를 주최하고, 매달 정기적으로 TOEFL, GRE 스터디 및 모임을 통해 자료를 공유하고 서로 피드백을 주고받습니다. 이러한 모임은 특히 처음 유학을 준비하는 분들에게 전반적으로 무엇을 언제 준비해야 하는지 파악하는 데 큰 도움이 됩니다 :) 비단 고려대학교 뿐만 아니라 타 학교에도 이러한 모임들이 있을 것이므로 적극적으로 찾아보시기를 권장합니다.

저는 다음의 타임라인을 기준으로 유학을 준비했습니다.

capture5출처: AKUSSA 유학 설명회 자료집

Tips.    유학을 계획할 때 위와 같이 먼저 큰 그림을 그리고 시작하는 것이 필요합니다. 현재 나의 상황은 어떤지 (영어 점수가 있는지? 추천서를 부탁드릴 수 있는 교수님이 있는지? 가고 싶은 학교와 연구실을 결정 했는지? 이번 학기 수업과 병행해서 준비할 수 있는지? 등) 먼저 생각해 본 뒤, 필요한 것들을 남은 기간에 맞추어 계획하면 체계적인 준비가 가능합니다.

4월, 5월

TOEFL.    4월 달에는 토플 학원을 다니며 5월 달에 두 번 시험을 보았습니다. 이전에 교환학생을 가기 전에 토플을 한 번 준비해 봤기에 보다 수월했었고, 마지막 학기이다 보니 (고학번이 될수록 요령만 느는 듯) 학교 수업도 크게 부담되지 않아 일주일에 세 번씩 학원에 다니며 준비할 수 있었습니다. 최소한 영어 점수만큼은 미리 만들어 놓으려 교환학생을 지원하기 전보다 훨씬 진지한 자세로 임했던 것 같습니다. 만약 유학을 갈 결심을 하셨다면 영어 시험 점수는 최대한 일찍 만들어 놓으시는 것을 추천합니다.

저는 토플의 경우 컴퓨터 종합 실전반을 추천합니다. 토플과 같이 컴퓨터로 보는 시험은 어느 정도 영어 실력을 쌓고나면 실제 시험 환경에 익숙해지는 것이 시험 점수를 좌우하는 요인이 되기 때문에, 그러한 환경에 익숙해지는 것에 목표를 두고 다녔습니다. 학기 중이라 그런지 학생이 많이 없어서 선생님들께서 학생 한 명 한 명을 자세히 봐주셨는데, 그것이 큰 도움이 되었습니다. 제가 워낙 의지박약이라 가끔가다 한 번씩 의욕없이 수업에 가는 날들도 있었는데, 선생님들의 응원과 격려를 받고 힘내서 수업을 받은 적도 많았습니다. 다시 한 번 감사합니다, 선생님 :)

Tips.    저는 리스닝과 라이팅 영역에서 만점을 받았는데, 토플 라이팅 만점을 받는 가장 쉬운 방법은 덜 중요한 부분을 작성하는데에 최대한 시간을 절약하고 중요한 부분을 혼심의 힘을 다해 길게 쓰는 것입니다. 즉 처음과 마지막 문단은 핵심만 담아서 3-4분 내에 쓰고, 본문을 최대한 길게 쓰는 것인데 이 때 템플릿 또는 예시를 드는 습관을 들여두면 더더욱 시간을 절약할 수 있습니다. 저는 약 600-700자 정도씩 썼던 것 같습니다.

아래는 제가 사용한 템플릿입니다. 학원에서 받은 것을 제 입맛에 맞춰 조금만 고치고 거의 그대로 사용하였습니다. 보시다 싶이 평범하게 쓰셔도 충분히 만점이 나올 수 있습니다 :)

  • Introduction
    • An intriguing topic of discussion at hand is whether *. It may seem true that *; however, as it is contemplated in depth, there appears to be too much absurdity to argue that the aforementioned statement is true. Although some people hold different ideas and opinions, I personally support/oppose the idea that * on account of two reasons: *.
  • Body
    • (가짜 연구 결과 인용) Indeed, a study recently conducted by the Institute of Korean Sociopolitical Studies (IKSS) suggests that this phenomenon is prevalent in Korean society. IKSS surveyed 50,000 Koreans between age * and * along with questionnaires. The institute also performed in-depth interviews with 5,000 participants. When they were asked *, approximately 70% of the participants answered *. Although this is a small segment of the entire population in Korea, this study is valid in terms that it demonstrates the general trend of * in the contemporary society of Korea.
  • Conclusion
    • In conclusion, although whether * is open to interpretation, it seems reasonable to claim that * because of the two reasons discussed in this essay.


졸업프로젝트.    학교에서는 4월부터 학기가 끝나는 6월까지 졸업프로젝트를 진행했습니다. 행운인지 불행인지 해당 학기부터 학교에서 ‘졸업프로젝트 경진대회’라는 것을 시작했습니다. 네이버가 후원한 이번 경진대회는 컴퓨터학과 학생들이 팀 또는 개인으로 진행하는 졸업프로젝트 중, 각 지도 교수 별로 한 팀씩을 추천해서 먼저 프로포설을 내고 포스터 발표를 통해 순위를 가리는 형식으로 이루어졌습니다. 정말 운이 좋게도 제가 속한 팀이 금상을 받았고 (최우수상이 제일 좋은 상이라는 건 안 비밀…) 부상으로 해외 학회에 참석할 수 있는 특혜을 받았습니다 :)

졸업프로젝트가 마무리 됨과 동시에, 마지막 학기라고 싱숭생숭 할 겨를도 없이 기말고사가 시작되었습니다. 제가 수강하던 과목의 교수님들의 배려로 저는 남들보다 조금은 이른 시기에 기말고사를 마치고, 첫 학회에 참석하러 미국으로 향했습니다.

관련 글: Synthesizing Regular Expressions from Examples

첫 번째 학회.    제가 참여한 학회는 Programming Language Design and Implementation (PLDI) 라는, 프로그래밍 언어 (Programming Languages) 분야에서 최고로 인정받는 학회입니다. 이것은 졸업프로젝트와는 무관하게 학회 자체에서 지원하는 장학금에 선발이 되어 항공비와 체재비를 지원받아 미국 캘리포니아 주 산타바바라에 가게 된 것입니다.

이 학회에 참석하며 가장 좋았던 점은, 해외 유학에 대한 확신이 생겨난 것입니다. 교수님께서 ‘너는 학회 타입의 사람이다’라고 말하실 정도로 너무나도 즐거운 시간을 보내었고, 대학원 생활 중 큰 비중을 차지하는 것이 학회 및 네트워킹이라고 생각했기에, 참 다행이라는 생각이 들었습니다. 또한 사람들이 적극적으로 자신의 연구 결과를 소개하고, 상호간의 협업을 통해 기술의 발전을 도모하고, 동시에 다양한 최신 연구 트랜드를 파악하는 모습을 보며 연구란 이런 것이구나, 라는 생각이 들었습니다.

또한 Zeina, Nour, Matthias, John, Man, Christopher, Jacob, Di, Bingbin, Klaus, Laith, Ahmed, Peter, Ian, Alex 등 친구도 많이 사귀었고, 논문에서 이름으로만 보던 Sumit Gulwani 와 Almando Solar-Lezama 도 만나게 되었기에 너무나도 좋은 시간이었습니다 :)

  • 학회 등록: 관심 있는 학회 홈페이지 접속 후 등록
    • 할인 혜택
      • 미리 등록 (Early Registration)
      • 학생으로 등록
      • 학생 자원 봉사 지원 (Student Volunteer)
      • 학회 제공 장학금 신청
  • 학회 구성
    • 키노트 연설
    • 논문 발표
    • 포스터 발표
    • 워크샵
    • 튜토리얼
    • 커피 브레이크
    • 저녁 식사 (Banquet)
  • 학회를 제대로 즐기려면?
    • 커피 브레이크 등 사교를 위한 시간에 적극적으로 네트워킹
    • 미리 관심 있는 주제의 논문을 읽고 참석 (만약 구체적으로 궁금한 부분이나 이야기를 나누고 싶은 포인트가 있다면 사전에 저자에게 이메일을 보내 학회에서 대화를 나누기로 약속하는 것도 좋은 방법)

Tips.    관심 있는 분야의 학회에서 제공하는 장학금에 지원해보세요. 이러한 기회가 찾아 보면 많이 있으므로 꼭 미리 알아보고 용기를 내어 도전하시기 바랍니다. 지원하는데에는 대부분의 경우 별다른 서류가 필요하지 않고 지원하는 이유만 솔직담백하게 작성하면 됩니다 :)


“I am an undergraduate research intern at Programming Research Laboratory at Korea University, who is deeply interested in programming languages, especially in program synthesis. I am in my last semester of university, looking for graduate schools to apply and research topics to immerse myself in. I have been thoroughly reading papers and trying to follow up previous works, hoping to have a chance to actually meet the authors, have a discussion with them, and hopefully someday, research and collaborate with them. I am highly motivated and eagerly planning my career path. I think it will be one of the greatest opportunities for me to profoundly engage with the community of programming languages as well as to get motivated to pursue higher degrees. Thank you!”
– 2016년 5월 16일 지원서 일부 발췌


관련 글: PLDI 2016

논문 여행.    미국에서 돌아와서 일주일 동안은 정신없이 논문을 마무리하며 보냈습니다. 생각해보니 학회가 끝난 뒤 ‘비행기 표가 아깝지 않아?’라며 로스엔젤리스와 샌프란시스코를 여행한 제 탓도 있네요. 그래도 로스엔젤리스에서 3일을 머물렀는데 그 중 하루는 온전히 논문 작업을 하는데 바쳤습니다. 그 외에도 돌아다니면서 밤과 새벽에는 논문을 다듬고 고쳤지만, 여행 길에 나서서는 여행에 집중해서 즐겁게 놀다온 것 같습니다 :) 다행히 마감일이 연장되어 생각보다 여유롭게 마무리 할 수 있었습니다.

이번 학회 참석 및 여행은 학기말과 겹치며 (실제로 제가 여행 하는 동안 친구들은 계속해서 기말고사를 보고 있었으니까요) 준비할 시간이 절대적으로 부족해서, 편하게 여행하고자 생전 처음으로 한인 민박을 알아보게 되었습니다. 낯선 땅에서 다양한 스토리를 가지고 우연히 마주친 사람들이지만, 그들 덕분에 너무나도 즐거운 3박 4일을 보내며 학기말의 스트레스를 날려버릴 수 있었습니다. 모두 고마워요!

논문.    다시 논문으로 돌아와서, 역시 사람의 생산력은 마감이 다가올수록 기하급수적으로 상승한다고, 약 이틀 만에 웹 데모를 완성하는 것은 물론이오, 마지막 순간에 하나의 섹션을 거의 처음 부터 뜯어 고치며 다시 쓰고 새로운 문단을 여러 개 추가해 넣는 등 뚝딱뚝딱 논문을 완성해 제출하는 데 성공했습니다. 사실 지난 겨울 방학 때 비록 라이팅 위주이긴 하지만 논문 작성 과정에 참여했던 것이 많은 도움이 되었습니다. 이렇게 저의 마지막 학기의 마지막 달인 2016년 6월은 정신없이 지나갔네요 :)

졸업 후

7월, 8월

GRE.    7, 8월을 한 단어로 표현하면 GRE 가 아주 적절할 것 같습니다. 학원에 어마무시한 시간과 돈을 쏟아 부으며 지나간 여름이었지요. 이번 여름이 매우 더웠기에 에어컨이 빵빵한 강의실은, 여전히 고역이었습니다. 강의실에 빈자리 하나 없이 빽빽이 앉아있는 학생들 사이를 헤집으며 쉬는 시간 3분 안에 화장실 다녀오기란 도전 정신을 필요로 했습니다. 하지만 훌륭한 강사진 그리고 열정 넘치는 학생들과 함께 하는 스터디는 툴툴대면서도 학원을 다닐 수밖에 없는 이유였습니다.

심지어 8월에는 오전 7시 부터 스터디를 했을 정도이니 그 열정은 숫자로 증명이 된 셈이지요. 7월 스터디와 8월 스터디를 같이 하며 고생했던 언니, 오빠, 친구, 동생들 모두 좋은 결과로 미국에서 다시 만날 수 있기를 진심으로 응원합니다 :)

Tips.    시험 점수를 위해서만 GRE를 공부하면 분명 단어를 외우다가 지치는 순간이 올 것입니다. (‘거대한 바다괴물’, ‘고양이가 야옹야옹 우는 소리’ 등을 의미하는 단어들을 외우다 보면 저절로 그렇게 됩니다… 이걸 대체 언제 써먹지) 이 때 마음가짐을 ‘지금이 아니면 이렇게 어려운 수준의 단어를 외울 기회도 없고 제대로 영어 공부를 할 수 있는 시간도 없을 것이다‘ 라고 먹고 영어에 있어서는 마지막 자기 계발의 시간으로 삼으시면 한결 수월합니다 (실제로 그렇기도 합니다). 이 때, 여유가 된다면 쉬면서 (공부용이 아니라 복습용으로) 미드를 보거나 영어 원서를 읽는 것을 추천합니다. 이전에는 안 읽히고 안 들리던 문장과 단어들이 쏙쏙 들어오는 것을 느끼며 배움의 즐거움을 한껏 더 누릴 수 있습니다 :)

관련 글: GRE Verbal Reasoning

장학금.    8월에는 GRE 공부와 함께 한국고등교육재단 해외유학장학생에 지원했습니다. 장학금 지원은 유학 준비과정에서 선택 사항이지만, 선택이 아닌 필수라고 생각되는 부분입니다ㅡ해외 대학원의 경우 매년 들어가는 학비가 어마어마하기 때문입니다. 단적인 예로 MIT의 경우 매년 학비로 약 $45,000, 생활비 및 부가 지출로 약 $20,000 정도 필요합니다 (도합 약 8000만원). 물론 펀딩을 받고 가는 경우도 많겠지만, 그래도 일단 국내에서 장학금은 무조건 지원하라고 말씀드리고 싶습니다. 그 이유는 (1) 재정적인 부담 경감과 동시에 (2) 본인의 우수성 입증의 또 다른 지표가 될 수 있기 때문입니다.

Tips.    장학금은 지원 시기에 따라 지원 전 장학금과 지원 후 장학금으로 나뉩니다. 지원 전 장학금의 경우, 해외 대학원에 지원 전에 재정 지원을 보증함으로써 대학원 합격률을 높일 수 있다는 장점이 있으나, 최근 유명 대학들의 경우 재정적 메리트가 예전만큼 크게 작용하지 않는다는 의견도 있습니다.

아래의 각 장학금에 대한 자세한 사항은 매년 바뀔 수 있으므로 반드시 각 재단의 홈페이지를 참조해 주시기 바랍니다.

  • 지원 전 장학금
    • 풀브라이트 (6-7월)
      • 지원 범위
        • 최대 2년 지원
        • 1년 차에는 최대 $40,000, 2년 차에는 최대 $30,000
      • 자격 조건
        • TOEFL, GRE, SOP, PS, 추천서 3부
      • 특징
        • 졸업 후 2년간 국내 체류 조건
    • 한국고등교육재단 (7-8월)
      • 지원 범위
        • 최대 5년 지원
        • 매년 등록금, 보험료, 그리고 생활비 $20,000 지원
      • 자격 조건
        • TOEFL, 추천서 1부, 학업계획서
      • 특징
        • 미국 상위 10개 대학 박사과정만 지원
  • 지원 후 장학금
    • 관정 이종환재단 (3-4월)
      • 지원 범위
        • 국가 별 수혜상한액 상이
      • 자격 조건
        • TOEFL, GRE, 추천서, 자기소개서, 연구계획서
      • 특징
        • 이중 수혜 금지
    • 국비장학금 (4-6월)
      • 지원 범위
        • 2년 지원
        • 매년 $40,000
      • 자격 조건
        • 외국어 성적, 한국사, 자기소개서, 연구계획서
    • 일주장학재단 (4월)
      • 지원 범위
        • 최대 5년 지원
        • 매년 최대 $50,000
      • 자격 조건
        • 추천서, 자기소개서, 학업계획서

저는 제가 장학생이 될 확률이 0%에 수렴한다고 생각했지만, ‘그래도 일단 해보자’라는 마음으로 용기를 내서 지원했습니다. 지금 되돌아봐도 지원 서류, 필기 시험, 면접 등 모든 면에서 부족한 점이 너무나도 많았지만, 그런 제게서 가능성을 봐주셨기에 더 큰 책임감과 사명감을 가지고 열심히 해야겠다는 각오로 가득차 있습니다. 여러 분도 자신만의 잠재력을 마음껏 보여드리고 좋은 결과 있기를 바랍니다 :)


CV.    9월 초에 GRE 시험을 보고 점수가 나오고, 얼마 있지 않아 한국고등교육재단의 장학생 선발 결과가 나오면서 바로 서류 준비에 뛰어들었습니다. 학교 조사와 함께 CV 작성부터 시작했는데, 저는 홈페이지에 정리해 놓은 것이 있어서 상대적으로 수월했습니다. 예전에 지원하는 곳마다 내용 구성을 조금씩 다르게 하다 보니 그 다음 CV를 작성할 때 이전의 내용을 찾아 보기가 번거로워, 통합적으로 모든 내용을 담고 있는 (그러다보니 지나치게 긴) 현재 웹사이트의 첫 페이지를 구성하게 되었습니다. 시작은 수월했지만, 다른 모든 서류들도 그랬듯, 결국 수정은 지원 전까지 이어졌습니다 (또르르).

CV의 진화 과정.

  • CV에 대해서 대략적으로만 알던 시절 (2016년 4월)capture1
    • 잘한 점
      • 기본 형태를 갖춤
        • 구성
        • 정렬
          • 중요한 것 부터
          • 시간 역순으로
      • 목적에 맞게 관련된 내용 위주로 구성
    • 잘못한 점
      • 아마추어 티가 팍팍나는 스타일
      • 부정확 또는 불충분한 정보
        • 문법 오류
        • 학교의 도시, 국가 기재
          • 예: Korea University, Seoul, Korea
  • CV의 구성과 내용에 대해서 고민하고 여러 번 재구성 (2016년 10월)capture4
    • 잘한 점
      • 단순하고 한눈에 들어오는 스타일
      • 불필요한 관사 제거
        • 예: “Led a project on automatic synthesis of regular expressions, won the gold prize in graduation project competition with a poster, and published a paper based on the work” → “Led project on automatic synthesis of regular expressions, won gold prize in graduation project competition with poster, and published paper based on work”
        • 제목 뿐만 아니라 내용에서도 관사 생략
          • 자신이 한 일을 요약적으로 보여주는 용도이므로 가독성을 위해 생략
          • 많은 학생들이 관사 사용에 있어서 오류를 범하므로 차라리 생략
          • 관사를 쓰지 않을 것이라면 일부분만 선택적으로 하는 것이 아닌, 문서 전체에 걸쳐 생략
      • 논문 발표 및 최우수 논문상 수상
    • 잘못한 점
      • 지나치게 많은 여백
        • 예: 문서 상하좌우 여백, 목록의 좌측 여백, 줄간격 등
        • CV는 일반적으로 가득차보이는 느낌으로 작성
  • 교수님의 피드백 및 학계 유명 인사들의 CV를 참고하여 최종 수정 (2016년 12월)capture5
    • 잘한 점
      • LaTeX으로 작성
      • 남들과 차별화 할 수 있는 부분 강조
        • 구성 순서를 Education, Honors and Awards, Publications 로 변경
        • 중요한 내용은 굵고 기울어진 폰트로 표기
      • 독자를 배려한 CV 내 관련 링크 삽입
        • 예: 홈페이지, 논문, 데모 페이지, 오픈소스 등
    • 잘못한 점
      • 최종 버전이니까 없다고 할래요… ☆

SOP.    SOP도 마찬가지입니다. 9월 부터 작성하기 시작한 SOP는 정말 수십 번의 수정을 거쳐 결국 12월까지 그 과정이 이어졌는데, 그러는 동안 정말 많은 분들이 도와주셨습니다. 저는 정말 행운아라는 것을 많이 느꼈던 시간이었습니다. 유학 준비라는 것이 사실상 혼자 헤쳐 나가는 과정인 경우가 많아서 (유학원의 도움을 받지 않는 이상) 지칠 때도 있고, 동기 부여가 필요할 때도 많기에 무엇보다도 함께 준비하는 사람들의 존재가 정말 큰 힘이 되곤 합니다. 저는 고려대학교에서 만난 AKUSSA 사람들, 그리고 GRE 학원에서 스터디를 함께한 사람들, 그리고 장학 재단에서 만난 분들과 함께 교류하며 준비하다보니 정보 및 피드백 관련해서는 정말 부족함 없이 준비할 수 있었던 것 같습니다.

CV와 SOP 관련해서는 도움을 받은 분이 너무 많아서 천천히 이곳에 한 분 한 분께 받은 조언을 공유하는 방법으로 대신 감사의 인사를 드리도록 하겠습니다 :)

컨택 메일.    유학 준비는 사실상 끝이 없다고 느끼는 것이, 다양한 교수와 그들의 연구 주제를 파악해야하기 때문입니다. 그리고 컨택 메일에 대해서는 정말로 답이 없는 것 같습니다. 최소한 컴퓨터학과의 경우 ‘무조건 보내라’거나 ‘보내지 않는게 좋다’ 라는 식의 이분법적인 사고는 잘못된 것 같습니다. 너무 주관이 없는 말처럼 들리기는 하지만, 보내는 것과 보내지 않는 것의 장단점을 확실하게 인지하고 누구한테 보낼 것이고 누구한테는 보내지 않을 것인지 본인이 선택해야 합니다.

컨택 메일, 보낼 것인가 말 것인가 그것이 문제로다.

  • 보내야 하는 이유
    • 교수님께 나의 이름을 조금이라도 더 노출시키기 위해서
    • [답장이 올 경우] 해당 학교 지원 여부 결정을 통한 원서비 절감 (교수님이 올해는 학생을 모집하지 않으시거나, 내가 관심을 표명한 분야에 연구 계획이 없다거나, 펀딩이 없는 사실을 미리 알 수 있는 경우)
    • [답장이 올 경우] 합격률을 높일 수 있는 지원 전략 모색 가능 (교수님이 타 학과 지원을 통해 연구실에 들어오라고 하시거나, 동일 학과 내 다른 교수님을 추천해주시거나, 현재 진행 중인 프로젝트를 알려주시거나, 당장 인터뷰 하자고 하시는 경우)
  • 보내지 말아야 하는 이유
    • 교수님의 홈페이지에 또는 학교 홈페이지에 보내지 말라고 되어있는 경우
      • 대부분의 상위 학교의 경우 입학 위원회에서 입학 사정이 이루어지며 개별적으로 몇 개의 애플리케이션을 보게 되더라도 위원회에서 어느 정도 걸러진 이후의 얘기이지 몇 백, 몇 천 명의 지원자를 일일히 보지 않으므로 지원자 한 명 한 명의 애플리케이션을 모두 신경써서 찾아보긴 힘듦
    • 교수님을 직접적으로 알지 못하는 경우
      • 조교수만 해도 하루에 수백통의 메일을 받음
      • 직접적으로 아는 사이가 아니라면, 메일을 보내지 말라고 많은 교수들이 조언


“Do not contact professors whom you have no visible connections with or else you will most likely not get a response since you are essentially sending them spam (unsolicited email). … (중략) … There is no possible way that a professor you don’t know will respond favorably to you if you send them email before you are admitted.”
– Philip Guo (Assistant Professor at UC San Diego)


Tips.    사실 컨택 메일을 보내서 (그리고 답장을 받았을 때) 알 수 있는 정보의 대부분은 연구실의 학생들에게 물어봐도 알 수 있는 경우가 많습니다. 하지만 대학원생들도 마찬가지로 매우 바쁘기 때문에 답장이 올 것이라고 기대하거나 질문 폭탄을 쏟아 놓는 것은 금물입니다. 당연한 말이지만, 철저한 사전 조사를 마친 뒤, 정말 관심이 있는 연구에 대해서 구체적인 질문을 할 경우 답변이 돌아올 확률이 높습니다 :) (예를 들어, ‘이 연구 주제에 관심이 있어서 당신이 쓴 이런 이런 논문을 읽었는데 이 부분에 대해 이런 방법도 시도해 보았는지, 이후 추가적인 연구가 진행되고 있는지 궁금하다’ 등) 반대로 단순히 교수님이 학생을 모집하는지, 펀딩이 있는지만 물어보면 당연히 답변이 오지 않을 가능성이 높아지겠지요?

그리고 메일을 작성하다 보면 신경 쓰이는 게 한 두 가지가 아니라는 걸 금방 깨달을 겁니다 :) 몇 가지 떠오르는 것 위주로 예제와 함께 메일 작성에 있어서 주의할만한 사항을 정리해보았습니다. 물론 제 개인적인 의견이지만 교수님들이 직접 쓴 블로그 포스트 및 관련 웹사이트 글을 읽고 내린 결론입니다.

컨택 메일을 작성할 때.

  • 제목
    • 내용이 드러나면서 한 줄안에 들어가도록
      • 예: Prospective Student: Inquiry for Joining Your Laboratory
    • 교수님의 관심을 끌기 위한 (낚시) 제목은 개인적으로 비추천
  • 인사말
    • 풀 네임으로 작성
      • 예: Dear Professor Mina Lee,
  • 내용
    • 소개와 용건
      • 각각 한 두 문장 안에 간결하게
      • 만약 아는 사이이거나 공통 분모가 있다면 리마인드
    • 관심 연구 주제
      • 해당 교수의 논문, 프로젝트 등과 연결되도록
      • 관련된 본인의 논문, 최신 연구 등
      • 필요에 따라 본인이 기여할 수 있는 부분 강조
    • 질문 또는 부탁
      • 질문 할 것이 있다면 Bullet Point 로 짧게
      • 지원을 할 것이니 관심 가져달라는 부탁
    • 마무리
      • 함께 연구하고 싶다고 하며 마무리
  • 형식
    • 최대한 짧고 간결하게
    • 중요한 내용일수록 앞쪽에
    • 최대 세 문단을 넘지 않도록
  • 첨부 파일
    • 가능하다면 첨부 파일 없이 보내기
    • 꼭 필요하다면 CV 정도만 첨부

저는 메일을 쓰기 시작한 건 9월인데, 정작 대부분의 메일을 보낸 것은 11월이었습니다. 그만큼 고민하고 망설이고 두려워했다는 것이지요. 첫 번째 메일을 보낸 것은 9월 말이었는데 답장이 오지 않자 그 두려움이 배가 되었습니다–큰 기대를 하고 보낸 것이 아니더라도, 사람 심리가 그렇게 되더라고요 :) 그런데 이 두려움도 잘 활용하면 좋은 것이, 두 번째 학회를 가기로 결심하게 된 계기가 되었습니다.

추천 글: How to Send and Reply to EmailHow to Write a Business Letter

홈페이지.    컨택 메일을 쓰다보니 떠오른 것인데, 컴퓨터학과의 경우 홈페이지의 존재가 꽤나 영향력 있는 플러스 요인이 될 수 있는 것 같습니다. 왜냐하면 컨택 메일에 CV 조차도 첨부하지 말라는 조언을 하는 교수들이 많기도 하고, 첨부한다고 해도 일반적인 학생의 컨택 메일이라 생각해서 첨부 파일은 열어보지 않고 바로 ‘보관함’으로 직행할 확률이 크기 때문입니다. 이럴 때 자기 소개를 하며 이름에 살짝 링크를 걸어두면 관심이 있는 사람들은 직접 들어와 보기도 하고, (그럼 우리는 어느 나라에서 누군가가 접속했다는 사실을 보며 기뻐할 수 있습니다), 그 외에도 다음과 같은 수많은(?) 장점들이 있습니다:

  1. 자신의 CV를 보다 효과적으로 꾸밀 수 있다 (그림, 링크, 세부 정보 등 활용)
  2. CV 또는 짧은 이메일에 담을 수 없는 자신의 매력을 어필할 수 있다 (성격, 취미 생활, 독특한 경험 등이 드러나는 포스팅)
  3. 정보를 일관적으로 정리하고 관리할 수 있는 능력을 보여준다

무리해서 만드실 필요는 없지만, 만약 원래 관심이 있으셨거나 한 번 즈음 도전해보고 싶으신 분께는 적극 추천해 드립니다 :)

Tips.    워드프레스 (WordPress) Personal Plan 을 이용하면 매달 $2.99 의 가격으로 광고 없이 무료 도메인 (홈페이지 주소) 과 디자인을 이용해 쉽게 홈페이지를 제작할 수 있습니다. 검색 결과에서 상위에 노출되기를 원한다면 도메인은 가급적이면 한 번 정한 후 바꾸지 않는 것이 좋습니다.


여행.    이렇듯 정신없이 10월 중후반까지 거의 매주 피어 리뷰를 하고, CV와 SOP를 수정하며, 학교와 교수의 홈페이지를 들락날락하며 서류 준비를 하다가, 10월 말에 가족과 함께 베이징으로 일주일 간 여행을 다녀왔습니다. 아버지의 키노트 발표를 위한 학회 참석에 저와 엄마도 함께 한 것이었는데, 중국은 처음이어서 신기한 것도 있었지만 정말 오랜만에 세 가족이 함께한 여행이어서 더더욱 즐거웠던 것 같습니다. 유학 지원 준비 과정 속에 있더라도 백수로서의 자유는 마음껏 누려야지요 :)

그런데 단순히 여행 목적으로 간 베이징에서 참 많은 것을 배울 수 있었습니다–그것도 생각지도 못한 학회에서요. 어릴 때에는 아버지를 따라 여러 학회에 갔지만, 무슨 말을 하는 건지, 왜 이런 모임을 가지는 것인지, 왜 사람들이 대화를 나누는 지 알지 못했었습니다. 그런데 한 번 해외 학회를 학부생 나부랭이 신분으로 다녀오고 나니, 아버지와 함께 간 학회에서 사람들이 먼저 다가와 아버지에게 인사를 하고, 안부를 묻고, 친하게 이야기를 나누는 모습이 보기 좋으면서 부러웠습니다 :) 그리고 단순한 사실 한 가지를 깨달았습니다: 학회에 참석한 그들도 사람이며, 그냥 편하게 대하면 된다는 사실입니다.

관련 글: Beijing (1), Beijing (2)

두 번째 학회, 용기.    제가 두 번째로 참여하는 해외 학회인 Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) 는 베이징에서 돌아온 바로 다음 날부터 약 일주일간 네덜란드 암스테르담에서 열렸습니다. 졸업프로젝트에서 얻은 해외 학회 참석의 기회를 이 때 쓰기로 결심한 데에는, 시간적인 압박이 있다는 것 외에도 큰 용기가 필요했습니다. 지난 번 PLDI 를 갔을 때는 유학을 계획 중이긴 했지만 그래도 별 생각 없이 가서 처음으로 참여해서 즐거운 시간을 보낸다는 데에 의의를 두었던 것 같습니다. 그러나 이번 학회에서는, 저는 제가 곧 지원할 학교의 교수님들을 만나서 좋은 인상을 남겨야 한다는 부담이 있었습니다.

첫 번째 보낸 컨택 메일이 무참히 씹히고 (…) 안 그래도 소심한데 더 소심해져서, ‘나는 아직 아는 것이 없는데’, ‘내가 함께 일하고 싶은 교수와 마주치면 뭐라고 말을 걸지?’, ‘대화를 하더라도 금방 지식의 깊이가 드러나지 않을까?’ 등등 제 자신을 좀먹는 목소리들과 한창 싸우던 도중 나의 유학도전 성공 이야기 라는 글을 읽게 되었습니다. 사비를 들여 학회에 참석하면서 먼저 교수들에게 다가가 자신을 소개하는 저자의 용기에 큰 자극을 받았습니다 :) 그리고 더더욱 결정적인 계기는 「지금의 조건에서 시작하는 힘」 이란 책을 읽은 것입니다.

“완벽주의자는 자신이 두려워하는 것으로부터 보호 받고 안전해지고자 하며, 바로 이것이 (탁월해지기 위해 노력조차 하지 않는 것이) 사람들이 완벽주의에 빠지는 가장 흔한 원인이다. … (중략) … 문제는, 어떤 행동도 하지 않는 것을 본인의 잠재력을 입증하는 것으로 생각하기 쉽다는 점이다.
– 「지금의 조건에서 시작하는 힘」 중에서 발췌

은연 중에라도 제가 그렇게 생각하고 있었다는 걸 깨닫고 나니 행동으로 옮기지 않을 이유가 없었습니다. 그렇게 참석하게 된 SPLASH 는 너무나도, 너무나도 즐거운 시간들로 가득했습니다. 저도 두 번째 학회이기에 처음 보다는 여유로울 수 있었고, 연구 주제가 있다는 것이 가장 큰 차이로 느껴졌습니다. 그 중에서도 학회 첫 날 두근 거리는 마음으로 일어났는데, Will 이 보낸 메일은 정말 큰 힘이 되었습니다.


“Hi Mina!

My name is Will … (중략) … I’m looking forward to your talk tomorrow on regex
– 2016년 10월 31일 Will 이 보낸 메일 중 일부 발췌


제 연구에 관심을 가져 준다는 것이 이렇게 고마운 것인지 처음 알게 되었습니다 :) 게다가 학회에 참석한 첫 날 가장 첫 프로그램에서 키노트가 시작하기 전 최우수 논문상 (Best Paper Award) 를 받고 나니, 이후 만나는 사람들이 많이 알아봐주고 축하해줘서 대화를 나누기에도 한결 수월하고 화기애애한 분위기가 형성되었습니다. 무엇보다도 정말 많은 소중한 인연들을 만나게 되었습니다.

특히 Will 에게는 한국에 돌아와서도 여러 번 (사실은 수십 번) 도움을 구했을만큼 귀찮을 법 한데도 먼저 적극적으로 나서서 도와주고, 또 같은 전공자로서 통찰력있는 피드백을 주어서 정말 큰 힘이 되었습니다. (여러 분 학회에 가세요.) 점심을 먹으며 이야기를 나누게 된 Prof. Gopalakrishnan 는 제 연구 주제를 가르치는 것을 넘어서 교과서까지 쓴 경험이 있기에 적극적으로 데모도 보여주고 프로젝트의 발전 방향과, 관련된 다른 기술들도 많이 소개해 주셨습니다. 포스터 세션이 있던 날, Will과 저를 중심으로 모여 대규모 저녁 (이라 쓰고 맥주라고 읽는) 을 함께 하게 된 Daniel 등 여러 친구들도 네덜란드에서의 가장 재미있었던 밤을 선사해주어 감사한 마음이 큽니다. 그 과정에서 만난 Prof. St-Amour 또한 한국에 돌아와서도 이메일로 여러 번 자문을 구했고, 매번 감동 받을 수 밖에 없는 길이의 자세한 답변이 돌아왔습니다. 그리고 Man 은 PLDI 에서 만났었는데 이번 기회에 다시 만나게 되어 반가웠습니다.

점심을 먹으려 줄을 서있다가 만나게 된 Remy 는 워낙 사교적인 성격이라 다른 선배들이 원래 알던 사람이냐고 물을 만큼 금방 친해졌습니다 :) 그리고 콜롬비아인 Mauricio 도 돌아온 지금까지도 메시지를 주고 받을 만큼 친해졌고, 그 외에도 스위스에서 온 Andrei, 다른 사람인 줄 알고 말을 걸었더니 놀랍게도 저를 알아보고 최우수 논문상과 홈페이지에 대한 칭찬을 해준 그리스인 Aggelos 등 다양한 국적의 사람들과 교류할 수 있는 소중한 기회였습니다. 일본인 친구 Jixin과 그의 교수님 Prof. Kinura, 그리고 워크샵 운영진 Mr. Sato 와 함께 맛있는 스테이크를 먹으며 연구 및 와인에 대한 이야기를 나눈 저녁도 기억에 남습니다. 그 외에도 Leopoldo, Prof. Vinju 등 고마운 사람이 정말 많은데 이만 줄이겠습니다 :)

다시 본론으로 돌아오면, 사실 이번 학회에서 생각했던 것 만큼 지원하는 학교의 관심있는 교수님들을 만나지는 못했습니다. 유럽에서 열린 학회이기에 미국에서 상대적으로 이전보다 적은 인원이 참가했기 때문인데, 대신 교수님들의 학생은 만나볼 수 있었습니다. 포스터 세션에서 저희의 포스터에 찾아온 Rohit 에게는 (해야 하는 포스터 설명은 안하고) 학교의 동정을 묻고, Pavel 은 Prof. St-Amour의 부탁을 받고 제게 자신의 지도 교수를 소개 시켜주기 위해 노력했으나 결국 성사되지 않았지만 그 마음만으로도 고마웠습니다 :) 그리고 이번 학회에서 처음으로 뵙게 된 포항공대의 박성우 교수님, 그리고 서울대학교와 카이스트에서 오신 박대준, 김도형, 박창희 선배님께도 정말 감사드립니다. 제가 학회에서 어리버리 하고 있을 때 말동무도 해주시고, 이후 SOP에 대한 피드백도 주시는 등 여러 가지로 도와주셔서 감사했습니다.

이 글의 목적 중 하나가 감사하는 것이다 보니 자꾸 이야기가 다른 곳으로 새지만 요지는, 대부분의 경우 용기를 내서 다가가면 생각했던 것보다 훨씬 자상하고 친절하게 선뜻 남을 돕고자 하는 마음을 가지고 도와주실 것이란 사실입니다 :) (물론 우리도 앞으로 받은만큼 베풀게 되면 선순환을 이어 나갈 수 있겠지요)

관련 글: SPLASH 2016


추천서.    11월이 되며 본격적으로 추천서를 받기 위해 교수님들을 찾아뵙고 CV, SOP에 대한 피드백도 받으며 수정 작업을 이어나갔습니다. 이 때 피어 리뷰를 통해 발견하기 어려운 부분들을 교수님의 관점에서 콕콕 집어주시기 때문에 이 과정을 겪고 나면 CV든 SOP든 비약적으로 좋아집니다. 다만 교수님께 추천서 작성을 부탁드리는 것은 되도록 일찍 하시는 것이 현명합니다. 추천서 작성을 위한 관련 문서를 정리해서 가져다 드리고, 학교 온라인 지원서에 추천인을 등록하는 과정은 간단합니다. 그러나 저처럼 많은 수의 학교를 지원한다면 이 단순한 추천인 등록 과정만 해도 두 세 시간은 걸리므로 각오하시기 바랍니다. 이후 저는 학교 별 마감일에 맞추어 7일 전, 3일 전, 당일 마다 리마인드 이메일을 보내드렸습니다.

LaTeX.    11월에 CV와 SOP를 모두 LaTeX으로 다시 작성하였습니다. 포괄적인 이유는 ‘지원 마감이 다가오며 불안감이 엄습해서’ 겠지만 조금 더 세분화 한다면 (1) 저 LaTeX쓸 줄 알아요, 라고 어필하기 위해, (2) 문서 형식을 더 깔끔하게 만들고자, (3) 시간이 남아서 정도로 정리할 수 있을 것 같습니다. 저는 학교 또는 직장을 다니면서 준비한 것이 아니다보니 상대적으로 시간 운용이 자유로웠습니다. 그래서 더더욱 효과적으로 시간을 쓰기가 어려웠지만 (생산성 100x 감소) 그래도 남는 잉여력을 잘 활용하면 좋은 결과가 있는 것 같습니다 :)

Tips.    LaTeX으로 문서를 작성하는 것은 언제나 플러스 요인이 됩니다.

추천 글: LATEX 2ε 입문–102분 동안 익히는 LATEX 2ε

2016년 12월

12월 1일을 시작으로 각 학교 별 마감일이 시작되었습니다. 저는 SOP 중 한 문단을 학교에 맞추어 썼는데, 미리 써둔 곳들도 있었지만 지원 전에 다급하게 쓴 곳도 여러 군데 있었습니다. 그건 아마도 제 불안감 해소를 위해 지나치게 많은 학교에 지원했기 때문이 아닐까 생각합니다. 많은 학교를 지원하는 것의 또 다른 단점은, 노력이 분산되는 건 둘째 치고, 원서 접수 비용이 아주, 아주, 아주 많이 나옵니다 (침울). 어떤 선택을 하던 장단점이 있으므로 잘 고민하고 선택하시기 바랍니다. 어쨌거나 저는 12월 15일을 마지막으로 모든 학교 지원이 끝났습니다. 아이고, 후련하면서도 실감이 안나네요 :)

그 와중에 처음으로 스카이프로 인터뷰도 하고, 교수님 별로 연구 하고자 하는 내용을 맞추어 쓰느라 하루에 두 세 편의 논문을 뒤적였지만, 어느 정도 준비가 완료된 상태여서 11월 말부터는 상대적으로 많이 여유로웠던 것 같습니다 :)


쓰다 보니 어조도 왔다 갔다 하고, 내용 구성도 일관적이지 않은 것 같아서 여러 번 고쳐 쓸 것 같은 예감이 강하게 듭니다 (또르르). 예상은 했지만 역시나 거대한 글이 되어 버렸는데 이런 두서없는 글을 애초에 쓰기로 마음먹게 된 건, 제게는 2016년이 중요한 해로 기억 될 것 같기 때문입니다.

벌써부터도 이 모든 일들이 다 올해에 일어난 것이 맞나 싶을 정도로 어안이 벙벙합니다. 내년은 또 어떤 일들이 있을 지, 내년 이 맘 때 즈음엔 어디에서 무엇을 하고 있을지 전혀 모르겠지만, 분명 다 좋은 방향으로 나아갈 거라고 믿습니다 :)

모두 화이팅! ☆

“The point of living and of being an optimist is
to be foolish enough to believe the best is yet to come.”

– Peter Ustinov


The ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity

Amsterdam, The Netherlands
Oct 30-Nov 4, 2016


Oct 31

Breakfast @ Omelegg – City Centre

Generative Programming: Concepts and Experiences (GPCE)

Ina Schaefer (Program Chair in Program Committee for GPCE 2016)

  • Statistics
    • Submission: 44 full papers, 7 short papers, 1 tool paper
    • Accepted: 17 full papers, 2 short papers, 1 tool paper
    • 38% acceptance rate
    • 162 reviews, at least 3 per paper
    • 155 authors from 25 countries
  • Best Paper Award, “Synthesizing Regular Expressions from Examples for Introductory Automata Assignments”


[Keynote] Lightweight Modular Staging (LMS): Generate all the things!
Tiark Rompf

  • Tiark Rompf
  • Lightweight Modular Staging (LMS)
    • A library for generating high performance (low-level) code from high-level specification
    • Killer applications: data processing (database)
      • 1M LOC for generic DBMS
      • Manual specialization for performance is required
      • Previous approaches are still 10-100x slower than hand-written code

Domain-Specific Language Design and Implementation (DSLDI)

[Keynote] Small, simple and smelly: What we can learn from examining end-user artifacts?
Felienne Hermans

  • Two ways towards good, flawless programs
    • A better language
    • Education
  • Excel
    • The world’s most popular programming language
    • Common characteristics with programming languages
      • It is used for similar problems
      • Its formulas are Turing complete
      • It suffers from typical programming problems
        • Many variables
        • Long methods
        • Complexity
        • Code clones
  • Programming education for non-developers

The DSGA Model of DSL Design: Domain, Schema, Grammar, Actions
Vadim Zaytsev

Naturally Embedded DSLs
Jonathan Aldrich, Alex Potanin

  • Control multiple DSLs with one general purpose embedded DSL
    • e.g. serve: (URL, HTML) -> ()
    • Execute a parser and interpreter for each DSL (in this case, URL and HTML)

Towards explanation-oriented introductory programming
Julian Jabs

  • Explanation-oriented programming 
  • Insight: interpretation is just another explanation
    • Add natural language explanation within interpreter
  • Challenges
    • Difficulty to describe the intended behavior
    • Usability of line-by-line explanation
    • Necessity to provide all the explanations in advance

DesignScript: a scalable multi-paradigm domain-specific end-user language and modelling environment for architectural computation
Robert Aish, Emmanuel Mendoza

Generative Programming: Concepts and Experiences (GPCE)

Synthesizing Regular Expressions from Examples for Introductory Automata Assignments
Mina Lee, Sunbeom So, Hakjoo Oh

Programmable Semantic Fragments: The Design and Implementation of typy
Cyrus Omar, Jonathan Aldrich

Delaying Decisions in Variable Concern Hierarchies
Jörg Kienzle, Gunter Mussbacher, Omar Alam, Philippe Collet

Automatic Code Generation in Practice: Experiences with Embedded Robot Controllers
Sorin Adam, Marco Kuhrmann, Ulrik Schultz

Monday Poster Reception

A Web Application is a Domain-Specific Language
David H. Lorenz, Boaz Rosenan

Principled Syntactic Code Completion using Placeholders
Luís Eduardo de Souza Amorim, Sebastian Erdweg, Guido Wachsmuth, Eelco Visser

Dinner @ Bravi Ragazzi

Nov 1

Evaluation and Usability of Programming Languages and Tools (PLATEAU)


[Keynote] How to Design a Programming Language
Alan Blackwell

Software Engineering for Parallel Systems (SEPS)

Reducing Parallelizing Compilation Time by Removing Redundant Analysis
Jixin Han, Rina Fujino, Ryota Tamura, Mamoru Shimaoka, Hiroki Mikami, Moriyuki Takamura, Sachio Kamiya, Kazuhiko Suzuki, Takahiro Miyajima, Keiji Kimura , Hironori Kasahara

  • Top 3 most time-consuming analysis
    • Def-use analysis
    • Pointer analysis
    • Dependency analysis
  • Evaluation
    • Time cost reduced by 30%
      • 51.7% in terms of pointer analysis

LWC@SLE 2016 Language Workbench Challenge

Whole Platform Solution to a Selection of LWC16 Benchmark Problems
Riccardo Solmi, Enrico Persiani

Software Language Engineering (SLE)

Towards a Universal Code Formatter through Machine Learning
Terence Parr, Jurgen Vinju

Principled Syntactic Code Completion using Placeholders
Luís Eduardo de Souza Amorim, Sebastian Erdweg, Guido Wachsmuth, Eelco Visser


DrAST: An Inspection Tool for Attributed Syntax Trees (Tool Demo)
Joel Lindholm, Johan Thorsberg, Görel Hedin

Dynamic Languages Symposium (DLS)

A Small Embedding of Logic Programming with a Simple Complete Search
Jason Hemann, Daniel P. Friedman, William E. Byrd, Matthew Might


Generative Programming: Concepts and Experiences (GPCE)

A Vision for Online Verification-Validation
Matthew Hammer, Bor-Yuh Evan Chang, David Van Horn

Automatic Non-functional Testing of Code Generators Families
Mohamed Boussaa, Olivier Barais, Benoit Baudry, Gerson Sunyé

Beer @ Hannekes Boom

Dinner @ DoubleTree by Hilton Hotel Amsterdam Centraal Station

Nov 2

Breakfast @ Starbucks


Welcome to SPLASH 2016
Eelco Visser


OOPSLA 10-year Most Influential Paper Award
Eelco Visser

[Keynote] The Science of Deep Specification
Benjamin C. Pierce

  • Course design
    • Undergraduate courses
      • Drop-in replacements for standard compiler and OS courses
      • Pedagogical versions of Vellvm and CertiKOS
      • Reading and interacting with specifications
      • Code connected to specifications via random testing
    • Graduate courses
      • New course on formally specifying and verifying systems software and hardware

OOPSLA – Semantics and Verification

Semantics-Based Program Verifiers for All Languages
Andrei Stefanescu, Daejun Park, Shijiao Yuwen, Yilong Li, Grigore Rosu

Hoare-Style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco

OOPSLA – Program Synthesis

Deriving Divide-and-Conquer Dynamic Programming Algorithms using Solver-Aided Transformations
Shachar Itzhaky, Rohit Singh, Rezaul Chowdhury, Kuat Yessenov, Yongquan Lu, Charles E. Leiserson, Armando Solar-Lezama

Speeding Up Machine-Code Synthesis
Venkatesh Srinivasan, Tushar Sharma, Thomas Reps

Automated Reasoning for Web Page Layout
Pavel Panchekha, Emina Torlak

FIDEX: Filtering Spreadsheet Data using Examples
Xinyu Wang, Sumit Gulwani, Rishabh Singh

OOPSLA – Programming Frameworks, Tools, and Methodologies

Purposes, Concepts, Misfits, and a Redesign of Git
Santiago Perez De Rosso, Daniel Jackson

  • So many people want better Git :)

Apex: Automatic Programming Assignment Error Explanation
Dohyeong Kim, Yonghwi Kwon, Peng Liu, I Luk Kim, David Mitchel Perry, Xiangyu Zhang, Gustavo Rodriguez-Rivera

Wednesday Poster Reception

Synthesizing Regular Expressions from Examples for Introductory Automata Assignments
Mina Lee, Sunbeom So, Hakjoo Oh

Dinner & Drink @ Delirium Café Amsterdam

Nov 3


Yannis Smaragdakis, Michael Bond

[Keynote] From DOT to Dotty — Foundations and Types for Objects As Modules
Martin Odersky

OOPSLA – Language Design and Programming Models II

Automatic Enforcement of Expressive Security Policies using Enclaves
Anitha Gollamudi, Stephen Chong

Chain: Tasks and Channels for Reliable Intermittent Programs
Alexei Colin, Brandon Lucia

Lunch @ Cau Restaurant

Cruise @ Rederij Kooij

Onward! Papers

Object Spreadsheets: A New Computational Model for End-User Development of Data-Centric Web Applications
Matt McCutchen, Shachar Itzhaky, Daniel Jackson

Moldable, Context-Aware Searching with Spotter
Andrei Chiş, Tudor Gîrba, Juraj Kubelka, Oscar Nierstrasz, Stefan Reichhart, Aliaksei Syrel

OOPSLA– Program Modeling and Learning

Ringer: Web Automation by Demonstration
Shaon Barman, Sarah Chasins, Rastislav Bodik, Sumit Gulwani

Scalable Verification of Border Gateway Protocol Configurations with an SMT Solver
Konstantin Weitz, Doug Woos, Emina Torlak, Michael D. Ernst, Arvind Krishnamurthy, Zachary Tatlock

Banquet @ Beurs van Berlage

Nov 4


Gail Murphy

Onward! Most Notable Paper Award
Guy L. Steele Jr., Robert Hirschfeld

Student Awards
Sam Guyer, Matthew Flatt

[Keynote] A Human View of Programming Languages
Andrew J. Ko

Onward! Papers

Exploring the Role of Sequential Computation in Distributed Systems: Motivating a Programming Paradigm Shift
Ivan Kuraj, Daniel Jackson

Gramada: Immediacy in Programming Language Development
Patrick Rein, Marcel Taeumel, Robert Hirschfeld

Helping Johnny Encrypt: Toward Semantic Interfaces for Cryptographic Frameworks
Soumya Indela, Mukul Kulkarni, Kartik Nayak, Tudor Dumitras

  • Separate security part of code with functionality code
  • Developers for functionality use abstracted calls
  • Developers for security then deals with encapsulated security part with expertise

Leveraging a Corpus of Natural Language Descriptions for Program Similarity
Meital Zilberstein, Eran Yahav

  • Apply NLP techniques to suggest similar codes
    • Dataset from Stack Overflow
    • TF-IDF
  • How effectively does this data-driven approach work?
  • Many remaining challenges to resolve
    • Context (e.g. counterexamples)
    • Partial program