4주간의 부스트 캠프 챌린지 과정을 마쳤다.
그 안에서 뭘 했고, 어떤걸 배우고 느꼈는지, 시작할 때의 생각부터 모두 마치고 난 뒤의 생각 변화까지 시간 순으로 회고해보려고 한다.
메일 한 통
2024년 7월 10일, 여느 때와 다름 없이 피쳐들을 쳐내던 하루였다.
하지만 슬슬 결과 메일이 올 때가 되었음을 직감하고 코드가 손에 안잡힐 때 쯤, 메일 한 통이 날아왔다.
네이버 부스트캠프 웹・모바일 9기의 진행 순서는 아래와 같이 진행된다.
- 서류
- 1차 문제 해결력 테스트
- 베이직 과정
- 2차 문제 해결력 테스트
- 챌린지 과정
- 3차 문제 해결력 테스트
- 멤버십 과정
나는 7월 첫째 주 베이직 과정을 수료하고,
7월 6일(토) 2단계 문제 해결력 테스트를 쳤다.
그리고 챌린지 과정 합격 메일을 받게 된 것이었다.
챌린지 스타트
부스트캠프 웹・모바일 9기 챌린지 과정은 총 4주간 진행이 되며
모든 활동은 오전 9시부터 only 온라인으로, 평일에만 진행이 된다.
웹・모바일에는 iOS, Android, Web 총 3가지가 있다.
나는 iOS 개발자를 희망하기에 당연하게도 챌린지 iOS과정을 이어갔다.
뭔가 잘못되었다.
챌린지 2일차였을 것이다.
오전 9시에 눈뜨자마자 책상 앞에 앉아 미션을 시작했고, 쉬는 시간이라곤 밥먹을 때 빼고 쉬지 않았다.
하지만 새벽 3시를 넘어서야 끝이 났고, 뭔가 잘못되었음을 감지했다.
새벽 시간을 힘들어하는 나는 1시쯤부턴 진짜 이악물고 기능을 완성시키려고 했던 것 같다.
이때까진 몰랐다. 매일매일이 이럴 것이라는 것을..
태도의 전환
그렇게 1주차 마지막 금요일 수료생들과의 밋업이 열렸다.
수료생 분들의 많은 이야기 덕분에 '나만 이렇게 힘들어 하는게 아니구나' 하고 느끼며 1주차 동안 놀란 마음을 진정시킬 수 있었다.
그리고 수료생 중 한 분의 말이 정곡을 찔렀다.
"나는 이곳에 과제를 하러 온 것인가, 학습을 하러 온 것인가?"
나는 1주차 동안 그저 기능요구사항을 만족하기 급급했고, 다양한 학습 키워드가 있었음에도 제대로 학습하지 않았다.
그리고 저 말을 들으니, 나는 1주차동안 무엇을 배웠는가 현타가 왔다.
생각해보았다. 나는 무엇을 위해 그렇게 구현에 매달렸을까.
이때까지만 해도 나는 챌린지는 멤버십 과정을 선발하기 위한 테스트 과정이라고 생각했고,
테스트 요소로 각 미션들에 대해 얼마나 구현했는가를 볼 것이라고 생각했다.
멤버십 과정 선발 기준은 비공개지만, 내가 운영진이라고 생각했을 때, 아무런 지식도 학습하고 정리하지 않고 그저 구현만 열심히 한 사람과 구현은 다하지 못했더라도 학습하고 학습한 내용을 정리하고 동료들과 나누는 사람 중 누구를 뽑을까 생각해보았다.
나라면 후자를 뽑을 것 같다.
그렇게 1주차 회고를 통해 2주차부턴 구현을 전부하지 못하더라도, 학습을 우선으로 하기로 했다.
학습 또 학습
회고했던 대로 2주차부턴 미션을 받으면 학습부터 하고 설계, 구현에 들어갔다.
학습하며 깨달은 것은 내가 '안다고 생각한 것' 들은 대부분 '모르는 것' 이었다는 걸 깨달았다.
부끄럽지만 학교를 다닐 때, 재미없는 CS과목들은 수강 신청을 피했고, 필수 과목들은 딱 학점을 받을 정도로만 공부했었다.
그 결과, 전공자임에도 불구하고 메모리의 구조를 설명해보라고 하면, "힙 스택 어어.." 할 정도로 너무나 얕게 알고 있었다.
부스트캠프에서 배우는 CS지식들은 하나같이 중요한 것들 뿐이었다.
덕분에 하나부터 열까지 모두 모르는구나를 깨닫고, 피어 세션과 학습 정리를 통해 부족한 CS지식들을 스펀지처럼 빨아들이려고 노력했다.
4주간 배운 것
그렇게 길다면 길고 짧다면 짧은 4주가 지났고, 무엇을 배웠는지 회고해보려고 한다.
우선 첫번째로 위에서 얘기했듯이 CS 지식을 미친듯이 학습했다.
정확히는 어떤 CS지식을 학습해야할 지를 배웠다.
학부 4년동안 배우는 CS들을 4주만에 전부 배웠다는 건 거짓말일 것이다.
실제로 지금도 정확히 이해하지 못한 부분들이 훨씬 많기 때문에, 하나하나 정리해나갈 예정이다.
두번째로는 어려운 문제가 닥쳐도 해결할 수 있는 "해결방법"을 배웠다.
이 부분은 정말 하고 싶은 말이 너무 많은데, 부스트캠프는 부트캠프가 아니다.
챌린지 과정에서 진행되는 미션들은 외부 유출이 금지기 때문에, 미션들에 대해 언급할 수 없지만 이거 하난 이야기 할 수 있다.
챌린지 과정에선 컴퓨터 를 만든다.
처음엔 이걸 어떻게 만들지? 하는 막막함이 컸고, 다음 미션은 또 얼마나 말도안되는 것이 나올까 무서웠다.
하지만 주차가 지날 수록 괴랄해지는 미션의 난이도와는 반대로, 점점 더 할만해졌다.
물론 평균 해결시간은 13시간 내외였다.
요구사항을 분석하고, 문제를 해결하기 위한 배경지식을 학습하여 설계하고 구현하는 나만의 해결 루틴이 생겼고 이제는 어떤 어려운 미션이 주어져도 해결할 수 있다는 자신감이 생겼다.
세번째는 커뮤니티를 활용하는 방법을 배웠다.
출처는 기억이 안나지만 예전에 이런 내용의 글을 본적이 있다.
충분히 고민을 했는데도 문제를 해결하지 못했다면, 빠르게 동료들과 문제를 공유하고 해결하라는 내용이었다.
보통 개발은 기한이 정해져 있기 마련이기에, 시간을 효율적으로 사용하는게 중요하다. 그런 의미에서 시간을 낭비하지 말라는 뜻이다.
고된 미션을 열몇시간동안 하다보면 지칠 수도 있고 어떻게 해결해야할지 막막한 부분들이 생긴다.
지치면 슬랙 '소리치는방', '랜덤' 채널 등을 활용해 스트레스도 풀고, 막히는 부분이 있다면 동료 캠퍼들과 문제상황이나 고민을 나누며 해결 방향도 찾을 수 있었다.
사실 난 질문보다 답변을 더 많이 해줬던 것 같다.. 답변하는 게 재밌는 걸😆
챌린지를 마치며
챌린지를 시작하기 전의 나는 우매함의 봉우리 꼭대기에 매달려있던 것 같다.
정말 부끄럽지만 나 정도면 뉴비중 최고아닐까? 라고 생각했었다.
그리고 챌린지를 마친 지금은 살짝 내려온 것 같다.
세상은 넓고 고수들은 많다는 것을 느꼈으니, 자만하지 말고 꾸준히 학습해서 위 그래프처럼 expert까지 직진하기 위해 노력해야겠다.
챌린지가 끝났다고 멈추지 말고, 배웠던 것들을 잘 정리해서 전부 내 것으로 만들어야겠다.
'부스트캠프' 카테고리의 다른 글
IBOutlet과 IBAction (0) | 2024.08.21 |
---|---|
View(ViewController) Life Cycle (0) | 2024.08.21 |
TCP/IP 소켓 통신 개념 및 Network 프레임워크 (0) | 2024.08.07 |
HTTP Request, Response 구조 (0) | 2024.08.05 |
네이버 부스트캠프 웹・모바일 9기 챌린지 과정 3주차 회고 (0) | 2024.08.02 |