부스트캠프 웹・모바일 9기 챌린지 수료 후기
들어가며
저는 올해 대학교 4학년이 되었습니다. 다른 분들과 비교하였을 때 조금 늦은 감도 있지만 프로젝트를 올해 처음 진행해보기도 했습니다. 그동안 혼자 배우며 개발했던 것과는 비교도 안될정도로 재미를 느끼며 프로젝트를 진행했습니다. 저도 몰랐는데 소통하며 협업하는 것에 대한 갈망이 있었던 것 같습니다. 1학기가 마무리 되면 개발 활동을 진행할 곳을 찾아보다가 부스트캠프라는 교육 커뮤니티가 존재한다는 것을 알고 신청하게 되었습니다.
부스트캠프에서의 학습은 시험을 잘보는 것과는 거리가 멀다고 합니다. 배운 지식으로 시험을 보고, 좋은 점수를 받는 학습과는 달리 부스트캠프는 문제 상황이 계속해서 주어지고, 문제를 어떻게 해결할 것인지에는 각자의 몫에 달려있습니다. 이는 곧 일을 잘하게 되는 것과 가깝습니다. 개발자는 ‘문제 해결사’라는 말을 들어보셨나요? 문제 해결은 사실 어떤 직무에서도 진행되는 일입니다. 개발자는 문제 해결의 방식에 프로그래밍이 포함된 것이죠.
부스트캠프의 핵심은 이 부분에 있습니다. 개발자의 능력 중 특히 ‘문제 해결 능력’을 집중적으로 연습할 수 있는 곳입니다. 해결해야 하는 문제가 프로그래밍이라면 코드를 작성하여 해결할 수 있고, 그게 아니어도 된다면 꼭 코드를 작성할 필요는 없습니다. 그래서 저는 부스트캠프의 교육이 더 의미있게 느껴집니다. 넓게 바라봤을 때 문제는 우리 일상속에도 자주 나타납니다. 그런 문제들에 대해 잘 접근하고, 잘 해결할 수 있는 힘을 기를 수 있습니다.
물론 부스트캠프는 개발자를 위한 교육이므로 주로 프로그래밍으로 해결해야 하는 문제 상황이 주어집니다 ㅎㅎ. 좋은 기회로 4주 동안 챌린지 과정을 진행하게 됐습니다. 챌린지는 4주동안 집중적으로 CS 지식을 배우는 기간인데요. CS 지식의 동작 원리를 만들면서 배우는 것으로 진행됩니다.
“우리 모두는 자신의 힘으로 발견한 내용을 가장 쉽게 익힌다.”
- “The Art of Computer Programming”의 저자 도널드 커누스
1주차
주로 챌린지 환경에 익숙해지려고 노력했습니다. 앞으로 진행하면서 반복적으로 해야되는 일에 대해서 준비를 했던 시간이 많았습니다. 예를 들면 템플릿을 만든다거나, 개발환경 설정과 같은 일들을 주로 진행했어요. 그리고 진행했던 미션 내용에 대해서 자세하게 말씀드릴 수는 없지만 전공 지식인데도 제가 모르는 것부터 시작해서 분명 알고있다고 생각했는데 모르는 것 투성이었습니다.
생각이 깊어지고 조금은 좌절스럽기도 했습니다. 모르는 것들을 학습하다 보면 구현은 놓치게 되고, 학습을 간략하게 하고 구현을 하려고 하면 얕게 배운 지식들이 금방 휘발되고는 했습니다. 어떡하면 좋을까요? 힘겹게 새벽까지 구현하던 날들을 보내고 1주차를 마무리하며 지금까지의 고민을 정리,개선해야만 했습니다.
저는 한정된 하루라는 시간에서 최대한 효율적으로 시간을 쓰는 방법을 고민했습니다. 학습을 진행하고 있으면 끝도 없이 배워야 할 것들이 등장했습니다. 일단 ‘어디까지 학습할 것인가’를 결정해야합니다. 이에 대한 방안으로 학습을 마치고 일단 구현을 시작하는 시간을 정해두기로 했습니다. 이렇게 되면 오늘의 미션에 대해서 학습해야만 하는 것과 학습하면 좋은 것이 자연스럽게 분류됩니다. 저는 학습해야만 하는 것을 먼저 배우려고 할테니까요. 일단 구현을 하다보면 내가 모르는 개념들이 또 필요해집니다. 이 사이클을 돌게되면서 저는 학습을 점차적으로 깊게 들어갈 수 있게됩니다.
이렇개 배운 지식들은 기록해놓아야 나중에 잊지 않습니다. 잊지 않는 것도 중요하지만, 정리하면서 나의 해결 과정을 다른 분들에게 설명할 수 있도록 가다듬는 과정이 필요합니다. 저는 기록을 위해서 일단 내가 시간 별로 들었던 생각을 거칠게 적어놓을 공간이 필요하다고 생각했습니다. 총체적으로 모든 것을 메모해놓는 메모장이 필요했는데, 평소에 잘 사용하고 있는 Obsidian을 통해서 일단 다 적어두기로 했습니다.
구현을 다 못하는 날에도 문서를 적어두는 것은 필수라고 생각했습니다. 그날 왜 구현을 마치지 못했는지에 대한 경험을 적을 수 있기 때문입니다. 저는 아무리 늦어도 새벽 2시에는 분류 및 정리를 1차적으로 마무리하자고 생각했습니다. 구현이 급해서 정리를 못하는 상황을 방지하고자 한 것입니다.
챌린지의 또다른 고민은 하루라는 시간이 너무 짧기 때문에, 휴식하고 수면하는 시간이 부족했습니다. 이렇게 계속 진행하다보면 제가 절대 끝까지 갈 수 없겠다는 생각이 들었습니다. 새벽 6시까지 계속 진행했던 날도 있었는데, 조금밖에 못자고 다음 날 진행하려고 하니까 아무 것도 눈에 들어오지 않았습니다. 따라서 최소한 5시간 30분은 자야겠다는 기준을 세웠습니다. 아무리 아쉬움이 남아도 다음 날에 지장이 가게해서는 안됐습니다. 그리고 저녁에는 1시간 정도 휴식시간을 세우고 진행하려 했습니다.
다사다난했던 첫주는 이렇게 마무리되었습니다.
2주차
운영진분들이 휴식과 학습의 균형을 찾으라고 조언해주시는 것으로 시작됐습니다. ㅎㅎ 저말고도 많은 분들이 1주차에 밤늦게까지 달리신 것 같았습니다. 1주차를 진행하며 어떻게 챌린지를 건강하게 보낼 수 있을까 고민을 많이해둔 덕에, 다소 안정되게 보냈던 것 같습니다. 매일 미션이 시작되기 전에 오늘은 어떤 시도를 새롭게 해볼지 전날에 적어두었던 메모장을 살펴보며, 동료분들의 문제 해결 과정을 살펴보며 적었습니다. 이 루틴은 똑같은 실수를 반복하지 않도록 도움이 많이 됐던 것 같습니다.
학습을 ‘일단’ 마치는 시간을 정해두는 것은 모든 상황에 통하는 전략은 아니었습니다. 그날 배워야하는 지식의 양이 많을 수도 있으니까요. 따라서 2주차의 주요 고민은 “언제가 구현을 시작해도 되는 최소 시점인가?”였습니다. 이에 대한 방안은 샤워를 하다가 생각이 났습니다. 요구사항에 대해서 좀 더 초점을 맞춰보기로 했습니다. 주어진 문제 상황에 대해 한 문장씩 맛보고 즐기면서 이를 저만의 해석으로 바꿔쓰는 과정을 고안했습니다. 저만의 나름의 가설을 세워보고, 진행하며 이를 증명하는 형식으로 진행됩니다. 이렇게 진행했을 때, 요구사항을 반복적으로 다시 읽어보지 않아도 되고, 학습에 대한 방향성도 잡힐 것이라고 생각했습니다.
3주차
성장에 대한 체감이 확 느껴지는 주간이었습니다. 지금까지 학습했던 내용들과 새로 배운 지식들이 맞물리는 경험도 했고, 동료분들과 보내는 시간이 길어지면서 챌린지를 더욱 재미있게 보낼 수 있었습니다. 지금까지 만들어왔던 저만의 챌린지 시스템이 잘 동작하는 느낌이었습니다. 특히 제가 항상 고민이었던 동료분들과 소통이 미흡한 부분이 많이 개선되어 동료분과 밤늦게까지 소통하고 성취하며, 챌린지에서 가장 기억에 남는 하루를 보낸 날도 있었습니다. 3주차부터는 마음의 여유가 조금 생기고, 일찍 잔 날들도 많아졌습니다.
4주차
마지막 주인 4주차에는 3차 문제해결력 테스트가 있었기 때문에 조금 긴장된 마음으로 임했던 것 같습니다. 테스트가 있다는 것이 무의식적으로 압박감이 있어서 조금 불안한 마음이 들었던 것도 사실입니다. 지금까지의 부스트캠프의 경험이 너무 좋았고 성장이 느껴졌기 때문에 챌린지의 다음 과정인 멤버십 과정까지 경험해보고 싶다는 마음이 들었습니다.
이에 대해서 너무 의식하는 것은 독이라고 생각하고, 마지막까지 챌린지를 온전히 보내는 것에 집중하기로 생각을 정리하며 4주차를 시작했습니다. 이제는 지금까지 제가 유지하며 안정을 느끼고 있던 달성치에서 벗어나서 더 높은 목표로 향해야겠다고 생각했습니다. 이제는 미션 자체에 대한 소화에서 벗어나서 주어지지 않은 경우들도 고려하며 구현과 개선을 진행해나갔습니다. 4주차를 진행하면서 같이 즐겁게 지냈던 심병호 트리오, 그룹 분들도 기억에 남습니다. ㅎㅎ
그리고 마지막 날, 3차 문제 해결력 테스트가 진행됐습니다. 제가 테스트를 잘 진행한건지는 아직 모르겠지만, 챌린지를 지금까지 열심히 해왔기 때문에 마치고나서 후회는 없었던 것 같습니다.
수료식은 1부는 ZEP에서, 2부는 줌에서 진행됐습니다. 그동안의 긴장이 풀려서인지 수료식때는 가벼운 마음으로 즐겁게 보낼 수 있었습니다 ㅎㅎ. 슬랙 채널에서 활발하게 활동했던 분들이 수료식에 등장하시기도 하고, ZEP에서 반가운 분들도 만나서 좋았습니다. 그리고 챌린지 과정을 마지막까지 무사히 보낸 것이 뿌듯했습니다!
구석에서 이렇게 춤도 추고 놀았습니다 … 하핫
마치며
부스트캠프에는 열정적이고 훌륭한 동료분들이 많았습니다. 그분들이 옆에 계셨기 때문에 저도 많은 성장이 가능했습니다. 제가 일원으로 활동할 수 있어서 좋았고, 저도 누군가에게 도움이 되는 존재였다면 좋겠습니다. 개발자는 필요한 지식을 학습하고 이를 적용할 줄 알아야하는데, 이 능력을 매일 연습하고 기를 수 있었습니다. 특히 이전에는 잘 작성하지 않던 회고와 학습 정리를 적는 것이 이렇게 큰 도움이 될 줄 몰랐습니다. 이번 계기로 방치됐던 블로그도 적으려고 노력해야겠습니다.
이제는 챌린지가 끝나고 새로운 도전들이 제 앞에 계속해서 올 것입니다. 4주동안의 경험이 있기 때문에 두려워 하지 않을 것입니다.