2020.08.24
2020.07.27 ~ 2020.08.21 까지 4주간의 부스트 캠프 챌린지가 끝이났다.
부스트 캠프를 시작하기 전에는 기존에도 09시부터 20시 정도까지 꾸준히 공부하는 습관을 가지고 있었기 때문에 별 탈 없이 엉덩이 잘 붙이고 무난하게 마칠 수 있을 줄 알았다. 하지만 생각보다 빡셌던 것 같다. 제한시간 내에 하나의 목표를 완주하기 위해 달리는 시간은 그 자체만으로도 충분한 스트레스였고 압박감이 있었다. 또한 학습 방식 역시 기존에 내가 하던 것과는 다른 방식이어서 이 역시 녹록치 않았다. 이러한 상황 속에서 하루를 마무리하면 평소보다 많이 지쳤던 것 같다.
부스트 캠프를 진행하면서 총 16가지의 미션을 수행했는데 이 과정에서 그동안 공부해야 했지만 미뤄두었던 것들과, 수박 겉만 핥고 다녔을 뿐 작동원리를 몰랐던 것들과, 기존에 공부했지만 금세 잊었던 것들에 대한 학습을 할 수 있었다. 특히 나는 비전공자이다 보니 CS 전반에 대한 이해도가 다른 컴공생분들에 비해 많이 낮았을 것 같은데 이 부분을 짧은 시간이나마 제대로 맛볼 수 있었던 좋은 기회였던 것 같다.
부스트 캠프에서 가장 기억에 남는 말은 JK님이 하셨던
“개구리를 해부하지 말고, 직접 만들어라”
- 니콜라스 네그로폰데
라는 말이었다. 실제로 우리가 수행했던 미션들은 그 동안 별 생각없이 사용하고 있던 것들에 대해 동작 원리를 파악하고 JavaScript로 비슷하게 구현해보는 형식이었다.
50% 똑같이 구현하는 것은 쉬웠다. 하지만 70% 똑같이 구현하는 것은 어려웠다. 90% 똑같이 구현하는 것은 정말정말 어려웠다. 아마 99% 똑같이 구현하기 위해서는 이에 대한 완벽한 도메인 지식이 있어야만 가능할 것 같다. 이처럼 내가 할 수 있는 최대한으로 비슷하게 만들기 위해서 동작원리를 제대로 파악하고 구현해가는 일련의 과정들이 학습에 있어 정말 좋았던 것 같다.
아울러 학습을 대하는 태도도 많이 변화했다.
JavaScript를 예를 들면, 기존에는 최대한 메서드를 많이 알려고 노력했었다. padStart라는 메서드 사용법을 외우고, charCodeAt이라는 메서드 사용법을 외우고, repeat라는 메서드 사용법을 외우고…
확실히 메서드를 많이 알고 있으면 구현에 있어서 편리함이 존재했다. 이 메서드를 모르는 사람들은 직접 힘들게 구현했어야 했겠지만 나는 한 줄이면 가능했으니까. 그리고 이렇게 메서드들을 자유자재로 쓰는 스스로를 JavaScript에 대해 그래도 좀 안다고 생각했다.
하지만 이제는 이런 껍데기 보다는 내부 구현이 어떻게 되어서 어떤 방식으로 작동하고 있을까란 의문이 생긴다. 아예 모르는 도메인에 대해 처음부터 내부 로직을 까보는 학습은 불가능 할 것이라고 생각한다. 그렇기 때문에 앞으로는 먼저 그것들을 사용해보면서 숙련도를 조금 높인 뒤 작동 원리를 반드시 짚어보는 방향으로 학습을 해나갈 것이다. 특히 최대한 구체적으로 도메인 지식을 쌓은 다음 직접 구현해보고자 한다. 그리고 학습 과정에서 모르는 부분이 발생하면 그냥 넘어가기 보다는 조금 더 깊게 고민하고 알아보는 시간을 가질 것이다. 고민한 시간이 길어지는 만큼 그 문제를 해결하고 싶은 욕심이 생기고 이러한 과정들이 나에게 많이 남는 것 같다.
이러한 학습 방법은 앞으로도 한번 습관화 해볼 생각이다.
부스트 캠프에서 또 좋았던 점은 내 또래의 다른 개발자 분들과 소통할 수 있었던 것이었다. 피어세션을 진행하면서 팀원들과 하나의 공통된 주제 속에서 서로 생각하는 내용과 지식을 공유해가는 과정은 정말 재미있고 좋은 경험이었다. 또한, 그분들의 코드도 마음 껏 볼 수 있어서 좋았다. 지금까지 주변에 비슷한 수준의 개발자가 많이 없어서 다른 사람들은 도대체 어떤 방식으로 코드를 짜나 궁금했었는데 이러한 궁금증을 정말 많이 충족시킬 수 있었다. 특히 어떻게 하면 가독성 있고 좋은 코드를 짤지에 대한 고민이 엿보이는 분들이 몇몇분 계셨는데 그분들을 통해서도 좋은 것들을 많이 배울 수 있었다.
JavaScript라는 언어 자체에 대한 이해도도 많이 높아진 것 같다. 미션에는 JavaScript와 관련된 것들도 틈틈이 있었는데 이를 해결해나가면서 내부 구조를 이해해 볼 수 있었고, 미션을 원활하게 수행하고자 하는 욕심때문에 “코어 자바스크립트”를 읽으며 스스로 공부한 내용들도 성장에 도움이 되었던 것 같다.
부스트 캠프를 진행하면서 후회도 너무 많다. 특히 미션을 위한 학습을 한 게 아닌가 하는 후회가 든다. 다른 분들의 학습정리나 코드를 찬찬히 살펴보면 그 속에 미션에 대한 고민과 이를 해결하기 위해 추가적으로 학습한 내용들이 많이 녹아있었다. 나도 학습을 하긴 하였지만 깊이의 측면에 있어서 모자람이 있었던 것 같아 후회스럽다. 특히 시간내에 제출이라는 목적을 너무 맹목적으로만 쫓다보니 제대로 학습하여 미션의 내용을 음미할 시간이 부족했던듯 싶다. 2주차부터는 그래도 문제를 깨닫고, 미션 해결이 아니라 학습한다는 마음가짐으로 미션을 수행해가진 했지만 조금 더 빨리 깨달았으면 좋지 않았을까 싶은 아쉬움이 있다.
부스트 캠프를 마치며, 짧은 4주라는 시간이었지만 나에게 있어 좋은 습관을 만들고, 스스로에 대해 성찰해볼 수 있는 좋은 기회였다고 생각한다. 멤버쉽에 가게될지 못가게될지는 아직 모르지만, 가지 못하더라도 “챌린지 끝이니까 이제 끝!” 하고 안주하기 보다는 지난 시간들이 앞으로 나아가게 될 좋은 원동력이 되도록 느낀 바를 잊지않고 꾸준히 정진하도록 해야겠다.