[RememberPlus] 리더로 활동하면서 어떻게 성장했을까? 2번째 부트캠프를 마치며.
태그: Techeer
6주 동안의 일들을 담아냈기에 다소 양이 많을 수 있다는 점을 미리 알립니다.
활동명: SilliconValley 2023 Summer Bootcamp
역할: 리더
기여 분야: Frontend
, 배포
, 문서화
, 팀원 관리
, 최종 발표
GitHub: https://github.com/SV-Summer-BootCamp-Team-F
Notion
발표영상(1:24:14~1:29:40)
https://www.youtube.com/live/gnqpdrnDG9g?feature=share&t=5054
Demo
이번에도 42일간 진행된 24시간 부트캠프가 종료되었다.
2022년 말, 어찌 보면 2023년의 시작과 함께 나의 웹 개발에 대한 커리어가 시작되고 어느덧 8개월이 넘는 시간이 흘러갔다.
처음엔 정말 아무것도 모르는 상태로 부트캠프에 들어왔던 나는 여러 활동들을 거쳐 어느새 팀원에서 리더라는 역할을 부여받고 활동을 하고 있었다.
처음에는 "내가 리더라는 역할을 잘 해낼 수 있을까?", "내 실력이 아직 그 정도는 아닌 것 같은데.."라는 생각들이 지배적이었지만, 그래도 이런 기회가 주어졌다는 건 주위에서 보았을 때 내가 많이 성장했다는 점을 보았기 때문일 것이라고 생각한다.
나는 리더가 되면서 어떤 일들을 했을까?
기술적인 부분만 보자면 프런트엔드 쪽에서는 많은 경험을 했고, 프로젝트도 3번째가 되었기에 분명 프런트엔드의 부분에서는 많은 지원을 했을 것이다.
하지만 백엔드의 경우는 경험이 부족하였으며, 사용해 본 적 없는 기술들을 사용하는 프로젝트였기에 많은 도움을 주지 못해 아쉬웠다.
주위에서 듣기로는 팀원들의 멘탈 케어와 문서 지원 등의 측면에서는 뛰어난 성과를 내었다고 하여 안도의 한숨을 쉬었던 것 같다.
다만, 이 자리에 있으면 프런트엔드뿐만 아니라 프로젝트의 모든 분야에 관여를 했어야 했기에 정말 많은 학습이 필요했던 것 같다.
이제 생각을 해보자, 프로젝트의 시작부터 나는 어떤 것들을 해왔는지 말이다.
Week 0 (23/06/25~23/07/02)
정말 놀랍게도 지난 부트캠프도, 이번 부트캠프로 F팀으로 참여했다.
F팀의 팀원에서 리더로 참여해서 그런 것인지, 그 의미가 더욱 깊은 것 같았다.
지난 부트캠프에서 리더로 참여했던 분이 어떤 식으로 행동했었지? 그리고 나는 이 시기에 어떤 것이 필요했을까?
위 두 가지 포인트를 중점적으로 생각하면서 팀원들을 리딩하였다.
결과는 성공적이었고, 팀 전원을 성장곡선 위에 올려두었다고 평가받았다.
0주 차는 팀원의 적응을 도와주기 위한 활동들을 했던 시간이 대부분이었다.
1. 팀원 파악 및 아이스브레이킹
나는 이때 팀원들의 특징들을 빠르게 파악했던 것 같다.
아무래도 팀원들을 파악하고, 전체적으로 어떤 분위기인지를 파악하는 것이 팀의 중요한 시작점을 결정한다고 생각했던 것 같다.
각 팀원들의 첫인상, 초반 대화, 평소의 표정, 말투, 분위기 등의 초기 인상을 통해 팀의 전체적인 느낌을 파악했으며, 우리 팀의 경우에는 모든 사람들이 전부 다른 느낌의 샐러드 볼 같은 그런 팀으로 느껴졌다.
샐러드 볼 같은 경우는 잘 섞여있고, 추가적인 조리를 가하지 않았을 때 가장 최적의 결과가 나오는 상태이므로, 나는 개개인의 특성을 존중하면서도 의지를 부여하는 그런 전략을 시행해야겠다고 마음먹었다.
2. 팀 노션 페이지 사전 생성
놀랍게도 1년 동안 참여했던 같은 부트캠프의 다른 팀이다.
좌측은 팀원으로 참여했던 나의 F팀이고, 우측은 리더가 된 나의 F팀이다.
지난 부트캠프에서 느꼈던 점들 중 초기에 노션 페이지를 만들어두면 정말 많은 시간을 아낄 수 있을 것이라고 생각했다.
노베이스로 시작하는 사람들도 많을 것이고, 이 부분을 미리 생성해 두는 것만큼 팀원들에게 도움이 되는 부분이 많을 것이라고 생각했다. 실제로도 많은 도움이 되었다고 한다는 점
3. 팀원들에게 제공하는 가이드라인
웹 개발에 처음 접하는 사람들이 초반에 가장 어려워하는 부분이 초반에 알아야
할 용어가 많은 점과 어느 정도의 실습을 하며 개발에 대한 감을 잡아야 하는 부분이다.
특히 초반이면 초반일수록 그 부분이 더욱 중요하다고 생각하기에, 이러한 할 일을 부여하였다.
사실 스스로 찾아서 학습을 하면 좋겠지만, 무엇을 모르는지 모르는 상태와 무엇부터 해야 하면 좋은지에 대해 잘 모르는 상태에서는 이렇게 가이드라인이 있으면 도움이 될 것이라고 생각했기 때문이다.
팀원으로 참여했을 때 느꼈던 이 부분을 그대로 리더가 되어 시행했고, 그 결과는 성공적이었다.
Week 1 (23/07/03~23/07/09)
1. 리더 one-on-one 생성, 진행
이 부트캠프에는 one-on-one이라는 제도가 있었다.
멘토로 지정된 사람들과 특정 시간대에 1 대 1로 기술적인, 멘탈, 리더십, 팔로워십 등 여러 많은 분야에서 상담을 하며 부트캠프의 고민들을 해결해 나가는 시간이라고 볼 수 있는데,
뭔가 멘토와 하기엔 너무나도 사소하고 혼자서 고민하기엔 큰 고민이 있지 않을까?라고 생각을 하며 리더인 나와의 상담시간의 의미를 가진 리더 원온원을 생성했었다.
하지만 이미 아이스브레이킹이 잘 되어있는 상황이고, 주로 늦게까지 두 사람만이 남아있을 때 이런 이야기들이 자연스럽게 나왔기에 실질적으로 신청을 해서 한 사람은 한 명뿐이었다( ㅋㅋㅋㅋ )
여담이지만 이땐 나와 안 친해서 신청했던 거라고 했던 팀원의 말을 인용하겠다
2. 주제 결정 완료
처음에는 C(ollect) Birds라는 주제가 정해졌었다.
도트 형태의 디자인에 조류 분석 + 도감 형식의 재밌는 서비스였다.
시나리오까지 모두 작성하고, 줌 배경화면을 하나 만들어서 팀원들끼리 끼고 재밌게 놀았지만
결국 0주 차 발표 때 이 주제는 의미가 없다는 피드백을 받고 지금의 RememberPlus가 되었다고 한다~
3. Git 협업 Flow 생성
지금까지 부트캠프를 하고, 테커에 들어와서 경험했던 프로젝트들에서 얻은 Git flow를 이번에도 적용시켜보려고 했다.
그래서 기억하고 있는 협업의 과정을 문서화하여 이슈 - 브랜치 생성 - 작업 - Pull Request - develop에 적용
의 순서를 반복하도록 팀원들에게 알려주었다.
또한 라벨, 이슈, PR 템플릿들도 생성하여 조금 더 직관적인 작업이 가능하도록 만들었다
물론 처음으로 접한 팀원들에게는 다소 복잡한 과정이라 느껴질 수 있어서 약 2주 동안 익숙해질 때까지 계속해서 인내를 가지고 알려주었다.
Week 2 (23/07/10~23/07/16)
1. 프런트, 백엔드 분업 시작
이때부터는 프런트엔드, 백엔드의 분업이 시작되었다.
나를 포함한 3명의 팀원은 프런트엔드를, 다른 3명의 팀원들을 백엔드를 맡아서 각각의 태스크를 진행하기 시작했는다.
기존에 프론트엔드를 해왔던 나는 프런트엔드 쪽 태스크와 작업을 수월하게 배치하고 나아갈 수 있었지만
반대로 백엔드 쪽은 모르던 파트라서 그런가 무언가 기술적인 영향력을 행사할 수 없어서 아쉬웠다.
다행히도 팀원들이 굉장히 잘 따라주었고, 각자 학습하고 서로 이해하기 쉽게 설명해 주는 등 적극적인 학습활동을 진행하면서 잘 나아간 것 같아서 기분이 좋았다.
2. 페이지 퍼블리싱
프런트는 페이지를 퍼블리싱하는 주차였다.
이때 우리는 핵심적으로 구현해야 하는 페이지를 생성하고, 우선은 디자인적으로 설계했던 부분과 비슷하도록 만들어두었다. 노베이스로 시작하는 팀원들은 디자인 쪽에 많은 어려움을 호소했지만 잘 해냈다.
어려움을 호소하면서 잘 해냈다는 건 재능을 일깨운 것이거나 엄살이 아니었을까 하는 잠깐의 고민이 있었다 ㅋㅋㅋㅋㅋ
시각화 특화 프로젝트다 보니 여기에 가장 많은 시간을 들였고, 그 결과는 성공적이었다.
Three.js를 활용한 우주의 구현, 그리고 D3를 통한 관계도의 시각화까지!
잠시 자랑 좀 해보았다.
3. Neo4j 학습
아무래도 관계에 특화된 프로젝트이고, 관계를 RDB로 구현하기에는 너무나도 복잡하고 성능이 하락하는 경우가 있기에 Neo4j DB에 대해 학습하는 시간이 있었다.
백엔드 파트 중 한 분이 여기에 큰 흥미를 느꼈고, 곧 모든 설계한 api에 대한 더미데이터와 쿼리를 직접 만들어오는 경지에 이르렀다(굉장히 놀라웠다)
그걸 간접적으로 바라보면서 여러모로 많이 배워간 것 같아서 좋았다.
4. 행아웃 데이
여기는 부트캠프 참가자들이 모여 실제로 이 과정을 거쳐 간 사람들이 어떻게 지내고 있는지에 대한 패널토크 형식으로 진행하는 이벤트 느낌의 네트워킹 행사였다.
여기서 팀원들과 재밌는 시간을 보내고 왔으며, 더 좋은 관계로 발전할 수 있는 계기가 되었다.
Week 3 (23/07/17~23/07/23)
1. API 관련 스펙 결정
어느 정도 페이지 퍼블리싱과 백엔드의 세팅이 끝나가는 시기에 API 스펙을 팀원들과 함께 설계하고 결정하였다.
물론 이 부분이 Neo4j를 사용하는 부분이다 보니 출력값의 형식이 달라질 수 있지 않을까 고민했지만, 다행히도 RDB와 크게 다르지 않게 json형식으로 request, response 데이터를 받아올 수 있었어서 이 부분에 대해서는 안도의 한숨을 내쉬었다.
가장 핵심 기능인 관계도 페이지가
2. 서버에 더미데이터 넣기
API 스펙만 완성되었다고 하면 실질적으로 서버를 켤 때마다 처음부터 모든 데이터를 다 넣고 진행을 해야 하는 일이 반복될 것이다.
그래서 그 귀찮은 작업을 방지하기 위해 백엔드 서버 쪽에 미리 데이터를 넣어두고 서버가 켜질 때 실행되면서 데이터가 들어가도록 하는 작업을 하였다. 물론 이건 추후에 배포를 진행할 때에는 관련 코드를 제거한 버전으로 배포하였다.
3. 번아웃 관리
공포의 3주 차, 24시간으로 진행되는 활동이다 보니 압축해서 많은 양의 학습을 자연스레 진행하는데,
이로 인해 3주 차가 끝나가는 무렵 많은 사람들이 번아웃이 오기도 한다.
번아웃이 올 때 그 시기를 어떻게 보내느냐에 따라 현재 하고 있는 활동의 지속 여부가 결정되곤 하는데,
다행히도 팀원들끼리의 유대도 깊게 형성되어있던 시기여서 온 사람들도, 올 사람들도 모두 잘 버텨내었다.
팀원들이 너무나도 좋은 사람들이었다. 정말 다행이다. 나는 정말 운이 좋은 사람이다.
Week 4 (23/07/24~23/07/30)
1. MSW를 활용한 API Mocking
API를 백엔드에서 개발 중이었다 보니 진행상황이 다소 빠른 편이었던 프런트엔드에서도 어떤 작업을 하여야 했다.
그래서 선택한 방법이 Mock Service Worker를 사용한 API Mocking이었다.
전에는 Next.js에서 제공하는 API Routes를 사용하여 간편하게 했었는데, 이런 기능이 기본 제공되지 않는 라이브러리인 React의 경우에는 이렇게 외부 라이브러리를 사용해서 구현한다는 사실을 알았다.
Mocki ng이긴 했지만, 결국 임의로 받아 온 데이터가 실제로 프런트엔드 상에서 구현이 되는 것처럼 보이는 경험은 언제 보아도 짜릿했다.
이렇게 Mocking을 한 위치에 나중에 실제 서버와 연결을 하면서 도메인만 바꾸어 적용하였다.
도메인도 일괄적으로 관리하기 위한 파일을 만들어서 관리하였다.
2. Tech Talk
다른 팀에서 시간이 남아 팀원들끼리 조사해 온 내용을 공유하는 데에서 시작 한 이 Tech Talk은 갑작스러운 계기로 전체적인 규모로 바뀌어 참여하게 되었다.
우리 팀에서는 나와 백엔드 한 분이 함께 참여하셨다.
나의 경우에는 지난번 테커톡으로 진행했던 ES6를 다시 한번 더 주제로 선정하여 발표하였고,
팀원분의 경우에는 다소 생소한 관계형 Database인 Neo4j를 다루었다.
처음부터 이렇게 발표까지 경험하기에는 정말 많은 용기와 각오가 필요했을 텐데 여러모로 성장 가능성이 높은 팀원이라고 생각했다.
Week 5 (23/07/31~23/08/05)
1. 뭔가 갑자기 잘 풀리는데?
4주 차 때 무언가가 막힌 듯 잘 진행되지 않았다면 5주 차에 진입하고 나서 모여있는 모든 것들이 터져 나오듯이 하나둘씩 완성되어 가기 시작했다. 그 말은 즉슨 디자인 개선, 막혔던 기능 완성, API 연동 완료 등의 완성을 위한 모든 퍼즐조각들이 올바른 판의 위치에 들어가기 시작했다는 소리이다. 굉장히 뿌듯했고, 좋았다.
README에 올려둔 디자인은 대부분 이 시기에 수정되어 완성도가 높아졌다.
사실 갑자기 잘 풀린 게 아니라 그동안 실전으로 압축된 성과가 드디어 나타났던 게 아닐까 싶다.
2. 배포가 생각보다 쉽다??
지원 계정을 내 계정을 등록시킨 김에 직접 배포도 해보려고 했다.
실제로 배포를 성공시키고 우리 팀만의 도메인을 구매하여 적용시켜보려고 했다.
그리고 성공했다. 뭐지?? 생각보다 엄청 높게만 느껴졌던 벽 앞에서 점프를 하니 바로 뛰어넘어진 기분이었다.
EC2 세팅에서 조금 애를 먹긴 했지만 그 이후는 무언가가 수월하게 풀려나갔다.
도메인도 한 시간 정도 기다리니 바로 연결이 되었고, remember-plus.site라는 도메인에 정상적으로 접속되는 모습을 보니 기분이 정말 묘했다. 지난번 리더가 수월하게 해 내었던 일을 내가 해내다니!
배포가 처음인데 성공하는 짜릿한 느낌, 막혀있던 것들이 시원하게 뚫리는 느낌이었다.
물론 지금은 닫아두었다. 나중에 리메이크하면서 제대로 배포해봐야겠다 싶었다.
https도 뭔가 욕심이 났다 이것도 해봐야겠다.
이 부분은 나중에 간단하게 정리해서 포스팅해 볼까 생각 중이다.
CI/CD를 아직 붙이지 못했다는 것이 아쉽지만 이건 조만간 프로젝트를 정리하면서 써 보면 될 것이다
3. 진심을 다한 발표준비
이 부트캠프에서 어찌 보면 가장 중요한 퍼포먼스인 발표이다.
약 7번 대본을 갈아엎고, PPT를 갈아엎으면서 어느 포인트를 짚어야 사람들에게 임팩트가 있을지 점점 감을 잡아나아 갔다.
일주일 정도 발표준비를 했지만, 프로젝트가 계속 개선되고 있던 상황에서 발표는 계속 갈아엎어지고 있었지만 그래도 어째 잘 준비가 되었나 보다 싶었다.
마지막엔 지난번에 그랬던 것처럼 밤샘을 하며 발표를 준비한 끝에 받았던 대부분의 피드백을 대본과 PPT에 적용시키는 데 성공하였고, 발표 또한 성공적으로 마무리하였다 😄
4. 2번의 F팀, 2번의 2등, 성공적인 리더로서의 마무리
한 표 차이로 1, 2, 3등이 나뉠 만큼 굉장히 치열한 평가가 이루어졌다고 한다.
처음에 3등을 발표할 때 “아, 상은 못 받아도 이번엔 많은 것을 얻어갔으니 난 괜찮아”라고 생각했는데,
예상하지 못하고 있었기에 수상 소감을 준비하지 못한 채로 말을 이어나갔다.
처음으로 갑작스러운 상황에서 목소리가 떨린다는 것이 무엇인 지 느꼈던 순간이었다.
끝나고 팀원들, 친해진 다른 팀원분들과 모여 축하한다는 말을 했고, 다들 행복해했다.
그리고 우리 팀에 우수 장학생으로 선발된 팀원이 있어서 많은 축하의 말을 건네었다.
Week + (23/08/06~)
전체적으로 이제 프로젝트 경험, 리더 경험을 쌓은 나는 앞으로 하고 싶은, 해야 하는 일들을 아래와 같이 정리했다.
- 지금의 Remember Plus 고도화, 프로젝트 노션 총 정리 후 포트폴리오로 변환하기
- 기존하고 있던 프로젝트 고도화, 졸업작품 진행하기
- 코딩테스트 준비하기
1번은 가장 우선적으로 해야 할 것 같다고 생각을 했다. 꽤 고퀄리티이고, 깊게 파고들어 가기에도 좋은 프로젝트기에 이번 Remember Plus를 정리하여 고퀄리티의 포트폴리오로 만들어보고 싶다는 생각을 하기 시작했다.
이 활동을 추후에 클론을 받고 리메이크를 거쳐 더 깊은 수준의 프로젝트로 바꿔볼까 생각 중이기도 한다.
물론 기술블로그의 퀄리티를 높여 나만의 공유할 수 있는 좋은 기록도 남겨두고자 하는 욕심도 있다
아마 이번에 코드리뷰에 대한 글을 쓰지 않을까 싶다
그리고 코딩 테스트 공부를 다시, 더 본격적으로 시작하여 더 높은 목표를 바라볼 수 있도록 하려고 한다.
42일의 길고도 짧은 시간 동안의 엄청난 일들이 나를 더욱 성장시켰다.
그리고 지금도 더 많은 기회들이 여러 곳에서 나타나서 다가오고 있다.
조금 바쁘면 어때? 모두 좋은 일인데 이참에 다 받아들이고 즐겨보려고 한다.
(23/08/09)
이 이후 이 글을 작성하는 도중 나는 2023-2 Techeer Partners 멘토에 선발되어 활동을 시작할 예정이다.
어느새 멘토의 자격을 갖추게 되었다는 사실에 스스로 놀랐고, 앞으로도 내가 만족할 수 있는 단계까지 끌어올리기 위해 멈추지 않을 것이다.
End