/logo.png

부스트캠프 웹・모바일 9기 챌린지 회고

부스트캠프 웹・모바일 9기 챌린지 회고
2024. 8. 10.
🧑‍💻

!

최대한 신상정보와 챌린지 내용에 관한 부분을 제외하고 작성하고자 했습니다. 혹시 글에 이슈가 발견될 경우 글이 내려갈 수 있습니다.

한 달 동안 열심히 시간을 보내던 챌린지가 끝이 났습니다. 돌아보면 지금까지 개발 관련 활동을 하면서 가장 몰입한 활동이 아닌가 생각이 듭니다.

“개구리를 해부하지 말고 직접 만들어라 - 니콜라스 네크로폰데- ”

-챌린지 과정 중 마스터 JK님의 말씀-

지금까지 제 개발 여정을 돌아보면, 저는 개발 도굴꾼이라고 할 수 있을 것 같습니다. 필요한 기능이 있을 때면 미리 만들어진 프로그램이나 라이브러리를 분석하고, 그 구조를 이해한 후에 적용하는 방식으로 문제를 해결해왔습니다. 덕분에 좋은 설계를 배우거나 새로운 아키텍처와 패러다임을 익힐 수 있었습니다. 코드 읽는 방법도 점점 향상되었죠.

하지만 이런 탐색이 습관이 되어 이제는 먼저 찾아보는 습관부터 생겼습니다. 문제를 이해해 사고하는 시간이 줄었다고 할까요. 저만의 언어로 만들어보고 생각하는 시간보다 “잘 만들어진” 무언가를 찾는 활동을 더 많이 하게 된 것 같습니다.

이러한 습관은 챌린지를 통해 더 좋은 습관으로 탈바꿈한 것 같습니다.

"강도 높은" 프로그래밍 미션...

챌린지

챌린지는 항상 도전의 연속이었습니다. 평소에 자신이 구현을 막힘없이 하는 편이라고 생각해서, 이번에도 문제 자체는 부담이 없을 거라고 오만했습니다. 기존에 JS에 대해 많이 공부하고 여러 라이브러리, 프레임워크를 사용해 봤던 탓에 특별한 문제 없이 매일 문제를 해결할 수 있겠다는 자신감이 있었습니다.

개인 미션 수행 시간이 7시간이면 꽤 많은 시간을 받았다는 생각을 가졌지만, 챌린지를 시작하고 나서는 7시간이 턱없이 부족한 시간이라는 것을 느꼈습니다. 매일매일 요구사항을 분석하고 그에 대한 배경지식을 학습하면서 문서로 정리하고 설계, 구현하는 과정은 정말 쉽지 않은 일이었습니다.

다음 날에는 팀원들과 함께 스스로 설계하고 해결한 과정을 기술적 근거와 함께 설명해야 했기 때문에, 높은 수준의 학습과 설계를 위해 많은 시간을 투자해야 했습니다. 피어 세션에서는 각자 해결한 과정을 설명하고 피드백을 주고받으면서, 추가적으로 고려해 볼 예외 케이스나 학습 포인트를 논의할 수 있었습니다.

챌린지를 진행하면서 CS에 관련된 요구사항을 해결하기 위해 공부하고 구현하는 과정이 끝이 아닌 개발자로서 문제를 해결하는 전반적인 프로세스에 대해서 공부했다고 느껴집니다. 이를 통해 스스로 사고하고 의사결정하고 구현하는 스킬이 정말 좋아진 것 같습니다.

챌린지 시작 전, 미션 이외에도 개인적으로 꼭 해보고자 목표로 했던 활동이 있었는데, 테스트 코드 연습하기, 회고하기, 팀원 코드리뷰하기였습니다. 개발공부를 하면서 항상 놓치기 쉽지만 중요한 것들이라고 생각해 꾸준히 달성해 보고자 노력했습니다.

테스트 코드

매일 개인 미션이 주어지는 챌린지 과정은 보다 테스트 공부하기 좋은 환경일 것이라고 생각했습니다. 요구사항이 주어지면 주어진 요구사항에 대한 테스트 코드를 작성해 보면서 요구사항을 스스로 잘 해결했는지 판단하고 이후 요구사항을 리팩터링 하면서 테스트 코드의 도움을 받을 수 있었습니다.

사실 팀원들의 코드 리뷰에서도 테스트 코드를 통해 더욱 쉽게 검증하고자 했지만 요구사항의 인터페이스가 자유로워서 활용하지 못한 아쉬움이 있네요.

사실 이거보다 더 많지만 다 해보자면 케이스만 100개 채울 것 같습니다..

회고

매일 새로운 문제를 해결하는 과정에서 검증하고 회고까지 하는 일은 쉽지 않습니다. 비교적 간단한 회고들을 진행했는데, KPT나 4L 회고를 통해 문제 해결 과정 중에서 아쉬운 점이 남았다면 다음날에 개선해 보고자 해본다든지, 좋았던 점이 있다면 계속 유지해 보고자 한다든지 하면서 매일매일 성장하는 경험을 기록으로 남겼던 것 같습니다.

뭔가 팍하고 오지 않나요 ㅎㅎ..

지금까지의 개인 회고와 주간 회고를 모아서 개선점과 좋은 점을 학습하는 것만으로도 엄청난 성장을 할 수 있을 것 같습니다. 앞으로도 이렇게 만든 회고 습관을 유지하고 활용해 보고자 합니다.

팀원 리뷰하기

챌린지의 꽃은 결국 미션을 개인이 해결하지만 그 과정에는 항상 팀원의 피드백과 커뮤니티 활동에 있다고 생각했습니다. 매일 전날 과제에 대해서 토의하는 피어 세션이 존재하기도 하고 챌린지에서도 동료와의 학습을 강조하고 있기 때문입니다.

개인 미션을 하다 보면 팀원마다 핵심적으로 생각하는 포인트가 다르고 구현하는 방식이 다양합니다. 팀원 리뷰를 통해서 팀원들이 문제를 해결하기 위해서 어떤 방식으로 사고하고 해결했는지 이해할 수 있었습니다.

매주 미션이 끝나고 나서 그 주에 활동했던 팀원 분들께 양해를 구하고 간단한 코멘트들을 작성했던 것 같습니다.

리뷰는 정말 함께 성장하는 활동중에 최고인 것 같습니다. 😁

답신을 바라고 했던 활동은 아니고 스스로를 위한 활동이었지만, 함께해 주신 캠퍼 분들이 좋아해 주시고 질문에 대해 답변을 해주시는 것들을 꼼꼼히 읽어보면서 개발자 문화에서 왜 협업이 그토록 강조되는지, 커뮤니티의 크기가 왜 기술 선택에 있어서 중요한지 정말 뼈로 느낀 것 같습니다.

3~4주차부터는 이런 활동을 많이 못 한 게 아쉽네요..

좋은 질문과 답변들

챌린지를 하면서 생각지 못한 뜻밖의 활동은 정말 많은 분들의 수준 높은 질문과 답변들을 보거나 스스로 답변해 볼 수 있던 점인 것 같습니다. 요구사항에 대해 토의하고 그 이외에도 개발 품질을 높이기 위한 여러 가지 이야기들을 나눌 수 있어서 너무 재밌었습니다.

더 좋은 글들이 많은데 다 못올려서 아쉽네요..

또한 중간에 올려주시는 한 번쯤 생각해 볼만한 질문이나 자신의 경험을 글을 통해 나누어 주시는 많은 캠퍼 분들 덕분에 개발 이외에 비 개발적으로도 스스로 생각해보고 답할 수 있었습니다.

노래 공유 채널이나, 소리 지르는 방 같은 곳에서 이야기 나누는 것도 퍽 즐거웠습니다 ㅎㅎ 이런 게 정말 커뮤니티의 힘 아닐까 하네요.

챌린지 이후

한 달 동안 매일매일 이런 활동을 하다 보니 자연스럽게 요구사항을 해결하기 위해 어떻게 설계할 것인지, 어떤 지식이 부족하고 학습해야 하는지 스스로 판단하고 해결할 수 있는 능력이 점점 향상되는 것을 체감했습니다. 한 달 전과는 비교도 안될 정도로 문서와 UML을 작성하고, 기술적으로 설명하는 능력이 생긴 것 같습니다. 이제는 구현부터 하는 개발자가 아닌 설계를 통해 설명할 수 있는 개발자가 될 수 있을 것 같네요.

학습 - 설계 - 구현 - 피드백 프로세스를 정해진 시간을 바탕으로 계속 훈련하다 보니 시간을 더 효율적으로 몰입해 사용하는 방식과 각 프로세스에서 어떻게 해야 체계적으로 할 수 있는지 정말 많은 능력 향상을 경험한 것 같습니다.

챌린지 이전이 도굴꾼 같은 개발자라면, 지금은 고고학자 같은 개발자로 비유해 볼 수 있을 것 같습니다. 다른 코드를 파보면서 학습하는 것이 아닌 그간 공부한 내용을 바탕으로 검증하고 발견하면서 이후의 문제들도 헤쳐나갈 것 같은 기분을 느낍니다.

평소 커뮤니티의 힘을 믿는 편인데 스스로 성장하고자 하는 많은 사람들이 모여 매일 도전하고 토의하고 피드백 받는 환경에서 개발할 수 있다는 점은 정말 인상적인 것 같습니다. 개발자로서 도전적인 상황에서 성장을 원하는 좋은 캠퍼분들과 높은 집중도를 요구하는 활동 함께 해 영광이었습니다!