야곰 아카데미 커리어 스타터 캠프 2기 캠퍼 Jay의 글입니다.
"iOS 개발이 다른 개발에 비해 특히 더 어려운가요?"
제가 야곰에게 처음으로 했던 질문입니다. 개발하면서 애플에 대한 막연한 동경으로 iOS 개발에 흥미가 있었는데, 주변의 개발자들께서 iOS는 특별히 어렵다며 만류하셨습니다. 여러 개발자 커뮤니티를 통해 iOS에서 야곰이 유명하다는 사실을 알게 되었고, 메일 주소를 찾아 이메일로 질문드렸습니다. 지금 생각해보면 이상할 수 있는 질문이지만, 그때는 완전히 새로운 분야를 찾으며 위험을 최소화하는 방향을 추구했기 때문에 저에게는 중요한 질문이었습니다. 갑작스러운 메일에도 야곰은 친절하게 답변해주셨고, 그 답변을 통해 망설임 없이 맥북과 시간이라는 큰 투자를 할 수 있었습니다.
야곰 캠프의 시작
캠프 시작 전 푹 쉬고 와도 된다는 야곰의 거짓말(?)을 믿고 진짜 푹 쉬다가 시작한 야곰 캠프의 첫 주는 매우 당황스러웠습니다. 자기 주도 학습에 나름대로 자신이 있다고 생각했었는데 야곰 캠프의 첫 주는 예상했던 것보다 더 어려웠습니다. 반대로 생각해보면 그만큼 그동안 저의 공부 방식이 크게 잘못되었다는 것이고, 개발자로서 성장하는 데 필요한 것은 개발 지식만이 아니라는 것을 느꼈습니다.
개발자가 되기 위한 스킬을 학습하는 양산형 강의가 넘쳐나는 시기에 야곰캠프가 강조하는 것은 "무엇을 구현하는 법"이 아니라 "무엇인가를 구현해야 할 때 새롭게 학습하는 법"이었다고 생각합니다. 아무리 많은 기술을 습득했다고 해도 새로운 기술은 나오기 마련이고, 다른 사람들이 설명해준 기술을 습득하는 것이 아니라 직접 부딪혀 체득해야 하는 상황이 올 것이기 때문에 야곰 캠프의 학습 방식은 개발자가 되기 위해 꼭 필요한 경험이라고 느꼈습니다.
"나는 부족한 사람이다"
야곰 캠프를 거치며 가장 힘들었던 점은 10시간 넘게 앉아 공부하는 것도, 어려운 구현을 하는 것도 아니었습니다. 끊임없이 부족한 부분을 찾아 채워나가야 했기 때문에, 성장보다는 부족함에 초점을 맞출 수밖에 없었습니다. 반년 가까운 시간 동안 제 부족한 점에 대해서 고민하다 보니 날이 갈수록 자신감을 잃었고 "iOS는 천재들의 영역인가?, 나는 안되나?" 하는 생각이 들었습니다. 사실 아직도 그런 생각을 어느 정도 갖고 있습니다. 다만 어떤 부분을 모른다고 구체적으로 설명할 수 있는 것, 그 부분을 찾아 적용해볼 시도를 할 수 있는 기초를 갖게 된 것 자체가 발전한 것으로 생각합니다.
야곰이 가장 강조하지만 정말 실행하기 어려운 것이 TIL인데, 이 학습 기록은 학습한 내용을 정리한다는 측면에서도 의미가 있겠지만 자신의 발전을 눈으로 보기 어려운 상황에서 자신감을 잃지 않는데에도 큰 역할을 했습니다.
또한 "남과 비교하지 않는 것" 역시 정말 어렵지만 필요하다고 느꼈습니다. 야곰 캠프는 소통의 연속이기 때문에 캠프 스태프분들, 리뷰어, 동기 및 다른 기수분들과 대화하며 저의 부족한 점을 채워나가다 보니 다른 사람과 비교하기가 쉬웠던 것 같습니다. 다른 사람들은 다 아는데 나만 모른다는 태도가 아니라 내가 갖지 않은 것을 배운다는 태도를 가져야 하는데 그게..마음처럼 쉽지가 않았습니다.
저는 리뷰어들과 야곰, 코지, 캠퍼들과 대화하면서 고민이 많이 해결되었던 것 같습니다. 방학 기간 동안 새로운 것을 공부하는 것도 좋지만 그동안 해왔던 TIL과 그전까지 제가 작성했던 예전 코드들을 살펴보면 초조함이나 비교에서 조금이나마 자유로워질 수 있는 것 같습니다.
하브루타(Havruta) 공부법
Git에서만 61번의 대화를 하였고, 디스코드를 통해 매일 늦게까지 대화했습니다. (Lin에게 다시 한번 감사를...)
하브루타(Chavrusa, chavruta, havruta, חַבְרוּתָא)는 유대인의 전통적 학습 방법이다. 문자적 의미는 우정, 동료 등을 뜻한다. 예시바(yeshiva) 및 코렐(kollel)에서 주류적 학습법이다. 교사-학생 간의 관계와 달리, 하브루타 학습에서는 각자가 분석하고 자신의 생각을 조직화하여 상대방에게 설명하며, 상대방의 이야기를 듣고 질문하면서, 때로는 전혀 새로운 관점을 발견하기도 한다. - 위키백과
야곰 캠프를 시작하며 가장 강조되었던 것이 서로 간의 대화와 소통이었습니다. 인싸들에게는 매우 쉬울 수 있지만, 저 같은 아싸에게는 굉장히 어려운 방식이었죠. 처음에는 학습 중 모르는 것이 나올 때 질문하는 식으로 대화를 시작했고, 이후에는 스터디처럼 특정 주제를 학습하여 공유하는 방식으로 진행되었습니다. 여기서 더 나아가 단순히 학습한 내용이 아니라 프로젝트 과정에서 생긴 의문이나 질문을 던져 상대방의 의견을 묻고, 함께 답을 도출해가며 대화를 했습니다.
야곰이 가장 많이 한 말 중 하나가 "한 문장으로 설명할 수 없다면 모르는 것이다"였습니다. 한 문장으로 설명하기 위해 저는 어떤 개념을 이해할 때 What, Why, How로 나누어 생각하려고 하였고, 이 과정에서 질문이 더 풍부해져 더욱더 많은 대화가 가능했습니다. 이젠 이런 방식으로 학습하는 것이 더 자연스러워졌는데, 면접에서 하브루타라는 공부법이 이와 흡사하다는 말씀을 해주셨습니다. 저도 면접 후 그 공부법에 대해 찾아보았는데 한 번 찾아보시면 야곰 캠프에서 진행될 학습 방법에 대해 더 이해하기 쉬우실 것으로 생각됩니다. 야곰 캠프가 지향하는 바가 더욱 개발자다운 학습 방법이고, 그것이 하브루타 공부법처럼 많은 소통을 기반으로 한다는 것을 캠프를 통해 경험할 수 있었습니다.
"좋은 개발자란 무엇인가?"
제가 이 캠프에 가장 감사한 점은 위의 질문을 끊임없이 생각해볼 기회, 좋은 개발자분들로부터 위의 질문에 대한 의견을 들을 기회를 가졌다는 것이었습니다. 언제 저 질문에 답을 할 수 있는 실력을 제가 갖출 수 있을지 모르겠지만, 많은 리뷰어분들과 스태프분들, 그리고 캠퍼들과의 대화에서 힌트를 얻을 수 있었습니다. 좋은 개발자가 되기 위해 고민하는 분들에게 이 캠프는 어떤 곳보다도 이러한 고민을 하는 분들이 많고, 함께 고민하고 의견을 공유하기 좋은 곳이라고 생각합니다.
저는 이 캠프를 통해 학습한 것이 단순히 Swift나 iOS가 아니라고 생각합니다. 개발자들이 학습할 때 가져야 하는 태도와 그 방법을 배웠다고 자부합니다. "어떤 언어든 새롭게 배워도 학습할 자신이 있다"라는 자신감이 생겼으며 이 경험은 앞으로도 개발해 나갈 때 자양분이 될 것으로 생각합니다.
"이런 분들에게 추천합니다."
1.
개발을 취업의 수단이 아니라 진심으로 좋은 개발자가 되고 싶은 사람들
2.
개발에 열정이 있지만 스스로 기초가 부족하다고 생각하는 사람들
3.
단순히 작동만 하는 앱이 아니라 보다 나은 방향으로 나아가는 앱을 개발하고 싶은 사람들
에게 이 캠프의 경험은 캠퍼 서로 엄청난 시너지가 될 수 있다고 생각합니다. 그리고 "이 과정에서 주는 과제만 하면 좋은 곳에 갈 수 있다"라는 믿음이 아니라 "이 과정에서 많이 생각하고 소통해서 개발자로서 한 단계 성장할 것이다"라는 고민과 목표를 가진 분들에게 최고의 디딤돌이 될 것이라고 감히 추천합니다!