2023 회고 시리즈 제1편 : 네이버 부스트캠프

Lukaid·2023년 12월 26일
0

회고

목록 보기
1/3

2023년이 벌써 끝나간다. 회고를 진즉 쓰려고 했는데, 부캠이 끝나고 결혼 준비와 모바일 청첩장 제작... 이래저래 일이 많아서 25일 새벽에 작성을 시작..! 밀린 회고글이 많다. 부지런히 써보자!

boostcamp

23년은 정말 굴곡이 많은 한 해였다. 22년, 개발자로 커리어를 시작하고 맞는 두 번째 해, 첫 번째 퇴사, 네이버 부스트캠프 입과 및 수료, 그리고 혼인과 결혼식 준비까지, 굵직굵직한 이벤트가 참 많은 23년이다.



첫 번째 퇴사

23년 5월, 많은 것을 느끼고 퇴사를 했다. 이리저리 커리어를 옮기면서 불안감이 없었던 것은 아니지만, 개발자로 온전히 몰두하고 제법 많은 것에 기여한 뒤 이 직업에 대한 확신이 생겼다. 그래서 더 잘하고 싶고, 내 강점이 무엇인지 곰곰이 생각해 보는 시간을 가졌다.


나는 컴공 출신은 아닌지라, 기본기에 자신감이 없었고 그렇게 Geek 하지도 않다. 그래도 개발과 프로덕트를 만들어간다는 것의 재미를 알게 되었고, 그 과정에서 개발을 잘하는 것만큼 일을 잘하는 것이 중요하다는 것을 알았고, 소통과 조율의 중요성도 깨달았다. 이 부분에서 내 강점을 확실히 인지했고, 앞으로 커리어에 대한 고민도 어느 정도 해소가 되는 것 같았다.


기본기에 대한 고민에 지인의 추천으로 카이스트 정글네이버 부스트캠프를 알게 되었고, 나에게 더 알맞다고 생각한 내부캠에 지원했다. (정글은 대전에서 5개월 합숙을 하는데, 그럼 우리 식장에서 다시 보는 거야?라고 말하는 아내의 말이 너무 크게 느껴졌다...)



챌린지 과정


어찌어찌 합격하긴 했는데, 네부캠의 경우 이 챌린지 과정에서도 30% 정도 낙오한다고 하여 걱정이 앞섰다. 물론 잘 해내고 수료까지 했지만, 와... 정말 힘들었다. 나는 어느 그룹에 가든 그게 무엇이든, (심지어 중고딩 때 공부를 안 할 때도) 적어도 중간 이상은 한다고 항상 느끼고 자신감이 있는 사람이었다. 하지만 부캠에 들어와서 매일 쏟아지는 미션을 해결하면서, 동료분들의 결과물이나 퍼포먼스를 나와 비교해 보니 정말 처참할 정도로 자신감이 무너졌다. 문제의 난이도를 가늠하기 어려울 정도로 이해가 안 되는 미션도 많았고, 나름대로 잘 해결했다고 생각하는 것들도 다음날 동료분들의 결과물을 피드백할 때 보면 실력의 차이가 아득할 정도였다. 매일 새벽까지 공부하고, 코딩하고 반복... 쉽지 않았다.


챌린지 과정에서 CS 지식도 정말 많이 배워갔지만, 가장 크게 배운 두 가지는 1. 나만의 성장2. 문제 해결 방법이다. 주변에 개발을 잘하는 사람들은 정말 많다. 설계를 잘하는 사람도 너무 많고, 컴퓨터 지식이 많은 사람도 엄청 많다. 그들의 강점과 나의 그것들을 하나하나 비교하는 것은 크게 도움이 되지 못한다는 것을 알았다. 나와 비교하며 어떡하지? 고민하는 것보다는 강점을 인정하고 배울 수 있는 것이 있다면 배워가는 것이 현명하다는 것을 알 수 있었다.


개발자는 코딩하는 사람이 아니라 문제를 해결하는 사람이라는 말에 공감하고 좋아한다. 챌린지 기간에 매일 미션을 받고 해결해야 하는 문제가 쏟아졌다. 문제를 해결하기 위해 가장 먼저 해야 할 것은 문제를 정의하는 것이라는 것을 배웠다. 문제를 해결하기 위해 어떤 것이 필요하고, 내가 무엇을 모르며, 어떤 것을 학습해야 하는지 매 순간 고민했다. 시간이 정말 많이 걸릴 때도 있고, 생각보다 금방 해결될 때도 있지만, 문제를 정의하지 않았다면 시간이 아무리 많아도 해결하지 못할 것 같은 미션도 많았다. (미션의 구체적인 사항은 공개가 금지되어 있어 여기서 서술하지는 못한다 ㅠ)



멤버십


챌린지가 끝나고 운이 좋게도 멤버십에 합류할 수 있게 되어 학습을 이어나갔다. 멤버십은 웹 풀스택으로 첫 번째 과정, 각자 전공 (프론트 혹은 백)에 집중하는 두 번째 과정, 그리고 최종 그룹프로젝트로 구성되어 있었다. 나는 당연히 서버에 집중해서 학습할 계획이었는데, 첫 번째 과정을 진행하면서 생각이 조금 바뀌었다.



프론트 과정을 선택


나는 제네럴리스트를 지향한다. 주니어 개발자 입장에서 하나를 깊이 있게 개발하는 것이 좋다는 피드백을 많이 받기는 했는데, 내가 직접 경험한 것과 성향을 고려해 볼 때 여전히 그렇다. 나는 다른 사람의 생각을 듣고 나의 생각을 정리하고, 소통하며 조율하는 것에 흥미를 느끼며 재능이 있다고 생각한다. 그래서 개발 전반에 대해 다양한 경험을 해보고 시간이 조금 더 지나면 매니저로서 일을 하고 싶다. 그래서 클라이언트 기술을 심도 있게 경험할 아주 좋은 기회라고 생각하여 프론트 과정을 선택했고, 현재 선택에 아주 만족한다.


물론 처음에는 진짜 쉽지 않았다. 그룹프로젝트 전까지는 리액트가 아닌 Vanilla JS로 모든 개발을 했는데, 정말 어렵게 느꼈고, 이미 프론트에 경험이 많은 캠퍼가 훨씬 많아서 혼자 진도가 늘어지기도 했지만, 챌린지 때의 경험을 기억하여 내 속도대로 학습하고 개발해 나갔다. 고생을 많이 했지만, 결국 익숙해지긴 하더라. (css가 진짜 어려웠다.) 전 회사의 요구로 플러터를 배우고 개발한 경험이 있는데, 정말 큰 도움이 되었다.


특히 인상에 남는 피쳐가 있다면, 페어프로그래밍이다. 회사에서 일할 때나 사이드 프로젝트를 할 때, 나는 페어프로그래밍을 상당히 좋아했고, 즐겨한 편이었다. (심지어 디자이너 분과도 종종 페어프로그래밍..? 비슷한걸 종종 했다.) 그래서 나름 자신이 있었는데, 부캠에서 페어가 된 분이 상당히 소극적이고 말씀이 적으신 분이라 조금 당황했다. 아직 3학년이라 하시고 원래 좀 소심한 성격이라고 말씀해 주시긴 했는데, 나는 말을 많이 하는 편이고, 의견 주장이 강한 편이라 걱정이 많았다.


내가 주로 네비게이터 역할을 하면서, 페어프로그래밍을 이끌어 갔고, 당시에는 큰 의식이 없었지만, 페어프로그램 주간이 끝나고 그룹프로젝트 팀을 구할 때 페어님께서 나에 대한 추천을 많이 하셨다는 걸 알게 되었다. 그리고 최근에 네트워킹데이에서 찾아오셔서 덕분에 많이 배웠고, 특히 개발할 때 본인의 요구사항을 말하는 방법을 배운 것 같아서 너무 감사하다는 말씀을 전해주셔서 아직까지 인상이 남는다.



그룹프로젝트


BaekjoonRooms

Repository


그룹프로젝트에서도 배운 것이 정말 많다. 만약 서버 개발자로 그룹플젝에 참여했다면, 직접 팀을 꾸려볼 생각이었지만, 클라이언트 개발을 선택했고, 나보다 잘하는 분들께 배운다는 마인드로, 열정 있는 여러분들의 모집공고를 유심히 보다가, 대현님의 공고를 보고 이거다! 싶어서 지원하게 백준룸즈팀에 참여하게 되었다.


팀을 고른 조건은 다음과 같다.

  1. 목표 프로덕트가 명확히 있을 것
  2. 가능하면 레퍼런스가 있을 것
  3. 우리가 실제로 쓸 수 있는 (흥미를 가지고 있는) 프로덕트 일 것
  4. 팀원 모두가 적어도 일주일에 한 번 이상 오프라인 모임이 가능할 것

6주라는 시간이 무언가 완성도 있는 프로젝트를 만들기에는 많이 짧은 시간이라는 것을 알아서, 시간을 최대한 컴팩트하게 쓰고 싶었다. 그래서 프로젝트 주제를 정하고, 기획하고, 디자인에 들어가는 코스트를 절약하고 싶어서 1, 2번 조건을 고려했다. 또, 개발자 스스로 흥미가 없는 프로덕트에 대한 개발은 의욕이 생기지 않을 것이라는 것도 이미 알고 있어서 우리가 실제로 출시 후 사용할 만한 프로덕트이길 바랐다.


마지막으로, 2명 이상이 사람이 모여 하나의 목표로 작업을 하려면, 그들끼리 최소한의 의사소통이 가능해야 한다고 생각한다. 물론 개개인이 경험이 많고, 타고난 친화력이 있다면 문제가 없지만, 경험한 바로 개발자들(특히 캠퍼들)은 낯을 많이 가리고, 결국 하고 싶은(해야 하는) 말을 못 하게 될 것이라 생각했다. 그래서 최소한의 라포를 형성하기 위해서라도 최소한의 오프라인 모임은 필수라고 생각했다. 이 부분에는 아쉬움이 좀 많아서 후에 서술하겠다.


백준룸즈는 해외의 leetrooms라는 서비스를 벤치마킹하여 국내의 상황에 맞게 개선하는 프로젝트라고 소개하셨다. 그리고 가능하다면 오프라인 개발을 지향하고 계셔서 내가 생각하는 것과 딱 맞다고 느껴 지원했고 합류하게 되었다.



한줄 감상


목표를 잘 세우고, 모두 열심히 참여하여, 기간 안에 완성도 있는 프로젝트를 만들어낸 멋진 팀. 하지만 그래서 더 아쉬움이 남는, 내가 더 잘했으면 어땠을까 생각하게 되는 그런 팀.



아쉬운 점


1. 커뮤니케이션


가장 큰 아쉬움 중 하나이다. 팀원들 간 직접적인 갈등은 없었지만, 전체적으로 서로 눈치를 보고 예의를 과도하게 지키려 했던 부분이 있었다. 프론트 팀원들 간에는 큰 문제가 없었는데, (예찬님과 기원님께 감사드린다) 프론트 <-> 백 소통에서 살짝의 미스 커뮤니케이션이 있었다. 문서화도 잘 된 편은 아니었고, 서로의 기분을 너무 생각한 게 아닌가 싶었다. 여기서 내 경험과 성향을 좀 더 잘 살렸으면 어땠을까 하는 아쉬움이 진하게 들었다. 예를 들면, 소프트 딜리트 보다 하드 딜리트를 사용하실 때, Many to Many Table에서 ORM기능에 대해 고민하실 때, 로그인 문제로 firebase도입 등을 고민하실 때, 내 경험을 살려서 좀 더 강하게 어필해 보면 어땠을까 싶긴 했다. 당시에는 모두 동등한 위치에서 개발하는 것이라 무언가 지시하는 듯한 액션을 취하는 게 상당히 부담스러웠고, 또, 저들이 고민을 하며 시행착오를 겪을 기회를 내가 뺐는 것이 아닌가? 하는 생각도 들었었다. 그리고 내가 리더 포지션에 있는 것은 또 아니라, 갈등 중재에 적극적이지 못했던 것도 후회로 남는다. 어렵고 부담되는 기술들을 혹은 재밌을 것 같은 주제들을 몇 명이 독점한 것 같다는 피드백도 있어서 더욱 아쉬웠다.


2. 후반부 이슈와 프로젝트 관리


처음에는 깃헙의 이슈와 프로젝트 기능을 잘 활용했는데, 프로젝트가 진행될수록, hot-fix가 많아질수록, 마감기한이 임박할수록 이런 것들이 잘 지켜지지 않았다. 면접관분들이 보실 수도 있는 것이니 우리 한 번 잘 작성해 봅시다! 하며 의욕적으로 시작했었는데... 다음 프로젝트에선 내가 조금 더 드라이브를 걸어서 잘 지켜봐야겠다. (물론 나부터 더 신경 쓰고 잘해야 한다.)


3. 문서화


참.. 어려운 것 같다. 문서화.. 문서화의 중요성은 이미 많이 느낀 상태이고 필요성도 알고 있지만, 꾸준히 꼼꼼하게 실행하는 게 정말 쉽지 않다. 이것도 처음에는 너무 잘 쓰려고 해서 문서 하나를 만드는데 3일씩 걸려버리고 그러다 보니 지치고 그랬는데, 지금은 너무 잘 쓰려는 마음은 조금 내려놓았고, 어투도 조금 가볍게 바꾸고(벨로그를 일기형식의 반말로 작성하게 된 계기 중 하나이다.), 여러 시도를 해보고 있는 중이다.


문서화 같은 경우, 다 같이 열심히 해봅시다! 보다는, 누구 하나가 책임지는 게 나을지도 모르겠다는 생각이 들었다. 만약, 다음에 플젝을 하게 된다면, 내가 총대를 메고 열심히 해봐야겠다.



잘된 점


1. 깃허브 활용


우리 팀은 협업툴을 깃헙으로 일원화했다. 후술 할 디스코드와 함께 신경 써야 할 채널을 줄인 게 주요하게 작용했던 것 같다. PR 및 코드리뷰도 효과적으로 진행되었던 것 같다. PR폼을 만들어 사용했고, 모든 PR은 작성자가 끝까지 책임진다는 원칙을 만들어 관리했다.


2. 매일 아침 상태 공유


매일 아침 각자의 현재 상태를 공유하는 시간이 동기 부여와 문제 해결 의지를 높였던 것 같다. 다들 적극적으로 참여해 줘서 고마웠고, 매일 아침에 일에 대한 얘기가 아닌, 시시콜콜한 이야기로 시작하다 보니, 조금씩 더 친해지는 기분도 들었다.


3. 디스코드로의 전환


pc의 리소스를 많이 잡아먹는 미팅(zoom)과 소통채널(카톡 + 슬랙)을 디스코드로 단일화했다. 팀원들의 만족도가 아주 높았고, 채팅으로 소통하다가 필요성을 느끼면 그때그때 바로 미팅을 할 수 있는 게 협업에서 아주 좋았다.


4. 주 1회 이상은 반드시 전체 식사 & 오프라인 협업


우리 팀은 주에 1회 이상은 반드시 함께 식사하는 시간을 가졌다. 식사를 같이하며 조금 다른 분위기에서 편안하게 여러 이야기를 할 수 있어서 좋았고, 몰랐던 이야기들을 나누면서 조금씩 더 친해지는 시간이었던 것 같다. 매주 부산에서 올라와주신 예찬님께 감사와 박수를 보내고 싶다 👏👏👏👏👏👏👏👏


서울 멤버들끼리는 최대한 오프라인에서 협업할 수 있게 노력했다. 리모트 작업이 보편화되었긴 하지만, 나는 여전히 오프라인 미팅에서만 느낄 수 있는, 멤버들의 표정변화, 비언어적 표현 등이 미팅에서 엄청 크게 작용한다고 생각한다. 함께 있는 시간이 작업의 질과 팀의 유대감을 높이는 게 아주 크게 작용했다.



총평


너무 수고하고 너무 잘했지만, 아쉬움도 많이 남는 그런 6주였던 것 같다. 기술적인 내용은 다음 포스팅에 담겠지만, 이건 너무 잘했어! 하는 것도 명확했고, 그래도 이건 아쉬워... 하는 것도 명확한 팀이었다. 기회가 된다면 반드시 다시 같이하고 싶은 팀이다. (그땐 제가 더 잘할게요...)



팀원들의 피드백


부캠에서 그룹플젝의 팀원 피드백을 진행했다. 그중 몇몇을 공유하며 글을 마친다.


피드백

동료는 팀에서 어떤 역할을 수행했나요?


  • 팀 발표 등 팀을 대표해서 말하는 역할을 해 주셨습니다. 개발쪽에서는 프론트엔드 쪽을 담당했고, 주로 프로젝트 구조, context와 router, 웹 소켓쪽 개발을 담당해주셨습니다.

  • 프론트엔드 업무 분배, 라우팅, 랜딩페이지 개발 등 거시적인 프론트엔드 개발

  • 성우님은 프론트엔드의 책임자로써 백엔드와의 소통을 책임지고 프론트엔드의 핵심 기술을 공부하고 프로젝트에 적용하였습니다.

  • 팀의 정신적 지주. 프론트 업무 전반, 백엔드와의 적극적 소통, 로그인, 비즈니스 로직 (방, 유저), 스타일, 앞단 socket.io, 등등


GROWTH / INITIATIVE / PROFESSIONAL / TOGETHER

  • GROWTH : 프로젝트 진행속도가 다른 팀에 비해 느린 것 같아 걱정을 한 적이 있는데 우리팀은 다들 처음이고 제대로 학습을 한 뒤에 구현을 시작한 것이라 조금 느릴 수 있다. 그렇지만 학습을 잘 한 상태이기 때문에 금방 구현할 것 같다라고 말을 해주셔서 이 말을 듣고 힘이 많이 되었던 것 같습니다. 덕분에 스스로를 알고 성장하는데에 집중할 수 있었습니다.

  • INITIATIVE : 프론트엔드 파트를 맡고 있지만 배포나, 데이터베이스 스키마 등 백엔드 측이 어려움을 겪고 있을 때 자신의 경험을 바탕으로 백엔드 측에도 다양한 의견을 제안함으로써 더 나은 프로젝트를 만들어갔습니다. 또한 매일 아침 나서서 프론트엔드의 일감을 분배함으로써 원활한 프로젝트 진행에 도움이 되었습니다.

  • PROFESSIONAL : 설계 구현 과정에서 구현만을 위한 코드를 짜지 않기 위해 공식 문서를 정말 많이 읽으시는 것 같습니다. 그렇게 해서 구현을 하고 항상 고민하고 학습한 내용을 공유를 해주셔서 쉽게 이해할 수 있었습니다. 어떤 라이브러리이든 도입 할 때, 확실한 이유를 찾고 그 근거가 빈약하다면 도입하지 않는 모습에서 볼 수 있듯, 개발 과정에 있는 수많은 선택에 대한 근거와 이유를 찾습니다.

  • TOGETHER : 자신이 개발한 내용에 대해 상세한 pr과 대화로 진행상황을 공유했기에 프론트엔드 모두가 서로의 진행상황을 인지할 수 있었고 앞서 언급했듯이 배포나, 데이터베이스 스키마 등 백엔드 측이 어려움을 겪고 있을 때 자신의 경험을 바탕으로 백엔드 측에도 다양한 의견을 제안함으로써 더 나은 프로젝트를 만들어갔습니다.


계속 잘해주세요.

  • 우리 팀에서 열정과 책임감을 바탕으로 프로젝트의 추진력을 만들어나갔습니다. 백엔드의 진척도가 느릴 때 끊임없이 빠르게 개발해달라고 요구하는 등 불편한 말을 참지 않고 해주신 덕분에 프로젝트가 완성은 된 것 같습니다.

  • 프로젝트 기획 단계에서 나는 생각하지도 못한 것들을 생각하시는 것 같았습니다. 덕분에 프로젝트의 완성도가 높아진 것 같습니다. 코드 구현에 있어서도 나는 별 생각없이 구현을 했었는데 context 등을 활용해 좀 더 완성도 있는 코드를 구현하셨습니다. 이렇게 완성도 있게 결과물을 잘 내주시는 것 같아서 프로젝트의 퀄리티가 높아진 것 같고, 협업을 하면서 배울점이 정말 많았던 것 같습니다.

  • 개발의 모든 과정에서 열정적으로 학습하고, 새로운 방법론이나 라이브러리를 적용할 때 예시 코드등을 찾아보며 사용 방법에 대하여 많이 고민하였습니다. 그 과정에서 한번에 오류없는 코드를 잘 작성할 수 있었고, 이는 코드 전체 품질의 상승으로 이어졌습니다. 또한, 프로젝트 기획과 회의에서 팀원들의 의견을 잘 경청하고 그것에 대한 자신의 의견을 잘 피력해 주었습니다.


더 노력해 주세요.

  • 맡은 업무에 대해 문서화를 하는 것에 있어 조금 아쉬움이 있엇습니다.

  • PR 컨벤션을 정하는 과정에서 자기가 생각하는 좋은 부분을 팀원들에게 설득하는 과정이 오래 걸렸습니다. 하지만 PR 컨벤션을 정하는 기준과 그 전체적인 과정에 결국 큰 도움을 주었습니다.



profile
풀스택 지향 웹개발자 이성우입니다.

0개의 댓글

관련 채용 정보