2023년은 정말 많은 일이 있었던 시간이었다. 최근 Spotify의 2023 Wrapped도 받은 겸, 내가 겪은 경험과 느낀 점들을 정리하고자 글을 쓴다. 개인적인 정리이기도 하지만 3-4학년 생활을 정리하는 글인 만큼 진로를 고민하는 학부생들이 읽어도 좋을 것 같다(정작 나도 아직 학부생이지만).
작년에 나는 내 진로를 매우 고민하는 시간을 가졌었다. "나는 어떤 분야에 가장 관심이 있는 거지?"라는 의문이 굉장히 깊게 들었고, 이 고민에 대해서 많은 분들에게 조언을 구했었는데, 공통적인 답변은 "최대한 다양한 분야를 시도해 보고 그중에서 고르라"였다. 2023년은 이 조언에 충실하게 '최대한 많은 분야를 시도해 보는 것'이 목표였었다.
Jan-Feb: 인공지능 보안 랩실의 학부생 인턴
2023년은 학교의 인공지능 보안 랩실에서 공부하고 일하는 것으로 시작되었다. 가끔 어떻게 학부생이 랩실에 들어갈 수 있는지 궁금해하는 사람도 있는데, 나는 개인적으로 이 랩실을 운영하시는 교수님의 수업을 많이 들었었고, 그 과정에서 운이 좋게도 교수님한테 프로젝트 진행 능력을 인정받아 랩실 조인 컨텍을 받게 되었다. (Tip: 랩실에 들어가고 싶다면 랩실 교수님의 수업을 3개 이상 들으면 된다.)
사실 내가 인공지능 쪽으로 진로를 정하게 될까?라는 고민이 들어서 랩실에 합류하기를 좀 망설였었다. 그런 망설임을 가지고 있었는데, 마침 GDSC Speaker Seminar의 연사로 채용담당자로 일하는 분이 오시길래 이런 고민을 QnA 시간에 말씀드렸었다. 그런데 내 질문을 듣고 바로 "생각이 너무 많네요. 그냥 해보세요."라고 하셔서 깜짝 놀랐다. 내가 생각이 너무 많은 사람이라는 걸 어떻게 아셨지? 이 조언을 듣고 바로 랩실에 들어가겠다고 마음을 먹게 되었다. 적어도 학부생 때는 이게 내 미래에 도움이 되는지 아닌지를 생각하지 않고 최대한 많은 분야를 접해보고 싶었기 때문이다. 또한 ML/AI는 대학원에 가지 않는 이상 프로젝트를 진행하기 어려운 분야이기 때문에 랩실에 들어간다는 건 엄청난 기회라는 생각이 들었다.
랩실 생활이 완전 처음이었고, 기존에 랩실을 염두에 두고 있지 않았던 나는 논문도 읽으면서 인공지능 이론도 공부하느라 초기엔 매우 바빴다. 공부를 진행하면서 내가 가장 처음 맡았던 업무는 데이터 크롤러를 개발하고 네트워크 트래픽을 수집하는 것이었다. 사실, ML/AI 프로젝트를 진행하기 전 나는 이 분야에서 가장 중요한 건 어려운 코드를 짜는 능력이라고 생각했는데, 들어간 후에는 절반은 맞고 절반은 틀린 것이라는 점을 알게 되었다. 인공지능 모델을 만든다는 것은 생각 외로 비용이 엄청 드는 일이다. 좋은 모델과 좋은 feature로 만족스러운 결과가 나와서 행복할 수 있는 시간은 전체의 0.01%도 안 되고, 나머지는 데이터 수집, 데이터 전처리, 모델 탐색, feature 탐색 등이 대부분을 차지하고 있다. 그래서 인공지능 연구를 위해 필요한 능력은 오히려 이런 것들인 것 같다.
1) ML/AL로 개선하고 싶은 문제를 정의하고 가설을 세우는 기획력
2) 모델 훈련을 위해서 오랫동안 빅데이터를 수집하고 데이터를 전처리하는 인내심
3) 다양한 model, feature, parameter를 조합하며 성능을 높여나가는 창의성 (이 과정에서 시간적, 금전적 cost를 줄이기 위해 관련 연구를 조사하는 노력도 포함)
특히나 ChatGPT가 코드를 작성해 주는 세상에서는 위의 능력들이 더더욱 중요해진 것 같다는 생각이 든다. 물론, 더 깊게 들어가서 AI Core를 공부하는 사람이라면 코드도 굉장히 잘 짜야 하는 것도 사실이다. 랩실 생활을 통해서 이러한 능력을 많이 발전시킬 수 있었다.
Mar-Jun: ICT 인턴십의 클라우드 엔지니어
랩실 생활을 통해서 배운 점에는 더 많은 것들이 있었다. 예를 들어, 나는 이렇게 현실 세계의 데이터를 몇 개월이라는 긴 기간 동안 온프래미스 환경에서 수집해 본 것이 처음이었다. 그리고 이 경험을 통해서 현실 세계의 데이터를 수집할 때는 에러가 정말 많이 난다는 점, 그리고 이러한 에러들은 알고리즘뿐만 아니라 CS 지식(OS, Network 등) 잘 알고 있어야 한다는 점이었다. 그동안 내가 짰던 코드들은 코딩 테스트 문제를 풀기 위해 고작 몇 초 실행되는 알고리즘 코드나, 트래픽이 적은 프로젝트를 위해서 짰던 개발 코드들 뿐이었다. 이렇게 대량의 트래픽을 몇 개월 동안 수집하는 코드는 처음이었다.
재미있게도, 그래서 나는 클라우드 및 CI/CD와 같은 DevOps에 관심을 가지게 되었다. 이런 현실 세계에서만 만날 수 있는 에러들은 우선 핵심적인 기능을 하는 코드를 배포해 놓고 문제가 생길 때마다 이를 수정 후 재배포하는 과정이 필수적이었다. 그런데 학교 내부망을 쓰는 온프래미스 VM 환경을 어떻게 하면 자동화할 수 있는지 나는 전혀 알지 못했다. 결국 나와 다른 팀원들은 에러가 생겼는지 확인하기 위해서 틈이 날 때마다 학교 실험실을 찾아가고, 에러가 발생했으면 12개에 달하는 VM을 일일히 수정해야 했다. CI/CD를 몰랐기에 정말 손으로 일일 모든 VM의 코드를 수정하느라 몇백 번은 수정했던 것 같다.
모르면 배우면 된다. 하지만 클라우드 환경을 배울 수 있는 기회는 많지 않았다. 그렇게 기회를 찾아보던 나는 무작정 학점연계형 ICT 인턴십에 지원서를 넣게 되었다. ICT 인턴십은 대학생들이 실무 경험을 쌓을 수 있도록 도와주는 인턴십 프로그램인데, 학점과 월급을 동시에 얻을 수 있는 프로그램이다. 궁금한 사람들이 있으면 아래 사이트에서 확인해 보면 될 것 같다.
나는 클라우드와 조금이라도 관련이 있어 보이는 기업들에 이력서를 넣었고, 그 중 한 기업에서 3월부터 근무를 시작하게 되었다. 정말 놀랍게도, 나는 클라우드에 대한 지식이 0이었는데도 불구하고 인턴에 붙을 수 있었다. 내가 처음 인턴십을 시작했을 때 나는 EC2를 만드는 법도 몰랐다. 내가 어떻게 뽑혔는 지는 모르겠지만, 아마 내 열정을 좋게 보셨거나 클라우드 경험은 없더라도 개발 경험이 플러스 요소가 되었던 것 같다.
이때의 경험은 나에게 '일단 도전하고 보는 게 무조건 이득'이라는 것을 알려주었다. 나중에 이력서를 썼던 경험을 살려 GDSC에서 이력서 세미나를 진행했었는데, 세미나를 마무리하면서 그 점을 강조했었다. "이력서를 어떻게 하면 잘 쓸 수 있는지 이런저런 말을 했지만, 정작 나도 클라우드 경험은 없었다. 그러니까 너무 미리 포기하거나 기죽지 말고 도전해 봤으면 좋겠다."
Jul: 파리의 컴퓨터공학 대학 EPITA의 교환학생
랩실 인턴과 회사 인턴을 한창 진행 중일 때, 1학기가 끝나면 조금 쉬어야겠다는 생각이 들었다. 마침 이런 생각이 들었을 때 학교에서 교환 프로그램이 모집 중이었다. 우리 학교에는 '에피타 여름 교환 프로그램'이라고, 파리의 EPITA 대학에서 한 달 동안 교환을 다녀오는 프로그램이 있다. 자소서와 면접까지 진행하는 나름 경쟁률 높은 프로그램이다.
처음에는 크게 생각이 없었는데, 작년에 프로그램에 선정되어 에피타에 다녀왔던 친구가 꼭 가야 한다고 자신의 합격 자기소개서까지 보내줬었다. 그 친구한테 너무 고마워서 반드시 붙어야겠다는 투지가 생겼던 것 같다. 최종 면접에서 15초 동안 자기 PR를 하라고 하길래, "저는 인턴십 경험뿐만 아니라 다양한 협업 경험이 있고, 그래서 다른 사람들과 소통하는 것이 익숙합니다. 이런 프로젝트 경험을 살려 해외에서 우리 학교의 명성을 높이고 오겠습니다."라고 답변했다. 면접을 본 교수님들이 내 말을 듣고 웃으시는 것을 보고 합격했다는 직감을 했었던 것 같다.
에피타 교환 프로그램은 한 달이라는 짧은 기간 동안 다녀왔기 때문에 기술적으로 복잡한 프로젝트를 진행하지는 않았다. Stable Diffusion, ML을 관련해 미니 프로젝트를 2개 정도 진행했었는데, 한국처럼 정해진 주제를 정해진 기준에 맞게 만들어야 하는 게 아니라 정말 내가 원하는 대로 모든 것을 결정할 수 있었다. 그래서 나는 내가 좋아하는 마블 영화와 Stable Diffusion을 결합해 생성형 AI로 어벤져스를 만드는 프로젝트를 진행했었다. 덕분에 생성형 AI의 매력을 알 수 있었고, 이때의 경험이 지금 진행하는 졸업 프로젝트에도 반영된 것 같다.
하지만 무엇보다 내 자신에 대한 이해를 넓힐 수 있는 시간이었다. 사실 대학 생활의 2년 반을 비대면으로 보내느라 자아탐구를 할 시간이 별로 없었던 것 같다. 그런데 이렇게 해외에 나가는 기회를 통해 내가 활동적인 일을 좋아한다는 것과, 사람들과 어울리는 걸 내 생각보다도 더 좋아한다는 걸 알게 되었다. 사실 그 전까지는 그래도 패션 E라고 생각했는데, 생각 외로 나는 찐 E였다. 에피타 교환 프로그램에서 지금도 계속 친하게 지내는 좋은 동기들을 많이 만났고, 덕분에 지금까지도 기억에 남는 소중한 기억이다.
Aug-Sep: 졸업 프로젝트의 팀장, GDSC의 코어 맴버, ACC의 맴버
교환 프로그램에서 돌아오고, 새학기 초까지는 새로운 인간관계와 활동들이 많이 생기는 시기였다.
우선 나는 GDSC에서 Core member를 맡게 되었다. GDSC는 작년(2022)에 들어갔던 동아리이자 내가 처음으로 들어간 개발 동아리였다. GDSC를 통해서 정말 좋은 인연들을 많이 만났기 때문에 GDSC에 합격했던 건 대학 생활 중 가장 큰 터닝포인트라고 생각한다. GDSC 4기를 거치면서 정말 많은 경험을 했는데, 내가 참여했던 코틀린 딥다이브 스터디가 우수 스터디에 선정되기도 했고, 100명 규모 행사의 TF로 일하기도 했고, 맴버들 앞에서 세미나도 두 차례 진행했었다. 전부 GDSC 안에서 처음 경험해 본 일이였고 그래서 나에게는 매우 특별한 동아리이다.
GDSC를 거치면서 개발자에게 네트워킹이 정말 중요하다는 것을 알게 되었다. IT 분야는 매우 광범위해서 모든 것을 직접 경험하고 판단하기 어렵기 때문에 아주 작은 인사이트라도 공유받을 수 있으면 큰 도움이 된다. 앞서 말했듯이 나도 4기에서 내 작은 경험을 공유하고자 'SW공학 세미나'와 '이력서 세미나'를 진행했었는데, 꽤 좋은 반응을 얻어서 매우 기뻤던 기억이 난다.
이러한 추억이 있기 때문에 GDSC 5기에는 Core member로 활동하고 싶어서 지원했고, 붙게 되었다! 그때 흥분에 차서 링크드인 포스트를 썼던 것 같다. 2024년 1학기까지 나는 코어 맴버로써 GDSC 서버 파트의 운영 및 교육을 담당하게 된다. 참고로 GDSC 5기 Lead는 나보다도 GDSC에 진심인 친구이다. 진심인 Lead 아래에서 GDSC 5기는 "상호성장, 평등, GDSC First"라는 슬로건과 함께 1년을 보낼 예정이다.
두 번째로, 나는 AWS Cloud Club에 맴버로 지원해 붙었다. ACC는 같이 GDSC Core member였던 선배가 제안해 줘서 지원하게 되었는데, 정말 좋은 사람들을 많이 만날 수 있었다. GDSC와 더불어 개발에 진심인 사람들 (그리고 술도 잘 마시는 사람들)을 새롭게 만났고, 덕분에 나도 많이 성장할 수 있었다.
마지막으로 또 하나 굉장히 중요한 일이 있었다. 바로 졸업 프로젝트의 팀장이 된 것이다. 팀원들은 각각 작년에 수업을 들으면서 만났던 동기와 랩실에서 만났던 선배로 이루어졌는데, 각자 분야가 딱 FE/BE/AI로 맞아 떨어지는 바람에 역할 분담이 명확하게 할 수 있었다. 또한 기획 단계에서도 AI를 적극적으로 도입하는 프로젝트를 자유롭게 구상할 수 있어서 매우 신났었다.
이 세 가지 활동들 덕분에 학교에서 보내는 마지막 1년은 백엔드 및 클라우드에 대해서 집중적으로 공부하는 시간이 될 것 같다. 전부 내년 상반기에 끝나는 활동들이라 더 자세한 내용은 2024 Wrapped 연말결산에 쓰려고 한다.
Oct-Dec : 4학년 1학기를 맞이한 학부생
나는 한 학기를 휴학했었기 때문에 올해 2학기에는 4학년 1학기의 삶을 살게 되었다. 대학에서의 마지막 1년은 졸업 프로젝트, 랩실 생활, GDSC, ACC 등 그 어느 때보다 다양한 활동으로 가득 차게 된 것 같다.
2학기가 들면서 랩실에서는 인공지능 모델을 본격적으로 다루기 시작했다. 이때 파이썬 코드를 정말 많이 짰던 것 같다. 특히 이 시기에 나는 Everything as Code와 같은 접근법이 왜 등장했는지 절실하게 이해하게 되었다. 빅데이터에서 feature를 추출하고, 추출한 feature를 읽어와 모델 훈련을 해야 하는데, 이 과정 하나하나가 데이터 볼륨이 크다보니 많은 시간이 소요된다. CSV 파일 하나 여는 것도 몇 분이 소요되고는 한다.
나는 처음에는 일일 파일을 GUI로 열어서 확인하고는 했다. 그런데 같이 랩실에서 근무하는 대학원생분은 그냥 바로 CSV 파일마다 딱 확인해야 하는 부분만 출력하는 파이썬 코드를 짜시는 것을 보고 내심 충격을 받았다. 이때 IaC(Infrastructure as Code)와 같이 모든 것을 코드로 처리하고자 하는 방법론이 왜 필요한지 직접적으로 느낀 것 같다. feature를 탐색하기 위해 수십 번씩 빅데이터를 처리하고 있다 보면, GUI가 아닌 코드로 처리했을 때 얻을 수 있는 속도 차이를 절실히 느끼게 된다. 온프래미스 환경에서 클라우드의 필요성을 깨달았다면, 빅데이터 처리 과정에서 EaC의 필요성을 깨달을 수 있었다.
졸업 프로젝트에서는 본격적으로 프로젝트 기획을 시작했다. 사실 우리는 처음 기획할 때만 해도 한 학기만에 기획 및 개발까지 전부 끝날 줄 알았는데, 여러 기획안을 탐색하고, 고치고, 갈아엎는 동안 한 학기가 전부 지나갔다. 이 과정에서 발표도 정말 많이 했고, 뜻밖에도 IR 자료 작성이나 엘레베이터 스피치 등 창업 관련 경험도 많이 겪을 수 있었다. 특히 졸업 프로젝트 멘토님을 통해서 기술적인 인사이트 뿐만 아니라, 기업에서 투자를 바라보는 시각이나 기획안을 만드는 법을 배울 수 있었다. 우리 팀의 요청에 시간을 선뜻 내주신 분들을 생각하니, 정말 다시 한 번 감사드리고 싶다.
ICT 인턴십을 진행하면서 가장 신기했던 게 어떻게 다들 회의나 미팅에서 전혀 떨지 않고 자연스럽게 발표하는지였는데, 2학기 내내 정말 많은 발표를 기획하고 진행하다보니 나도 이젠 웬만하면 떨지 않게 된 것 같다. 이 경험을 바탕삼아 내년 1학기에는 좀 더 원활하게 팀을 이끌어나가고 싶다.
2024년은?
2023년의 목표는 '최대한 많은 분야를 시도해 보는 것'이었고, 광범위한 목표였지만 AI/클라우드/백엔드 경험을 통해 어느 정도는 이루었다고 생각한다. 이제 다가오는 2024의 목표는 '개발에 미치는 것'으로 잡고 싶다. 2023년에는 "개발은 해봤으니까 다양한 분야를 경험해 봐야지!"라고 생각했는데, 막상 다양한 분야를 경험에 보니 이젠 개발을 더 잘하고 싶다는 마음이 든다. 2024년에는 스프링 부트와 파이썬을 열심히 공부해 개발을 엄청 잘하는 사람이 되고 싶다.
IT와 관련없는 목표로는 여행을 더 많이 가고 싶다. 에피타를 다녀오면서 세상에는 아직 내가 경험해 볼 게 너무 많다는 사실을 알게 되었다. 세상에 존재하는 모든 장소를 하나씩 알아가고 싶다.
'🎉연말결산 및 잡담' 카테고리의 다른 글
Cathy의 2024 Wrapped 연말결산✨🎉 (2) | 2025.01.01 |
---|---|
1년 동안 진행한 졸업 프로젝트 회고 (0) | 2024.07.24 |