부스트캠프 웹・모바일8기(boostcamp) 챌린지, 멤버십 회고

최근혁(GeunH)·2023년 12월 24일

서론

내 전공은 임베디드 시스템공학과였다.

내 주 프로그래밍 언어는 C, C++이었고 라즈베리 파이, 아두이노 보드를 통한 개발이 웹 개발보다는 훨씬 편했다.

그런데 우연히 학교 프로젝트, Instant Nerf 기술을 통한 3D modeling파일 제공 서비스에서 Node.js를 통한 로컬 서버를 구축하게 되면서 백엔드 개발에 관심을 가지게 되었다.

이후 JavaScript나 Java와 같은 프로그래밍 언어를 배우고 백엔드 개발을 시작해야겠다 마음을 다짐했다.

이전에 C, C++를 배운 경험이 있었으니 다른 언어를 배우는 것은 크게 어렵지 않았으나, 나는 백엔드 관련 지식이라고는 학교에서 정규과정으로 학습한 운영체제, 네트워크 통신의 일부가 전부였다.

그렇기에 전문적으로 스스로 성장할 수 있는 환경을 찾게 되었고, 네이버 부스트캠프 8기를 찾게 되었다.

합격까지 과정

출처 : https://boostcamp.connect.or.kr/guide_wm.html

부스트캠프는 서류 접수와 2번의 코딩테스트를 통한 최종 합격자 발표가 있었다. 따로 면접을 보는 일정이 없었기에 코딩 테스트 준비에 더 집중할 수 있어 편하기도 했다.

모집 대상에 적혀있는 '지속 가능한 개발자'가 내 목표였기에 서류를 쓰는 것은 어렵지 않았다. 나는 부스트캠프를 통해서 '스스로 성장할 수 있는 환경'을 만들어 적응하고, 그러한 환경에서 배운 지식들을 함께하는 동료들과 공유하며 성장하고 싶었다.

코딩테스트

코딩테스트는 1,2차 두번의 테스트를 진행했는데 일반적으로 여러 알고리즘 유형 문제나 CS문제들을 많이 구현하며 익숙해진 사람들이라면 엄청 어렵지 않게 답을 생각해내고 풀 수 있었던 것으로 기억한다.

물론, 시간이 충분할 때의 전제이고 실제 환경에서 긴장된 상태로 시험을 보게 되니 2솔은 되어야 합격할 수 있지 않았나? 생각한다.

프로그래머스 기준 level 2~3, 백준 기준 실버 상위권에서 골드 하위권 정도의 난이도였던 것 같다.

나는 JavaScript와 Java는 당시 기초적인 문법만을 학습한 상태였기에 알고리즘 테스트를 보기에는 무리라고 판단했고, 나에게 가장 익숙한 언어인 C++로 시험을 보았다.

합격 및 챌린지 시작

다행히도 합격을 하게 되어 부스트캠프 8기 일정에 참여할 수 있었다.

그렇게 부푼 마음을 안고 챌린지 과정을 시작하게 되었는데, 생각보다 많이 힘들었다.

보통 지나간 일이면 그때는 그랬지.. 식으로 바뀌기도 하는데 지금도 힘든게 생각난다. 당시에는 JavaScript가 익숙하지 않기도 했고, 머리로 이해했다고 생각했던 CS지식들도 직접 구현하려 하니 만만치 않았다.

구현해야하는 기능들에 포함되어 있는 개념들을 학습하고 또 정리하며, 좋은 코드로 완성해나가는 과정이 절대 쉽지 않았다.

미리 좀 해둘걸 하는 생각이 많이 들었지만 후회는 사치였기에 당시에 더 집중했고, 새벽까지 컴퓨터 앞에 앉아 화면을 보며 코딩하는게 일상이었다.

챌린지 과정에서 얻은 두가지

1. 고민의 문서화

이러한 과정에서 '문서화'의 중요성을 알았다. 내가 지금 겪는 문제를 언젠가는 또 겪을 것이고 그럴때마다 인터넷 검색을 하거나 같은 딜레마에 빠지게 되면 처음 다짐했던 "스스로 성장하는 개발자"가 아니지 않나 싶었다.

폭발적으로 어제보다 나은 오늘의 내가 될 수는 없어도, 어제보다 더 나은 오늘의 내가 되는 것이 목표였는데 이걸 못하면 지금 하는 이 과정이 무슨 의미가 있나 싶었다.

첫째날 학습한 내용을 정리한 노션이다.

지금 보면 참.. 답답하게 정리했다 싶기는 한데, 위 과정을 거쳤기에 위 내용들을 재구성하여 블로그 글로 남기기도 할 수 있지 않았을까 싶다.
(지금도 잘했다고는 생각하지 않지만!)

문서화를 효과적으로 학습한 방법은 "고민"이었다.

1. 내가 왜 이 개념 또는 기술을 사용해야 하는지
2. 비슷한 다른 개념들도 있는데 왜 꼭 이 기술이어야 하는지
3. 이로 인한 단점과 장점은 무엇인지
4. 내 코드에는 어떻게 적용을 했는지
5. 적용하며 발생한 문제는 무엇인지

위와 같이 고민해야할 포인트를 정하고 정리하려 노력했다.

2. 비교하지 말기

나는 웹 개발을 부스트캠프에서 처음 시작했기에 그만큼 남들보다 느릴 수 밖에 없었다. 어떤 날은 새벽까지 해도 기능 구현을 다 하지 못한날도 있었고, 어떤 날은 점심이 지나도록 당일날 학습해야 하는 개념을 이해하지 못해 3~4시에 구현을 시작한 날도 있었다.

그런데 지금 생각하면 당연한 일이지만, 나보다 잘하는 사람들이 워낙 많았고 당시엔 내가 너무 뒤쳐지는 느낌이었기에 조급한 마음이 커지기도 했다.

그러다 보니, 어느날은 아무것도 하기가 싫은 날도 있었다. "나는 이 길이 아닌가" 싶은 생각도 들었다.

이러한 생각이 바뀌게 된 날은, 어느 날에 마스터님들의 공지와 같은 글 때문이었다.

위에서도 말한 것처럼 내가 이 부스트캠프에 참여한 이유는 잘하는 사람이 되기 위한 것이기도 했지만, 더욱 중요한 것은 지속적으로 성장하는 사람이었기 때문에 당장 잘해질 필요가 없었다. 어제보다 더 나은 개발자가 되는것이니까. 이러한 마음가짐을 통해서 슬럼프?를 극복할 수 있었다.

멤버십

약 한달간의 챌린지 과정을 거치고, 멤버십 과정에 감사하게도 선발되었다.

챌린지에서 얻은 마음가짐과, 지식들을 기반으로 멤버십에서는 웹 개발의 지식을 쌓을 수 있었다.

이미 챌린지 과정에 어느정도 익숙해져서 였는지, 멤버십 과정은 새로 학습하는 내용도 많고 할 것도 많았지만 포기하고싶다는 생각은 들지 않았다.

오히려 함께하는 동료들과 공감대를 바탕으로 서로의 성장을 위해서 도와주고 도움을 받는 과정이 너무나 즐거웠다.

멤버십에서는 8주간의 학습 스프린트를 통해 웹 개발 그리고 백엔드 분야의 지식을 쌓고 이렇게 쌓은 지식을 6주간의 그룹 프로젝트를 통해 보여줄 수 있었다.

그룹 프로젝트

그룹 프로젝트에서 나는 안드로이드 캠퍼들과 협업을 할 수 있었다.

정말 좋은 기회였고, 놓치고 싶지 않아 프로젝트를 성공적으로 완수하기 위해서 많은 노력을 했다고 생각한다.

6주라는 기간이 짧은 시간이었지만, 그만큼 동료들과 많은 대화를 통해 방향을 정하고 학습하고 또 구현하며 성장할 수 있었다.

5주차 : https://velog.io/@rmsgur/boostcamp-project-week5
4주차 : https://velog.io/@rmsgur/boostcamp-project-week4
3주차 : https://velog.io/@rmsgur/boostcamp-project-week3
2주차 : https://velog.io/@rmsgur/boostcamp-project-week2
1주차 : https://velog.io/@rmsgur/boostcamp-project-week1

마무리

부스트캠프를 시작하기 전의 나와 지금의 나를 생각하면 정말 많은 점에서 달라졌다고 자신있게 말할 수 있다.

협업을 잘 할수 있는 '나' 가 되었고, 정리를 잘 할수 있는 '나'가 되었다. 책임지고 맡은 일을 다 할 수 있는 '나'도 된 것처럼 많은 점에서 성장했다고 느껴진다.

앞으로도 꾸준히 '문서화를 통해 함께 성장하는 개발자'가 되겠다.

profile
목표 : 스스로 성장하는 개발자

0개의 댓글