본문 바로가기
나의 경험/부스트캠프

[네이버 부스트캠프 7기] Web 멤버십 스프린트 후기

by Cafe Mocha 2022. 11. 6.

이번주까지 8주간의 네이버 부스트캠프 멤버십 스프린트 기간이 끝났다.

꾸준히 기록을 남기고 싶었지만, 혹시 블로그에 정리하다가 미션등이 유출될 수 있어 끝나고 기록을 남긴다.

 

부스트캠프 멤버십 스프린트

부스트캠프 멤버십은 스프린트 8주와 그룹프로젝트 6주로 진행된다.

그 중 8주간의 스프린트 기간이 마무리됬다.

 

스프린트 기간동안에는 총 4개의 프로젝트를 기본 1~2주간 진행하면서 Web 개발에 필요한 능력을 키우는 시간이었다.

챌린지와 동일하게 내용에 대해 강의는 없고, 미션을 수행하면서 필요한 지식을 스스로 공부하고, 피어세션에 공유하면서 학습하는 과정이었다.

 

8주간 Web 개발에 필요한 프론트엔드, 백엔드 지식을 공부했지만 아직도 부족한 점이 많다고 생각한다.

하지만, 설계에 대해 진지하게 고민해 볼 수 있었고, 개발 자체에 재미와 자신감이 많이 생겼다!

 

스프린트 기간동안 가장 기억에 남는 것은 하기와 같은 두가지이다.

1. 풀 스택 개발의 필요성

부스트캠프를 시작하기 전에는 Javascript,React로 간단한 todo list와 api를 활용한 간단한 사이트만 만들어봤다.

하지만 이번 스프린트에서는 프론트엔드와 백엔드 모두 공부하고 프로젝트에 적용해야 했기 때문에 백엔드에 도전할 수 밖에 없었다.

부스트캠프를 오고 싶었던 가장 큰 이유가 이것이다.

혼자 공부하면 공부할 내용도 많고, 어려울 것 같다는 생각에 익숙하지 않은 것은 잘 안하려고 한다.

하지만, 프로젝트를 수행하면서 백엔드를 같이 공부할 수 있었고, 백엔드에 대한 개념이 생기자 프론트엔드에서도 설계할 때 조금 더 깊게 생각해 볼 수 있었다.

 

프로젝트1,2를 수행할 때까지는 CI,CD배포... JWT로그인... 세션/쿠키... 프록시... NGINX... 멘붕이었다...

도대체 그게다 뭔데?? 뭔소리야!! 라는 생각이 정말 많이 들었고, 매일 아침 피어세션 후 혼자 키워드를 보면서 공부했던 것 같다.

하지만 하나씩 공부하고 적용해보면서 백엔드가 어떤 방식으로 동작하고, 프론트엔드와 어떤 방식으로 연결되는지 이해할 수 있었다.

아직 부족한 점이 많고, 모르는 것이 많지만 왜 풀스택을 공부해야하는지 알 수 있었다.

 

그룹 프로젝트에서도 프론트엔드만 담당하지 않고, 풀스택으로 개발하면서 공부할 생각이다.

 

2. 페어 프로그래밍 & 협업

마지막 4주차 프로젝트는 페어프로그래밍으로 진행했다.

그동안 하나의 프로젝트를 개인이 하나씩 만들어가면서 공부했다면, 이제는 다른 캠퍼와 하나의 프로젝트를 같이 만들어가는 방식이었다.

 

나는 페어프로그래밍을 '분업'의 개념으로 생각했었다.

하지만, 페어프로그래밍은 네비게이터와 드라이버로 구분되어서 분업이 아닌 정말 협업의 방식이었다.

 

처음에는 너무 비효율적인 것처럼 생각했지만, 실제로 개발을 해보니 왜 페어프로그래밍을 해야하는지 알 수 있었다.

처음 1~2일은 정말 많이 힘들었다. 프로젝트를 이해하고 구현하는 것도 힘든데 페어와 상의하고 의견이 다르면 맞춰가는 과정이 있고, 나의 코드를 누군가가 지켜보고 있다는 생각에 코드를 치는 것도 어려웠다.

하지만 진행하면서 점점 페어와 의견을 맞추는 과정이 원활해지고, 문제가 생겼을때 같은 고민을 함께 하면서 함께 성장하는 느낌을 받을 수 있었다.

 

나는 페어프로그래밍을 진행하면서 나의 장점과 단점을 발견할 수 있었다.

먼저 장점은 문제 해결 과정에서 문제를 명확하게 정리하는 능력이었다. 문제가 발생했을때 확실하게 확인된 부분과 확인되지 않은 부분을 나누고 해결 과정을 정리해서 시도해 보는 것에서 장점을 발견할 수 있었다.

개인적으로 개발자에게 이런 장점은 매우 중요하다고 생각하기 때문에 뿌듯하고 더욱 더 개발시켜야겠다고 다짐했다.

 

나의 단점은 충분히 생각하지 않고 시도해보는 것이다.

새로운 기술을 공부하거나, 문제해결을 위해 정리하고 하나씩 시도해보는 것은 좋으나 모든 것을 경험으로 익히려고 하는 것이다.

예를 들어 새로운 기술을 공부할때 공식문서를 충분히 확인하지 않고 우선 사용해보면서 이해하고, 정리하는 방식이다.

또는, 문제를 해결하기 위해 좋은 방법이 떠오르면 그방법의 결과를 생각하지 않고 우선 시도해보는 것이다.

 

새로운 기술을 익힐때는 부스트캠프라는 환경에서는 시간적으로는 많은 도움이 되었다.

하지만, 기술의 옵션 등을 충분히 익히지 않고 설정해서 그 옵션 하나로 2~3시간을 버리고 다시 찬찬히 읽어서 해결한적이 생각보다 많다.

 

문제를 해결할때 결과를 생각하지 않고 시도하는 것은 함께한 페어분을 통해서 많이 해결할 수 있었다.

페어분은 충분히 정리되지 않으면 절대로 코드를 치거나 시도하지 않으시는 성격이셨다. 나와는 반대인 성격으로 맞춰가는 과정에서 몇시간씩 토론을 하면서 서로의 이해과정을 맞추는 시간을 보내기도 했다.

이러한 성격은 나의 성급한 시도에서 혹시 이런시도로 하시면 어떤 결과를 예상하고 시도하시는 건가요? 라는 질문을 던져주셔서 충분히 생각하도 시도해볼 수 있었다.

 

반대로, 나의 장점이 페어분께도 도움이 되셨다고 해서 서로에게 좋은 영향을 주면서 개발했던 것 같다.

 

실제로 이러한 과정에서 많은 캠퍼분들이 어려움이 있었다고 금요일 피어세션 시간을 통해 들을 수 있었다.

3주간 전체 시간을 풀 페어프로그래밍으로 유지한 팀은 우리팀밖에 못봤다.

 

분명 어렵고 피곤하기도 한 페어프로그래밍이지만 나에게는 너무나 큰 도움이 되었다고 생각한다.

그리고 함께한 페어분과 좋은 두분과 함께 다음주부터 그룹프로젝트를 시작한다!

 


아쉬운 점

개인적으로 스프린트 과정을 수행하면서 아쉬운 점을 기록하고, 그룹 프로젝트에서는 개선해보자!

 

1. 학습정리

처음에는 공부한 내용을 많이 정리하면서 프로젝트를 진행하려고 노력했는데 점점 진행할 수록 구현할 기능이 많아져서 학습정리에 많이 집중하지 못했다고 생각한다.

다만, 페어프로그래밍 기간 동안에는 Github isuue에 트러블 슈팅에 대해서는 기록하면서 진행한 점은 잘했다고 생각한다.

그룹 프로젝트에서 새로운 내용 모두를 학습정리 할 수는 없겠지만, 핵심 기능에 대해서는 학습정리를 진행해 보려고 한다.

추가로, 모든 트러블 슈팅에 대해서는 기록하고, 기술스택을 선정했을때와 같이 어떤 선택을 했을때는 그 선택의 이유를 기록하려고 한다!

 

2. 일정 및 시간관리

스프린트 기간동안 대부분의 기술과 기능을 처음 시도하다보니 일정과 시간관리를 못했다고 생각한다.

하지만 그룹 프로젝트 완결성있는 프로젝트로 완성하기 위해 조금 더 집중해서 일정,시간관리를 할 예정이다!

차주에 회의를 통해 결정할 예정이지만, 매주 스프린트 기간으로 가져가고 회고하면서 일정을 매주 잘 관리할 예정이다.

 


정리

벌써 부스트캠프를 시작한지 3~4개월이 지났네요

아직도 많이 부족하고 시작한지 얼마 지나지 않았다고 생각하는데 벌써 그룹프로젝트라니!

설레기도하고 두렵기도 합니다.

더보기

저는 처음 챌린지를 시작할 때는 모든 팀에서 제가 가장 못하는 팀원이었습니다.

하지만 챌린지가 끝날 때는 함께 코드 리뷰를 진행할 수 있는 팀원이 되어 있었습니다.

제가 챌린지가 끝나고 멤버십을 시작할때 남긴 회고입니다.

스프린트 기간이 끝나고 저는 캠퍼분들께 어떤 팀원이었을지 궁금하네요.

 

개인적으로 저는 함께 고민하고 토론을 나눌 수 있는 팀원까지 성장했다고 생각합니다.

실제로 프로젝트 마지막쯤에는 이제 어떤 기술과 기능, 문제에 대해 함께 고민하고, 토론을 나누는데 두려움과 망설임이 없어졌고, 모든 내용을 알지는 못하지만 이해할 수는 있게 된 것 같습니다.

 

그룹 프로젝트가 끝날때는 더 성장한 개발자가 되었으면 좋겠습니다.