김지효

네이버 부스트캠프 웹모바일 10기 수료 후기 — 7개월간의 성장 기록

회고네이버부스트캠프

들어가며

군대를 전역하고 세상을 둘러보니 많이 바뀌어 있었다.

내 주변 개발자들은 Cursor와 Claude로 바이브 코딩을 하고 있었다. 나는 군대에서 개발병으로 복무하며, 인터넷도 안 되는 환경에서, 세상이 그렇게 바뀌어가는 줄도 모르고 직접 키보드를 두드리며 개발했다.

취업 시장도 입대 전과 후로 많이 달라져 있었다.

입대 전에는 회사들에서 먼저 나를 찾았다. 면접 보러 오라며. 전역 한 달 전, 사회로 돌아가기 위해 가고 싶은 회사들에 이력서를 돌렸다. 모조리 서류 탈락했다.

돌이켜보면 그때의 나는 "무식하면 용감하다"에 딱 맞는 사람이었다.

내가 목표하는 회사의 개발자들은 어떤 이력을 갖고 있는지 살펴봤다. 많은 분들이 네이버 부스트캠프 웹·모바일 과정을 수료했다.

그래서 부스트캠프를 더 찾아봤다.

기술이 대체할 수 없는 인공지능 시대의 서비스 개발자

부스트캠프 랜딩페이지에 적혀 있던 문구다. 나는 그런 사람이 되고 싶었다.

5월 13일, 전역. 부스트캠프 지원서 접수는 5월 26일. 마치 운명 같았다. 그리고 지원했다.

지원할 때 세웠던 목표는 두 가지였다. CS 기본기를 다시 단단히 잡는 것, 그리고 다양한 동료들과 협업하며 소통 역량을 키우는 것. 수료한 지금 돌아보면, 이 두 가지 목표에 확실히 가까워졌다고 느낀다. 그리고 예상하지 못했던 방향으로도 많이 자랐다.

베이직 & 챌린지: 소극적이던 내가 달라지기 시작하다

부스트캠프에 입과하기 전까지, 나는 오픈 소스를 제외하고 다른 사람의 코드를 깊이 읽어본 경험도, 내 생각을 적극적으로 꺼내본 경험도 거의 없었다.

베이직 과정에서 Gist를 통해 문제 풀이 과정을 공유하고 동료들의 의견을 듣는 경험이 좋은 출발점이 되었다. "베이직이니까 기초적인 내용만 다루겠지"라고 생각했는데, 컴파일러 이론이나 JS 엔진 작동 원리처럼 확신 있게 설명할 수 없는 개념들도 다뤘다. 새롭게 학습한 내용을 Gist에 자세히 공유하고, 동료들과 댓글로 의견을 주고받고, "잘 읽었습니다"라는 인사를 받았을 때 되게 보람찼다.

그 보람에 힘입어, 챌린지 과정에서는 슬랙에서도 활발히 학습 내용과 의견을 공유하기 시작했다. 평생 약점이라고 생각했던 소극적이고 내성적인 성격을 극복하고 싶었다.

그렇게 보내다 보니, 어느 순간 변화가 찾아왔다.

매주 동료 피드백에서 "조곤조곤 잘 설명한다", "매번 적극적으로 의견을 주신다"라는 말을 듣기 시작했다. 매주 새롭게 만나는 동료들도 "슬랙에서 자주 뵀습니다"라고 말해줬다. 내 약점이라고만 생각했던 부분이 하나의 장점으로 바뀌고 있었다.

멤버십 학습 스프린트: 깊이 있는 학습과 시니어 피드백

멤버십 학습 스프린트에서는 주간 미션을 수행하며 클라이언트와 서버를 가리지 않고 서비스의 전반적인 동작 원리를 학습했다. 매주 새로운 동료들과 그룹을 이루어 코드를 공유하고, 서로의 접근 방식에 대해 의견을 나눴다.

기본기를 다시 쌓다

그냥 되는 줄로만 알았던 JavaScript의 작동 원리를 깊이 파고들었다. Node.js의 libuv를 학습하고, JavaScript 공식 스펙 문서인 ECMAScript도 직접 읽었다. 막연히 외우기만 했던 실행 컨텍스트, 호이스팅, 비동기 같은 개념들이 비로소 제대로 이해되기 시작했다.

이전에는 코드를 작성할 때 이것저것 시도해 보고 돌아가는 걸 골랐다면, 이제는 "이렇게 하면 이렇게 작동하니까 이렇게 해야지"라는 판단이 먼저 선다. LLM이 생성해 준 코드가 똥인지 된장인지 구분하는 눈도 생겼다.

HTTP 프로토콜도 막연히 알고만 있던 것 중 하나였다. 하지만 미션으로 RFC 문서를 직접 읽고, TCP 모듈만으로 HTTP/1.1 요청을 파싱하고 필수 헤더를 처리하는 서버를 구현하면서 HTTP가 진짜 어떻게 돌아가는지 체감할 수 있었다.

이렇게 원리를 이해하고 나니, 동료 개발자와 협업할 때 요구사항을 더 명확히 전달할 수 있게 됐다. 특히 Claude Code로 바이브 코딩할 때, 내가 원하는 걸 훨씬 구체적으로 표현할 수 있게 된 게 체감이 크다.

시니어 리뷰어님으로부터 배운 세 가지

학습 스프린트에서 시니어 리뷰어님에게 코드 리뷰와 피드백을 받은 경험은 특히 값졌다. 세 가지 인사이트가 남았다.

구체적으로 말하기.

"기본기가 탄탄해졌다"라고 말했을 때, 리뷰어님이 "구체적으로 어떤 점이 좋았는지"를 물었다. 분명 체감하고 있었는데 사례로 설명하기 어려웠다.

비언어적으로 사고한 것들을 언어로 정리하는 습관이 부족했기 때문이었다. 개발자는 혼자 일하지 않기에, 사고 과정과 결정 이유를 언어로 명확히 표현하는 능력이 필수라는 것을 다시 깨달았다.

문제의 본질 먼저 파악하기.

로딩 인디케이터가 너무 자주 보여 거슬리는 문제를 기술적으로 해결하려 했을 때, 리뷰어님은 공항 수하물 일화를 들려주셨다.

엔지니어가 컨베이어 벨트 속도를 두 배로 올렸지만 민원은 줄지 않았고, 기획자가 이동 동선을 두 배 늘리니 민원이 사라졌다는 이야기. 기술로 해결할 문제인지, 기획으로 해결할 문제인지 먼저 구분하는 눈이 필요하다.

나만의 규칙 확립하기.

컴포넌트 네이밍에 일관성이 부족하다는 피드백을 받았다. 예를 들어 Filter라는 prefix를 일관되게 사용하면 같은 도메인의 컴포넌트들이 한눈에 묶여 보이고, 역할과 범위를 직관적으로 이해할 수 있다.

코드에서든 일상에서든 명확한 규칙이 있으면 인지 부하가 줄고 효율이 올라간다.

네부콘

12월에 캠퍼 중 한 분이 주도적으로 컨퍼런스를 주최하셨다. 캠퍼 뿐만 아니라 현업 개발자, 마스터, 리뷰어님들도 참석해주셔서 좋은 말씀 나누어주셨다.

첫 컨퍼런스, 첫 라이브코딩

나도 웹 애니메이션 최적화라는 주제로 발표했다. 관심있는 분야였고 생각보다 많은 분들께서 놓치고 있는 부분이라고 생각되어서 발표하기로 마음 먹었다.

캠퍼들만 참석하는 자리인 줄 알고 가벼운 마음으로 준비했지만, 너무나 훌륭한 시니어 개발자분들의 발표 바로 뒤라서 엄청 긴장됐다.

발표를 준비하면서 기술적으로 성장한 부분도 있지만, 많은 사람들 앞에서 떨지 않고 말하는 연습이 됐고, 내가 아는 것을 정확하게 전달하는 능력도 한 단계 올라갔다.

무엇보다 먼저 손을 드는 사람이 되어가고 있다는 게 스스로 느껴져서 좋았다.

인상 깊었던 발표 내용들

부스트캠프 내부 비공식 컨퍼런스인 네부콘에서 들었던 이야기들도 인상 깊었다.

AI 시대의 개발자.

코딩은 AI가 도와줄 수 있지만, 말하기는 AI가 대신해주지 않는다. 그리고 개발자는 말하기를 잘해야 한다. 구체성이 양이라면 구조는 좌표다. 계층적으로, 인과적으로 말해야 한다.

IDEAL 프로세스.

문제를 Identify → Describe → Explore → Anticipate & Act → Look & Learn. 코딩보다 문제를 조사하는 데 더 많은 시간을 쓰라는 조언이 와닿았다.

그룹 프로젝트: "말만해"

멤버십 그룹 프로젝트에서 우리 web11 팀은 "말만해"를 만들었다.

CS 개념을 음성으로 설명하면 AI가 이해도를 분석하고 피드백해주는 학습 플랫폼이다.

나는 PL로서 전체 일정 수립, 기능 분해, 작업 분배를 조율했고, 프론트엔드와 백엔드 핵심 기능 구현부터 배포까지 함께했다.

팀원 모두 맡은 역할에 최선을 다해 줬다. 좋은 사람들을 만났다는 것만으로도 충분히 운이 좋았다.

프로젝트의 기술적인 이야기는 GitHub README에 더 자세히 적어 두었다.

그룹 프로젝트를 통해 배운 점

초기에 기능을 쪼개고, 누가 어떤 걸 맡으면 좋을지 팀원들과 함께 정리했다. 팀원별 기술 역량과 관심사를 고려해 태스크를 배정하려고 노력했다.

디자인을 구체화하고 팀원들과 공유하기 위해 피그마를 사용했다.

팀원들과 의견을 주고받으며 디자인 시안을 직접 만들었는데, 디자이너 여자친구 덕분에 피그마 사용법을 속성으로 배울 수 있었다.

덕분에 지금은 이력서도 피그마로 만드는 게 편할 정도가 됐다.

프로젝트는 약 30개 팀 중 GitHub Star 수 기준 세 번째로 많은 관심을 받았다.

팀원들과 UX/UI를 많이 고민했고, 우리 프로젝트만의 차별점을 만들기 위해 끊임없이 토론했다. 사용자 피드백에서 "UI가 예쁘다", "차별점이 잘 드러난다"는 반응을 받았을 때 꽤 뿌듯했다.

기록하는 습관, 그리고 표현력의 성장

부스트캠프 시작하고 쓰기 시작한 옵시디언

부스트캠프에서 얻은 가장 값진 습관 중 하나는 기록하는 습관이다.

매주 회고를 작성하기 위해 매일 생각의 재료들을 메모하고, 그 재료들로 글을 적는 연습을 했다.

글 쓰는 재주가 극적으로 늘었다고 말할 수는 없지만, 티끌 같은 기록이 모여 나의 성장 방향을 안내했다.

결국 기록 습관과 말하기 실력 향상은 나의 표현력을 풍부하게 해주었다.

늘 추상적인 표현에 숨어서 방어적으로 말하던 내가, 조금은 더 구체적으로 말할 수 있게 되었다.

LLM으로 자연어로 서비스를 개발하는 시대에, 이런 구체적인 표현 능력은 값진 소프트스킬이자 하드스킬이라고 생각한다.

나에게 부스트캠프란

부스트캠프에 오기 전에는 개발 지식을 어느 정도 갖추고 있다고 생각했다.

하지만 수료를 앞둔 지금은, 오히려 그때의 내가 얼마나 많은 부분을 놓치고 있었는지가 더 선명하게 보인다. "아는 만큼 모르는 것이 보인다"는 말을 이제야 실감한다.

지금 느끼는 부족함과 낮아진 자신감이 편하기만 한 것은 아니지만, 그만큼 내 기준이 높아졌다는 의미라고 받아들이고 있다.

앞으로 배워야 할 것이 많다는 사실을, 나는 부담보다는 가능성으로 바라보고 싶다.

시니어 리뷰어님과의 대화에서 피아니스트에 비유한 적이 있다.

피아니스트는 작곡가가 만든 악보를 정확하게 연주해야 하지만, 동시에 자신만의 해석을 담아 음악을 완성한다.

프론트엔드 개발자도 마찬가지라고 생각한다. 기획자와 디자이너의 시안을 충실히 구현하면서도, 개발자만의 기술적 해석을 더해 제품을 완성하는 지점이 있다.

예전에는 그런 해석을 코드로 했다면, 요즘은 자연어로 하는 비중이 점점 늘고 있다.

코딩 자체의 즐거움은 많이 사라졌지만, 기술적 판단으로 제품을 완성해가는 그 감각은 여전하다. 나는 바로 그 지점에서 만족감과 재미를 느낀다.

7개월이라는 시간이 순식간에 지나갔다. 캠퍼들과 고민을 나누고 개발 이야기를 나눈 시간이 정말 좋았다.

개발 이야기뿐만이 아니었다. '오운완'이라는 슬랙 채널에서 매일 운동 인증을 하고, 사진과 영상을 주고받으며 일상을 나누기도 했다.

이제 다시 혼자로 돌아가 취준을 시작한다. 조금 쓸쓸하지만... 사실 예전의 나였다면 이 쓸쓸함을 느끼지도 못했을 것이다.

MBTI 검사에서 I가 80%가 나올 만큼 내성적이었고, 혼자 있을 때 에너지를 얻는 사람이었으니까. 7개월 동안 부딪히고 다가가려 노력한 시간이 나를 조금 바꿔놓은 모양이다.

쓸쓸함을 느낀다는 건, 그만큼 좋은 시간이었다는 뜻일 테니.