티스토리 뷰

 

 부캠 수료하고 한 달도 더 지나서 완성한 회고글,,, 가봅시다.

 

 

내용 구성

  1. 매너리즘에 빠졌던 풀스택 미션...
  2. 페어 프로그래밍
  3. 신의 한수였던 Nest 스터디
  4. 부스트캠프를 통해 얻은 것
  5. 마치며...

 


멤버십 프로그램 안내

 

멤버십 기간은 크게 학습스프린트 기간과 그룹 프로젝트 기간으로 나뉩니다. 이때 학습스프린트는 또 4주씩 나뉘는데, 처음에는 풀스택 미션을, 이후에는 세부 분야별 미션을 수행합니다.

 

 

매너리즘에 빠졌던 풀스택 미션...

 첫 번째 학습스프린트 미션은 주어진 홈페이지를 구현하는 풀스택 미션이었습니다. 이때 Express를 사용했는데, 이 미션을 수행하며 매너리즘에 빠졌었습니다.

 

 매일 미션을 수행해야 했던 챌린지와 다르게, 일주일 단위로 과제를 수행했습니다. 미션의 요구사항도 모호해지고 자유도가 높아진 만큼 제가 어디까지 개발할 것이고, 얼만큼 학습할 것인지를 잘 판단해야 했습니다. 마스터님들도 미션을 100% 수행하는 건 아무도 관심 없고, 미션을 통해서 얼마나 성장할 것인지에 집중하라고 말씀해 주셨지만 그때는 제가 제 욕심에 개발에만 몰두했었던 것 같습니다.

 

 개발에만 몰두하다 보니... 얼른 속도를 내기 위해 제가 예전에 Express로 작업했던 기존 코드를 많이 참고했습니다. 에둘러 표현하면 참고이지만, 저는 제가 4주 동안 '답습'했다고 생각합니다. 새롭게 알게 되는 것 없이, 무언가를 창조해 내는 개발이 아닌 단순 코딩만 하다 보니 이 미션이 너무 재미가 없어지더라고요. 다들 너무 열심히 하시는데, 나만 이렇게 지루한가? 라는 고민과 불안함이 있었습니다.

 

 지금 되돌아보면 아쉬운 시간들이긴 합니다. 제시된 구현 기능을 모두 구현할 것보단, 미선 수행률이 떨어지더라도 Express나 DB 그 자체에 더 깊게 공부했다면 어땠을까 아쉬움이 남습니다. 그래도 다행히 일주일간의 인터미션 (휴식)을 지낸 이후에는 활력과 열정을 되찾았죠.

 

 참, 바닐라 JS로 프론트 작업을 진행했는데요. 이벤트를 등록하고, CSS로 화면 레이아웃을 그리는 게 은근 재밌더군요?

 

 

 

페어 프로그래밍

 두 번째 스프린트는 랜덤으로 매칭된 페어와 함께 페어 프로그래밍으로 시작했습니다. Express, Nest 등의 프레임워크 없이 순수 자바스크립트로 WAS를 구현하는 미션이었습니다. 처음 뵙는 페어 분과 함께 어떻게 개발을 해나가야 할지 다소 막막했습니다.

 

어떤 페어 프로그래밍 룰이 필요한지?
드라이버와 네비게이터의 교체 주기는? 내가 네비게이터일 때, 어느 정도까지 드라이버에게 지시해야 하는지?
내가 드라이버일 때, 네비게이터가 제시하는 전략보다 더 좋은 아이디어가 떠오른다면?

 

 따라서 친하게 지내는 다른 캠퍼분께 여쭙고, 다른 분들이 설정한 그라운드 룰을 참고하면서 방향을 잡았습니다. 그런데... 생각보다 그라운드 룰을 지키기가 어려웠습니다. 페어 분과 거리가 멀어서 오직 슬랙으로 통화하고, 화면을 공유하면서 작업했는데요. 오프라인으로 작업하는 것보단 온라인이 에너지 소모가 크기 때문에 30분 작업 + 10분 휴식으로 작업 시간을 정했지만, 개발하다 보니 2시간이 지나버리기도 했습니다.

 

 저희는 일주일밖에 페어 프로그래밍을 진행하지 않아 휴식 시간을 제대로 가지지 못하는 방식도 나름 괜찮았습니다. 그러나 실제 페어 프로그래밍을 끝낸 이후엔 아무것도 못 할 만큼 에너지 소모가 컸습니다. 만약 페어 프로그래밍 기간이 길었다면, 휴식 시간을 제대로 챙기지 않고 오랫동안 개발하는 것이 오히려 피곤함을 누적시켜 더 작업 속도가 안 날 수도 있었을 것 같네요.

 

 페어 프로그래밍은 에너지 소모는 크지만, 유용했습니다. 혼자가 아니라, 페어와 함께 작업이라서 은은한 긴장 상태로 온전히 개발에 집중할 수 있었습니다. 또 내가 늘 하던 방식대로 하지 않고, 페어가 말하는 새로운 방향으로 개발할 수 있었는데요. 덕분에 제가 지난 4주 동안 제 개발을 '답습'하여 느꼈던 무료함을 날려버릴 수 있었습니다! 의식하지 못한 오타나 변수명 실수 같은 휴먼 에러도 빨리빨리 고칠 수 있었고요.

 

 하루 동안 작업한 내용을 PR로 올리고, 리뷰어님께 코드 리뷰를 받았는데요. 혼자서는 머릿속으로 고민하고 결정했던 것을, 페어와 함께 이야기하면서 생각하고 의견을 조율하니 PR에 고민과 해결 과정, 결과를 더욱 꼼꼼하게 작성할 수 있는 점도 큰 장점이었습니다. 작업이 끝나면 어떤 고민이 있었는지 잊는 경우가 많은데, 페어와 함께하니 더욱 기억에 남았습니다.

 

 그런데 실제 페어 프로그래밍을 해보니, Prettier 같은 포맷터가 왜 존재하는지 확실히 이해됐습니다 🤣 개행 기준, 큰따옴표와 작은따옴표 사용 등 사소한 코드 스타일이 서로 다르고, '이걸로 합시다!'라고 정하여도 의식하지 못한 채 원래 습관대로 작성할 때가 있기 때문입니다. 저장할 때마다 자동으로 포맷터가 적용되는 게 속 편한 것 같았습니다 ㅎ

 

 

신의 한 수였던 Nest 스터디

 두 번째 스프린트를 진행하면서 Nest 스터디(10월 9일 ~ 10월 27일)에 참여했습니다. Nest를 한 번도 접한 적이 없지만, 그룹 프로젝트에서 사용할 계획이었기 때문에 미리 공부하기 위해서였죠. 페어 프로그래밍에 이어, Nest 스터디 덕분에 정말 다시 개발에 대한 열정이 활활 불타올랐습니다.

 

 자율도가 너무 높아 아쉬웠던 Express와 달리, 컨테이너가 싱글톤으로 객체를 자동 생성하고 제가 설정한 의존 관계대로 의존성 주입을 해주는 Nest가 마법 같았습니다. 너무 흥미로웠죠! 특히 데코레이터가 너무 매력적이었습니다. 그래서 데코레이터 개념과 Reflect 객체를 공부하고, Nest 구현 코드도 하나씩 뜯어보면서 직접 작은 Nest를 구현했어요. 이 과정을 데일리 스크럼과 피어세션 때 캠퍼분들께 공유해 드렸는데, 많이 관심도 가져주셔서 뿌듯했습니다 :)

 

 지난 4주간 개발의 재미를 놓치고, 잊고 있었다는 게 아쉬울 만큼 개발이 너무너무 재밌어졌어요. 의지 열정 짱짱맨이 되었죠! 아래는 당시에 제가 회고에 작성했던 문구입니다.

 

역시 공부는,,, 스스로 찾아서 해나가야 하는 것 같아요. 제가 루즈함을 느끼는 동안 다른 누군가는 이번 주의 저처럼 새로운 내용을 학습하며 즐거워했겠죠?

 

 

 

부스트캠프를 통해 얻은 것

  • 함께 하는 것의 힘

 여럿이 함께 으쌰으쌰 개발한 경험이 없어서 잘 몰랐는데, 함께 한다는 게 참 긍정적인 영향을 주더라고요.

 

 챌린지 때 200여 명의 캠퍼분들과 새벽까지 슬랙으로 함께 미션을 이해하고 방향을 잡아가던 경험은 다시 경험할 수 있을까 싶을 만큼 특별하고 소중한 기억입니다. 지금 되돌아보면 여름날, 그렇게 열정으로 불태웠던 나날이 조금 청춘 같기도 ,,, 😎

 

 제가 지나가듯 말씀드린 작은 꿀팁이 누군가에겐 큰 깨달음일 수도 있고, 그 반대로 큰 건 아니라며 수줍게 공유해주신 작업 과정이 저에게 엄청난 실마리를 제공해 주기도 했어요. 다른 캠퍼분이 열심히 정리하신 학습 정리를 참고서 삼아 공부하기도 했고요.

 

 개발뿐만 아니라, 그냥 인간으로서도 마음이 따뜻해졌습니다. 회고 때나 데일리 스크럼이 끝나고 시간이 남을 때, 함께 도란도란 이야기를 나누면서 활력을 얻었습니다. 특히 한 번은 괜히 제가 잘 나아가고 있는지, 취직은 할 수 있을지 걱정돼서 나약해졌던 때가 있는데요. 그때 그냥 함께 이야기하면서, 누구는 학생이고 누구는 다른 일을 하다가 새로 도전하고, 각자 다른 상황이지만 결국 같은 길을 가는 사람들이라는 걸 많이 느꼈었습니다. 괜히 전투애가 느껴지면서 위안도 되더라고요. 함께 한탄하고, 고민하고, 응원하면서 불안한 마음을 조금이나마 추스를 수 있었어요. 굉장히 따뜻하고 소중한 기억입니다 ㅎㅎ

 

  • 문서화의 중요성
개발…만 잘하면 안 되구나. 수많은 문서를 몰아 작성하면서, 결국엔 이것들이 제 개발을 표현할…? 설명할…? 문서들이잖아요?
얘네가 없으면 내 개발이 형체 없이 사라지는 걸 깨달았습니다..
문서화 습관 들이기가 목표

 

 부캠 마지막 주차, 마지막 팀 프로젝트 회고 때 작성했던 글의 일부입니다. 문서화의 중요성을 특히 시간에 쫓겨 기록보단 개발에 집중하게 됐던, 프로젝트 기간에 절감했습니다.

 

 머릿속으로 아무리 깊게 고민하고, 치열하게 해결 방법을 도출해 냈더라도, 그 과정을 기록으로 남기지 않으면 정말 순식간에 사라지더라고요. 고민의 흐름을 기록하지 않으면, 며칠만 지나도 고민과 그 결과만 남을 뿐, 정작 제가 많은 시간을 투자했고 어쩌면 성장했을 그 과정이 보이지가 않아요. 수십 년간의 삶이 삭제되고, 탄생과 죽음만 남은 느낌?

 

 아무튼... 프로젝트 때 팀원들과 데일리 스크럼, 데일리 회고를 진행하고, 열심히 트러블슈팅 기록이 남기면서 문서화의 감이 왔습니다. 새로운 토이 프로젝트를 계획하고 있는데, 이때 내가 어떤 기록을 남겨야 할지 알 것 같더라고요. 내가 고민한 과정. 이게 핵심이라고 생각합니다.

 

  • 배우는 걸 좋아하는구나!

 저도 몰랐는데, 저는 배우는 걸 좋아하더라고요. 멤버십 첫 미션 때 개발 권태기를 느꼈던 이유가, 새로 배우는 지식 없이 제 예전 코드를 그대로 따라 작성하기를 반복했기 때문이었습니다. 그 권태기에서 빠르게 빠져나올 수 있었던 것은 Nest라는 새로운 학습 목표를 알게 되고, 그 내부 코드를 뜯어보면서 학습해 나가는 게 재미 덕분이었고요.

 부스트캠프 회고도 작성하고 따로 취직 준비를 위해 제가 지나온 과거를 회상해 보니, 제가 무료했던 때는 늘 학습 목표가 없었던 때였어요. 덕분에 시험 기간 때는 전혀 무료한 적이 없었죠 ㅎㅎ 부캠 덕분에 깨달았습니다. 나는 배우는 걸 좋아하구나!

 

 

 

마치며

 부스트캠프 덕분에 2023년을 잘 마무리했습니다. 여기서 한 몰입과 프로젝트 경험 덕분에 자신감이 찼습니다. 그리고 너무 멋진 분들과 함께했기 때문에, 나 역시도 그렇게 멋진 사람 중의 하나이지 않을까 싶어 괜히 자부심도 품게 됐네요 😁

 

 부캠에서 얻은 경험과 재산으로 2024년도 가보자고~

728x90