시작에 앞서, 지난 2주 동안 함께 달려온 동료들과 귀중한 기회를 제공해주신 부스트캠프 운영진 여러분께 깊은 감사의 말씀을 드립니다.
2주간의 베이직 과정이 종료되었다. 그동안 느꼈던 것들을 하나씩 풀어보려 한다.
입과 전의 나는 정보통신학과를 졸업한 상태였다. 데이터 통신, 프로그래밍 언어, 그리고 여러 컴퓨터 과학을 공부하고 졸업작품과 학술제 준비를 함께하며 4년 간의 학교 생활을 마무리하였다.
하지만 나는 여전히 갈증을 느끼고 있었다.
조금이라도 복잡하다고 생각하면 코드로 구현하는 것을 어려워했다. 프로그래밍, 코딩을 잘 하고 싶다는 생각은 항상 가지고 있었으나 그와 반대로 내 실력은 항상 밑바닥에 머물러 있었다. 그래서 백준, 프로그래머스와 같은 코딩 테스트를 준비할 수 있는 사이트의 문제를 풀면서 실력 향상을 꾀했으나, 중간에 막히기 부지기수였고 그럴 때마다 다른 사람의 코드를 검색하고 이해하며 해결법을 찾곤 했다. 또는 AI에게 질문하여 솔루션을 요구하기도 했다.
그렇게 내가 직접 아웃풋을 내는 것이 아닌, 모방하는 데에 그치기 바빴다. "모방은 창조의 어머니다"라는 말과는 달리, 나는 모방에서 끝나고 아무 것도 만들 수 없었다. 정확히는 나만의 생각을 코드로 만들 수 없고, 나만의 생각조차 할 수 없었다.
아니, 하지 않았다고 보는 게 더 맞을 것이다.
나의 문제의 이유는 훈련과 경험의 부족이라 생각한다. 이론 공부는 함께 다니는 학우들과 함께 자주 복습하고 이야기하면서 지식을 구체화해갔던 반면 코딩 실습은 너무 등한시한 감이 없지 않았다. 강의에 나왔던 코드를 다시 직접 구현해보고, 코드마다 어떤 동작과 의미를 보여주는 지, 다른 방법으로 어떻게 구현할 수 있는지 생각해보는 기회를 내 스스로 놓아버렸다 봐도 무방할 것이다. 분명 나 자신이 직접 할 수 있었음에도.
그래도 나는 포기하고 싶지 않았다.
그저 이렇게 흐지부지하는 삶을 살고 싶지 않았다. 내 지난 날의 과오를 씻고 하나부터 다시 바로잡고 싶었다. 더는 핑계를 대고 회피하고 싶지 않았다. 그러한 생각들로 가득찰 때 쯤에 네이버 부스트캠프 공고가 올라왔고, 모바일(Android)에 지원했다. 여기서라면 내가 무엇을 해야 하는 지 알 수 있을 것이라 생각했기 때문이다.
6월 23일, 월요일부터 베이직 과정이 시작되었다.
한 미션이 주어지면 그것에 대해 고민하고 생각한 결과를 제출한 다음 동료들과 함께 피드백을 주고받고, 이전 과정의 수료생의 접근법을 통해 미션과 관련된 여러가지를 학습할 수 있는 구조로 진행되었다.
미션마다 난이도가 쉬운 것도 있고 높은 것도 있었지만, 대체로 내게는 어려운 미션들이었다. 당장 두 번째 날부터 주어진 조건들을 이해하느라 고민을 많이 해야만 했고, 결과물을 만들고 정리하느라 시간을 많이 할애했다. 이러한 어려움들이 내게 큰 벽으로 다가왔지만, 그 큰 벽을 어떻게 넘어야 하는지 충분히 생각할 기회라 여겼고 부딪치기 시작했다.
각 과정마다 사용하는 언어가 달랐고, 내가 지원한 과정은 Kotlin을 활용해서 학습을 진행했다. 그렇게 나는 처음으로 Kotlin을 익히기 시작했다. 이전에도 다른 프로그래밍 언어를 활용해본 경험이 있기에 비슷한 문법은 쉽게 사용할 수 있었으나, Null 안정성을 비롯한 Kotlin의 특징과 내장 함수에 대한 이해도가 낮았기에 상대적으로 언어를 잘 활용하지 못한 상태에서 시작했다.
그러나 이는 여러 미션들을 통해 알게 된 것들을 반복적으로 사용하면서 언어에 적응할 수 있었다. 개인적으로 느끼기에 미션들의 흐름이 이전 미션에서 알게 된 것들을 활용하기 좋은 구조였다고 생각한다. 물론 크게 보면 다를 수 있겠지만, 나는 내가 익힌 것들을 십분 활용할 수 있는 좋은 연습 기회라 느꼈다.
그리고 내게는 감사하게도 나보다 넓은 시야를 가진, 더 많은 경험과 생각을 가진 동료들이 함께했다.
효율적인 코드의 동작과 특징, 동료들의 생각의 흐름을 이해하고 받아들이려 했다. 그와 동시에 어떻게 문서를 정리하고 설명해야 다른 사람들에게 쉽고 명료하게 전달할 수 있는지 고민하며 그 방법들을 직접 써보곤 했다. 어떤 날은 미션을 늦게 마무리하느라 피드백을 평소만큼 하지 못하는 날도 있었지만, 최대한 피드백을 시도하며 내 것으로 만들기 위해 노력했다. 그렇게 피어 피드백을 통해 내가 부족한 것과 알아야 할 것들을 깨닫고 다음 미션에 적용하는 모습을 보여주면서 함께 성장한다는 느낌을 깊이 느낄 수 있었다.
미션을 하면서 기록을 남기는 걸 오랜만에 하다 보니, 어색하다는 느낌이 들곤 했다. 예전에 블로그와 유튜브를 관리한 경험은 있지만, 그 때 이후로는 정말 오랜 기간이 흘렀기 때문이다. 그래도 내 생각을 구조화하고 나만의 무언가를 남기고 쌓아간다는 점에서 긍정적이라 생각했다.
이러한 미션은 주말을 제외한 날마다 하나씩 부여되었다. 그리고 나는 자연스럽게 한 주제에 대해서 하루종일 곱씹으면서 생각하게 되고, 이 문제의 진짜 본질은 무엇인지 찾으면서 다시 정의하고 어떻게 해결해야 하며 그것을 더 좋게 표현하는 고민을 깨어있을 때마다 늘 했다. 물론 그렇게 해도 생각의 흐름이 막힐 때에는 AI에게 자문을 구하여 최소한의 도움으로 내가 직접 해낼 수 있도록 유도하고자 했다.
그렇게 나는 생각하는 훈련을 자연스럽게 해왔다고 생각한다.
동료들 중 최고의 결과물을 냈다고 할 수는 없지만, 그 누구보다 치열하게 고민했다고 감히 이야기할 수 있다. 특히 어느 날은 오랜 시간 끝에 학습 키워드를 떠올려내 그걸 적용시킨 방법으로 풀어낸 결과물을 만들어낼 수 있었는데, 이 때 포기하지 않고 계속 시도하면 할 수 있겠다는 자신감이 생겼다.
그렇게 나는 2주간, 10개의 모든 미션을 완수하였다.
베이직을 완수한 다음 날, 문제 해결력 테스트를 응시하였다.
"최대한 테스트를 잘 봐서 다음 과정인 챌린지에 입과하자"는 생각도 있었지만, 그보다는 나의 실력이 어느 정도인지 다시 확인하는 시간이라 생각하고 임했다. 따라서 최대한 모든 문제를 피하지 않고 끝까지 풀어보려 노력했다.
아쉽게도 내 예상만큼의 결과를 제출할 수 없었다. 이는 나의 경험이 여전히 부족하기 때문일 것이라 생각한다. 그래도 이전보다 실력이 향상되었음을 충분히 느낄 수 있었다. 앞으로도 실력을 쌓아가는, 생각하는 과정을 더 탄탄히 잡아야겠다고 다짐하게 되었다.
테스트의 결과를 떠나, 나는 지금도 문제를 해결하는 습관을 유지하기 위해 날마다 한 문제씩은 꼭 생각하는 시간을 가지고 있다. 당일에 해결하지 못하더라도 요구사항을 분석하고, 흐름도를 그리면서 설계하고 구현하는 과정들을 통해서 계속 고민하고 시도하는 중이다. 이렇게 하나씩 기록을 남기다 보면, 언젠가는 내 생각을 자유자재로 쓸 날이 올 것이라 생각한다.
그리고 이제는 AI의 도움에서 벗어나, 나 스스로 생각하고 해결하기 위한 홀로서기를 해보려 한다.
물론 AI가 우리에게 많은 도움을 제공할 수 있음은 부정할 수 없지만, 결국 내가 직접 문제를 정의하고 풀지 않으면 제자리에 머무르고 벗어날 수 없을 것이라 생각한다. 최대한 내가 할 수 있는 것을 하되, AI에게 맡길 수 있는 것들을 따로 분리하여 활용하면 좋을 것이라 생각한다.
만약 다음 부스트캠프 지원을 고려하는 분이 계신다면, 나는 이에 대해 적극 추천할 것이다.
왜냐하면 나는 이 시간동안 내가 능동적으로 학습하고 동료들과 함께 성장할 수 있었으며, 내가 느낀 이 긍정적인 경험들을 다른 사람도 느끼게 해서 더 나은 환경을 만들어나가고 싶기 때문이다.
물론 그만큼 얻어가기 위해서는 여러가지를 시도해보는 것이 좋을 것이다. 헤맨 만큼 시야가 넓어질 테니. 그러니 여러분들도 직접 도전해 보시라.
베이직 과정동안 수고 많으셨습니다, 무호님
무호님 리드미를 보면서 '누구보다 치열하게 고민했다'는 말에 공감합니다. 많은 고민들이 담겨 있었던 것 같아요. 챌린지 과정에서도 함께 했으면 좋겠습니다 :)
제 벨로그도 한번 놀러와주세요!
https://velog.io/@camille_protocol/네이버-부스트캠프-10기-베이직-후기