2025년 하반기 회고

January 04, 2026

석사 과정을 시작하다

말그대로다. 석사 과정을 시작하게 되었다. 졸업학기인 25-1학기에는 취직에 실패했고, 다음 학기(이번 하반기)에는 취업 준비를 좀 더 본격적으로 해볼 계획이였다. 한국의 경제난과 AI의 발전이라는 이중고 때문에 쉽지 않은 고용 시장이였지만, 당시 상반기가 마무리되고 회고를 남길 시점에는 (2025 상반기 회고) 그래도 열심히 하면 내 자리를 찾을 수 있지 않을까 하는 낙관을 하고 있었다. 그런데 이 낙관은 취업시장에서 내가 가진 보잘것 없는 스킬셋에 대한 약하디 약한 믿음일 뿐이지, 어떤 일을 하고 싶고 잘할 수 있는지에 대한, 엔지니어로서의 나에 대한 존재론적인 고민은 여전히 있었다.

6/30: “잠시 숨을 고르고 있는” 와중에, 자대 대학원에서 입시 권유 관련 전화가 와서 대학원 진학이라는 옵션이 존재한다는 것도 알게 되었다. 당시에 진로에 대해서 고민하느라 골머리를 썩히고 있을 때라 조금 혹한 마음이 들었지만 취준이라는 문제를 회피한다는 느낌이 들기도 하고, 한학기는 제대로 취준을 해보고 결정해도 늦지 않겠다고 생각해서 그냥 넘어갔었다.

7/17: 2주 뒤에는 지금은 나의 지도교수님이 되신 교수님이 입시 관련 전화를 주셨다. 이 교수님은 오래 활동했던 알고리즘 문제 해결 소학회 A.N.S.I.의 지도교수님으로서 아주대학교 ICPC팀 코치도 매년 맡아주시고 계신 교수님이다. 24-2학기때는 교수님이 진행하셨던 웹시스템설계라는 과목을 수강해서 정말 배워간 기억도 있다. 교수님이 “비가 오면 피하는 것이 상식”이라는 말씀을 해주셨는데, 이때 마음이 정말 많이 흔들렸다.

7/21: 결국 연락주셨던 교수님의 분산 병렬 컴퓨팅 랩에 컨택을해서 입시 과정을 밟는 것으로 결정했다. 이후 입시 과정은 순조롭게 진행되었고, 그렇게 입학이 결정되었다.

고민 끝에 대학원에 들어갈 결심을 하게된 계기는, 결국 엔지니어 일은 계속 하고 싶은데 단순 기능 구현만 하는 개발자에서 한 단계 더 점프해서, 더 영향력 있는 문제를 풀기 위해서는 (또는 그럴 기회를 받기 위해서는) 석사 학위가 많은 도움이 될 것 같다고 생각해서다. 교수님 말씀대로 “비가 와서 피해온” 것이 대학원 진학의 강력한 동기임을 부인할 수는 없으나, 동시에 성공과 문제 해결의 경험에 목말라 있었기 때문에 진학했다고도 생각하고 싶다.

석사 첫 학기

첫학기때 수강한 과목은 다음과 같다:

  • 고급운영체제: 학부때 배운 OS 내용을 조금 리뷰하고, 추가로 더 깊은 내용을 다룬다. 그리고 교수님이 지정해주시는 논문을 읽고 비평을 써오면 되는 과목이다. 예를 들어 CPU 스케줄링에서는 기본적인 CPU 스케줄러들과 리눅스에서 적용되었던 CFS, EEVDF 스케줄러에 대해서 수업시간에 다룬다. 추가로 Lottery Scheduling이라는 기법은 별도로 논문을 읽어 이해를 쌓을 수 있었다. 메모리 관리 분야에서는 Adaptive Replacement Cache, 파일시스템 분야에서는 Log-structured file system에 대해서 배울 수 있었다. 또한 학생들이 OS/시스템과 관련있는 논문을 각자 선정하여 세미나식으로 발표하는 시간도 있었는데, 나는 “PebblesDB : building key-value stores using fragmented log-structured merge trees” 라는, 내 개인 연구 주제와도 맞닿아있는 논문을 발표했다. 이후 수업에서도 “log-structured”한 아이디어가 접목된 주제가 많이 나와서 이해가 쉬웠다.

    개인적으로 과목에서 제시되는 논문들을 읽으면서 OS/시스템쪽 분야에 대한 흥미가 생겼다. 이 분야는 기존에 존재하는 하드웨어나, 인터페이스 변경이 어렵다는 제약이 있다. 그래서 급진적으로 “다 뜯어고지차”하는 접근이 아니라 현실적인 제약 안에서 최소한의 개입으로 최대 효과를 끌어내려는 연구의 경향성을 느낄 수 있었다. 엔지니어링에서의 “우아함”을 가장 잘 설명하는 분야같다고 생각했다. 석사 첫 학기에 들을 수 있어서 행운인 과목이였다.

  • 시스템응용특강: 마찬가지로 시스템 분야와 관련된 수업이다. 네트워킹 서브시스템, RDMA 그리고 GPGPU와 같은 다양한 분야의 내용이 다루어진다. 시스템에 대한 내용 뿐만아니라 수업에 참여하는 학생들의 연구 주제와 관련된 세미나도 들을 수 있어 다른 랩의 학생들은 어떤 주제로 연구를 진행하고 있구나 하는 것도 알 수 있었던 좋은 기회였다.

  • 데이터통계: 기초적인 확률 부터 정보 이론, 최신 ML 모델들까지 총망라하는 과목이였다. 한학기내에 굉장히 많은 내용이 커버된다.

기타: 인공지능기초 & 인공지능입문 과목 TA도 맡게 되었다. 학생들의 코드 채점이나 시험 감독등을 수행했다.

수업은 학부생때도 듣는 것이지만, 석사 과정은 연구를 따로 수행해야한다. 나는 출근 첫날부터 안내받았던 기존 주제에서 출발해 관련된 논문을 읽으며 어떤 연구를 수행하는 것이 좋을지 3개월의 시간동안 탐색전을 펼쳤다. 연구 주제 탐색이라고도 할 수 있겠지만, 지금 현재 아무도 풀지 못한 어떤 문제가 있으며, 그것이 왜 문제인지를 스스로 납득시키는 단계라고도 할 수 있다. 나는 이 과정이 회사를 다니는 것과 가장 큰 차이라고 느꼈는데, 물론 회사에서도 엔지니어가 스스로 문제를 정의하고 그것을 푸는 업무를 진행하지만, 연구를 함에 있어서의 문제는 그것 보다 훨씬 광의를 가진다고 느꼈다. 엔지니어링의 문제는 대개 “어떤 것을 만들지” 또는 “더 잘만들지”에 대한 것인 반면, 연구에서의 문제는 애초에 그것이 “문제”로 불릴 자격이 있는지 부터 논리적으로 따져야한다. 왜 이 문제가 중요한지, 왜 기존의 방법론들이 충분하지 않는지 따져가면서 말이다. 어떤 문제에 대해서 해답을 찾는 것도 일이지만, 문제를 설득하는 작업 또한 못지않게 중요함을 배운다.

결론적으로는 12월 초부터는 Log-Structured Merge Tree라는 자료구조와 관련된 어떤 하나의 문제를 붙잡기로 결심했고, 지금은 그 문제를 푸는 제안 기법을 설계하고 구현해보는 단계에 있다. 구체적인 연구 주제에 대해서는 논문이 출판된 이후 다룰 수 있을 것 같다. 우선 이 포스트에서는 “연구”라는 행위를 짧은 시간동안 경험해본 단상만 남긴다.

기타

  • 연구에 필요한 CRoaring이라는 라이브러리를 테스트해보다가, 라이브러리 튜토리얼에 deprecated된 API를 사용하고 있는 부분이 있어 단 한줄 수정(ㅋㅋ)한 PR이 병합되어 배포되었다. 아주 아주 아주 작은 부분이긴 하지만, 어쨌든 내 첫 오픈소스 기여라는 점에서 개인적으로는 의미가 있다. 다음엔 코드 예시가 아니라 실제 로직이나, 오류 수정같은 기여도 해보고 싶다.

Profile picture

소프트웨어 개발자 권도현입니다. 문제해결을 좋아합니다.
Email: sylvesterkwon@gmail.com

© 2026, Sylvester Kwon