4주 간의 챌린지 과정을 마치고, 이 과정에서 얻은 것들을 정리하고자 회고를 작성하게 되었다.
부스트캠프는 네이버 커넥트 재단에서 주관하는 개발자의 지속가능한 성장을 위한 학습 커뮤니티다.
그 중에서도 챌린지 과정은 이름 그대로 "도전"을 통해 자신의 한계를 극복하는 과정이다.
챌린지는 다음과 같이 CS에 대한 내용들을 학습하게 된다.
그리고 매일 아래와 같은 일정에 따라 활동한다. (19:00이 아니라, 00:00으로 바꿔야 할 것 같다.)
오전에 진행하는 피어세션은 매주 바뀌는 그룹원들과 서로의 접근 방식과 설계에 대해 공유하고 코드 리뷰하는 시간이었다.
JS를 잘 다루는 분들이 많았기 때문에, JS를 잘 모르는 상태로 입과하게 된 나는 JS의 다양한 문법과 사용 방식에 대해 많이 배울 수 있었다.
4주, 20일 동안 매일 CS 개념과 연관된 미션들이 나왔다.
표면적으로만 알고 있던 CS 개념들을 더욱 깊게 학습해볼 수 있는 기회였고, 어떤 문제를 마주쳤을 때 어떻게 대응해야 할지에 대해 익히는 시간이었다.
매번 다른 캠퍼들과 함께 문제를 해결하고, 해결했던 문제를 함께 개선해보는 활동이었다.
혼자 문제를 해결할 때와는 달리, 어떤 방식으로 문제를 해결해야 할지에 대해 페어를 설득하고 토론하는 과정이 자연스럽게 이루어지다보니 명확한 근거를 가지고 코드를 작성할 수 있었다.
4주간 각 주차별로 고민했던 점, 배운 점들을 정리해보겠다.
처음 챌린지 과정을 시작하고 정신이 너무 없었다.
낯선 활동들, 수많은 제출물, 만만치 않은 미션들까지 ,,,
하지만, 인간은 적응의 동물.
일주일동안 매일 같은 루틴으로 살다보니, 어느새 9시 반이면 눈이 떠지고, 어떤 일을 해야할지 머리가 아닌 몸이 기억하게 되었다.
생소했던 미션을, 생소한 JS로 해결하면서
'오 재밌겠다 !'
'쉬고 싶다 ,,,'
'근데 좀 재밌는데 ?'
'이제 그만 자고 싶다 ,,,'
라는 생각을 하루종일 반복하는 일주일이었다.
그리고 일주일동안 미션을 풀어나가며 가지게 되었던 가장 큰 고민이 있었다.
바로, 문제를 해결하기 위해 해야할 학습, 설계, 구현의 비중을 어떻게 가져가야 할지에 대한 고민이었다.
첫날에는 늘 하던 것처럼, 학습이나 설계는 간단하게 하고 넘어간 후, 바로 구현(차력쇼)을 했었다.
20개의 미션 중 가장 쉬운 미션이었지만, 해결하는데 생각보다 오래걸렸었다.
그리고 이후부터 설계 비중을 조금씩 늘리기 시작했는데, 미션은 점점 어려워졌지만 놀랍게도 미션 해결 시간과 결과물의 퀄리티는 오히려 눈에 띄게 향상되었다.
설계의 중요성은 워낙 많이 알려져 있는 부분이고, 또 머리로는 분명 알고 있지만 직접 느껴본 적이 없어 선뜻 실천하지 못했었다.
하지만, 어려운 문제에 직접 부딫혀보니 설계의 중요성을 뼈저리게 느꼈다.
2주차 이후부터는 다양한 사람들과 함께하는 활동이 많았고, 이를 통해 많은 것을 느꼈다.
첫번째는 어떤 지식을 알고 있는 것과 그 지식을 다른 사람에게 설명할 수 있는 것은 큰 차이가 있다는 점이었다.
분명 아는 내용이라고 생각했던 것들도 막상 누군가에게 설명하려고 하면 머릿속이 정리가 안되어 말이 꼬이기도 하고, 정확히 기억하지 못하는 것들도 있었다.
단순히 이해하는 것에서 끝나는 것이 아닌, 누군가에게 설명할 수 있을 정도로 학습해야 한다는 것을 느꼈다.
두번째는 모른다는 것을 부끄러워하지 않아야 한다는 것이다.
내가 모르는 것을 다른 사람에게 드러내는 것은 쉽지 않은 일이다. 하지만, 모르는 것을 숨기기만 해서는 성장할 수 없다.
한번은 페어와 함께 활동을 하며, 용기내어 "아, 그건 제가 잘 모르는데 한번 설명해주실 수 있나요 ?"라고 한적이 있었다.
페어는 본인이 아는 것을 친절히 설명해주었고, 심지어 본인이 정리했던 내용을 공유해주셨다.
항상 배움의 자세로 임해야 한다는 것이 성장의 중요한 키워드 중 하나인 것 같다.
잘 모르는 건 당당히 물어보고, 배우자.
세번째는 내 의견이나 생각을 말하는 것에 망설임을 가지지 말아야한다는 것이다.
두번째 느낀점과 어느정도 일맥상통하는 이야기인 것 같다.
나는 평소 내 생각이 맞는 건지 확실하지 않으면, 입 밖으로 내지 않는 습관이 있었다. 그래서 항상 내 생각을 스스로 검증하느라 미처 말하지 못한 것들이 꽤나 많았다.
하지만, 내 의견이나 생각을 다른 사람에게 말하면 더 빠르고, 더 효율적으로 검증할 수 있다.
틀리는 것을 두려워하지 말자.
틀렸다면 수용하면 된다.
이제는 매일 반복되는 활동과 미션에 완전 적응되어, 나름 여유도 생기고 추가적인 학습을 해볼 수 있는 시간이 생겼다.
4주차 학습을 하던 중, 문득 지난 3주를 돌아보니 하루하루 최선을 다했지만 학습했던 내용을 모두 소화하지 못했다는 생각이 들었다. (하루만에 소화할 수 있는 내용이 아니었다,,,)
그래서 챌린지가 끝난 이후로도 차근차근 공부해보기 위해, 4주차 뿐 아니라 지난 주차 내용들까지 공부해 볼 만한 주제들을 정리했다.
그리고 3주간의 경험을 토대로, 코드를 작성할 때 나만의 원칙을 하나 세우게 되었다.
좋은 코드를 작성하기보다, 좋지 않은 코드를 줄이자.
이를 실행하기 위해 좋지 않은 코드. 즉, 가독성과 유지보수가 고려되지 못한 코드는 어떤 것들이 있는지 명확하게 정의할 필요가 있었다.
하지만, 내가 작성한 코드만으로는 데이터가 너무 부족했고, 다양한 케이스를 확인하기 어려웠다.
그래서 다른 캠퍼의 코드를 읽을 때, 읽기 힘들었던 코드를 찾고 대안을 찾아보려고 노력했다. (다들 잘하셔서 많이 찾지는 못했다)
그렇게 이런저런 고민과 시도를 하다보니, 짧지만 길었던 4주간의 활동이 끝났다.
챌린지 과정이 내심 꽤나 즐거웠던 것 같다.
그래서 그런지 후련할 것만 같았던 챌린지의 끝은 생각보다 덤덤했고, 오히려 아쉬웠다.
챌린지 수료를 끝이 아닌 시작으로 삼아, 계속해서 성장하는 개발자가 되고 싶다.
챌린지 과정이 끝난 후, 더 이상 나오지 않는 미션이 그리워질 때쯤 멤버십 입과 결과가 나왔다.
감사하게도 멤버십 과정에도 함께 할 수 있게 되었다.
이번 회고에서 느낀 점들을 가지고, 더욱 알찬 멤버십 과정이 되길 기대하며 회고를 마무리 하겠다.