대학원 선택고민입니다 CS vs HCI

dd 72.***.193.249

CS 대학원에도 여러 세부 분야가 있고 각 교수님들과 연구실마다 주력 분야가 다릅니다. 대강 생각 나는 걸 말씀드리자면,
컴파일러, 데이터베이스, 로보틱스, 비젼, 머신러닝, 자연어처리, 시큐리티, 네트워크, 오에스, 알고리즘 등등이 있고 그 밖에도 다양하게 있습니다.

대학원에서 수업을 듣게 되면, 보통 2년과정에서 모든 분야를 다 들을 수 없으므로 자기가 어떤 분야에 포커스를 맞출건지 정하고 그 쪽 관련 수업을 듣게 됩니다. 석사 과정이 코스웍으로 끝나는 학교인 경우에는 주로 수업을 듣고 학위를 받게 되고요, 석사생에게도 연구 기회를 주는 학교라면 교수님을 만나서 그 연구실에서 하는 연구의 일부분을 도와줄 기회가 있을 수 있습니다. 석사 논문을 쓰는 경우도 있고 그렇지 않은 경우도 많고요.

CS 대학원을 나오면 네트워크, 보안 이런쪽으로 배워서 그쪽 개발자가 되는건가? 라는 원래 질문에 답변을 드리자면, 그럴 수도 있고 아닐 수도 있습니다. 네트워크 보안 등등은 CS 분야들의 일부입니다. 그리고 학교에서는 회사에서 필요로 하는 개발자 스킬 (언어, 툴, 오픈소스 등등) 은 가르치지 않습니다. 주로 Computer Science 의 이론과 응용, 그리고 대학원 연구 위주 수업에서는 최신 논문 등을 깊게 다루게 됩니다. 그렇게 2년 과정이 끝나면, 대부분의 석사 졸업생들은 취직을 하고요 일부는 박사로 진학 하기도 합니다. 취직 하는 졸업생들은 대부분 소프트웨어 엔지니어, 즉 개발자로 취직을 하게 되는데요, 백엔드를 할지 프론트엔드로 할지 풀스택을 할지는 정해지는 건 아니고, 각자 취향에 맞게 회사와 포지션을 찾아서 지원하여 정하게 됩니다. 실제로 백엔드와 프론트엔드에 골고루 진출을 합니다. 각 포지션에 맞는 언어와 스킬은 대부분 각자 알아서 공부를 하고, 때로는 수업 때 필요한 프로젝트들을 하면서 익히는 경우도 많습니다.

그럼 대학원이 왜 필요한가 의문이 들 수 있는데, 사실 취직을 위해서는 CS 대학원은 필수는 아닙니다. CS 학부 졸업만 하고도 취직 잘합니다. 다만 CS 석사를 하는 학생들은 외국 학위만 있거나, 학부를 다른 전공을 했다거나 아니면 학부 때 배운걸로 부족하다고 생각하여 특정 분야 수업을 더 듣고 싶다거나 하는 경우가 많습니다. 그리고 회사 입장에서도 미국 CS 석사 학위가 있다면, 이력서를 볼 때 좀 안심? 을 하고 인터뷰에 초청할 수 있죠. 어쨌든 기본 CS 지식은 있다고 판단할 수 있으니까요.

두서 없이 썼는데 도움이 되었는지 모르겠네요. HCI 는 제가 잘 모르니 아예 언급하지 않았으니 그 쪽도 많이 알아보셔요.