꿈돌이랜드

[후기] 네이버 부스트캠프 웹・모바일 8기 멤버십 수료 후기 본문

후기/지원후기

[후기] 네이버 부스트캠프 웹・모바일 8기 멤버십 수료 후기

loinsir 2024. 4. 2. 22:33
반응형

수료는 12월에 했지만 여러 바쁜 개인 사정과 취준으로 인해 이제야 후기를 작성한다.

멤버십 일정

멤버십 초반 8주간은 미션 기반 프로젝트를 수행하고, 6주간은 팀 프로젝트로 이루어진다.

미션 주간

미션은 2주에 1개 미션씩 공개되며, 미션이 공개된 차주는 전주에 공개된 미션의 추가적인 구현 요구사항이 공개된다.

이 초반 8주간의 미션 기반 프로젝트는 정말 재밌었다.

가장 기억에 남는 미션은 아이패드 드로잉 앱을 만드는 미션이었는데, 뷰 계층과 좌표 시스템 개념과 객체지향 개념 등을 함께 동원하여 미션을 완성해 나갔다.

특히 설계가 중요했던 미션이었는데, 추가적으로 미션이 진행되며, 확장성있는 구조를 짜는 방법을 계속해서 고민해야했다. 그리고 ViewController의 비대함을 줄이기 위한 여러가지 방법도 구상했던 미션이었다.

그리고 매 아침에 구현 진행상황을 그룹과 줌으로 공유하면서 피드백을 주고받으면서 많이 배웠던 것 같다.

이러한 미션의 마지막엔 동료와 페어프로그래밍을 진행하게 되는데, 특이한 경험이었다. 손발이 묶인채 코딩을 하면서 동료 캠퍼와 밤늦게까지 고민하며 미션을 수행했다. 현업에서도 간혹 이러한 방식으로 페어프로그래밍을 진행한다고 하는데, 미리 어떤 느낌인지 체험할 수 있어서 재밌었었다.

멤버십의 꽃, 팀 프로젝트

8주간의 미션 주간이 끝나고 1주간의 인터미션(휴식?) 기간이 주어진 후, 6주동안 팀 프로젝트를 수행하게 된다.

아마 미션주간 마지막 2주 전 즈음에 슬랙을 통해 프로젝트 팀빌딩 관련 공지가 나갔었던 걸로 기억하는데, 과열 아닌 과열? 적인 분위기로 인해 슬랙에 팀원 모집 글이 많이 올라왔던 것으로 기억한다. 아마 이번 부캠 8기가 처음으로 서버와 클라이언트가 함께 팀 프로젝트를 수행하는 것으로 인해 많은 사람들이 조급함으로 인해 그러지 않았나 싶다는 얘기가 있었다.

사실 난 팀원 구하는 데 딱히 조급함은 없었지만, 대부분의 사람들이 팀원을 구했다고 한 시점에 먼저 팀빌딩 여부를 물어봐주신 분을 통해 팀에 합류를 하게 되었다.(팀원 제안해주셔서 정말 감사합니다ㅠ)

팀원분들이 다 좋으신 분들이어서 정말 재밌게 팀 프로젝트를 진행할 수 있었다.

팀프로젝트 일정은 다음과 같다.

1주차: 이 때 프로젝트 주제 선정과, 디자인, 개발 사항 명세 작성 등을 끝내야 한다.

2~5주차: 기능 구현

6주차: 리팩토링, 산출물 정리 등

 

우리 팀은 동영상 관련 주제를 하기로 하였다.

위치 기반으로, 특정 위치 주변에 영상을 유튜브 숏츠나 인스타 릴스 처럼 보여주는 방식의 앱을 개발하기로 했다.

그렇게 탄생한 앱이 Layover다.

 

 

https://github.com/boostcampwm2023/iOS09-Layover

 

GitHub - boostcampwm2023/iOS09-Layover: 내 여정의 경유지들을 기록하다🧑‍🚀👩‍🚀👨‍🚀 - 위치기

내 여정의 경유지들을 기록하다🧑‍🚀👩‍🚀👨‍🚀 - 위치기반 숏폼 플랫폼. Contribute to boostcampwm2023/iOS09-Layover development by creating an account on GitHub.

github.com

 

우리 팀에 디자인 능력자 분이 계셔서 멋진 앱 디자인을 낼 수 있었다.(정말 감사합니다 ㅠㅠ)

1주차에는 팀원들이 모두 대전에서 모여서 기획 회의를 했다. 에어비앤비를 하루 빌려서 어느정도 와이어 프레임과 디자인을 잡는 방향으로 진행헀다.

 

구현 주간에는 여러 일이 있었다. 앱 구현을 어떤 방식으로 나눠서 개발할 지, 협업의 방식에 대한 고민을 했다. 처음엔 단순히 화면 별로 나눠서 구현합시다! 라고 했지만, 그렇게 되면 서로의 개발 도메인을 이해하지 못하는 부분이 생길 수 있다는 마스터의 말씀이 있었다. 그래서 우리 팀은 유저의 유스케이스를 기준으로 나눠 구현하도록 정했다.

예를 들어, 유저가 동영상을 업로드 하는 부분이 있다면 업로드 하는 과정의 로직을 맡아 개발하는 것이다.

깃 충돌도 꽤 발생하는 부분이 있었지만, 각자의 코드 오너십을 줄일 수 있다는 장점이 있었다.

 

중간에 팀원들과 부산 광안리에 모여, 숙소에서 바다를 보며 작업도 했었다.

 

이후 막바지 까지 꽤나 잠을 줄여 가면서 열심히 했었다. 금요일과 토요일을 제외하면 거의 하루에 2~3시간 정도만 자면서 구현을 해 나갔다. 이렇게 했던 이유는 나중에 후회가 없이 프로젝트를 하고 싶어서였다. 유튜버 장사의 신 님이 말하길 “쉬지마, 20대 때는 안쉬는 거야”. 하지만, 이는 나중에 큰 독이 되었다. 프로젝트가 끝난 후 갑작스레 몸이 안좋아져 1, 2월 간 병원 신세를 졌다 ㅠㅠ. 생각해보니 장신님도 지금 잔병치레 하시지 않나…?

 

여차저차 구현 주간 막바지에는 테스트 코드를 작성했다. 테스트하기 좋은 아키텍처를 택한 만큼 테스트 코드를 작성해야 의미있다는 생각이었기 때문이다. 또, 부스트캠프에서 배운 큰 것 중 하나가 테스트코드이기도 했다.

부스트캠프 마지막에는 최종 발표가 기다리고 있었다. 최종 발표에는 모든 멘토님들이 참석하셔서 꽤나 긴장되었다…

6주 동안의 결과물이 평가아닌 평가를 받게 된다고 생각하니 새가슴이 되었다.

공식 일정 이후

우리 팀은 남은 작업들을 하기로 했다. UX적으로 미흡했던 부분을 보완하거나, 미처 작성하지 못한 테스트 코드 작성, 성능 개선, 출시를 남은 목표로 잡았다. 나는 주로 시청했던 동영상 캐싱 작업을 맡았다. 여러가지 캐싱 방식을 고려하다가 Styleshare사에서 개발했던, 앱 내부에 캐시용 프록시 서버를 띄워 캐싱하는 방식의 라이브러리를 알았고, 나도 이를 발전시켜 오픈소스 라이브러리로 배포하면 좋을 것 같다 생각하여 라이브러리로 만들었고, 앱에 적용했다.

https://github.com/loinsir/HLSCachingServer

 

GitHub - loinsir/HLSCachingServer: A simple, lightweight HLS caching server written in Swift.

A simple, lightweight HLS caching server written in Swift. - loinsir/HLSCachingServer

github.com

진짜 끝…?

프로젝트가 마무리 되고 돌이켜 보면, 다른 팀원들에게 너무 부족한 팀원이었던 것 같다. 욕심이 너무 앞서서 팀원들에게 부담을 준 것 같기도 하고, 여러모로 팀원들에게 미안한 감정이 크다... 그래도 팀원들이 너무 재밌고 좋으신 분들이어서 큰 복이었다고 생각한다. 좋은 추억으로 즐겁게 부캠을 수료할 수 있게 해준 팀원 여러분 정말 여러모로 감사합니다..!

궁금하신 점은 댓글 달아주시면 빠르게 답변 해드리겠습니다:)

반응형