네이버 부스트캠프 웹모바일 10기 베이직 과정을 수료하고 챌린지 입과 당일입니다!
지원 준비 과정부터 베이직 이수 과정, 문제 해결력 테스트 후기까지 작성해보려고 합니다. 자기소개서에 워낙 자신이 없어서 작성 당시 여러 글을 참고했기 때문에, 다음 기수에 지원하시는 분들도 이 글을 읽고 도움이 되었으면 좋겠습니다.
1차 코딩 테스트로 베이직 입과를 선택할 수 있었던 작년과 달리, 이번에는 지원서를 제출하고 자격 요건이 되는 모든 분이 베이직에 입과해야 합니다.
약 2주간 챌린지 맛보기 느낌으로 가볍게 네부캠을 경험하고, 2주간 모든 미션을 완료한 후 문제 해결력 테스트를 한 차례 보면 챌린지 입과 여부가 결정됩니다.
학부 전공 수업으로 프로세싱, 아두이노, 웹 코딩을 배우면서 처음 개발에 흥미를 느끼게 되었습니다. 디자인 중심 수업이기에 결과물이 재미있고 독특한 것이 중요했지만, 교수님의 가르침을 넘어서 코드의 구성과 동작 원리가 궁금했고 반복되는 구조나 복붙한 코드들이 마음에 걸렸습니다.
당장 프론트엔드 프로젝트를 만들 수는 있지만
과 같은 문제점으로 아주 운 좋게 취업이 되어도 문제인 수준이었기에 반년간은 지난 프로젝트를 보완하고 코딩 테스트를 공부하며 시간을 보냈습니다.
제가 지금 필요한 것은 명확했습니다:
이런 것들을 모두 채워줄 수 있는 것이 부스트캠프라고 생각했기 때문입니다.
약 2주간 초안을 작성하고 세 번 정도 수정하여 제출했습니다.
사실 포트폴리오를 제출할 줄 알고 지원서보다 그쪽에 더 힘을 썼는데, 이번 기수부터는 포트폴리오가 빠지고 지원서만 받는다는 소식에 부랴부랴 지원서를 완성했습니다.
베이직에서는 주말을 제외하고 매일 한 개의 메인 미션과 간단한 미션, 동료 피드백, 당일 회고를 진행합니다.
강의를 듣고 정해진 답을 도출하는 방식이 아닌, 스스로 분석하고 구현 범위와 방향을 결정해 결과물을 제출합니다.
모든 범위는 자유롭게 기획 가능합니다.
간단하게 문제의 확실한 요구사항만 구현하신 분도, 중의적으로 해석 가능한 부분을 각각 다르게 구현하신 분들도 있었습니다.
정해진 정답은 없으며, 각자의 방식대로 탐구하고 해석해도 됩니다.
제출 기한은 정해진 날까지 자유롭지만, 앞선 문제의 내용이 뒷 내용에 적용되거나 동료 피드백을 활발히 받기 위해서는 전체적인 스케줄에 맞춰 매일매일 과제를 진행하는 것을 추천합니다. 저희 조의 경우 8~10등을 넘어가면 피드백이 현저히 줄어들곤 했기 때문입니다.
각자 다른 기준과 해석으로 작성한 답변을 비교하며 피드백을 주고받습니다.
정의한 문제 요구사항이 다르기 때문에 답변 또한 천차만별로 달랐지만, 시간이 갈수록 서로의 좋은 점을 흡수해서 전체적인 퀄리티가 모두 함께 올라가는 느낌을 받았습니다.
개인적으로 활발히 피드백하지는 못했지만 (능력상..) 다른 분들이 디버깅하거나 피드백해주신 내용으로 몇 번 오류를 고쳤던 기억이 있습니다.
저는 사용자 중심, 깔끔한 문서 등을 중요시하기 때문에 최대한 읽기 좋게 정리하려고 노력했지만 전공 지식이나 백엔드 경험이 전무해서 설계 등에서 어려움을 겪었습니다.
그래서 문서 정리에 있어 도움을 드리는 한편 다른 전공자 분들께 저는 어디를 공부해야 하는지도 모르는 전공 지식의 갈피를 잡거나, 알고리즘을 활용해서 효율성을 중요시하는 법 등을 배울 수 있었습니다.
대부분의 답변에서 혼자 풀기에는 능력이 부족했습니다. 'AI와 공존하는 개발자'로서, AI에 의존하지 않고 스스로 탐구하는 것도 매우 중요하지만 저는 AI를 최대한 똑똑하게 활용하려고 했습니다.
문제를 정의하고, 어떤 점을 해결해 나가야 하는지를 상세하게 먼저 작성한 후, CS 전공 지식이나 코드의 보완할 점 등을 AI에게 물어봐 답변을 향상시켰습니다.
단순히 "이거 어떻게 해?"라고 물어봤던 전과 다르게 "어떤 점을 어떻게 하려고 하는데 더 좋은 방법은 없을까?"라고 구체적으로 물어보는 등 질문 수준이 달라졌다고 생각합니다.
개발자 연이 없는 저에게 다른 사람의 코드 피드백을 받을 수 있는 환경은 너무 소중했고, 제 수준을 객관화할 수 있었습니다.
개인적으로 동료분의 코드 읽는 능력은 꾸준히 향상시켜야 한다고 생각합니다. 챌린지에서는 실시간으로 피드백도 해야 할 텐데 잘 따라갈 수 있을지는 살짝 걱정됩니다.
베이직의 모든 과정을 마치면 문제 해결력 테스트를 봅니다. 코테 경험이 전무하고, 이번에 한 차례의 테스트로 바뀌면서 난이도도 예상할 수 없었기에 꾸준히 카카오 기출 문제를 풀면서 기다릴 수밖에 없었습니다.
시험은 베이직의 각 미션 내용을 최대한 학습하고, 복습하고, 연결되는 지식들을 따라가며 관련 문제를 풀다 보면 해결할 수 있다고 느꼈습니다.
객관식, 서술형, 문제 등 여러 가지가 혼합되어 출제되었으며 검색이 불가능해지면서 지문이나 프로그래머스 공식 문법 문서를 제공하고 풀이할 수 있도록 바뀌었습니다.
CS의 경우 지문이 주어지고 매우 지엽적인 문제는 안 나왔던 것 같지만, 저의 경우 전공 지식이 전무하여 가능한 것만 빠르게 풀고 넘어갔던 것 같고, 서술형은 운이 좋게 전날 공부했던 것과 관련된 문제라서 70% 정도 부합하게 작성하였습니다. (베이직 관련하여 공부하기!)
문제는 대부분 2솔이었고 저 또한 2솔로 마무리했습니다. 긴장해서 문제를 잘못 해석해 시간이 좀 낭비되었고... 마지막 문제는 지문에 모르는 내용이 너무 많아서 이해를 못하고 그냥 버렸습니다. 문제 자체는 그렇게 난이도가 높은 문제는 아니라고 합니다.
이렇게 준비한다면 큰 어려움 없이 통과할 수 있는 수준이라고 생각합니다.
2주라는 짧은 기간 동안 방대한 지식을 모두 학습할 수 없었기에 아쉬움이 남기도 하고, 제가 소홀히 여기던 부분과 관련된 문제가 나왔을 때는 하루를 미루기도 했습니다. 그럼에도 포기하지 않고 가능한 선에서 학습하려고 노력했습니다. 확실히 이전에 비해 사고하는 능력이 길러졌다고 생각합니다.
생각해보면 UX에서도 문제 상황을 정의하고 하나씩 해결하는 게 가장 중요한데, 코딩에 앞서서만 유독 제대로 된 설계 없이 무작정 구현하다가 빙빙 돌아가는 경험을 많이 한 것 같습니다. 이번 경험을 통해 설계의 중요성을 더욱 느꼈습니다.
오늘부터 시작될 챌린지가 무척 걱정되지만 끝까지 포기하지 않고, 체력 문제로 중간에 빠지지 않고 수료해서 후기를 다시 작성할 수 있기를. 화이팅!