BoostUs로그인

[네이버 멤버쉽 10기] 회고 고봉밥 한상차림

J003 강동훈10
0
0
2025-11-23
원문 보기
[네이버 멤버쉽 10기] 회고 고봉밥 한상차림 글의 썸네일 이미지

🙏 너무 늦은 회고

9월 28일을 마지막으로 회고글을 작성하지 않았다. 약 2달이라는 긴 시간동안 회고를 한번도 하지 않은 것은 아니지만, 솔직하게 고백하자면 회고글에 작성할 글감이 쉽게 떠오르지 않았다.

챌린지 때는, 그리고 멤버쉽 기간이 얼마 지나지 않았을 때까지는 그동안 쉽게 경험하지 못했던 것들이 무궁무진했기에 내가 새롭게 겪은 이야기들을 풀어내고 싶은 마음이 컸었다. 반면 지금은 과정에 조금 익숙해져서일까, 안일한 마음이 스멀스멀 피어오르기 시작하다보니 스스로 깨달은 내용도, 혹은 깨달을 수 있었던 기회도 많이 놓쳐버린듯 하다.

이럴수록 더 자주 회고를 해보며 잘했던 점을 강화하고 부족한 점을 보충해나가며 개선시켜야 한다는 것을 알고있다. 그렇기에 계속해서 회고글을 작성하려 시도하였지만 결국 전부 폐기하였다. 어떤 것을 적어야할 지 머리 속에 떠오르는 게 없다보니 내가 작성한 글들이 모두 진실되지 못하고 가식적이라 느껴져서 쉽사리 작성하지 못하였던 것 같다.

왜 나는 두 달간 어떠한 경험도 하지 못하였을까? 아니다. 나는 두 달간 어떠한 경험도 하지 못한 것이 아니다. 오히려 많은 경험을 겪었지만 대부분이 승리없는 투쟁과 후회로 섞여 있기에 회고글을 작성하지 못한 것이 아닐까 싶다.

하루를 마무리하고 잠에 들기 전 샤워를 하면서 가장 많이 후회를 했던 것 같다. "내가 과연 오늘 하루 온전히 몰입하였는가?" 혹은 "나는 지금 진짜로 잘하고 있는가?"에 대해 생각하다보면 정말 만족스러웠던 하루도 있던 반면, 후회스러운 날들도 많이 존재하였다. 비율로만 따지자면 한 2:8 정도였던 것 같다. 후회를 만족으로 변화시키기 위한 투쟁도 존재하였지만, 정말 부끄럽게도 그저 후회로만 남겨놓고 지나치는 순간들 또한 많았기에 나는 제대로된 경험을 얻어가지 못하고 있다고 생각한다.

다소 비관적으로 회고글을 시작하지만, 2달이라는 긴 시간동안 너무 많은 경험과 소중하고 다양한 배움들은 분명 많이 존재한다. 그럼에도 불구하고 남은 기간만큼은 다시 한 번 제대로 달려나가기 위해서 현재의 내 상태를 객관적으로 파악하고 어떻게 달려나갈 것인지 이번 회고글에 담아보려 한다.

🌱 초심

🤔 나는 잘하고 있는가?

내가 잘하고 있다라는 것은 내가 객관적으로 판단할 수 있는 것인지 잘 모르겠다. 그럼에도 내 자신을 평가해야만 한다면 가장 간단하게 비교해볼 수 있는 것은 '초심'인 것 같다.

그렇다면 어떤 초심과 현재의 나를 비교할 것인지를 선택해야 하는데, 아무래도 챌린지 과정에서의 나와 비교할 수 밖에 없을 것 같다. 챌린지 과정에 참여하던 나는 어쩌면 내 인생에서 가장 절실하였던 순간 중 하나였기 때문이다.

'절실하다'라는 감정 또한 주관적이기에 객관적인 수치로 나타내지는 못하지만, 나에게 절실함이란 그 대상을 성취했다라는 상상만으로도 눈물이 벅차오를 정도의 가슴 떨림에 해당한다.

그렇기 때문에 절실했던 무언가를 성취하지 못했던 경험 또한 그 정도의 아픔으로 기억되어 있기에, 이런 순간이 올 때마다 절대 놓치지 않겠다는 마음가짐으로 최선을 다하게 되는 것 같다.

챌린지 당시 작성하였던 회고글에는 이런 문장을 썼던 기억이 있다.

"언젠가 누군가가 그 때 그 시절에 최선을 다했는가?" 라고 물어봤을 때, 벅차오르는 눈물과 함께 "그렇다"라고 말할 수 있기를 바란다.

이 문장은 당시의 내 마음을 가장 잘 담고 있는 문장이라고 생각한다. 아침에 눈을 뜨고 다시 눈을 감는 순간까지 미션에만 몰두하며 지치고 힘들었던 그 시절의 나에게, 훗날 더 단단하게 성장한 내가 다가가 따뜻하게 위로해주기를 바라는 마음으로 썼던 말이었다.

이에 비교해보았을 때, 과연 현재의 나 또한 이처럼 행동하고 있을까?

쉽게 확언할 수 없었다. 그렇다고 절대 어영부영 지냈다는 것은 아니다. 다만, 챌린지에서는 명확한 아웃풋이 남아있던 반면 현재는 다소 두리뭉실한 상태로 남아있기에 쉽게 결론을 내리기 어려웠다.

이에 대해 챌린지와 멤버쉽을 다시 비교해보며 결론을 지어보려 한다.

⚖️ 캠프와 일상의 밸런스

챌린지 과정에서는 다소 짧은 과정동안 진행되기 때문에 나의 모든 것을 갈아넣을 각오로 시작하였다. 월요일부터 목요일까지는 서너시간의 수면 시간을 제외하고는 전부 미션에만 몰입하였고 주말 동안에 휴식과 회고를 통해 몸을 회복하였다.

반면에 멤버쉽 과정은 22주 동안 진행되는 만큼 단기간에 불태우는 것이 아닌 장기간동안 몰입할 수 있는 각오로 임할 수 있어야 했다.

잠깐 타올랐다 사라지는 불꽃이 아닌, 오래도록 꺼지지 않는 불씨가 될 것

멤버쉽을 시작하기 전에 각오하였던 나의 태도였다. 이전 회고에 자세하게 작성하였지만, "멤라벨"을 균형있게 관리하지 못한 탓에, 미션에 집중할 수 있는 시간을 오히려 운동하느라 놓쳐버리게 되었고 그로 인해 불씨가 아닌 연기조차 안남은 잿더미를 경험하기도 하였다.

지난 회고 이후로 운동량을 줄이고 조금 더 밤 늦게까지 미션에 몰입하며 미션량을 늘리기도 하였으며 현재 그룹 스프린트를 진행 중인 지금, 주 2회 오프라인으로 팀원들을 만나가며 미션을 진행하다보니 자연스럽게 운동과는 멀어지게 되며 순수 학습량이 증가하게 되었다.

그리고 놀랍게도 순수 학습량을 늘리게되니, 후회로 하루를 마무리하는 날이 조금은 줄어들게 되었던 것 같다. 이런 과정을 겪으면서 깨달았던 점은 두 가지 정도가 있을 것 같다.

첫 번째는 어떤 일에 온전히 몰입해 뿌듯하다고 느끼려면, 결국 어느 정도의 시간이 필수적이라는 것이다. 더 정확히 말하면, 하나의 문제를 처음 마주하고, 고민하고, 끝내 해결하기까지 이어지는 끊기지 않은 시간이 필수적이라는 생각이 들었다. 비록 그 시간이 새벽을 넘어갈지라도 말이다.

두 번째는 만약 다시 처음으로 돌아가 '멤라벨'을 잡게 된다면 "얼마큼 해야 불씨가 죽지 않을지"에 초점을 맞추는 것이 아니라 "어느 정도 해야 불길이 솟구치지 않을까"에 집중하며 균형을 잡아갈 것 같다. 너무 처음부터 번아웃에 신경쓰며 적당히 잘해야된다는 생각을 가지기보다는, 어차피 최선을 다할 거라면 번아웃과 몰입의 아슬아슬한 줄타기를 시도해보는 것도 좋을 것 같다.

물론 운동을 안나간 지 2주가 된 지금 급격스럽게 몸이 쇠약해지고 몸살 감기에 걸려버렸다.

📚 또 다시 학습과 구현의 밸런스

부스트캠프에서 강조하는 Learning by Doing을 스스로 정의를 내려봤을 때, 다음과 같이 문장으로 표현해볼 수 있을 것 같다.

주어진 과제를 분석하고, 스스로의 선택에 따라 개념을 학습하고, 학습한 개념을 실제 구현을 통해 녹여내고, 녹여내는 과정에서 다시 한 번 학습한 내용을 정리하여 나만의 노하우로 만든다.

챌린지 과정에서는 과제를 해결하기 위해 필요한 지식이 어느 정도 정해져 있었기에 내가 어느 정도 깊이까지 학습할 것인지를 정하는 것이 균형을 잡는데 중요한 포인트였다.

반면 멤버쉽 과정에서는 보다 넓은 범위의 과제를 해결해야하기 때문에, 학습해야할 범위 또한 넓어지고 그 중에서 어떤 개념들을 선택하여 각각 어떤 우선순위로 학습해나갈 것인지 모두 선택해나가야 했다. 그렇기 때문에 학습의 깊이보다는 내가 어떤 것에 어느 정도의 시간을 할애하여 다양한 학습을 해나갈 수 있는 지가 조금 더 중요하다고 느껴졌다.

그렇다보니 챌린지에서는 하나의 개념에 깊이있게 몰두할 수 있는 경험을 해볼 수 있는 반면에 멤버쉽 과정에서는 미션을 해결하기 위해 도메인과 관련된 여러 프레임워크나 라이브러리를 적극적으로 활용해보는 경험을 할 수 있었다.

하지만 다양하게 사용하였던 프레임워크든 라이브러리든 어떠한 원리로 어떻게 동작하는지 깊이 있게 이해해볼 수 있는 시간이 개인적으로 부족하다고 생각하였다. 이 부분에서 개인적으로 만족하지 못하고 미션이 끝나버린 경험이 많아 후회와 아쉬움이 조금 쌓여있었던 것 같다.

개인적으로는 하나의 개념을 이해할 때, 단순히 원리로만 이해하는 것이 아니라 직접 눈으로 구현해보고 비교해보며 그 필요성을 체감하는 것이 중요하다고 생각한다. 하지만 너무 많은 개념들과 도구를 가져가려는 욕심을 스스로 버리지 못하다보니, 이론적으로만 도구의 필요성을 이해하고 단순히 어떻게 활용한다라는 것만 학습하고 넘어가는 것에 그쳤던 것 같다.

물론 그러한 과정에서도 문제를 마주하고 해결하기 위해 노력하였던 과정 하나하나를 문서로 정리하려 노력하였다는 점은 칭찬해주고 싶다.

🎓 부스트 캠프가 끝나면

초심 찾기의 마지막 주제는 챌린지와 관련된 것은 아니지만, 멤버쉽을 시작하면서 내가 세웠던 '부스트 캠프가 끝나면 어떤 개발자가 될 것이다'라는 목표에 부흥하고 있는지 점검해보려 한다.

나의 코드는 내가 설계한 명확한 근거에 의해 동작하여야 하며, 나는 내가 작성한 모든 코드에 대해 논리적으로 설명할 수 있어야 한다.

22주가 지났을 때 나는 '스스로 근거가 명확한 코드를 작성하는 개발자' 가 되길 희망하였다. 그러기 위해 내가 꾸준히 노력하였던 나만의 습관은 '문서화'였다.

내가 학습한 내용을 단순히 정리하거나 프로젝트의 결과물을 문서로 정리하는 것이 아닌, 하나의 기능을 구현하기 위한 처음부터 끝까지 기승전결에 맞춰 작성하려 노력하였다.

누군가가 문서를 보았을 때, 단순히 지식을 얻어갈 수 있는 교과서가 아닌 이 사람이 어떤 문제를 직면하여 학습을 하였고 이를 해결하기 위한 과정들이 어떻게 되었는지를 명확하게 이해할 수 있는 하나의 아티클로서 읽혔으면 하는 바람이 있었다.

더군다나 기승전결이 포함된 스토리가 있는 문서의 경우에는 딱딱한 개념 정리글보다는 더 흥미롭게 읽을 수 있는 매력이 있다고 생각한다.

비록 하나의 문서에 결과가 아닌 과정을 정리한다는 것은 그만큼 많은 시간을 할애해야 한다는 단점도 존재하지만 그럼에도 불구하고 이와 같은 방식을 고집한 이유는 글을 작성하는 나에게 주는 이점도 존재하기 때문이다.

문제를 해결하기 위해 치열하게 싸운 나의 흔적들을 다시 한 번 정리하면서 차분하게 글로 정리하다 보면 당시에는 복잡하였던 상황들을 나만의 근거로 정리해볼 수 있음과 동시에 더 개선시킬 수 있는 부분을 생각해볼 수 있는 기회를 만들어 볼 수 있다.

바둑을 해보진 않았지만 바둑에서 복기를 해보는 것과 비슷한 맥락이라고 생각해보면 좋을 것 같다. 나의 수가 정말 날카로웠는가, 더 날카로운 수가 존재하였는가 혹은 나의 최악의 수는 무엇인지 판별하여 개선해보는 과정을 다시 한 번 거쳐보는 것이다.

이러한 점에 있어, 개인적으로 시퀀스 다이어그램을 그릴 때에도 Mermaid와 같이 코드로 빠르게 작성할 수있는 도구를 사용하는 것을 별로 좋아하지 않는다. 시간이 소요되더라도 하나 하나 도형을 그려가면서 내 머리 속에 추상적으로만 그려진 흐름을 정리해나가며 직접 그려가는 것이 조금 더 설계에 대한 나의 근거를 명확하게 가져갈 수 있다고 판단했기 때문이다.

다만, 한 가지 반성할 점은 이번 그룹 스프린트 과정에서 문서화가 조금 부실했다는 것이다. 아무래도 혼자서만 진행하는 프로젝트가 아니다보니, 개인적인 학습 시간을 가져간다는 것이 그룹원들에게 민폐로 돌아가지 않을까라는 생각에 학습이나 문서화에 큰 시간을 투자하지 못하였던 것 같다. 뭐랄까 나의 시간이 나만의 것은 아닌 느낌.. 그러다보니 협업을 통해 얻어가는 경험은 풍부하였지만 미션 과정에서 학습한 내용이나, 우리가 겪어왔던 문제를 어떻게 해결하였는 지에 대한 포인트들이 조금 부실하였다고 생각이 든다. 이러한 점에 대해 남은 기간동안 만큼은 남길 수 있는 것에 조금 집중하여 과정에 임해보려 한다.

🧩 결론

🌪️ 그래서 나는 초심을 잃었는가?

그렇다. 나는 초심을 잃었던 것 같다. 확실히 반복되는 과정 속에 어느 정도 적응을 하다보니 절실하였던 초반 목표와는 달리, 조금은 안일한 하루들을 보내게 된 것 같다.

내가 초심을 잃었다고 분명하게 느껴졌던 순간은 프로젝트에 관련하여 한 가지 질문을 받았던 때였다.

이번 미션은 A라는 것에 관련한 주제였는데, 프로젝트 내에서 A라는 것을 보여주기 위해서 어떠한 노력을 하였나요?

예를 들자면, A라는 것이 어떻게 동작하는지 스스로 학습해보고 이를 비슷하게 따라해보기 위해 어떤 것을 구현하였고 그 과정에서 어떤 문제들을 직면하였었나요?

사실 가장 기본적인 질문이었는데, 아무런 대답도 하지 못하였다. 이 질문을 받은 순간 당혹감과 부끄러움을 감추지 못하였는데, 아마도 미션에서 주어진 학습의 방향성을 제대로 파악하지 못하고 그 외의 것들에만 매몰되어 프로젝트를 진행하지 않았기 때문이지 않을까 싶다.

더군다나 '근거있는 코드를 작성하는 개발자'가 된다고 다짐하였던 내가 프로젝트의 방향성을 파악하지 못하고, 제대로된 학습도 진행하지 못하고, 구현하며 마주한 문제들과 그 해결과정을 문서화조차 제대로 하지 못했기에, 더더욱 부끄러움이 컸던 것 같다.

그렇기에 프로젝트를 통해 만들어낸 나만의 경험이 부족하여 기본적인 질문에도 떳떳하게 대답하지 못하였다고 생각한다.

🛠️ 그래서 어떻게 해야 하는데

돌이켜보면 부스트캠프를 진행하던 동안, 그리고 앞으로의 개발자 인생에서도 가장 큰 뿌듯함을 느꼈던, 그리고 느끼게 될 순간은 치열한 몰입 끝에 나만의 깨달음과 경험이 탄생하는 순간이라고 생각한다. 이러한 경험들이 차곡차곡 쌓이면서 나만의 사고방식과 논리가 형성되고, 그 기반 위에서 비로소 근거 있는 코드가 만들어진다고 믿는다.

이렇게 선순환이 지속될 때, 경험의 폭은 더 넓어지고 논리는 더욱 단단해지며, 결국에는 보다 완성도 높은 코드를 작성하는 개발자로 성장할 수 있을 것이라 생각한다.

그러기 위해서는 결국 몰입과 회고의 반복이 필수적이다. 사실 말이야 쉽지, 네부캠의 시작부터 지금까지 만족스러운 정답을 찾아보려해도 아직까지도 이렇게 땅치고 후회하며 회고하는 걸 보면 나에게 얼마나 어려운 문제인지 간접적으로나마 체감해볼 수 있을 것 같다.

하지만 이러한 투쟁 속에서 한 가지 확실한 점을 알아내었는데, 그것은 바로 How가 아닌 Why에 집착해야 한다는 것이다. 사실 스스로 깨닫기보단, 시니어 리뷰를 통해 피드백을 받아가며 가장 가슴에 꽂혔던 조언에 해당한다.

당시에 나는 로그인 기능을 구현하기 위해 나름대로 스스로의 근거에 따라 JWT를 선택하고 시퀀스 다이어그램을 통해 '회원가입', '로그인', '권한이 필요한 요청을 보낼 때', '토큰이 만료되었을 때' 등 다양한 상황을 설계하고 그려가며 문제를 해결하였던 경험이 있었으며 이에 대해 시니어님에게 리뷰를 받을 수 있게 되었다.

이에 대해 시니어 리뷰어님께서는 "너무 인터넷에 퍼져있는 Best Practice에 대해서만 학습하려 하였고 나만의 문제 해결 과정은 드러나있지 않다"라고 피드백을 해주셨다.

  1. JWT 기술은 왜 사용하였는지
  2. 웹 서비스에서 JWT 기술을 사용하는 것은 생각보다 관리할 것이 많아 그 장점을 제대로 활용하지 못함에도 불구하고 사용한 근거는 무엇인지
  3. 실제 서비스를 운영하게 된다면 이 기술을 사용할 것인지

와 같은 다양한 질문들에 대해 나는 명확하게 나의 생각을 전달드리지 못하였다. 단순히 로그인 기능을 유지하기 위해 널리 퍼져있는 기술들 중 나의 프로젝트 구조에 적합한 기술을 선택했을 뿐이다.

이에 대해 시니어 리뷰어님께서는 How에 대해 학습하는 것도 중요하지만 Why에 집착해볼 것을 조언해주셨다.

예를 들어, JWT 기술을 이미 선택한 상태에서 이를 어떻게 사용할 것인지 학습해보는 것을 넘어서 내가 왜 이 기술을 사용해야 하는지? 혹은 더 깊게 들어가, 이 기술은 어떤 문제를 해결하기 위해 왜 등장하였는지를 공부해보는 것이다. 그리고 이를 토대로 이 기술의 장단점을 확실히 이해한 상태에서 실질적으로 내가 왜 해당 기술을 사용해야만 했는가를 명확한 근거와 함께 설명해보는 연습을 해보는 것이 좋을 것 같다고 피드백을 해주셨다.

이러한 피드백을 받은 이후로, 나는 그동안 내가 학습한 것을 어떻게 적용할 수 있을지에 해당하는 How에 집중했던 반면, 요구사항의 의도가 무엇인지 혹은 내가 왜 이 기술을 사용하여야 하는지와 같은 고민에서는 조금 부족했다고 생각이 든다.

그런 면에서 이번에 그룹 스프린트를 진행하며 동료 학습을 진행할 때, Why에 대한 기술적 토론을 많이 나눠볼 수 있어서 뜻깊었던 것 같다.

🤝 동료 학습

비전공자 출신의 낯가림 많은 개발자인지라 스스로 노력해서 밖으로 나가지 않는 이상 주변에 개발자를 만나기가 쉽지 않다.

하지만 오프라인을 하면서부터 하나 둘 사람들과 만나기 시작하면서부터 다양한 사람들과 대면으로 이야기를 주고 받을 수 있는 기회가 생기게 되었다.

비록 이미 많은 시간이 지나가버린 직후에야 사람들과 친해지게 된 것 같아 아쉬움이 많이 남았고 그렇기에 조금 더 빠르게 마음이 맞는 사람들과 다양한 경험을 해보려 이것저것 시도해보았던 것 같다.

💻 1. 온라인 스프린트

마음이 맞았던 사람들과 어떤 것을 해보겠다고 실행한 첫 활동이었다. 집에서 아침부터 저녁까지 하다보면 스스로 늘어지게 되는 경우가 종종 발생하는데, 이에 대해 조금은 긴장감을 주기 위해 2시간마다 줌으로 모여서 이전 2시간동안 어떤 것을 진행하였고, 앞으로 2시간 동안은 어떤 것을 진행할 것인지 간단하게 스크럼 방식으로 계획을 공유하는 활동이다.

단순히 계획은 공유하는 것에서 끝났다면 동료 학습의 의미가 있진 않았겠지만 거기에 더해서 각자 작업 도중에 마주한 문제에 대해서 공유하고 이걸 어떻게 해결해나갈 수 있는지에 대해 서로 논의하면서 의견을 공유해볼 수 있었다.

이러한 과정에서 좋았던 점은 매 두시간마다 서로 내용을 공유하면서 피드백을 빠르게 주고받을 수 있었고 이 과정에서 내가 너무 깊이 들어가고 있는지 혹은 방향성을 잘 잡아가고 있는지 주기적으로 검진을 받아볼 수 있었기에 뜻깊었던 활동 중 하나였던 것 같다.

그리고 DONE, TODO, INSIGHT로 템플릿을 만들어서 간단하게나마 회의에서 어떤 것들을 이야기하였는지 정리해보기도 하였다.

🏫 2. 오프라인 보충 수업(?)

두 번째는 같은 그룹을 배정받았던 분들이 우연히 오프라인 자리에서 모이게 되어 함께 한 가지 문제에 대해 골똘히 고민을 해봤던 경험이다.

그 날은 마스터님의 DB 인덱스 강의가 있었던 날이었는데, 강의가 끝나고 세 명 모두 학습 의지가 불타올랐는지 노트북 하나와 포터블 모니터 하나를 연결해서 3시간 동안 세 명이서 머리를 감싸면서 트리오 프로그래밍(?)을 진행하였다.

더 뜻깊었던 점은 나머지 두 분이 나보다 훨씬 뛰어나셨던 분들이라서 마음껏 질문하며 간접 경험을 많이 해볼 수 있었던 것이다. 특히, 나는 Docker를 한 번도 다뤄본 적이 없었지만 한 분은 뭐 전문가 수준이고 한 분은 프로젝트에 적용한 경험이 있었던지라 내가 먼저 자진해서 드라이버 역할을 맡아 뛰어난 피드백을 빠르게 받아가며 도커를 익혀나갈 수 있었다.

반면에, 나는 고민했던 흔적들을 차례대로 정리해나가면서 우리가 마주하였던 문제들이 쉽게 휘발되지 않도록 문서로 정리하여 문제 해결의 방향성을 잃지 않으려 노력했던 기억이 있다.

👥 3. 그룹 스프린트

사실 회고를 작성하고 싶다는 생각이 들게 된 가장 특별했던 경험이었고 짧은 시간동안 즐겁게 개발하면서 많은 것들을 배울 수 있었던 기간이다. (아직도 진행 중이지만)

협업이라는 것을 많이 경험해보지 못한 내가 과연 사람들과 어울려서 잘할 수 있을까라는 걱정을 많이 했었는데, 다행히도 적극적이면서도 서로를 존중해주는 좋은 팀원분들을 만나게 되어서 한시름 놓을 수 있게 되었다.

사실 나는 온라인으로 마주보면서 무언가를 한다는 것 자체만으로 체력적인 소모가 큰 편이라, 첫 날부터 오프라인으로 만나자는 무리수를 던져보았는데 다행히 다들 흔쾌히 좋다고 말씀해주셔서 매주 화요일, 목요일마다 대형 카페에서 함께 프로젝트를 개발하였다. (커피랑 케이크도 왕창 사먹으면서..)

함께 협업하면서 미션을 구현해나가며 느꼈던 점은 크게 두 가지 정도 존재한다.

  1. 사람은 재밌는 것을 만들어야 한다. 나는 원래 장난기가 많은 편이라 가끔은 헛소리를 하곤 하는데, 팀원들도 그걸 유쾌하게 받아줘서 우리 팀만의 분위기와 문화가 자연스럽게 스며든 것 같다.

    그룹이 결성되고 우리 팀만의 규칙을 형성하는 과정에서 조금 더 빨리 친해지기 위해 잘나가는 스타트 업처럼 '영어 이름 부르기' 를 농담삼아 이야기를 하였는데 생각보다 반응이 좋아, 바로 우리 팀의 규칙으로 제정되었다.

    큰 효과를 기대하지 않고 영어 이름을 부르기 시작하였는데, 그 과정에서 서로 웃으면서 조금 더 빠르게 친밀해질 수 있었던 것 같고 이제는 한글 이름보다 영어 이름이 더 자연스러워졌다.

    더 나아가, 주어진 미션에서는 요구사항만 주어질 뿐 따라 만들어야 할 디자인이나 UI는 각 팀 별로 자유롭게 기획해볼 수 있었는데, 이 과정에서도 우리는 조금 더 색다르고 재밌게 작업해볼 수 있는 아이디어를 탐구하였다.

    사실 '과거 우리들의 동심을 자극해보자'라는 목표로 시작하여 아이폰, 메이플 스토리, 동물 농장 등 다양한 아이디어들이 나왔는데 결국 쥬니어네이버를 모방하여 미션을 구현해보자는 아이디어에 모두 동의하여 프로젝트를 시작하게 되었다.

    사실 진짜 자랑하고 싶은 기능이 많은데 미션의 내용이 유추될 수 있으니 디자인만 올리게된 것이 너무 아쉽다. (게다가 마스터님의 최애 결과물로도 뽑혔다 ㄷㄷ)

    이런 경험을 하면서 느꼈던 것은 어쨌든 재미있어야 한다는 것이다. 협업을 하면서 생각보다 예민해지는 순간이 간혹 존재하였다. 의견의 마찰이라던지 장시간 개발로 인한 피로 누적이라던지 등 여러가지 상황들로 인해 팀원 간 불화가 생길 수도 있었겠지만, 우리 팀만의 컨셉을 잡고 각자 만들고 싶은 영역을 꾸며가며 개발을 하다보니 다들 즐겁게 개발하고 있다는 것이 겉으로도 많이 느껴졌던 것 같다.

    물론 복잡한 기능을 구현하기 위해 머리를 감싸면서 고뇌한 시간도 분명 존재하지만, 한 가지 기능이 구현되어 시연을 돌려볼 때마다 피식피식 웃으면서 '어떻게 하면 우리의 컨셉이 더 강렬하게 전달될 수 있을까?'를 서로 의논하면서 정말 즐겁게 개발하였던 것 같아서 뜻깊은 시간이었다.

  1. 전혀 다른 색다른 경험을 할 수 있다.

    두 번째로 이야기해보고 싶었던 점은 내가 경험하지 못한 것을 동료로부터 배울 수 있었고 내가 경험한 것을 동료에게 공유할 수 있었던 것이다. 사실 따지고 보면 내가 공유한 양보다 내가 동료로부터 배울 수 있었던 기회가 압도적으로 많긴 하다.

함께 백엔드 코드를 작업하는 동료분은 나보다 더 세심하고 꼼꼼하신 성격이셔서 내가 작성한 코드에 대해서도 자신이 갖고 있는 생각을 바탕으로 자세히 리뷰를 해주신다던가, 나에게 질문을 던져가며 기술적인 토론을 유도하여 더 근거있는 코드를 작성할 수 있도록 도움을 주셨다.

특히, 백엔드 코드를 작성하면서 한 번도 객체지향적으로 깊이있게 고민해보며 코드를 작성해본 적이 많진 않았던 것 같은데 이러한 분야에서 같이 이야기를 해보면서 시야가 틔어지는 경험을 해보았던 것 같다.

예를 들어 지금까지 DTO를 그저 타입을 추론하기 위한 용도로만 사용하였던 반면, 실제 DTO의 역할에 맞춰 응답값을 통해 생성된 인스턴스를 반환하여 응답해볼 수 있다는 점도 새롭게 배워갈 수 있었고,

  export class UserDto {
      id: number;
      username: string;
      nickname: string;
  constructor(partial: Partial<UserDto>) {
      Object.assign(this, partial);
  }

}

export async function getUser(req: Request, res: Response): UserDto { const userFromDB = { id: 1, username: "donghoon", nickname: "동훈" };

const result = new UserDto(userFromDB);

  return result;

}

혹은 도메인 객체를 따로 관리하면서 도메인의 속성이 변경되는 경우에는 객체를 직접적으로 변경하는 것이 아닌, 도메인의 책임으로 부여하여 관리하는 패턴 또한 배워갈 수 있었다.

 export class User {
      private _isFocus: boolean
  focus() {
      this._isFocus = true
  }

}

 export function focusUser(user: User) {
   // 기존에는 그냥 객체 속성을 변경
   const user1 = { ...user, _isFocus: true };![](https://velog.velcdn.com/images/d159123/post/ea20ba8b-8237-4623-9399-50ef10afdadb/image.png)

 }</code></pre>

이 외에도 사실 코드적인 부분뿐만 아니라 기술적인 토론도 적극적으로 주고 받을 수 있었다. 사실 이 부분에서 Why에 대한 이야기를 정말 많이 주고 받을 수 있었는데, 예를 들어 이 기술 재밌겠다 한 번 해보자 -> 그 기술은 뭐야? -> 이 기술이 왜 필요해? -> 이 기술이 우리 프로젝트에 꼭 필요해? -> 그럼 당장 하자 / 우선순위를 낮추자. 이러한 흐름으로 여러 번 다양한 기술에 대해 고민해보고 현재 바로 구현할 것인지 혹은 나중으로 미뤄둘 것인지를 결정하기도 하였다.

따지고보면, 이러한 부분에서도 기술적인 흥미를 느끼는 포인트도 비슷하였던 것 같다. '재밌는 것', '경험해보고 싶은 것'을 중심으로 선별하여 그 Why를 찾아가는 과정 또한 나에게 뜻깊었던 경험이었다.

🎯 4. 이 외의 활동

그 외에는 사실 부스트 캠프와는 별개의 활동이다. 어찌보면 친목이며 어찌보면 단합이고 어찌보면 자기계발에 해당한다. (말이 길어지면 핑계라고 🤭)

익명성은 다 보장해주었다.

  • 윌리의 보드게임 동아리

평소 보드게임 수집광으로 알려진 윌리는 소소한 보드게임 동아리를 만들고 싶어하였고, 그의 니즈를 단번에 알아차린 나는 이 소문을 퍼트려 제 1회 윌리배 보드게임 파티를 개최하였다.

  • 그루의 스터디

아직 시작은 안했지만, 그루의 적극적인 스터디 모집에 매료되어 이번 기회에 한 번 참여해보게 되었다.