부스트캠프 멤버십을 수료했다.
살면서 개발을 이렇게 열심히 해본 적은 처음이었던 것 같다(개발시작 1.5년차)
매일 슬랙에 체크인아웃을 하던게 엊그제같은데 이제는 평일에 체크인아웃이 없으니 뭔가 허전한 느낌이 들기도 한다.
아무튼 부스트캠프가 끝나고 헐레벌떡 바로 어제 리눅스 마스터 시험이 있어서 급하게 준비하고 보고 이제는 조금 여유가 생겨 회고를 쓰기로 했다.
그냥 깨달은 것들을 중점적으로 생각나는 대로 두서없이 쓸 예정이니 의식의 흐름 주의,,,
이번 회고에서는 특히 내가 성장한 경험을 위주로 작성할 예정이다.
솔직히 냉정하게 말하자면.. 내가 이전까지 했던 프로젝트나 동아리 활동 모두 프론트엔드 개발에 있어서는 크게 동료에게 받는 깨달음 내지 배움은 거의 없었다고 생각한다.
항상 내가 주도적으로 말하면 동료들이 어찌저찌 따라오기만 할 뿐, 기술적인 인사이트를 얻거나 코드에 대한 생산적인 리뷰 하나 받아보지 못했다. 물론 다들 인간적으로 너무 좋은 사람들이지만 이런 부분에 대해서는 항상 아쉬움을 느꼈던 것 같다.
물론 제대로 된 PR을 올리지도 못했던 내 잘못도 있다고 생각한다.
하지만 이런 LGTM 남발만 받다보니 내 스스로도 이게 좋은 코드인지에 대해서 의구심이 들었지만 물어볼 사람조차 없었다. 그렇기 때문에 더더욱 스터디 그룹별로 계속해서 코드리뷰를 받는다는 부스트캠프의 운영방식이 괜찮을까? 생각했었다.
하지만 부스트캠프에 들어오면서 동료 피드백에 대한 많은 생각이 바뀌게 되었다.
예상 외로 부스트캠프에 함께 하는 사람들은 정말 열심히 코드를 리뷰해주었으며, 내가 생전 처음 들어보는 키워드나 기능들을 말씀하시는걸 캐치하여 학습하면서 많은 것들을 새롭게 알아낼 수 있었다.
더불어 나도 다른 분들이 정성들여 해주시는 만큼 나도 열심히 해야겠다고 생각하다보니 열심히 다른 분들의 코드를 읽게 되고, 자연스럽게 남들의 코드를 읽는 능력 또한 많이 늘었다.
프로젝트에서는 매일 평균적으로 14시간정도를 코딩을 하는데 쓰면서 심적으로나 육체적으로 많이 약해졌었다. 그러다보니 나도 모르게 예민했던 적이 많았던 것 같다.
그럼에도 불구하고 좋은 동료가 있었기에 제대로 프로젝트를 끝낼 수 있었다고 생각한다.
트러블이 생길 수도 있을 뻔한 일이 있었다. 하지만 그렇다고 서로가 감정이 끝나는 상태에서 끝내지 않고, 솔직하게 서로의 감정을 털어내고 진심으로 사과하면서 모두가 다시 힘낼 수 있었다. 성숙한 태도를 가지는 동료들을 만난게 정말 행운이라고 생각한다.
그리고 무엇보다 다같이 힘들면 더 끈끈해진다고 하지 않는가.
다같이 힘들다보니 서로 배려해주고 응원해주면서 동료와의 끈끈한 우정을 통해 함께 프로젝트까지 야무지게 끝낼 수 있었다.
무엇보다 부스트캠프를 통해 가장 많이 얻어간 것은 학습 방법과 다양한 학습 키워드라고 생각한다.
부스트캠프에 들어오기 이전까지는 뭘 해야할 지 몰라서 제대로 학습을 못했었다면, 부스트캠프에서는 너무 공부하고 싶은 것들도 많았고 공부해야 하는 것들도 많았다.
생전 처음 들어보는 키워드들이 난무했다. 하지만 부스트캠프에서는 이를 무조건 A부터 Z까지 알려주는 것이 아닌 스스로 학습하고 깨달아야 한다. 결국 이를 어떻게 학습해서 소화시키냐는 온전히 학습하는 사람의 몫인 것이다.
나 또한 그렇게 던져주는 학습 키워드들을 모두 흡수하지는 못했다고 생각한다. 부스트캠프가 끝난 지금까지도 학습 부채는 있기 때문에 시간이 날 때마다 틈틈히 정리해둘 예정이다.
아무튼 이렇게 던져주는 학습 키워드들을 줍고 이 학습 키워드에 대해서 직접 처음부터 정리해가며 문서화해나가는 과정을 통해 어떻게 '학습'해야 하는지에 대해 나름 나에게 가장 잘 맞는 학습 방식을 정립해 나갔다고 생각한다. 이러한 과정을 체험하길 장려했던 부스트캠프가 정말 개발자의 기본을 가르치는 곳이구나 깨달았다.
부스트캠프에서는 모든 활동에 대해서 기록, 즉 문서화를 강조한다.
나 또한 문서화는 조금씩 하고 있었지만 사실 이 문서화가 정말 중요한 걸까
에 대해서는 스스로도 제대로 답을 내리지 못했다. 비록 기술 블로그는 조금씩 정리하고 있다고는 해도 부스트캠프가 강조하는 정도를 보면 이정도는 살짝 광기인 것 같은데.. 라는 생각이 들고는 했다.
하지만 요즘 들어서는 문서화의 중요성을 깨달아가고있다.
가장 기본적으로 문서화 과정은 나의 경험이나 학습을 글로 정리하는 과정인데, 사실 한번에 제대로 완벽한 문서를 만들기 쉽지 않다. 결국 일반 글쓰기와 다름 없이 몇 번의 퇴고를 통해서 비로소 온전한 문서 하나가 완성된다. 이 과정에서 내가 어떻게 이 경험, 학습을 기억해야 할 지 정리하면서 글을 써내려가다보니 머릿속에서도 자연스럽게 정리되는 느낌이 들었다. 그러다보니 비단 문서뿐만 아니라 머리에서도 이 글의 맥락을 모두 이해할 수 있었기에 이를 다시 말로 풀 때면 술술 나오는 느낌을 받았다.
또한 학습 과정에서 연관된 키워드 중에 까먹는 경우도 있기 때문에 이게 뭐였더라 싶은게 꽤 있었는데 내 문서를 찾아보면 내가 이해하기 쉽게 정리해놓은 문서가 있는 경우가 있었다. 이를 다시 읽고 개념을 다시금 이해하는 과정을 통해서 보다 장기적으로 기억이 저장되는 느낌을 받을 수 있었다.
결국 이러한 문서화를 하는 일련의 과정 자체가 전부 나에게 알게모르게 영향을 끼치고 있었음을 깨닫고 아 이래서 문서화가 중요했구나
를 깨닫게 되었다.
문서화의 중요성을 깨달은 만큼 이제는 문서화를 귀찮아 하지 않고 열심히 퀄리티 좋은 문서를 만들기 위해서 노력할 생각이다.
위에서도 말했다시피 부스트캠프가 끝난 후 나는 바로 리눅스마스터 시험을 준비하고 보고 왔다.
솔직히 부스트캠프 전까지는 내가 리눅스를 공부하게 될 줄은 꿈에도 상상하지 못했다. 프론트엔드 개발자가 리눅스를?
이라는 생각이 들었기 때문이다.
하지만 부스트캠프 과정에서 백엔드, 프론트엔드를 모두 경험하며 내가 내린 결론은 프론트엔드 개발자, 백엔드 개발자는 모두 개발자이다
였다.
무슨 당연한 소리냐고 물어볼 수도 있다.
내가 생각하는 프론트엔드 개발자나 백엔드 개발자는 자신이 조금 더 특화되어있는 분야가 앞에 붙을 뿐이지 이들은 모두 개발자로 추상화된다.
따라서 프백 상관없이 개발자로서 서로의 코드를 어느정도는 알고 있어야 하며 이를 위한 배경지식은 '개발자'에게의 공통사항이라고 생각한다. 물론 각자가 공부해야 하는 것들은 엄청 다르기 때문에 차이는 날 수 있더라도 이를 완전히 프백이 서로 완전히 독립적인 객체라고 생각하고 학습하게 되면 시야의 폭이 좁아질 수밖에 없다고 생각한다. 부캠 전의 나처럼
아무튼 나는 그래서 부스트캠프가 끝난 후 프백을 가리지 않고 다양하게 학습할 계획이다. 기본적인 CS지식을 다시금 탄탄하게 잡고, 이를 기반으로 프론트엔드 개발을 하면서도 백엔드의 아키텍처와 객체 지향 프로그래밍 등등 폭넓게 학습할 것이다.
벌써부터 공부해야 할 것들이 태산이라 잘 할 수 있을까 걱정도 되지만서도 나름 부캠도 잘 끝냈는데 앞으로도 잘 되겠지! 하는 마음으로 열심히 해보려고 한다.
Experience Addictive Block Puzzle Action Block Blast