지난 2월 12일에 7개월 동안 진행했던 부스트캠프를 수료했다.
더 늦기 전에 최종회고를 남긴다.
아마 기대하는 후기와 다르게 다소 감성적인 이야기가 많을 수도 있다.
부스트캠프 이전 내 상태는 무엇을 모르는지조차 모르는 상태였다.
지식이 파편적으로 있었고, 작년 4월 첫 면접에서 여실히 드러났다.
트랜스포머를 설명하라는 아주 기초적인 질문이었는데, 제대로 대답하지 못했다.
그 기억이 아직도 생생하게 나서 알고 있는 키워드를 체계적으로 잡는 것에 혈안이 됐었다.
부스트캠프가 끝난 시점에서 돌이켜 보면 트리 구조로 깊어지는 키워드와 개념이 정리되지 않은 상태였다.
작년 7월에 작성한 부스트캠프 합격 후기를 다시 읽어보니 이런 구절이 있었다.
내가 직접 움직이고, 매일 아주 조금씩 거북이처럼 성장하자.
그때의 나는 성장에 목말랐지만, 번아웃이 오길 두려워했었다.
그와 별개로 처음 만났던 팀원들, 부스트캠프에서 만난 다른 캠퍼들에게 나는 협업 경험을 쌓고자 참여했다고 소개했다.
그 당시 내가 어필한 부분 중에 협업 경험이 부족했기 때문이었다.
위 두 가지에서 지금 느끼는 점은 각각 다음과 같다.
10월부터 한 달 동안 현타가 쎄게 왔다.
내가 여기서 뭐 하고 있는지, 내가 뭘 원하는지 가늠이 안 됐다.
그때야 내가 무엇을 원하는 건지, 무엇이 부족한지 깨달을 수 있었다.
아마 velog보다는 네이버 블로그에 써야 더 적절한 내용이겠지만,
그냥 내면 경험과 인사이트를 공유하면 이렇게 정리할 수 있겠다.
완벽할 수는 없다. 완벽한 준비 후 도전은 더더욱 있을 수 없다.
그래서 지금 부스트캠프가 끝나고 진짜 취준으로 들어가기 전에 스스로 다시 결심했다.
그냥 해보자고.
강의는 주차 별로 진행됐다.
주차 별 마지막 날은 개인/팀 회고와 퀴즈, 과제 마감일이었다.
초반에는 먼저 빨리 진도를 나가고 나머지 시간에 다른 걸 했는데, 진도가 나갈수록 벼락치기로 제출한 게 아쉽다.
초반부터 트랙별 세부 개념으로 들어간다.
NLP의 경우에는 word2vec, seq2seq, attention, transformer 등 기초 자연어 처리를 1주 만에 진도를 나가 당황했다.
그 이후에는 프로젝트를 병행하면서 LLM과 밀접하게 관련된 내용을 배운다.
프로젝트 4개를 연달아서 마무리 지은 후, 서빙과 좀 더 최근에 가까운 내용을 배운다.
서빙은 FastAPI와 Airflow를 배웠는데, 이 부분이 가장 재미있었다.
최신 트랜드에서 소개한 LLM-as-judge나 Agent 관련 내용도 재미있게 공부했다.
프로젝트는 기업 해커톤까지 포함해서 총 5번 이루어진다.
앞선 4개 프로젝트는 대회 형식 프로젝트로 주어진 시간과 데이터로 성능을 끌어올리는 프로젝트이다.
4번째 프로젝트인 수능형 문제 풀이 모델 개발 프로젝트를 제외하면 유료 API 제한이 있어 허깅페이스에서 모델을 로드해야 한다.
프로젝트를 하면서 협업 컨벤션이나 git을 활용하는 방법을 정말 많이 알게 되었다.
PR과 이슈를 어떻게 작성해야 하는지도 많이 배웠고, 다른 팀에서 업스테이지 서버와 노션을 연동하고 Jira를 극한으로 활용하는 모습은 정말 놀라웠다.
나는 멘토링이 가장 유익했다.
이건 팀마다 상황이 다른 것 같은데, 멘토님의 성향과 팀의 성향이 맞는 것도 중요하고 살짝 운도 있는 것 같다.
다른 팀의 이야기를 들어보면 마음에 들어 하지 않는 팀도 있었다.
첫 멘토님께서는 처음 부스트캠프 멘토를 맡으셨는데, 우리 팀에게 정말 많은 것을 알려주시고자 했다.
두 번째 멘토님은 캠퍼 출신인 만큼 우리의 상황을 잘 이해해 주셨고 최대한 캠퍼의 입장에서 설명해 주셨다.
세 번째 멘토님은 기술적으로나 현실적으로 조언을 많이 주셨는데, 기업 해커톤을 진행하면서 세 번째 멘토님이 해주신 조언이 큰 보탬이 됐다.
부스트캠프 초반에 조금 나댔다.
MLOps 스터디 커리큘럼을 만들어서 운영해 보기도 했고,
괜히 250명 앞에서 준비 덜 된 채로, 즉흥적으로 발표하기도 했다.
나 자신을 알려야 한다는 생각도 있었고, 최대한 많이 도전해 보려는 나름의 노력이었다.
부스트캠프 초반 2개월에서 나는 스스로를 드러나고자 도전했다.
이후 프로젝트에 들어가면서 나는 팀원들에게 목표를 설정하고 거기에 맞춰서 움직이자고 주장했다.
정말로 고맙게도 그다음 프로젝트에서 팀원들은 내 말을 들어 주었다.
베이스라인 코드가 어렵고 복잡하다고 생각해, 다시 베이스라인 코드를 구상하는 데 많은 시간을 보냈고, 실험을 거의 진행하지 못했다.
돌이켜보면 다른 방법이 있었을 것 같은데, 섣불렀다.
그 이후 팀 결성을 하면서 다른 팀에서 여러 사람들을 만났다.
만나는 사람들에게 나는 어떤 생각을 가지고 팀장으로서 팀을 이끌 것인지 말했다.
정말 운이 좋게도 좋은 동료와 함께 할 수 있었다.
부스트캠프 중간에서 나는 팀을 주도하고자 도전했다.
하지만, 이 도전은 독단적이라고 생각이 들어 아쉽다.
새로운 팀을 꾸리고 나는 내 한계를 명확하게 알게 됐다.
부스트캠프 초반부터 느꼈는데, 겉돈다고 느껴졌다.
말로 설명할 수 없이 다른 사람들과 벽으로 가로막힌 느낌이 들었다.
그 이유는 내 한계에 있었다.
마지막 리더보드 프로젝트가 끝나고 다 같이 팀 회고를 하는데, 내 의도가 무엇인지 파악하기 힘들었다는 피드백이 왔다.
단어 선택이 추상적이고 어렵다는 피드백도 들어왔었다.
그제야 내가 왜 초반부터 겉돌았는지, 이해가 됐다.
부스트캠프 들어오기 전, 내 소통 방식은 느낌 전달에 많이 의존했다.
의미는 각자 파악하는 것으로 생각했고, 그 진의는 느낌이라고 생각했다.
음악을 오래 해 생각이 그쪽으로 굳어있어 그러지 않았나 싶다.
개발자들이 원하는 커뮤니케이션 방식, 더 나아가서 사회에서 원하는 커뮤니케이션은 느낌보다는 의미에 가깝다는 생각이 든다.
상대가 무엇을 원하는지, 최대한 정확하게 짚으려고 노력했고, 아직 많이 미숙하지만 소통 방식을 많이 바꿨다.
부스트캠프 막바지에서 나는 소통 방식을 바꾸고자 도전했다.
우선, 첫날부터 마지막 날까지 일별 회고록을 작성했다!
사실 해커톤 기간에는 너무 정신이 없어서 몰아서 쓰기도 했다.
회고록이 유의미해지려면 내가 잘 못 했거나 잘했던 경험이 쌓여서 돌아볼 수 있어야 하는데, 일기에 가까워졌다.
특히, 내가 감정적으로 힘들었던 시기에는 업무 기록이 아닌 감상평에 가까웠다.
일별 회고록을 첫날부터 마지막 날까지 쓴 것은 스스로 기특하지만, 회고록으로써 효용이 있는지는 살짝 아쉽다.
회고록을 짧게라도 잘 쓰기 위한 방법을 다시 고민해야겠다.
그리고 논문 스터디가 정말 인상 깊었다.
3주 동안 7개의 논문을 리뷰했다.
그중 T5 논문은 60페이지가 넘어가서 아주 간단하게만 훑었고, 나머지 논문은 처음부터 끝까지 정독했다.
확실히 논문을 읽는 속도가 달라졌다.
LLM의 기초 논문부터 흐름을 가지고 읽으니, 키워드나 표현이 많이 겹치기도 하고 자세히 모르는 개념이지만, 어떻게 활용되는 개념인지 파악이 됐다.
1월 초에 끝난 논문 리뷰이지만, Agent 쪽으로 큰 흐름을 잡고 논문을 읽어야겠다.
이제 3월이 되면 다시 채용 시장이 열릴 것으로 보인다.
하지만 여기저기에서 작년보다 구직 시장이 더 어려울 거라고 한다.
당장 내가 해야 하는 것, 하고 싶은 것을 하나씩 성취하면서
그냥 개발하는 것 자체를 즐겨보고 싶다.
어쨌든 재밌어 보여서 선택했고, 재미없는 순간도 많았지만, 재밌었던 순간도 많았기에!
수료식 때 프로질문러상 받았는데, 이전 팀원이 추천했는데 될 줄 몰랐다고 한다ㅋㅋㅋ