Showing posts with label 진로. Show all posts
Showing posts with label 진로. Show all posts

박사과정... 당신에게 필요한가?

Matt Welsh라는 현재는 구글의 소프트웨어 엔지니어이고 이전에는 하버드 컴퓨터과학과의 교수였던 분이 쓴 글입니다.





내가 학술계를 떠나서 산업계로 들어서면서부터 자주 이 질문을 받군 한다. 보통 대학원 1,2학년 학생들로부터 많이 받는데 - 연구 커리어를 생각하지 않는 다면 컴퓨터과학을 하면서 박사과정이 필요한가 혹은 가치있는지에 대해서 말이다. 궁극적으로 당신의 최종 목적지가 구글과 같은 회사에서 일을 하는 거라면 박사가 필요하지 않을수 있다. (도움은 되지만.. 꼭 필요하지는 않다). 많은 성공적인 기업 (마이크로소프트나 페이스북 등)들이 박사는 커녕 학사과정도 마치지 않은 사람들이 일궈낸 성과들이다. 그렇다면 왜 바로 직업을 찾고 (학교 졸업했든 안했든) 돈을 벌고 중요하다고 생각되는 일에 심혈을 기울이지 5년내지 10년까지 걸리는 길고 힘든 과정을 거쳐서 박사과정을 따려고 할까?



박사과정은 당연히 모든 사람들을 위한 것이 아니고 나는 대부분 사람들에게 이길을 추천하지는 않는다. 그러나 나는 학사과정을 끝나고 직접 직업을 찾는 것보다 박사과정을 한 선택에 매우 행운스럽다고 생각한다. 왜냐하면 박사과정에서 나는 전형적인 소프트웨어 엔지니어링 커리어에서는 얻을 수 없는 너무나 많은 것을 배웠기때문이다. 박사과정은 당신이 연구하는 능력을 트레이닝한다 - 연구논문을 읽고... 실험을 하고... 논문을 쓰고... 발표를 하고... 또한 어떤 과제를 풀어야 할지 고민하는 것을 배워준다. 당신은 매우 깊게 기술을 파고들 수 있고 당신의 연구는 논문 평가를 하는 교수들은 물론이고 학술계 동료, 학계의 교수들로부터 철저하고 까칠한 평가를 받게 된다.



나는 박사과정이 Grand Tour 같은 느낌이 든다. 16, 17세기 젊은 친구들이 유럽을 돌면서 프랑스, 이탈리아, 독일의 상류층을 경험하면서 예술, 건축, 언어, 문학, 펜싱 등을 배우면서 영향력 있는 사회 멤버로 되는 겅험을 쌓는다. 박사과정도 비슷하다 : 많은 것을 경험하면서 컴퓨터 과학의 서브필드에서 연구분야에서 세계수준의 전문가가 된다. 높은 수준의 박사과정들은 엄청나게 높은 장벽을 부딪치게 된다 - 많은 수업과정, 강의 경험, 시험, 눈문 발표, 그리고 당연히 당신의 연구분야에서 큰 공헌을 해야 된다. 이런 일련의 과정을 거쳐서 당신은 폭넓고 깊은 스킬을 부여받게 된다.



나는 박사과정을 하는것은 소프트웨어 엔지니어들한테 특별히 기술리더가 되고 싶은 분들에게 도움이 된다고 생각한다. 일에서만 배울 수 있는것도 분명히 많지만 박사과정에서 당신만의 컴파일러를 만들고 새로운 OS를 디자인하고 StackOverflow를 해결하느라 머리를 붙잡고 있는 대신 복잡한 컴퓨터 과학 분야를 깊게 파고 들수 있기 때문이다.



아래는 내가 박사과정을 하면서 얻은 소중한 경험들이다.



1.어떻게 연구논문을 읽고 평가를 해야 되는지를 배운다.



연구생 (와 교수)로 임하면서 당신은 수많은 연구논문을 읽게 될것이고 그들의 아이디어와 방법 및 발표를 평가하고 당신의 연구에 어떻게 유용하게 쓰일지를 배운다. 결과적으로 당신은 많은 컴퓨터과학의 연구토픽을 알게 되고 문제를 해결하기 위한 방법론을 경험하고 복잡한 알고리즘과 시스템 디자인을 경험하게 된다. 이것은 단지 연구논문에 있는 지식을 배우는 것(물론 이것도 엄청 중요하지만)뿐이 아닌 과학"문학"에 친숙해지고 있는 것이다.



2.어떻게 연구논문을 쓰고 발표를 해야 하는지를 배운다.



기술교류에 능숙해야 되는것은 엔지니어들한테 매우 중요한 것이다. 나는 박사과정을 거친 소프트웨어 엔지니어들과 안거친 엔지니어들의 차이점을 확인하게 되었는데 박사과정을 거친 이들은 명확하고 조직화된 발표를 하고 어떻게 그들의 일을 조직하고 문서화하고 실험결과를 표현할지에 대해서 명확하게 알고 있어서 궁극적으로는 더 큰 영향력을 기여할 때가 많다.



3.어떻게 실험을 하고 결과를 해석하는지를 배운다.



이게 얼마나 중요한지는 더이상 해석이 필요하지 않다. 박사과정에서 당신은 엄청난 양의 실험과 그에 대한 결과를 바탕으로 논문 발표를 위해서 연구동료들의 평가를 감당하고  설득력이 있어야 한다. 당신 방법론은 모든 면에서 당신의 지도교수, 동료, 눈문 리뷰어들로 부터 평가를 받고 어떻게 정확한 실험을 하고 맞는 방향으로 가게 할지를 배운다.



4.어떤 문제를 해결해야 할지를 배운다.



이것은 박사과정에서 가장 중요한 문제라고 해도 전혀 과분하지 않다. 박사과정에서 당신은 수많은 지식분야의 바다에서 항행하듯 많은 것들을 경험하고 80%이상의 과학적인 기여는 어떤 문제 - 재밋고 공개되고 당신이 해결했을때 임팩트가 있는 문제를 연구 및 해결하겟는가 일 것 이다.  연구분야에는 수많은 흥미없는 오픈된 문제도 있는 반면 흥미진진한 문제들을 해결하고 또 해결하기도 한다... 어떻게 가치있는 문제들을 발견하고 해결하기 위한 비결은 기술적 리더로 되기 위한 핵심 스킬이기도 하다.



그러므로 나는 박사과정은 가치있는 일이라고 생각하고 특별히 당신이 가장 어렵고 재밋는 문제들을 해결해내고자 한다면 더욱 그렇다고 생각한다... 당신이 학술계에 있던, 연구실에서 일을 하던 전형적인 엔지니어의 커리어를 쌓던...



그러나 나의 박사과정 지도교수는 "박사과정은 집 한채를 소비하는 과정이다"라고 얘기하기 좋아했었다... (왜냐하면 박사과정에서 벌지 못하는 돈은 집 한채 또는 몇채를 살 수도 있기 때문이다...)




대학원을 준비하기 전에 알아야 할 것들...

Wright State 대학의 Amit Sheth교수의 랩에 들어갈때 FAQ에 있던 내용인데 대학원을 준비하는 분들한테 굉장히 유익한듯 하여서 한국어로 포스팅 해봅니다.

☞ 원문보기


1.나는 석사과정 혹은 박사과정이 필요한가?




이 질문에 대한 대답은 당신한테 있고 당신이 어떤 진로를 걷고 싶은가에 달려있다. 

급속도로 발전하고 있는 우리가 살고 있는 세상은 보이지 않는 경쟁으로 된 전쟁터에서 살고있고 나는 많은 기업 매니저들이 "우리는 글로벌 기술인재를 원합니다"라는 말을 듣군 한다. 석사과정을 나온 학생들은 박사과정을 나온 학생들보다 더 많고 치열한 경쟁에 직면하게 되 지만 반대로 박사과정에 "맞춤"한 직업은 석사과정을 나오거나 학사과정을 나온 학생들보다 훨씬 적다. 만약 당신이 기존에 프로그래머거나 잘 정해진 일들을 하고 있었다면 다른 누군가가 더 싼 가격으로 더 효율적으로 할 수도 있을것이다. 즉, 이런 일들은 아웃소싱 할 수도 있는 일이다. 

학사과정에서 우리는 기본지식, 기술이나 스킬을 배우는데 집중을 하고 이런 지식들은 좋은 선생님과 열심히 하는 학생들로 완성이 된다. 석사과정에서는 일부 학생들은 여전히 엔지니어링에 중점을 두고 있는 반면, 일부 학생들은 혁신을 하는 방법을 배우기 시작한다. 현실적으로 혁신적이고 리드할수 있으며 소통하고 다른 이들한테 동력을 부여하는 능력을 가진 사람은 많지 않다. 이런 일들은 박사과정에서 좀 더 잘해야 될 일이고  Gurukul 타입의 환경에서 기나긴 시간과 1대1의 지도를 통해서 모든 것을 갖추고 지능과 탁월한 작업기준을 갖고 이루어나가야 할 일들이다. 

일부 교수와 같은 커리어들은 박사과정을 위한것이고 미국의 일부 기업들도 기업의 연구개발부문에서 박사과정만을 뽑는 경우도 있다. 일부를 쓴 이유는 박사과정은 모든 이들을 위한 과정이 아니고 이 과정에서 당신 또한 많은 것을 얻지만 동시에 많은 것을 잃게 된다 - 기나긴 시간, 고된 연구과정, "진정한 돈"을 벌수 있는 시간이 늦춰지는 것... 만약에 당신은 개발에 관심있거나 엔지니어링에 관심있는 이라면 박사과정은 전혀 필요가 없을 수 도 있다. 박사과정은 독립적인 연구를 할 수 있고, 생각을 할 수 있고, 결과물을 낼 수 있고 누군가의 지도자가 될 수 있는 능력을 키우기 위해서 기나긴 준비한 과정이다.



2.나한테 맞는 프로그램 혹은 코스를 어떻게 찾을 것인가?


개인적인 관점에서 말하자면 이 질문의 답은 그냥 US News나 다른 랭킹기관의 리포트에 근거해서 높은 랭킹의 학교를 찾는 것처럼 쉽지 않다. 학교 랭킹은 학사과정에 의미가 가장 크고, 석사과정에 의미가 덜 크고, 박사과정에 의미가 가장 적다. 높은 학위일수록 더 개별화된 교육과 경험이라고 볼 수 있다. 박사과정을 선택할 때 몇가지 이슈를 언급해본다면,


1). 랭킹은 복잡하다. 질문을 던져본다면... 누구한테서 랭킹을 받는건가? 가장 권위적인 컴퓨터과학의 랭킹은  1993/1994 by CRA/National Research Council. 에서 한 것이다. 하지만 세상은 그 이후로 몰라보게 변했고 여러 컴퓨터 공학의 중요한 분야가 통합되기도 했다. US News and World Report가 가장 최근의 랭킹을 갖고 있다고 하지만 대학을 기준으로 랭킹하는 것은 혹은 학과를 기준으로 랭킹하는 것은 복잡한 이슈가 많다. 

학교의 큰 학과와 다른 학교의 작은 학과를 어떤 기준으로 판단할 지, 여러 분야를 다루고 있는 학과와 당신이 하고 싶은 분야인 단 하나의 분야만 중점으로 연구하지만 최고의 연구성과를 내고 있는 학과이고 단 다른 분야에서는 성과가 미진한 학과를 어떻게 판단할 지... 차라리 현실적인 졸업생들의 성과로 랭킹을 내보는 건 어떤지?? (취업 후 받는 연봉들에 근거해서 Top 10을 뽑는다든가...)

2). 어떤 걸 랭킹하는지가 불명확하다. 학교인지? 학과인지? 연구그룹인지? 연구센터인지? 펀딩과 리소스일까?
당신은 박사과정 (혹은 연구기반 석사과정)을 할때 전문가가 되어 컴퓨터과학의 작은 분야 혹은 연구토픽(시만틱 웹, 온톨로지 매핑 등...)에서 전문가가 되기를 원했던 것을 기억해야 된다. 당신이라면 비전을 주는 지도교수, 멋진 동료들과 일할 수 있는 연구그룹, 융합연구, 산업과의 협력, 졸업생들의 성공, 리소스 등을 어떻게 고려할 것인가? 

당연히 가장 완벽한 답은 당신이 좋아하는 연구분야에서 랭킹이 높은 컴퓨터과학 학과에 가장 유명한 연구그룹과 지도교수가 있는 곳에서 전액 장학금을 주면서 당신이 원하는 지리적 위치에서 연구를 하는 것이다. 만약 당신이 어떤 연구분야가 흥취에 맞을지 모른다면 아마도 가장 랭킹이 높은 대학에 가서 가장 그곳에서 잘하는 연구를 하는 것일 것이다. 하지만 이런 케이스라면 당신은 박사과정이 안맞는 사람일지도 모르겟다. 그리고 모든 것을 갖출 수 없다면 아래의 요소들에서 어떻게 선택을 할 것인가??

  • 유명한 학과이나 당신이 흥취있는 분야에선 성과가 미비한 학과거나 장학금이 없다면?
  • 유명한 학과는 아니지만 당신 분야에서 월드클래스의 연구그룹과 지도교수가 있고 많은 리소스와 장학금 지원이 있다면? 




좀 더 심플하게... 당신은 대학에서 배우는지? 학과에서 배우는지? 지도교수한테서 배우는지를 스스로 물어보기를 바란다.

1980년에 대학원 과정을 신청하기 위해서 나는 IIT library로 가서 내 연구흥취가 있는 분야의 두 교수님을 찾았고 Wisconsin-Madison과 Ohio State 대학교에 있었고 두 학교를 신청했다...

같은 맥락으로 Kno.e.sis가 WWW분야, 컴퓨터과학의 가장 재밋는 분야에서 월드 클래스로 활약할 수 있는 원인이고 (ranking based on 5-yr impact 참조), 많은 졸업생들이 세상에서 멋진 활약을 할 수 있는 원인이다. (참조 - here).