네이버 부스트캠프 10기 수료 회고
시작하며
네이버 부스트캠프 10기 과정은 2주의 베이직, 4주의 챌린지, 그리고 6개월간의 멤버십으로 이어지는 긴 여정이었습니다. 이전에는 회고를 따로 작성하지 않았으나, 부스트캠프를 거치며 '기록과 되돌아봄'이 얼마나 중요한 과정인지 깨닫게 되었습니다. 8개월간의 변화를 담아 전체 회고를 작성해 보고자 합니다.
왜 지원했는가
24년 하반기부터 25년 상반기까지, 저는 사이드 프로젝트를 진행하며 취업을 준비하고 있었습니다. 하지만 이력서와 포트폴리오를 정리할수록 더 어려워졌습니다… 지금까지의 학습이 체계적이지 못했다는 느낌을 지울 수 없었고, 프로젝트 경험 또한 스스로 부족하다고 판단되었습니다.
사실 이전까지는 "부스트캠프 같은 교육 프로그램을 꼭 들어야 할까?"라는 고민도 했습니다. 하지만 학교에서 배우는 전공 지식과 실제 서비스 개발을 위한 지식은 결이 다르다는 것을 깨달았습니다. 그래서, 여러 프로그램을 비교하며 SSAFY나 부스트캠프 등을 찾아봤고, 그중 부스트캠프를 선택한 이유는 독보적인 '자기주도적' 환경 때문이었습니다.
대부분의 교육이 초반에 강사의 강의를 일방적으로 전달하는 방식인 것과 달리, 부스트캠프는 방향만 제시할 뿐 학습의 주체는 온전히 지원자에게 달려 있었습니다. 평소 인터넷 강의에 온전히 집중하지 못하는 저에게는 이 환경이 딱 맞는 것처럼 느껴졌습니다. 다행히 그 진심이 닿았는지 멤버십 과정까지 잘 달려와 수료라는 결실을 맺을 수 있었습니다.
베이직
2주 동안 매일 구현 과제가 주어졌고, 해결한 내용을 동료들과 공유하는 일상의 반복이었습니다. 간단한 구현에서 시작해 점차 복잡해지는 문제를 풀며, 숨겨진 CS 지식과 코드를 연결해 나가는 과정이 흥미로웠습니다. 전공 수업 때 배웠으나 어느덧 희미해진 지식들이 살아있는 코드로 변하는 것을 보며 기본기의 중요성을 다시금 상기할 수 있었습니다.
공유 과정에서는 같은 문제를 두고도 사람마다 얼마나 다른 풀이를 내놓는지 확인할 수 있었습니다. 다만 시간이 지날수록 코드가 길어지고 구현이 벅차지다 보니, 점점 타인의 코드를 깊게 읽는 시간이 줄어들었던 점은 아쉬움으로 남습니다. 다시 돌아간다면 더 열심히 여러 캠퍼분의 코드를 뜯어보았을 텐데 하는 미련이 조금은 남습니다.
챌린지
베이직 미션을 완수하고 문제 해결력 테스트를 통과하면서 챌린지 과정에 합류하게 되었습니다. 4주 동안 매일 CS 지식과 연결된 문제들이 쏟아졌습니다. 베이직과 비교하면 난이도가 급격히 올랐고, 학습해야 할 분량도 압도적이었습니다. 이론으로만 배우고 생략했던 부분들을 직접 구현하며 체득하는 과정은 고통스러우면서도 즐거웠습니다. 문제 해결 그 자체에 매몰되기보다 '요구사항 분석 → 설계 → 구현 → 개선'으로 이어지는 체계적인 사고 과정을 연습할 수 있었습니다.
물론 고비도 있었습니다. 매일 주어지는 분량이 너무 많아 "이걸 정말 6시간 만에 다 하라고?" 싶은 의문이 들기도 했습니다. 마스터분들은 완벽하게 푸는 것보다 학습 과정이 중요하다고 하셨지만, '미션'이라는 이름 앞에 서면 끝까지 해내고 싶은 욕심이 앞섰습니다. 결국 챌린지 후반에는 퇴근 시간을 훌쩍 넘겨 새벽 1시까지 미션에 매달려 있는 저를 발견하곤 했습니다. 잠을 줄여가며 레퍼런스를 탐독하던 그 치열함이 저를 한 단계 더 성장시켰다고 믿습니다.
특히 좋았던 것은 동료들과의 코드 리뷰였습니다. 서로 다른 배경지식을 가진 캠퍼들이 문제에 접근하는 다양한 방식을 보며, "틀린 것이 아니라 다른 것"임을, 그리고 "어떻게 하면 더 좋은 방법이 있을지"를 함께 고민하며 사고의 폭을 넓힐 수 있었습니다.
멤버쉽
챌린지 이후 멤버십 선정 메일을 받았을 때, 기쁨보다 안도감이 앞섰습니다. 부스트캠프에서 얻고 싶었던 것은 단순히 기술적인 성장을 넘어, 아예 모르는 동료들과 부딪히며 겪는 진짜 협업의 경험이었기 때문입니다. 멤버십 과정은 10주의 학습 스프린트와 5주의 그룹 스프린트, 그리고 7주의 최종 그룹 프로젝트로 이어졌습니다.
학습 스프린트와 그룹 스프린트
10주 동안 총 4개의 프로젝트를 개인 과제로 수행하며 매일 동료들과 서로의 코드를 피드백했습니다. 첫 프로젝트에서 "시맨틱 태그를 사용하는 것이 좋다"는 리뷰를 받은 후, 의미 없는 div 대신 태그 하나에도 의미를 담으려 고민했던 사소한 습관부터가 성장의 시작이었습니다.
두 번째 프로젝트에서는 라이브러리 없이 Vanilla JS로 풀스택을 구현하며 프레임워크의 소중함과 내부 원리를 동시에 고민했습니다. 특히 세 번째 프로젝트가 가장 기억에 남습니다. Node.js 기본 라이브러리만으로 웹 서버를 구축하며 Express의 소스코드를 분석해 미들웨어 구조를 직접 설계해 보기도 했습니다. 네 번째 프로젝트에서는 Docker, Nginx, CI/CD 등 인프라를 다루며 안정적인 배포 환경에 대해 깊게 파고들었습니다.
이어진 5주간의 그룹 스프린트에서는 처음으로 웹 소켓을 이용한 실시간 통신 기술을 활용해 보았습니다. 무엇보다 큰 수확은 '협업의 방식'을 배운 것이었습니다. 이전에는 이미 짜여진 시스템 안에서 움직였다면, 이제는 협업의 규칙부터 작업 분배까지 모든 것을 스스로 정하며 비로소 진정한 의미의 협업을 경험할 수 있었습니다.
그룹 프로젝트
Plum 바로가기
이후 7주 동안은 기획부터 개발까지 모든 것을 팀원들과 직접 결정하며 온라인 강의 플랫폼 'Plum'을 개발했습니다. FE 2명, BE 2명으로 팀을 구성하여 "안정적인 대규모 접속 환경 구축"을 최우선 목표로 삼았습니다. 실제 부하 테스트를 통해 우리 서버가 수십 명의 동시 접속을 거뜬히 버텨내는 것을 확인했을 때의 성취감은 지금도 선명합니다.
무엇보다 팀원 운이 정말 좋았습니다. 각자의 분야에 몰입하는 동료들과 풀스택을 지향하는 제가 만나, 단 한 번의 밀림 없이 각자의 업무를 완벽히 수행했습니다. WebRTC, 모니터링, 부하 테스트 등 도전적인 기술들을 적극적으로 채택했고, 덕분에 4순위 기능 일부를 제외한 거의 모든 기획 기능을 성공적으로 구현했습니다. 그룹 프로젝트에 대한 더 자세한 이야기는 추후 별도의 포스팅으로 깊이 있게 다뤄볼 예정입니다.
최종 회고
AI 활용에 대한 생각
네부캠 과정 중 가장 큰 가치관의 변화를 겪은 지점은 AI 활용에 대한 생각이었습니다. 사실 저는 처음에는 AI(LLM) 사용에 대해 일종의 반감을 가지고 있었습니다. 스스로 구글링하고 고민하며 기술의 본질을 파고드는 과정이야말로 진짜 학습이라고 믿었기 때문입니다.
하지만 많은 캠퍼가 AI를 통해 생산성을 비약적으로 높이는 모습을 보며, 변화하는 시대에 AI 활용 능력 또한 개발자의 중요한 역량임을 인정하게 되었습니다. 물론 시행착오도 있었습니다. 한때는 리서치와 구현의 많은 영역을 AI에 맡기다 보니, "정작 내가 고민하는 영역은 어디인가?"라는 회의감이 들기도 했습니다. 결국 제가 내린 결론은 "사고는 내가 하고, AI는 조력자로 활용하자"는 것이었습니다. 문제 해결을 위한 알고리즘과 구조 설계는 오롯이 제 머리로 고민하되, AI는 레퍼런스 탐색이나 문서 정리, 코드 리뷰 전 실수를 점검하는 용도로 제한했습니다. 기술의 핵심은 항상 공식 문서를 통해 교차 검증하며 제 성장을 놓치지 않으려 노력했습니다.
학습과 구현의 밸런스
과정 내내 저를 괴롭혔던 화두는 '학습과 구현의 균형'이었습니다. 학습에 몰입하다 구현을 놓치거나, 반대로 구현에만 매몰되어 코드만 찍어내는 상황 사이에서 갈등이 많았습니다. 그때 한 시니어 개발자분께서 해주신 "개발자는 결국 결과로 본인을 증명해야 하며, 학습의 최종 결과물은 곧 구현이다"라는 말씀이 큰 울림으로 다가왔습니다.
기술을 단순히 아는 것에 그치지 않고 실제 서비스에 녹여낼 수 있을 때 비로소 내 지식이 된다는 사실을 깨달았습니다. 덕분에 A-to-Z로 완벽히 공부한 뒤 시작하기보다, 구현과 학습을 반복하며 결과물을 만들어내는 리듬을 익힐 수 있었습니다.
근거 있는 개발
네부캠을 통해 얻은 또 다른 수확은 '근거 있는 선택'의 중요성입니다. 이전에는 단순히 유명하거나 많이 쓰이는 기술 스택을 관성적으로 선택하곤 했습니다. 하지만 이제는 "왜 이 기술인가?", "다른 대안은 없었는가?"라는 질문에 스스로 답할 수 있어야 함을 압니다. 현재 마주한 문제를 해결하기 위한 최적의 해결책을 고민하는 과정이 곧 개발자의 전문성이라는 것을 배웠습니다.
동료 피드백
네부캠 활동을 하며 가장 의미 있었던 경험 중 하나는 총 14번에 걸쳐 진행된 '동료 피드백' 시간이었습니다. 함께 프로젝트를 수행한 캠퍼들과 서로의 장단점을 가감 없이 나누는 과정이었는데, 이를 통해 제가 평소에 인지하지 못했던 저의 모습들을 객관적으로 마주할 수 있었습니다.
내가 발견한 나의 강점 동료들이 꼽아준 저의 좋은 점들은 주로 '기본기에 충실한 태도'와 '공유 정신'이었습니다.
- 학습의 깊이: 단순히 기능을 구현하는 데 그치지 않고, 공식 문서와 내부 소스 코드를 집요하게 파헤치며 학습하는 모습이 팀원들에게 긍정적인 자극이 되었다는 피드백을 받았습니다.
- 인사이트 공유: 다양한 활동을 통해 쌓은 경험을 바탕으로, 협업 과정에서 실질적인 도움을 주는 아이디어나 경험을 자연스럽게 공유하려 노력했던 점도 좋게 평가받았습니다.
- 설계의 체계성: 요구사항을 분석하고 이를 바탕으로 탄탄한 설계를 구축하는 과정에서 팀원들에게 신뢰를 줄 수 있었습니다. 지식을 혼자만 아는 것이 아니라 팀의 자산으로 만드는 과정이 제게도 큰 즐거움이었습니다.
성장의 밑거름이 된 아쉬운 점 반면, 뼈아프지만 꼭 필요했던 조언들도 있었습니다.
- 경험의 틀을 깨는 시도: 익숙한 방식을 바탕으로 빠르게 구현하는 것도 좋지만, 때로는 새로운 기술이나 색다른 접근 방식을 시도해 보는 유연함이 더해지면 좋겠다는 의견이 있었습니다.
- 문서화의 디테일: Pull Request 문서를 작성할 때 '무엇을' 했는지는 명확하지만, '왜' 이런 방향성을 택했는지, 어떤 고민과 시도가 있었는지에 대한 기록이 부족하다는 지적을 받았습니다. 개발자는 코드로 말하지만, 협업자는 문서로 소통한다는 사실을 다시금 깨닫게 된 계기였습니다.
- 매니징 역량: 시간과 작업량 관리 측면에서 효율을 더 높인다면 능률이 훨씬 좋아질 것 같다는 조언도 있었습니다. 열정만으로 달리기보다 페이스 조절의 중요성을 배울 수 있었습니다.
이러한 피드백들은 저에게 단순한 평가 이상의 가치가 있었습니다. 아쉬운 점으로 지적받은 부분들을 개선하기 위해 PR 문서에 고민의 흔적을 담으려 노력했고, 작업 단위를 쪼개 스케줄을 관리하는 연습을 반복했습니다. 과정 후반부로 갈수록 해당 부분에 대한 아쉬운 피드백이 줄어드는 것을 보며, 동료들과 함께 성장한다는 것의 진정한 의미를 깨달았습니다.
마치며
8개월 전의 저와 지금의 저를 비교해 보면 기술적인 실력도 많이 쌓였지만, 그보다 더 값진 것은 스스로 체감할 수 있었던 '비개발적인 성장'이었습니다. 단순히 코드를 짜는 법을 넘어, 협업에서 어떤 태도를 지향해야 하는지, AI라는 거대한 도구를 어떻게 내 것으로 길들일 것인지, 그리고 나에게 가장 효율적인 학습 리듬은 무엇인지를 찾을 수 있었던 귀한 시간이었습니다.
공식적인 과정은 이제 막을 내렸지만, 저는 이제야 진짜 시작점에 섰다고 생각합니다. 네부캠이라는 울타리를 벗어나 다시 한번 취업 시장이라는 거친 전선에 뛰어들 준비를 하려 합니다. 우선은 그동안 바쁘다는 핑계로 미뤄두었던 학습 부채들을 하나씩 정리할 계획입니다. 가장 먼저 '모던 자바스크립트 Deep Dive'를 완독하며 기본기를 더 단단히 다지고, 마지막 프로젝트인 'Plum' 역시 팀원들과 함께 더 완성도 있게 고도화해보려 합니다.
더 이상의 체크아웃은 없지만, 네부캠 활동을 돌아보며 앞으로도 지속 가능한 개발자로 살아남을 수 있도록 계속 나아가자! 내부캠 10기를 함께한 모든 캠퍼분들 고생하셨습니다!
Comments (0)
댓글을 불러오는 중...