네이버 커넥트 재단 부스트캠프 웹・모바일 9기의 멤버십 과정(24.08.19 ~ 24.12.06)을 수행한 경험을 회고하는 글입니다. 4주간의 소중한 경험을 스스로 되짚어 보고, 정리해보고자 기억이 잊혀지기 전 작성해보려 합니다.
⛔ 혹여나 컨텐츠 유출의 소지가 있는 내용이 포함될 경우 즉시 삭제 처리하겠습니다 ⛔
회고를 시작하며...
이전글
시간이 정말 빠르다. 멤버십 과정이 끝날거라고 생각하지도 않았고, 24년이 끝날거라고도 생각하지 않았다. 12월이 되어버린 시간부터 '현재의 나는 부캠 시작 전의 나와 뭐가 달라졌을까?' 를 생각해보다가 '이럴바에는 회고하며 기록으로 남기자!' 라는 결론으로 이어졌고, 포스팅을 끄적거리기 시작했다.
멤버십 과정 입과
아직도 내가 입과자로 선발된 이유를 잘 모르겠지만, 그렇기에 더욱 기뻤던 것 같다. 나는 멤버십 과정을 이수하기 위해서는 휴학이 불가피한 상황이었다. (심지어 25년 2학기에 졸업 필수 이수과목이 남아 25년 1학기에 졸업이 가능한 케이스도 아니었다.) 그래서 [멤버십 과정 + 1년 강제 휴학 VS 바로 2학기 이수 후 졸업] 을 두고 고민을 정말 많이했던 기억이 난다.
멤버십 입과가 내게는 정말 여러모로 의미가 큰 선택이라 생각했고, 휴학을 선택했다. 지금 생각해보면 참 잘한 선택인 것 같다. 물론 아직 25년 2학기에 눈물을 흘리며 4학년 2학기를 이수할 때는 조금 다를 수도 있으나,,, 일단은 후회도 없고, 매우 만족스럽다.
입과시에 필요한 서류작업을 몇가지 거치고, 베이스캠프에 들어가는 과정들을 통해 입과 등록을 완료했던 기억이 난다.
학습 스프린트
멤버십 입과와 동시에 학습 스프린트를 시작했다. 내가 이수했던 웹 풀스택 & BE 과정은 풀스택 미션 4주 + BE 미션 4주의 일정으로 약 8주간 진행되었다.
⛔ 미션의 상세한 내용은 최대한 추상적으로 언급하는 점 양해 부탁드립니다 ⛔
풀스택 미션 (Express, HTML, CSS, Template Engine)
디자인과 요구사항이 주어지고, 해당 요구사항들을 만족하는 애플리케이션을 풀스택으로 직접 개발하는 내용이었다. 스스로 디자인 시안을 보며 바닐라 HTML, CSS를 다루며 API 서버 찍어내는것이 익숙했던 나에게는 비교적 새로운 시간이었다.
그동안 FE를 경험하며 React의 Styled Component를 활용할때와 달리 바닐라 CSS와 HTML만을 사용하면서 어떻게 하면 React처럼 효율적으로 코드를 관리할 수 있을까? (React와 같은 도구들이 얼마나 위대한지 깨닫는 시간들ㅠㅠ) SSR과 CSR중 어떤 형태로 개발을 진행하는 것이 적절할까? 와 같이 평소에는 직접 할일이 없는 문제 해결을 위한 다양한 고민을 해볼 수 있는 시간이었던 것으로 기억난다.
BE 미션 (TCP, HTTP, Socket)
마찬가지로 디자인과 요구사항이 주어졌지만, 조금더 낮은 수준의 요구사항들을 만족하는 애플리케이션을 외부 라이브러리의 도움을 최소화 한 채로 개발해나가는 경험을 했다.
어떻게 보면 요즘같이 프레임워크나 라이브러리가 매우 친절한 MZ 세상에서는 이런걸 몰라도 매우 빠르게 애플리케이션 개발이 가능하다. 하지만 단순히 'HTTP는 이렇게 생겼고, 각 속성들은 이러한 역할을 한다' 라는 내용을 단방향으로 보며 학습할때와 그 깊이의 차이는 확실했다.
스스로 현재 직면한 문제상황이 무엇인지 명확하게 파악하고, 이 문제를 해결하기 위해서 여러가지 방법중 어떤 방법을 선택해야 할지 까지의 흐름을 스스로 제기하고 해결해나가는 과정이 반복되었다. 부스트캠프는 문제 해결을 위한 Best Practice를 제공해주지 않는다. 기본 지식들만을 가르쳐 주고 스스로 문제해결을 위한 파이프라인을 설계하도록 유도하는데, 이러한 경험의 반복은 나에게 기술적학습 뿐만 아니라, 자신감 쪽으로도 많은 도움이 되었던 것 같다. (어? 내가 이걸 설계하고 만들었다고? 나 조금 쩔지도?)
스터디 그룹
2주를 단위로 8주간 총 4개의 스터디 그룹에 배정을 받았다. 스터디 그룹원들과는 데일리 스크럼, 상호간 코드리뷰 등을 자율적으로 진행하며 같은 문제를 동료들은 어떻게 바라보았는지? 해결은 어떻게 했는지? 와 같은것들을 공유할 수 있었다.
처음에는 요구사항 자체가 그리 복잡하지 않았기에, 다들 비슷비슷 할거라 생각했지만, 이 생각은 아주 보기좋게 빗나갔다. 정말 다양한 부분으로 각자 집중한 포인트가 달랐고, 같은 기능을 개발 함에 있어서도 정말 다양한 접근법과 방법들이 나왔다. 각 방법을 도입하게된 근거와 장단점을 이야기하는 과정에서 동료와 상호 존중하는 환경에서 건설적인 논의를 이어나가는 방법도 점차 익혀나간 것 같다.
그룹 프로젝트
그룹 프로젝트는 6주간 진행 되었으며, 거주 지역과 주제를 기반으로 교집합이 있는 팀원들과 매칭이 되었다. 사전에 거주지역을 조사했었는데, 이를 기반으로 배정을 해주어서 그런지 우리팀은 모두가 경상도에 거주중이었다. (랜덤 배정임에도 불구하고 정말 멋진 팀원들과 함께 할 수 있었다.)
개인적으로는 부스트캠프 멤버십 과정에서 가장 기대하던 시간이었다. 높은 열정과 실행력을 가진 구성원들로만 팀을 이룬다는것이 부스트캠프와 같은 특수한 환경이 아니면 쉽지 않다는 것을 알기 때문이다.
하지만, 모두가 열정만 있다고 해서 프로젝트가 좋은 방향으로 가는 것은 보장되지 않는다. 좋은 프로젝트의 진행을 위해서는 모두가 주인의식을 가질수 있을만큼 각 구성원이 프로젝트의 방향성에 대한 확신과 애정이 있어야 한다고 생각한다.
물론 이는 절대 쉽지않았다. 모두가 평소에 가지고 있는 생각과 경험은 가지각색이고, 이를 처음만난 팀원들과 합의점을 찾는다는 것은 정말 어려웠다.그래서 팀원들과 주제 선정에 더욱많은 생각과 시간을 투입했던 것 같다.
주제 선정
고민 끝에 우리팀은 개발관련 포스팅을 간편하게 구독하고 모아볼 수 있는 포스트 허브를 만들기로 했다.
부스트캠프가 끝나더라도 실제로 사용자를 받아보며, 지속적으로 유지보수 해나갈 수 있는 지속가능성 과 실제로 구현하고 운영할 수 있을만큼의 복잡도 및 사이즈를 가지는 현실 가능성을 핵심 가치로 잡았고, 팀원 모두가 만족할만한 주제를 발굴 하는데에 성공했다.
Github Repository
프로젝트 배포 주소
프로젝트 이슈 관리 보드
팀 노션
협업과 함께 성장하기
모두가 하나의 목표를 바라보고 달려나가다 보면 정말 많은 일들이 발생한다. 단순히 '넌 이거하고, 난 저거할게' 로 끝나는 문제가 아니라, 어떤 문제는 빠르게 개인이 해결한 후에 결론과 함께 알려줘야할 때도 있고 구성원 모두가 반드시 검토 후에 결정지어야 할 때도 있다.
그렇기에 효율적으로 태스크를 분담하고 모두가 비슷한 수준의 업무 이해도를 가져갈 수 있는 환경을 마련하기 위해 많은 노력을 했던 것 같다. 애자일 스크럼 방법론을 도입해 스프린트를 계획하고, 데일리 스크럼을 통해 모두가 이슈의 현황을 꾸준히 팔로우 업 하며, 회고와 스프린트 리뷰 시간에 다양한 문제 개선을 위한 방안을 모색하며 기록했다.
말은 이렇게 했지만 우여곡절도 정말 많았다. 간단한 의사결정을 하는데에 2~3시간씩 팀원들과 토론한 적도 있었다. 혹은 회의때 이미 확정난 내용과 다르게 작업했다는 것을 PR을 쓰고나서 알아챈다거나, 데드라인은 얼마 남지 않았지만 의사소통의 부족으로 인해 작업이 딜레이되는 상황들도 종종 연출되었다.
"맨처음에 '와~ 이 기능 좋다~~' 하고 최후에는 결국 도입여부를 결정 해야한다. 근데 이 결정 과정이 길어지면 서로가 힘들어진다. 그럴 때는 빨리 결정하는 것이 중요하다. 이 과정에서 타협을 보기 시작하면 누군가는 반드시 불만이 생긴다."
"결정을 합의하는 것이 아니다. 결정을 하는 방법을 합의하라."
- 부스트캠프 개발자 이벤트 "좋은 협업이란 무엇인가?" 의 연사 FE 개발자 유용태님
위 내용은 부스트캠프에 프로젝트를 진행하며 팀원들과 의사결정을 해야하는 순간때마다 보며 되뇌었던 내용이다. 나는 이번 프로젝트에서 팀장을 맡게 되었는데, 위 내용은 협업에서 정말 중요한 부분을 관통하는 부분이라는 것을 느꼈다.
의사 결정은 다수결로 진행하되, 반대의견이 나올 시 반드시 근거와 함께 모두가 긍정적으로 검토해보고 재투표를 통해 결정을 한다. 라는 방법을 사전에 구성원들과 합의 해두고 실시하는 것과, 그때그때 즉흥적으로 결정하는 것과는 정말 큰 차이가 있었다.
향후 계획
나는 그동안 '어떤 개발자가 되고싶은지?' 에대한 질문에 함께 일하고 싶은 개발자가 되고 싶다 이야기 했었다. 하지만 부캠을 경험하며 얕은 수준으로 목표하고 있었던 그 기준은 점차 깊이 있게 변화했다.
위에서부터 꾸준히 언급한 바와 같이, 부캠은 내게 단순히 개발자로서 알아야 할 기술적 지식을 넘어 협업에 필요한 소프트스킬, 문제 해결을 위한 자신감, 그리고 컴퓨팅적 사고력까지 폭넓게 성장할 수 있는 기회를 제공했다. 기술적 역량뿐만 아니라 팀워크, 의사소통, 논리적 사고 등 개발자로서 진정으로 중요한 역량들을 종합적으로 배울 수 있었던 소중한 경험이었다.
부캠은 내게 앞으로의 개발자 인생에 있어서 꾸준히 영향을 줄 만큼 큰 이벤트였다.
정말 다양한 것을 보고, 학습하고, 만들었다. 하지만 결국은 내가 이것을 휘발되지 않고 잘 활용하기 위해서 발버둥 치지 않으면 아무런 의미가 없을 것이라 생각한다.
부스트캠프에는 SW 생태계의 선순환을 위해 선뜻 나서주신 멘토님들이 굉장히 많았다. 대부분이 과거 기수 수료생들로, 다양한 방면으로 후배 기수 개발 인재 양성에 힘써주셨다. 나도 훗날 어엿한 한명의 개발자가 되어 부스트캠프와 같은 개발자 양성 커뮤니티에 선한 영향력을 줄 수 있는 사람이 되는 그날까지 열정을 잃지않고 달려보려 노력해야겠다.
'회고' 카테고리의 다른 글
부스트캠프 웹・모바일 9기 챌린지 과정 회고 (2) | 2024.08.16 |
---|---|
2024 네이버 부스트캠프 웹 · 모바일 2차 코딩테스트 후기 (3) | 2024.07.07 |