2023.08.02에 수료하고 회고를 빨리 하고 싶었는데 오랜만에 휴식을 취하며 쉬는데 어느순간 학교는 개강했고... 한 달이 지난 시점에서 오늘 수료후기(?), 회고(?)를 적게 되었다. 이 글에서는 왜 내가 네이버 부스트캠프 AI Tech을 선택했고 전체적으로 어떤 생활을 했는지, 어떤 것을 느꼈는지에 대해서 정리하려고 한다.
0. 나 같은 비전공자는 어디서 경험을...
거의 매주 금요일에 만나는 스페셜 피어세션에서 우리 팀이 아닌 다른 캠퍼분들을 만났을 때 전공을 소개하면 누구보다 항상 주목을 받는 편이었다. 내 전공이 '비전공자 of 비전공자'라고 볼 수 있을 정도로 쉽게 볼 수 있는 전공은 아니라서 "항상 어떻게 오셨냐, 어떻게 공부하셨냐?, 여기를 선택한 이유가 있었느냐?" 등의 질문을 항상 받았다. 이 질문 외에도 어떻게 프로그래밍에 입문하게 되었는지에 대한 질문도 많이 받았는데 이것은 나중에 기회가 된다면 적어 보겠다.
나는 특수 목적 대학교를 다녀 프로그래밍 경험을 쌓기가 쉽지 않았다. 특수 목적 대학교이다보니 일반종합대와 달리 복수전공을 할 수도 없고 강의는 의무교육으로 국가에서 정한, 4학년 때까지의 커리큘럼이 있었다. 그래도 AI덕분에 코딩교육이 주목을 받게 되어서 학교에서 (의미 없는 수준의..) 스크래치나 엔트리를 활용한 수업은 들을 수 있었고 공부하고 싶은 내용은 관련 책, 유튜브, 인프런에서 많은 도움을 받았다.
'프로그래밍'은 아무런 인프라가 없는 나도 쉽게 배울 수 있을 정도로 접근성이 뛰어났지만 나와 같이, 함께 공부하는 '동료'를 얻거나 동료를 얻을 수 있는 '기회'를 얻는 것은 매우 힘들었다. 홀로 공부에 지루함을 느끼던 찰나에 나에게 부족한 것을 채우기 위해서 그때부터 대외활동들을 찾아보았지만... '서울'지역 못해도 '수도권' 학생을 모집하는 경우가 많더라.. 아무래도 만나는 지역이 서울이다 보니 그런 것 같았다. 또 자기소개서를 쓰는데 프로젝트 경험, 협업 경험을 항상 물어보는...당시 생각을 하면 눈물이!!! (실력을 입증할 것도 없었을 때라 합격하기 쉽지 않았던 것 같다.ㅜㅜ)
약간의 좌절감을 느끼며...그 와중에도 혼자 계속 공부를 이어나가고 있던 어느 날.. 네이버부스트캠프 AI Tech 광고를 프로그래머스(?)에서 봤던 것 같다. 대기업에서 하는건 싸피밖에 몰라서 당시 네이버라는 이름이 붙은 부트캠프를 있는 게 되게 신기했다. (이런 느낌의 광고..)
유행에 편승해서 텐서플로우를 깔짝 사용한 경험만 있던 나에게 'AI Tech'라는 점이 조금 마음에 걸렸다. 아직 내가 무엇을 해야 할지? 어떤 진로로 나아가야 할지 생각한 적이 없었고 대회가 아닌 합불이 결정되는 외부 코딩테스트는 처음 봐 내가 이것을 쓰는 것이 맞을까라는 고민을 많이 했다.
그래도 후기를 찾아보니까 나에게 부족한 점을 많이 채울 수 있는 교육과정이라고 생각이 들었다. 비록 오프라인에서 만나지는 않지만 '최고의 동료와 함께 이전에 없던 성장을 향해'라는 콘셉트가 마음에 들었다. 거기다가 멘토링, 프로젝트 경험... 모두 경험해보고 싶었던 것들... 이 활동을 하고 나면 나도 동료가 생기고 협업을 해볼 수 있겠구나! 드디어 자기소개서에 쓸 말이 생기는가!라는 행복한 상상을 하며 기회를 꼭 잡고 싶었다. 주어진 프리코스 열심히 정리했고 시험 준비를 위한 알고리즘 공부도 했다.
결과적으로 서류와 1차 코딩테스트, AI역량검사 통과하고 2차 코딩테스트도 평소에 알고리즘을 꾸준히 풀었던 덕분에 수월하게 통과해 입과 하게 되었다.
1. 각 레벨 별 생활 & 약간의 소감
1-1) LEVEL 1 : 첫 팀과 첫 대회( ~ 2023.04.30)
★LEVEL1 : 그라운드 룰 + AI 기초 이론 + Pytorch 사용법 + 기초 대회★
그라운드 룰: Level1의 팀은 운영진이 랜덤으로 배정해 주며 그 팀과 1개월 동안 함께하며 첫 번째 대회를 진행하고 헤어지게 된다. 각 팀은 처음에 그라운드 룰을 설정하게 하면서 서로에 대한 호칭 정리부터 피어세션(오후 4시 ~5시)에 무엇을 할지 결정한다. 논문 읽기, 코딩테스트 준비하기 등 팀마다 다양했는데 우리 팀은 강의 내용을 복습하면서 면접 준비도 할 수 있도록 강의 내용 기반으로 면접 질문을 만들어서 모의 면접을 했다. 팀에 면접을 경험이 많으신 형님이 계셔서 면접 방식 등에 대해서 많은 도움을 받았었다.
AI 기초이론 & Pytorch 사용법: Level1 때는 AI기초교육, Pytorch사용법 등을 배우게 된다. ~2주까지는 기존 프리코스에서 들었던 강의 + @ 라서 부담이 덜하지만 그 후부터 과제가 아주 많아진다. 부덕이..ㅂㄷㅂㄷ!! 이 때 Pytorch 사용법에 어느정도 익숙해져야 대회 때 어려움이 덜 하다. AI기초는 실제로는 많은 양을 공부해야하지만 시간상 학부강의처럼 자세하게 파고들지는 못하는 점이 있다. 관심이 있거나 더 공부하고 싶은게 있다면 시간을 내서 해야한다.
기초대회: 각 대회가 끝나고 Wrap-Report를 써서 대회에 대한 자세한 회고보다는 첫 번째 대회에서 크게 느꼈던 점을 간단하게 말하면...팀 단위의 프로젝트를 할 때 실력도 중요하지만 소프트 스킬이 매우 중요하다는 것을 아주 크게 느꼈다.
모두 적극적으로 자신의 의견을 어필하다 보니 작은 의견 충돌도 많이 있었다. 실제로 리더보드 결과를 보기 전까지는 우리가 생각했던 것이 맞는지 틀린지 알 수가 없어 의견이 쉽게 합쳐지지 않았다. 당시 나는 당시 데이터를 다루는 역할을 맡아서 다양한 시도를 해야했고 왜 시도를 하는가에 대해서 팀원을 설득해야 했다. 문제는 쉽게 설득이 되지 않는 경우가 있었고 이를 해결하기 위해서 내가 채택한 방식은 결과를 가지고 설득하는 방법이었다. 다행히 네부캠에서는 인당 V100을 제공, 자원은 충분해서 '선설득 → 실패 → 시도 후 결과 공유' 프로세스를 채택했다.
나의 제안이 항상 좋은 결과로 이어지지는 않았지만 몇 가지 제안으로 리더보드 상위권을 찍기도 했었다. 그래서 나는 말보다는 결과를 가지고 상대방을 설득하는 방법에 긍정적이지만 혹시 내가 상대방의 생각을 무시하고 진행하는 것이 기분이 나쁠 수도 있지 않을까라는 생각도 동시에 했었다. 정답은 아직도 모르겠지만 좋은 커뮤니케이션?, 소통방식?은 무엇일까라는 고민을 하게 됐다.
1-2) LEVEL 2 : 새로운 팀과의 만남(~2023.06.30)
★LEVEL2 : 팀구성(레벨1 기간 중) + 트랙별 이론 기초 + 대회 2 - 3개★
팀 구성: 레벨 1 대회기간 중에 레벨 2~레벨 3까지 함께 할 팀을 직접 구해야 한다. 팀마다 다르지만 팀원 모두가 헤어지는 경우가 대부분이다. 그래서 모두 팀을 구하는데 아주 적극적이다. 생각보다 팀을 구하는 게 아주 아주 아주 아주!!! 빨리 이루어진다. '구인구팀데이'가 마련되지만 팀을 구해야 한다는 공지가 올라오는 그 주의 주말, 그 다음 주 월~화요일까지 90% 이상 팀이 구성되니 원하는 사람이 있으면 반드시 적극적으로 DM을 보내도록 해야 한다. 아무래도 최종 프로젝트 주제나 관심있는 AI분야로 결정되는 경우가 많다. 부끄러워하지 말고 적극적으로 보내는 게 제일 중요하다!
트랙별 이론 기초 및 대회: 트랙별 이론 기초에 대해서 공부하고 각 이론에 대한 대회를 진행한다. 그런데 레벨 2부터는 바로 대회기간인데 기초 강의도 물론 같이 올라온다. 그래서 여기서 팀마다 대회 진행 방식이 달라진다. 가령 대회기간이 3주일이라고 하면 우리 팀은 1주일은 강의를 듣고 나머지 2주일은 대회를 진행하는 방식을 채택했다. 대회는 레벨 1 때 경험을 해서 모두 수월하게 진행하게 되니 큰 걱정은 안 해도 된다.
하지만 대회보다 문제가 레벨 2부터는 체력이다. 실험을 하다 보면 결과를 보고 자려고 늦게 자는 경우가 허다해지고 연속된 대회로 피로가 누적되어 아침에 늦잠을 자거나 밤낮이 바뀌는 경우가 꽤나 많다. 초반이 사실 제일 시간이 여유롭다. 만약 그 때부터 운동을 시작하지 않으면 부캠 생활 내내 운동하기가 쉽지가 않다. 다른 후기도 운동 중요하다고 강조하시던데 그 이유를 몸소 체험해 보니 알게 되었다. 꼭 운동을 했으면 좋겠다.
1-3) LEVEL 3 : 나의 첫 프로젝트(~2023.07.28)
★LEVEL3 :프로젝트 아이디어 기획(레벨2 기간 중) + Product Serving 이론 + 프로젝트 & 현직자 피드백 + 수료★
프로젝트 아이디어 기획: 원래 레벨 3기간이 프로젝트를 하는 기간이다. 그런데 한 달이 되지 않아 대부분의 팀들이 마지막 대회와 병행하거나 마지막 대회는 포기하거나 몇 명은 대회, 몇 명은 프로젝트 진행을 시키는 등 다양한 방식으로 프로젝트를 먼저 진행한다. 우리 팀의 경우도 미리 진행을 했는데 공통의 관심사로 모였는데 실제 어떤 서비스를 개발할지, 어떤 기술 스택이 필요한지, 어떤 모델을 사용할지 등등 논의를 하는데 거의 3주 이상의 시간을 사용했다.
Product Serving 이론: 백엔드를 위한 FastAPI강의, 도커(이번 기수에서는 미리 땡겨들었지만 원래는 레벨3 때 들었다고 함), BentoML, Airflow 등 아주 강의가 많이 올라온다. 나의 경우는 프로젝트 기간에 정말 많이 바빠서 강의는 필요한 부분만 취사선택해서 들었다. 수료이후에도 한 달 동안 강의를 볼 수 있으니 어느 것에 더 몰입할지는 개인이 선택하면 된다.
현직자 피드백: 레벨 3 중간(07.18)에 업 스테이지 CTO 이 활석 님의 현직자 피드백 시간이 존재한다. 우리 팀은 아이디어 기획에 시간을 많이 쓴 편이라 프로젝트 진행 상황이 조금 더딘 편이었는데 배수진 전략(경각심을 갖기 위해서?)으로 현직자 피드백을 신청하기로 했다. 그때까지 어떻게든 각 아이디어에 대한 데모는 모두 만들어서 평가받자는 마인드였다. 참고로 현직자 피드백은 선착순으로 각 트랙 별 1팀씩 밖에 뽑지 않기 때문에 생각보다 경쟁이 치열하다. 정말 운 좋게 우리 팀이 선착순 안에 들어서 발표를 하게 되었다.
각 아이디어를 서비스로 엮어서 전체 서비스 구조를 그리는 일이 내 업무 중 하나였다. 그래서 각 역할을 맡은 팀원과 자주 소통을 하다 보니 전체 서비스의 흐름에 대해서 잘 파악했고 자세하게 알았고 학과 특성상 수업도 발표라고 하면 정말 발표를 많이 하기도 해서, 프로젝트 기간에 발표는 내가 담당했었다.
사실 내가 지원했지만 많이 떨었다. 나름 학과에서는 수업 잘한다고 이야기 듣는데 아무래도 내 전공이 아니다 보니까 자신감도 없기도 했고 잘하는 사람이 정말 많으셔서 분명 마음속으로 나도 모르게 많은 비교를 하고 있었던 것 같다. 또 내가 40명~50명 정도 되는 수업은 해보았지만 250명이나 되는 성인들 앞에서 발표를 해본 경험은 처음이라서 ㅎㅎ 준비를 많이 했지만 지금 보면 참 너무 딱딱하게 발표하지 않았나라는 생각이 든다.
하지만 누군가가 그래서 후회하냐!라고 물어보면 전혀 아니다. 누군가에게는 단순한 발표이겠지만 나에게는 매우 의미가 크다. 자신감이 없던 내가 큰 자신감을 얻을 수 있는 기회이자 우리의 서비스를 모두에게 소개할 수 있는 아주 좋은 기회로 이 글을 읽은 누군가는 꼭 현직자 피드백을 신청하길 바란다.
최종 프로젝트: 프로젝트 기간(07.01~07.28)은 생각보다 매우 짧아서 진짜 바쁘다. 그리고 마지막 주는 멘토님의 피드백과 7월 28일까지 최종 발표 영상 및 서비스를 완료해야 하기에 실질적으로 3주밖에 되지 않는다. 위에도 언급했지만 레벨 2부터 시작하는 것을 추천하고 Product Serving 이론 강의를 어떻게 수강할 것인가도 계획을 잘 세우는 것이 중요하다.
7월 28일 정오까지 최종 프로젝트 발표영상, 관련 노션, 깃허브를 모두 정리해서 제출해야 해서 기수마다 정확한 일정은 다르겠지만 레벨 3의 마지막 주에는 거의 프로젝트를 못한다는 것을 꼭꼭 염두해야 한다.
참고로 프로젝트에 정해진 기술스택은 없다. 할 수 있는 것으로 하면 되는데 프로젝트 기간이 짧아 백은 빠르게 구현할 수 있는 FastAPI를 주로 사용하는 것 같았고, 프론트는 React, Streamlit, Gradio를 사용했던 것 같다.
수료식: 수료식날 행사는 Zep에서 진행되고, 2가지가 있는데 첫 번째는 우리 프로젝트를 소개하는 것이고, 두 번째는 '컴퍼니데이'라고 해서 레벨 3 중간즈음에 채용 관련 설명 듣고 싶은 회사를 고르라고 하는데 그때 골랐던 기업 인사 담당자님과 이야기하는 시간을 갖는다.
우리가 제출했던 최종 프로젝트 발표영상, 관련 노션은 다른 캠퍼님들이 보시고 사용평가를 남겨주시기도 하고 기업 관계자분들이 보시고 질문을 하기도 한다.
컴퍼니데이는 음... 기억이 잘 안 나는데 한 회사당 30분 했고 기업의 인사담당자님과 기술 팀장님이 오시는 경우가 많은 것 같다. 진행은 Zep에 내가 예약한 시간에 예약한 회사 구역으로 가면 되는데 1 대 1은 아니고 같은 시간에 예약한 캠퍼들과 다 같이 듣게 된다. 인기가 많은 회사는 Zep에서 하지 않고 따로 줌을 판다. 아무튼 사람이 많다 보니 자신이 원하는 회사가 있을 때 적극적으로 질문을 하지 않으면 흐지부지하게 끝날 수 있으니 준비를 해야 한다.
이렇게 두 행사가 지나면 수료식을 하고 5개월의 대장정을 마무리하게 된다.
2. 전체 소감
글에 대한 소감
이것보다 내가 지금 쓴 것보다 사실 훨씬 많은 내용이 존재한다. 당장 생각나는 게 오피스아워, 멘토링, 두런두런, 스페셜 피어세션, 부캠 라디오, 백일장, 이력서 특강 및 피드백,... 성격상 자세하게 쓰고 싶긴 한데 한 달 전인데 프로젝트에 너무 기운을 쏟아서 그랬나.. 디테일하게 전부 기억나지는 않아도 굵직한 것들은 꽤 자세하게 쓴 것 같다. 블로그는 초등학교 때 진짜 열심히 했는데 그 이후로는 처음 해보는 거라 살짝 떨리기지만 한 명이라도 도움이 된다면 좋겠다. 나도 도움을 많이 받아서 그런 마음이 더 큰 것 같다.
글은 점점 쓰면서 나아지지 않을까 ㅎㅎ 이번 학기에 듣는 수업 중에 작가 교수님이 계시는데 글도 많이 쓰면 늘어나니까 꾸준히 쓰라고 하셨다. 이왕 블로그 시작한 거 이것도 꾸준히 키워보고 싶다.
네이버 부스트캠프 AI Tech에 대한 소감
멘토링에 대해서도 좀 쓰고 싶었는데, 내가 생각하기에 멘토링이 부캠의 꽃 중 하나다. 대학원생 멘토님, 현직에 계신 멘토님들, 각양각색의 멘토님들이 매주 여러분을 이끌어 주고 다양한 궁금증을 잘 해결해 주시고 그러니 잘 이용했으면 좋겠다.
AI경진대회 이야기를 아주 조금만 하자면 사람이 처음에는 순위보다는 공부에 집중을 하다가 리더보드에서 상위권을 딱 찍어버리는 그 순간 이제부터 사실 엄청 힘들어진다. 밑에서 올라오는 사람들을 전부 방어해야하기 때문에 순위에 결국 집착하는 내 모습을 보며 썩 좋지는 않았다. 사실 뭐를 만들고 싶어서 이 길이 재밌겠다고 생각한 건데 대회는 그런 생각을 아주 말끔하게 날려준 그런 계기가 되었다. 그래서 가면 갈수록 재미가 없더라.
프로젝트를 위해서 FastAPI 관련 백엔드 책 하나 구매해서 공부하면서, 팀원들에게 내 아이디어를 설명하고 설득시켜야 해서 Miro로 구조를 진짜 엄청나게 그렸다. 블랙박스 AI처럼 결과가 나올 때까지 기다릴 필요 없이 착착 내가 원하는 대로 컨트롤할 수 있는 게 또 매력적이더라. 그래서 AI를 이용한 서비스를 만드는 게 더 재밌을지도?!?!라는 생각을 해서 자연스레 백엔드에 관심을 가지게 만들어준 계기가 바로.. AI 경진대회!!
학습정리에 대해서 생각해보면..4~6주까지는 열심히 정리했는데 그 이후에는 쉽게 정리하기가 힘들었다. 학습밀도가 너무 높아져서 사실 전부 정리하기는 쉽지 않았다. 당시 깃허브에 정리를 했는데 내가 모르는 것, 아는 것을 구분하지 않고 그냥 모든 내용을 정리하니까 당연히 시간은 많이 가고..정리는 소홀해졌다. 그 이후부터는 패드에 정리했는데;;
아무튼 내가 모르는 것, 어려운 것을 정확히 구분해서 정리하지 않으면 정리가 쉽지 않다는 것을 알아서 학습을 할 때 그 부분을 정확하게 판단해야할 것 같다.
→ 정리: 좋은 팀원, 멘토님을 만날 수 있었던 좋은 기회, 긴 프로젝트는 아니지만 누군가에게 말할 수 있는 프로젝트를 해본 경험, 학습의 밀도있는 곳에서 학습 방법 재점검, 나는 AI 경진대회는 재미없고 힘들지만 대회에 관심이 있다면 부캠 나쁘지 않을지도?..
'회고' 카테고리의 다른 글
[한전kdn] 1차 PT면접 회고 (0) | 2024.05.01 |
---|