본 게시글은 "2024년 8월 14일에 작성된 게시글로, 이전 블로그 (Velog) 게시글에서 내용을 수정하여 작성된 게시글이다. 원본 게시글은 다음 링크를 통해 보러 갈 수 있다.
🚨 본 게시글은 네이버 부스트캠프 웹・모바일 9기 활동의 콘텐츠 암묵 서약에 따라 작성 되었으므로 구체적인 미션 내용에 대해서는 발설할 수 없다.
- 개발자로서의 성장 방향을 완전히 바꿔준 최고의 경험이었다.
- 예상하지 못한 고난도 미션을 통해 문제 해결력과 학습 습관을 기를 수 있었다.
- 정답을 알려주는 교육이 아닌 스스로 배우고 탐구하는 자기 주도 학습 환경이었다.
- 동료와의 협업, 페어 프로그래밍, 피어 피드백을 통해 커뮤니케이션 역량을 키울 수 있었다.
- 대학교가 개발의 기초를 다지는 과정이었다면, 부스트 캠프는 실제 개발자로 성장하는 방법을 배우는 과정이었다.
네이버 부스트 캠프 소개
[네이버 커넥트재단 부스트캠프 웹・모바일 9기] 날 것 그대로 작성하는 베이직 수료 후기 - Web
2024년 4~5월 기준으로 작성해뒀던 임시 게시글이다.🚨 본 게시글은 네이버 부스트캠프 웹・모바일 9기 활동의 콘텐츠 암묵 서약에 따라 작성 되었으므로 구체적인 미션 내용에 대해서는 발설할
seok3765.tistory.com
챌린지 과정은 개발자가 실제로 사용하는 도구와 운영체제의 동작 원리를 직접 구현하며 CS 지식을 학습하는 과정이다.
단순히 기능을 구현하는 것에 그치지 않고, 요구사항을 스스로 분석하고 문제 해결에 필요한 개념과 원리를 깊이 학습한다.
또한 학습한 내용을 바탕으로 설계하고 구현하는 전 과정을 반복하며 문제 해결 습관을 형성하도록 돕는다.
활동 후기
첫 개발 커뮤니티 활동으로 네이버 부스트캠프 웹・모바일 9기를 선택한 것은 최고의 선택이었다.
네이버 부스트 캠프의 방식은 다음과 같다.
"누군가 가르쳐주지 않는다. 문제에 대한 정답도 없다. 강의도 제공 안해준다. 해결해야 할 수단은 내 자신과 동료 뿐이다."
누군가 가르쳐주지 않기 때문에 스스로 학습하는 방법을 찾게 된다.
문제에 정해진 정답이 없기 때문에 자신만의 해결 방식을 고민하게 되고, 이를 다른 캠퍼들과 공유하며 문제 해결의 시야를 넓힐 수 있다.
강의가 제공되지 않기 때문에 단순히 정답을 찾고 끝나는 것이 아닌, 스스로 탐구하며 학습 범위를 확장할 수 있다.
나 자신과 동료만이 문제 해결의 수단이기 때문에 자신의 생각과 해결 과정을 설명하는 능력을 기를 수 있으며 협업 방식 또한 자연스럽게 배울 수 있다.
부스트 캠프에서는 고난도 미션을 해결하기 위해 필요한 CS 지식을 스스로 찾아 학습하고, 이를 동료들과 공유한다.
또한 학습한 내용을 직접 구현하며 단순히 읽고 이해하는 수준을 넘어 실제 경험을 겪으며 형식지에 있는 기억을 암묵지로 전환하는 활동을 매일 수행한다.
중간 중간 진행되는 페어 프로그래밍을 통해서는 타인을 존중하며 소통하는 방법, 함께 성장하는 방법, 그리고 개발자로서 가져야 할 태도에 대해서도 배울 수 있다.
처음에는 이러한 방식이 낯설고 충격적으로 느껴졌다. 하지만 시간이 지날수록 내가 가장 추구하던 학습 방식이라는 생각이 들었다.
매일 수행해야 하는 환경은 갖추어지지만 '어떻게 해야 하는지' 에 대한 정답은 주어지지 않는다. 스스로 방향을 정하고 성장해 나가야 하는 구조였으며, 이는 내가 생각하던 이상적인 학습 환경과 정확히 일치했다.
일반적으로 부트캠프라고 하면 강의를 통해 지식을 전달하고 수강생을 성장시키는 형태를 떠올린다. 하지만 그런 방식은 이미 대학 강의를 통해 충분히 경험해 보았다.

반면 챌린지는 야생에 던져진 캠퍼들이 각자 필요하는 지식을 사냥해야 하는 활동이다.
학습이 먹잇감이라면 캠퍼들은 사냥꾼이다. 배가 고플 때마다 스스로 먹이를 찾아야 하듯, 필요한 지식을 직접 탐색하고 습득해야 한다.
내가 원하던 환경과 매우 닮아 있었지만, 한편으로는 이런 방식이 정말 효과가 있을지 의문이 들기도 했다.
"가르쳐 주지 않는 데 성장이 되나? 그냥 알고리즘 문제 푸는 거랑 다를 거 없는거 아니야?"
이러한 생각이 바뀌는 데는 단 2일이면 충분했다.
2일차에 본격적인 미션이 주어졌는데, 주어진 미션은 불친절 그 자체였다.
요구사항은 명확하지 않았고, 무엇을 해결해야 하는지조차 쉽게 파악되지 않았다. 처음에는 어디서부터 시작해야 할지 감조차 잡히지 않았다.
하지만 마스터님께서 하셨던 말씀을 떠올리며 스스로 요구사항을 분석하기 시작했다.
필요한 학습 주제를 정리하고 관련 개념을 찾아 공부한 뒤 설계와 구현을 진행하면서 한 가지를 깨달았다.
"이게 진짜 개발 공부구나"
학교에서 시험을 위해 내용을 암기하던 방식과는 완전히 달랐다.
내가 직접 궁금한 것을 찾아 학습하고, 문제를 해결하기 위해 필요한 지식을 확장해 나가는 과정 자체가 즐거웠다.
학습을 이어갈수록 자연스럽게 더 깊고 넓은 영역으로 관심이 확정되었고, 이전보다 훨씬 적극적으로 공부하는 자신을 발견할 수 있었다.
물론 학습 범위를 지나치게 넓게 잡아 모두 소화하지 못하는 경우도 있었다. 그럴 때는 우선 키워드만 정리해 두고, 나중에 다시 학습할 주제로 남겨두곤 했다.
학교 공부의 현타

부스트캠프를 경험하며 학교에서 배운 내용들을 다시 돌아보게 되었다.
학교에서 배운 지식이 의미 없었다는 것은 아니다. 다만 대부분이 기초적인 수준에 머물러 있었고, 나는 그 지식을 충분히 깊게 이해하지 못한 채 시험을 위한 학습에만 집중하고 있었다는 사실을 깨달았다.
개발 공부를 할 때도 마찬가지였다. 문제를 해결하기 위해 블로그의 코드를 참고하는 데 급급했고, 그 이면의 원리와 동작 과정까지 깊게 이해하려는 노력은 부족했다. 부스트캠프를 통해 이러한 학습 태도를 되돌아보며 많은 반성을 하게 되었다.
건축공학과를 떠나 전공 변경을 결심했을 당시에는 컴퓨터와 관련된 모든 원리를 이해하는 개발자가 되고 싶다는 목표가 있었다. 하지만 시간이 지나면서 그 열정은 점차 희미해졌고, 어느 순간부터는 가능한 한 빨리 백엔드 개발자로 취업하는 것이 가장 중요한 목표가 되어 있었다.
만약 이러한 생각을 계속 유지했다면, 지금보다 더 깊이 성장하기보다는 현재 수준에 만족하는 개발자가 되었을지도 모른다.
부스트캠프의 미션 중에는 분명 학교에서 한 번쯤 배웠던 내용들도 있었다. 그러나 깊이 있게 이해하지 못했던 탓에 대부분 처음부터 다시 학습해야 했다.
그 과정에서 내가 정확히 알고 있는 것과, 알고 있다고 착각했던 것을 명확하게 구분할 수 있게 되었다.
특히 내가 알고 있다고 생각했던 CS 지식들이 실제로는 단편적인 이해에 머물러 있다는 사실을 깨달았을 때 큰 충격을 받았다. 그동안의 노력이 모두 헛된 것처럼 느껴져 적지 않은 상실감을 겪기도 했다.
하지만 지금 돌아보면 그 깨달음 자체가 성장의 시작이었다.
부스트캠프에서 수행한 수많은 미션 덕분에 부족했던 CS 기본기를 다시 다질 수 있었고, 무엇보다 스스로 학습하고 탐구하는 나만의 방법을 찾을 수 있었다.
돌이켜보면 내가 얻은 가장 큰 성과는 지식 자체보다도 '어떻게 학습해야 하는가'를 배운 것이었다.
이걸 구현하라고요...?

특정 알고리즘을 활용해야만 해결할 수 있는 미션은 거의 없었다. 물론 더 나은 성능을 위해 적절한 알고리즘을 적용할 수는 있었지만, 매일 주어지는 미션의 성격을 고려하면 특정 알고리즘을 활용한 최적화 자체가 핵심 목표는 아니라고 느꼈다.
대부분의 미션은 흔히 말하는 '구현 중심 문제'에 가까웠다. 개발자들이 실제로 사용하는 도구나 운영체제의 동작 원리를 직접 구현하는 형태였으며, 처음 미션을 접했을 때는 "이걸 직접 구현한다고요?"라는 말이 절로 나올 정도였다.
하지만 바로 그 점이 가장 큰 매력이었다. 평소에는 당연하게 사용하던 시스템과 도구들이 어떤 원리로 동작하는지 깊이 이해할 수 있었고, 직접 구현하는 과정에서 그 원리가 더욱 선명하게 다가왔다.
언젠가는 기술의 내부 동작 원리를 분석하고 직접 구현해 보는 시간이 필요하다고 생각해 왔는데, 부스트캠프는 그런 경험을 할 수 있는 최적의 환경이었다.
당시 코딩 테스트를 준비하면서는 특정 알고리즘을 활용해 문제를 해결하는 경험을 많이 했다. 물론 적절한 알고리즘을 선택하는 능력은 중요하다. 다만 당시 내가 경험한 많은 문제들은 문제를 분석하고 해결 방식을 설계하는 과정보다 이미 알고 있는 알고리즘을 구현하는 능력에 더 초점이 맞춰져 있다고 느꼈다.
반면 부스트캠프의 미션은 정해진 해법을 적용하는 것이 아니라 문제를 분석하고, 적절한 해결 방식을 스스로 찾아가는 과정에 집중되어 있었다. 그래서 더욱 만족스럽게 느껴졌다.
흥미로웠던 점은 배경지식을 알고 있다고 해서 반드시 미션을 쉽게 해결할 수 있는 것은 아니라는 점이었다. 기존 개념을 기반으로 하되 요구사항을 조금씩 변형해 출제했기 때문에, 익숙한 지식에만 의존하면 오히려 해결하지 못하는 경우도 있었다.
실제로 몇몇 미션은 설계를 세 번 이상 갈아엎기도 했다. 처음에는 비효율적으로 느껴졌지만, 그 과정에서 내가 알고 있다고 생각했던 지식의 빈틈을 발견할 수 있었다.
결국 미션을 해결하는 데 활용한 기존 지식은 일부에 불과했고, 대부분은 새롭게 학습하며 채워 나가야 했다. 덕분에 애매하게 이해하고 있던 내용들을 명확하게 정리할 수 있었고, 단순히 아는 수준을 넘어 제대로 이해하는 경험을 할 수 있었다.

직접 구현해 보기 전까지는 미처 알지 못했다. 평소 당연하게 사용하던 시스템과 도구들이 얼마나 많은 고민과 설계, 기술적 난관을 거쳐 만들어졌는지를 깨닫게 되었다.
그 과정에서 우리가 매일 사용하는 시스템과 도구를 만든 개발자들에 대한 존경심이 더욱 커졌다. 복잡한 문제를 해결하고 이를 사용하기 쉬운 형태로 제공해 준 개발자들에게 진심으로 감사한 마음이 들었다.
성장 후기
당시의 나는 학교에서 과탑을 했다는 이유만으로 CS 기본기는 충분히 갖추고 있다고 생각했다.
하지만 그것은 큰 착각이었다.
매일 새로운 미션이 주어질 때마다 부족한 부분이 드러났고, 차근차근 문제를 해결해 나가는 다른 캠퍼들을 보며 내가 생각했던 것만큼 탄탄한 기반을 갖추고 있지 않다는 사실을 깨달았다.
머릿속에는 항상 "분명 학교에서 배웠던 내용인데", "한 번쯤 사용해 본 기술인데"라는 생각이 맴돌았다. 그러나 정작 미션을 해결하는 데 필요한 핵심 개념과 원리는 제대로 기억나지 않았다. 결국 거의 모든 내용을 처음부터 다시 찾아보고 학습하는 과정을 반복해야 했다.
그 시기에는 내가 알고 있다고 생각했던 지식들이 실제로는 피상적인 이해에 머물러 있었다는 사실을 절실하게 느꼈다.
더구나 JavaScript 경험도 거의 없었다. 당시의 나는 JavaScript를 단순히 브라우저에서 동작하는 언어 정도로만 이해하고 있었고, Node.js 역시 브라우저 밖에서 JavaScript를 실행할 수 있게 해주는 런타임 환경 정도로만 알고 있었다.
지금 돌아보면 웹 개발자로서의 기반도, CS 지식에 대한 이해도 모두 부족한 상태였다.
부스트캠프는 그런 나의 현실을 직시하게 만든 과정이었다.
첫 현타 (1주차)
1주 차의 나는 한없이 작아져 있었다.
그동안 다양한 프로그래밍 언어를 사용해 본 경험은 있었지만, 웹 개발 경험은 Python 기반의 FastAPI를 간단히 사용해 본 것이 전부였다.
웹에 대한 지식 역시 정보처리기사 수준에 머물러 있었고, 지금 돌아보면 사실상 제대로 알고 있는 것이 거의 없었다.
부스트캠프를 시작한 뒤 내가 마주한 현실은 생각보다 훨씬 냉정했다.
- 알고 있다고 생각했던 CS 지식 대부분이 애매한 수준에 머물러 있었다.
- JavaScript조차 제대로 다루지 못하는 웹 개발자 지망생이었다.
- 나보다 더 깊은 CS 이해도를 가진 비전공자 캠퍼들도 많았다.
- 어려운 미션을 제한 시간 안에 해결하지 못했고, 대부분 밤늦게까지 붙잡고 있어야 했다.
그럴 때마다 이런 생각이 들었다.
"이게 정말 과탑의 실력일까?"
캠퍼들과 해결 과정을 공유할 때마다 부끄러웠고, 때로는 쥐구멍에라도 숨고 싶었다. 심지어 중간에 포기하고 싶다는 생각이 들 정도로 자신감이 바닥을 쳤다.

첫 주는 말 그대로 무너지는 시간이었다.
점심시간에도 식사가 잘 넘어가지 않았고, 미션에 집중하다 저녁 시간을 놓치는 경우도 있었다. 다만 어떤 상황에서도 건강만큼은 지키자는 목표가 있었기에 식사는 거르지 않았다. 솔직히 말하면 맛있게 먹었다기보다 억지로 챙겨 먹었다는 표현이 더 맞을 것이다.
그 시기에 큰 힘이 되어 준 것은 운영진과 수료생들의 조언이었다.
"구현이 가장 중요한 것은 아니다. 부스트캠프 챌린지 미션은 현업 개발자에게 주어져도 제한 시간 안에 해결하지 못하는 경우가 있다. 중요한 것은 학습이다."
그 말을 듣고 스스로에게 다시 질문했다.
"나는 왜 챌린지에 들어왔는가?"
곰곰이 생각해 보니 내가 이 과정에 참여한 이유는 완성된 결과물을 만드는 것이 아니라 성장하기 위해서였다.
그 이후부터는 구현 여부에만 집착하기보다, 미션을 통해 새로운 CS 지식을 배우고 이해하는 데 더 집중하기 시작했다. 구현을 완벽하게 끝내지 못하더라도 학습한 내용이 있다면 충분히 의미 있는 하루라고 생각하게 되었다.
또한 동료들과 현재 상황을 공유하면서 위안을 얻을 수 있었다. 겉으로는 모두 잘해 보였지만, 이야기를 나눠 보니 대부분 비슷한 고민과 어려움을 겪고 있었다.
그때 깨달았다.
비교는 성장을 돕지 못한다는 것을.
챌린지 기간은 고작 4주였다. 낙담하고 있을 시간조차 아깝다고 생각했다. 남은 시간 동안 다른 사람과 비교하기보다 내가 가져갈 수 있는 것을 최대한 많이 배우고 성장하자는 방향으로 마음을 바꾸었다.
그 순간부터 주변 캠퍼들과의 비교를 멈추고, 어제의 나와 비교하기 시작했다.
성장 과정
1주차
1주 차에는 미션에서 제공하는 핵심 키워드를 중심으로 학습 내용을 정리하는 데 집중했다.
당시에는 학습 범위를 넓히기보다 하나의 주제를 깊게 이해하는 것이 더 중요하다고 판단했다. 아직 미션 진행 방식에 익숙하지 않았기 때문에, 넓고 얕게 학습하는 것보다 깊고 정확하게 이해하는 것이 나에게 더 적합한 방법이었다.
2주차
2주 차부터는 깊이 있는 학습에 어느 정도 익숙해지면서 설계에 더 많은 시간을 투자하기 시작했다.
문제를 해결하는 과정에서 시간 복잡도를 고려하고, 중복 코드를 줄이기 위해 DRY 원칙을 적용하려고 노력했다.
또한 평소 관심이 많았던 SOLID 원칙과 디자인 패턴에 대해서도 추가로 학습하며 설계 역량을 키우고자 했다.
단순히 동작하는 코드를 작성하는 것을 넘어, 더 나은 구조를 고민하기 시작한 시기였다.
3주차
학습과 설계 과정에 익숙해지면서 학습 범위를 넓히는 데 도전했다.
하나의 키워드를 학습하면 거기서 끝나는 것이 아니라 관련 개념과 기술까지 연결 지어 생각하려고 노력했다.
하지만 연관된 주제를 찾아내는 것 역시 하나의 능력이었다. 특히 익숙하지 않은 분야에서는 무엇을 더 공부해야 하는지조차 파악하기 어려웠다.
결국 아는 만큼 보인다는 말을 실감하게 되었다.
다행히 여러 미션을 수행하면서 이전에 학습했던 내용과 연결되는 개념들을 자주 발견할 수 있었다. 덕분에 지식을 독립적으로 암기하는 것이 아니라 서로 연결된 형태로 이해하는 연습을 할 수 있었다.
4주차
마지막 주에는 학습, 설계, 구현 사이의 균형을 찾는 데 집중했다.
초반에는 학습에 너무 많은 시간을 투자한 나머지 구현을 충분히 하지 못하는 경우도 있었다. 반대로 구현에 집중하다 보면 학습과 설계가 부족해지는 경우도 있었다.
그래서 세 영역의 균형을 맞추기 위해 많은 고민을 했다.
어느 정도 균형을 찾을 수는 있었지만, 마감 시간인 오후 7시 이전에 구현까지 완성하여 제출하는 것은 여전히 쉽지 않았다.
미션의 난이도는 이전보다 훨씬 높아졌지만, 오히려 그만큼 몰입도가 높아져 시간이 가장 빠르게 지나간 한 주이기도 했다.
개구리를 해부하지 말고, 직접 만들어 보아라.
- ≪바이트≫ 니콜라스 네그로폰데 박사
이 문장은 마스터님께서 자주 하시던 말씀이다.
처음 들었을 때는 단순한 격언처럼 느껴졌지만, 챌린지 과정을 거치면서 그 의미를 조금씩 이해하게 되었다.
단순히 원리를 읽고 이해하는 것과 직접 구현해 보는 것은 전혀 다른 경험이었다. 구현 과정에서 예상하지 못한 문제를 마주하고, 시행착오를 반복하며 비로소 원리가 내 것이 되었다.
돌이켜 보면 대학 2학년 시절 C++을 공부하며 라이브러리, 자료구조, 알고리즘을 직접 구현해 보겠다고 다짐했던 때가 있었다.
하지만 시간이 지나면서 결과를 만드는 것에만 집중한 나머지, 원리를 탐구하려는 초심은 조금씩 잊혀지고 있었다.
부스트캠프는 그 초심을 다시 떠올리게 해 준 계기였다.
앞으로도 단순히 사용하는 개발자가 아니라, 원리를 이해하고 직접 만들어 볼 수 있는 개발자가 되기 위해 노력하고 싶다.
정리 습관
부스트캠프 챌린지에 입과하면서 세운 목표 중 하나는 학습 내용을 꾸준히 정리하는 습관을 만드는 것이었다.
돌이켜보면 이 목표는 어느 정도 달성한 것 같다. 미션을 수행하는 과정에서 학습한 내용과 고민했던 과정들을 꾸준히 기록하며 나만의 정리 체계를 만들어 갈 수 있었다.

위 이미지는 챌린지 기간 동안 정리했던 내용들의 일부이다.
다만 학습 내용 자체는 콘텐츠 유출 방지 정책에 따라 공개할 수 없다.
정리 방식은 8기 수료생의 사례를 참고해 상당 부분 벤치마킹했다. 이미 검증된 정리 방법을 따라 해 보니 학습 내용을 구조화하고 복습하는 데 큰 도움이 되었다.
특히 이전까지는 노션을 체계적으로 사용해 본 경험이 거의 없어서 어떤 기준으로 정리해야 할지 고민이 많았다. 마침 수료생과의 밋업이 진행되었고, 그 과정에서 많은 조언을 얻을 수 있었다.
덕분에 단순히 내용을 저장하는 수준을 넘어, 나중에 다시 찾아보며 학습을 이어갈 수 있는 형태로 정리하는 방법을 익힐 수 있었다.
챌린지가 끝난 지금도 다시 공부해 보고 싶은 주제와 재도전해 보고 싶은 미션들이 많이 남아 있다.
당분간은 심심할 일이 없을 것 같다.
챌린지에서의 5가지 목표
챌린지에 입과하면서 노션에 나만의 목표를 정리해 두었다.
단순히 개발 역량 향상만을 목표로 삼으면 무리하게 달릴 것 같아, 개발 외적인 부분까지 포함해 스스로를 관리할 수 있는 목표들을 함께 세웠다.
1. 읽기 쉬운 글을 작성하고, 내 생각과 방법론을 논리적으로 설명하는 능력 기르기
2. JavaScript에 몰입하기. 문법뿐만 아니라 동작 원리까지 이해하기
3. 평소 사용하던 프로그램과 시스템을 직접 구현해 보기
4. 라이브러리를 사용할 때 내부 동작 원리를 이해하고 직접 만들어 보기
5. 건강을 유지하며 챌린지 수료하기
1. 읽기 쉬운 글을 작성하고, 내 생각과 방법론을 논리적으로 설명하는 능력 기르기
부스트캠프 베이직 지원 당시 자기소개서를 작성할 때부터 글쓰기 실력이 부족하다는 것을 느끼고 있었다.
또한 다른 사람에게 내가 작성한 코드나 구현 과정을 설명할 때도 어려움을 많이 겪었다. 표현력과 어휘력이 부족하다고 느꼈고, 머릿속에 있는 생각을 논리적으로 전달하는 것이 쉽지 않았다.
항상 "어떻게 해야 내 생각을 더 명확하게 설명할 수 있을까?"라는 고민을 가지고 있었다.
챌린지 과정에서는 글을 작성할 기회가 정말 많았다. 학습한 내용을 정리하고, 설계 과정과 요구사항 분석 결과를 기록하며, 다른 캠퍼들에게 내 코드와 문제 해결 과정을 설명해야 하는 상황도 자주 있었다.
그 과정을 반복하면서 글쓰기 능력뿐만 아니라 논리적으로 설명하는 능력도 이전보다 많이 성장할 수 있었다.
2. JavaScript에 몰입하기
JavaScript를 제대로 이해해 보고 싶다는 마음에 《모던 자바스크립트 Deep Dive》를 구매했다.
아쉽게도 책이 늦게 도착해 챌린지 기간 동안 많은 분량을 읽지는 못했지만, JavaScript의 동작 원리를 학습하는 데 큰 도움이 될 것이라는 확신이 들었다.
부스트 캠프에서 만나 이 책을 추천해 주신 junyeokk 님께 감사드린다.
추가로 《Node.js 교과서》도 함께 구매했다. 챌린지가 끝난 이후에도 꾸준히 읽으며 JavaScript와 Node.js를 깊이 있게 학습할 계획이다.
3. 평소 사용하던 프로그램과 시스템을 직접 구현해 보기
이 목표는 챌린지 미션을 수행하면서 자연스럽게 달성할 수 있었다.
오히려 내가 생각했던 것보다 훨씬 난도가 높은 미션들이 주어져 당황할 정도였다.
평소에는 결과물만 사용하던 프로그램과 시스템의 동작 원리를 직접 구현해 보면서, 그동안 당연하게 사용했던 기능들이 얼마나 많은 고민과 설계 끝에 만들어졌는지 체감할 수 있었다.
4. 라이브러리를 사용할 때 내부 동작 원리를 이해하고 직접 만들어 보기
라이브러리를 단순히 사용하는 것에서 그치지 않고 내부 동작을 이해하는 개발자가 되고 싶었다.
물론 직접 만드는 것보다는 이미 만들어진 것을 분석하는 경우가 더 많았기에 "개구리를 만든다"기보다는 "개구리를 해부한다"에 가까웠다.
그럼에도 내부 구현을 들여다보는 과정은 많은 도움이 되었다.
readline을 시작으로 EventEmitter, Worker Threads, fs 등 평소 사용하던 모듈들의 내부 구조를 살펴보며 동작 원리를 이해하려고 노력했다.
이 과정은 JavaScript와 Node.js를 더욱 깊이 이해하는 데 큰 도움이 되었다.
5. 건강을 유지하며 챌린지 수료하기
그동안 프로젝트나 과제를 진행할 때마다 건강을 희생하는 경우가 많았다.
그래서 이번만큼은 건강을 지키면서 끝까지 완주하자는 목표를 세웠다.
매일 3km씩 러닝을 했고, 식사도 거르지 않고 삼시 세끼 챙겨 먹었다. 수면 시간 역시 최대한 확보하려고 노력했고, 영양제도 꾸준히 챙겨 먹었다.
물론 쉽지는 않았지만, 결과적으로 건강을 크게 해치지 않고 챌린지 과정을 마칠 수 있었다.
돌이켜보면 다섯 가지 목표 모두 완벽하게 달성했다고 말할 수는 없지만, 챌린지 기간 동안 꾸준히 의식하며 실천하려고 노력했다는 점에서 충분히 의미 있는 목표들이었다.
3차 테스트 후기
지금까지의 내용을 보면 상당히 성장한 것처럼 보이겠지만, 3차 테스트 결과는 솔직히 말해 만족스럽지 못했다.
정말 예상 이상으로 아쉬운 결과였다.
물론 3차 테스트가 멤버십 합격 여부를 전적으로 결정하는 것은 아니었기에 불안함보다는 아쉬움이 더 크게 남았다.
특히 꼭 구현해 보고 싶었던 미션이었기에 더욱 아쉬웠다. 언젠가 시간을 내어 혼자서라도 끝까지 해결해 보고 싶다.
이번에도 구현 중심의 문제가 출제되었지만, 단순히 기능을 구현하는 능력을 평가하는 시험은 아니었다.
오히려 챌린지 기간 동안 습관화했던 문제 해결 과정을 얼마나 체화했는지를 확인하는 시험에 가까웠다.
요구사항 분석, 학습, 설계, 구현.
챌린지 기간 동안 나는 이 네 가지 과정을 반복하며 문제를 해결하는 습관을 만들었다.
하지만 테스트를 치르고 나서 한 가지 부족한 점을 발견했다.
네 가지 과정을 수행할 수는 있었지만, 제한된 시간 안에서 모두 끝내는 연습은 충분히 하지 못했다는 점이다.
각 과정의 중요성은 이해하고 있었고, 어느 정도 균형도 맞출 수 있게 되었다. 그러나 실제 시험 환경에서는 모든 과정을 정해진 시간 안에 순차적으로 수행해야 한다.
결국 문제는 역량 자체보다 시간 관리에 있었다.
돌이켜보면 시험뿐만 아니라 실무 역시 마찬가지다.
아무리 좋은 설계와 구현 능력을 갖추고 있더라도, 정해진 일정 안에 결과물을 제공하지 못한다면 좋은 평가를 받기 어렵다.
예전에 IT 전문 대기업에 종사하는 사촌 형이 해 준 말이 있다.
"제한된 시간 안에 최대한의 품질을 만들어 내고, 출시 이후 지속적으로 개선하는 것이 중요하다. 개발자는 약속된 일정을 지키는 것도 중요한 역량이다."
당시에는 당연한 이야기라고 생각했지만, 이번 테스트를 통해 그 의미를 다시 한번 실감하게 되었다.
이번 경험을 통해 앞으로는 요구사항 분석, 학습, 설계, 구현이라는 네 가지 과정을 단순히 수행하는 것에 그치지 않고, 제한된 시간 안에서 효율적으로 완성하는 연습도 함께 해야겠다는 교훈을 얻었다.
결과는 아쉬웠지만, 부족한 부분을 발견했다는 점에서 충분히 의미 있는 경험이었다.
고생한 나 자신

운영진분들께서 자주 하시던 말씀이 있다.
'회고를 하면 너무 자신을 가혹하게 때리기만 한다. 떄로는 보상도 줘야한다.🥕'
챌린지 기간 동안의 회고를 돌아보며 그 말이 더욱 와닿았다.
우리는 종종 부족했던 부분과 실패한 경험만 떠올리며 스스로를 몰아붙인다. 하지만 지금까지 해낸 것들을 돌아보고, 그 과정에서 노력한 자신을 인정하는 것 또한 중요하다고 생각한다.
이 글을 읽는 분들도 때로는 자신에게 조금 더 너그러워져 보는 것은 어떨까.
지금까지 버텨 온 자신을 칭찬하고, 수고했다고 말해 주는 것도 분명 의미 있는 일이다.
나 역시 운영진분들의 조언 덕분에 힘든 순간들을 잘 버틸 수 있었고, 이전보다 긍정적인 시선으로 스스로를 바라볼 수 있게 되었다. 이제는 사소한 성장이라도 인정하고 칭찬할 수 있는 사람이 된 것 같다.

챌린지에 입과하기 전 세웠던 다섯 가지 목표 중 가장 만족스러웠던 한 가지를 선택해 스스로에게 작은 보상을 주었다.
그동안 졸업 작품이나 학교 과제를 수행할 때면 건강을 희생하면서까지 결과물을 만들어 내는 경우가 많았다.
하지만 이번만큼은 달랐다.
매일 러닝을 하고, 식사를 거르지 않고, 수면 시간을 최대한 확보하며 나만의 루틴을 지키려고 노력했다.
그리고 무엇보다 건강을 크게 해치지 않고 챌린지 과정을 마무리할 수 있었다.
그래서 이번 보상은 결과물이 아니라 건강하게 완주한 나 자신에게 주는 선물이었다.

2024년 8월 13일, 챌린지 수료증이 발급되었다.
고작 4주라는 짧은 기간이었지만 수료증을 받는 순간 여러 감정이 한꺼번에 밀려왔다.
힘들었던 기억들이 떠올라 눈시울이 붉어지기도 했고, 앞으로 또 이런 소중한 기회를 만날 수 있을까 하는 아쉬움도 들었다.
베이직 과정에서는 수료증이 발급되지 않고 챌린지 과정부터 수료증이 주어진다고 들었는데, 그래서인지 더욱 뜻깊게 느껴졌다.
솔직히 말하면 베이직 과정 이후 진행된 2차 테스트에서 탈락할 것이라고 생각했다.
그런 내가 챌린지 과정을 끝까지 완주했다는 사실만으로도 충분히 보람찼다.
멤버십 과정에 진출하지 못하더라도 챌린지에서 얻은 경험은 결코 사라지지 않는다.
문제를 해결하는 방법, 학습하는 습관, 개발자로서의 태도, 그리고 함께 성장할 수 있는 소중한 인연들까지.
이 모든 것은 앞으로의 개발자 인생에서도 계속 남아 있을 자산이라고 생각한다.
그래서 결과와 상관없이 이번 챌린지는 내게 매우 의미 있는 경험이었다.
돌이켜보면 가장 잘 어울리는 문장은 이것인 것 같다.
"아쉬움은 있지만 후회는 없다."
마지막으로 네이버 부스트캠프 웹·모바일 9기 활동을 하며 직간접적으로 인연을 맺었던 모든 캠퍼분들께 진심으로 감사드립니다.
만약 혼자였다면 훨씬 외롭고 힘든 시간이 되었을 것 같습니다.
하지만 함께 고민하고, 함께 버티고, 함께 성장하는 동료들이 있었기에 끝까지 포기하지 않을 수 있었습니다.
특히 캠퍼분들이 공유해 주신 학습 자료와 경험들은 저에게 큰 도움이 되었고, 지금의 제가 성장할 수 있었던 중요한 원동력이 되었습니다.
함께 페어 프로그래밍을 진행했던 분들, 스터디를 함께했던 분들, 릴레이 프로젝트를 진행했던 분들 모두에게 감사드립니다.
부족한 저를 이끌어 주고, 격려해 주고, 함께 고민해 주신 덕분에 정말 많은 것을 배울 수 있었습니다.
기술적인 성장도 값졌지만, 그보다 더 값졌던 것은 타인과 함께 배우고 성장하는 즐거움을 알게 되었다는 점입니다.
네이버 부스트캠프 웹·모바일 9기에서 만난 모든 분들께 다시 한번 진심으로 감사드립니다.
'후기' 카테고리의 다른 글
| [네이버 커넥트재단 부스트캠프 웹・모바일 9기] 날 것 그대로 작성하는 멤버십 수료 후기 - Web (1) | 2026.06.21 |
|---|---|
| [네이버 커넥트재단 부스트캠프 웹・모바일 9기] 날 것 그대로 작성하는 베이직 수료 후기 - Web (1) | 2026.06.15 |


