안녕하세요, 피터입니다 😃
제가 참여한 F-Lab의 iOS 멘토링 코스에 참여한지도 벌써 1개월이 넘었습니다. 제 글이 앞으로 F-Lab을 수강하실 분들에게 도움이 되길 바라며 솔직한 후기 글을 남기려고 합니다.
이전 직장에서는 iOS의 유일한 개발자로 근무를 했습니다. 최근 다니는 회사는 다행이도 iOS 개발자 동료는 있지만, 서로 함께 성장하는 동료로서의 관계 때문에 현 방향성에 대한 확신이 부족하게 느껴졌습니다. 개발자는 꾸준한 학습은 필수적이지만, 제 개인의 의지력이 약하다는 걸 인지하고 있었기에, 학습을 체계적으로 지속하기 위한 좋은 환경을 찾아 F-Lab을 신청하게 되었습니다.
또한, 이전에 F-Lab을 수강한 백엔드 개발자 친구의 추천 덕분에, 그의 만족도가 굉장히 높다는 걸 알게 되어, iOS 멘토링 1기임에도 담대한 마음으로 참여하게 되었습니다.
하지만 고민이 많이 되었습니다. 취업 준비할 시점에도 이정도의 금액을 지불한 적이 없었기 때문이죠. 신청할 당시 저는 수습기간이었고 끝날 무렵 이 회사가 좋은 회사라는 느낌을 받았습니다. 그래서 팀의 일원으로 제 역할을 해보자하는 마음과 소비가 아닌 투자의 느낌으로 마음을 먹고 신청하였습니다. 그리고 멘토님들이 믿음이 가는 경력과 유명하신 분들이라는 것을 알게 되었고 그들의 지도를 받으면 iOS 개발 실력이 크게 발전할 것이라는 확신이 들었습니다.
짧게 느껴질 수 있는 1개월 기간 동안, 제게는 많은 것들을 배우는 시간이었습니다. 매주 특정 주제나 개념에 대해 학습하고, 멘토링 시간에는 그 내용에 대한 깊은 질의응답을 통해 보다 전문적인 지식을 습득할 수 있었습니다. 비전공자로서 Swift와 iOS의 개념만 아니라, 다양한 컴퓨터 과학 지식에도 접근할 기회가 있었습니다. 여태까지 당연하다고 생각하거나 흐려지게 지나쳐왔던 부분들을 깊게 파헤치며 진정한 학습의 의미를 느꼈습니다.
Swift 언어의 다양한 특징: Swift 언어의 독특한 특징과 개념들을 체계적으로 학습했습니다. 메서드 오버라이딩, 접근 제어자, static
과 class
의 함수 차이점, Swift의 안정성 등의 주제에 대해 통찰력을 얻을 수 있었습니다.
iOS의 기본 구성과 속성: iOS 개발의 기본적인 요소와 속성, 예를 들면 init(frame:)
, required init?(coder:)
, Auto Layout
, AutoResizingMask
, intrinsic content size
등에 대해 깊이 있게 학습하였습니다.
iOS 개발 패턴: iOS 개발의 중심이 되는 다양한 패턴들, 특히 MVC, MVVM, VIP, MVI 등에 대해 깊이 있는 이해를 할 수 있었습니다. 각 패턴의 특징, 장단점, 그리고 언제 그것들을 활용하는 것이 좋은지에 대해 체계적으로 학습하였습니다.
Xcode의 업데이트와 디버깅 기능: Xcode15의 새롭게 추가된 기능들과 최근 WWDC22에서 소개된 LLDB 디버깅 기능에 대해 상세하게 알아볼 수 있었습니다.
그 중에서 기억이 남는 부분은 Swift의 안정성입니다. 취업을 위해 면접을 준비할 당시에는 Swift는 안전한 언어입니다.라고 암기만 하고 있었는데, 멘토님께서 안전하다는게 무슨 의미일까요? 라는 질문에 망치로 머리를 치는 듯한 느낌을 받았습니다. 이때 깨달았습니다. 질문하는 법을 몰랐구나
멘토님의 전문성은 정말로 놀라울 정도였습니다. 깊은 지식과 풍부한 경험 덕분에 제가 가진 모든 질문에 대한 세심하고 꼼꼼한 답변을 받을 수 있었습니다. 피드백을 통해 훨씬 더 성장할 수 있었고, 코드의 원리와 작동 방식을 체계적으로 이해하게 되었습니다.
멘토님은 질문에 대한 답변을 바로 주시지 않습니다. 이 방식이 어떤 분들에게는 답답하실 수도 있습니다. 질문에 대해서 모르는 것이 생기면 바로 답을 주는 방식이 아닌 스스로 고민해보고 모르는 부분에 대해서는 직접 찾아보며 지식을 더해가는 과정을 거치기 때문에 시간과 노력이 소요되는 방식입니다.
저는 이 방식이 좋았습니다. 답변을 받았으면 또 "그렇구나."하며 넘어갔을텐데 이해가 되지 않는 단어와 문장들에 대해서 더 세심하게 살피고 깊이 있게 이해하는 과정에 대해서 학습하고 있는 중입니다.
최근에는 LLDB의 디버깅 기능에 큰 관심을 가지게 되었습니다. 현업에서 이를 적극 활용하기 위해 노력 중이지만, 아직 완벽하게 익히지는 못했습니다. 그러나 지속적인 노력을 통해 더 나은 개발자로 성장할 것이라 확신하고 있습니다. F-Lab에서의 학습 경험은 개념을 익히는 것이 아닌 질문하는 법과 학습하는 방법을 학습하는 과정입니다.
이 방식이 제게 큰 도움이 되었으며, 이를 기반으로 iOS 개발 분야에서 더 깊고 넓은 학습을 지속할 예정입니다.
F-Lab에서의 1개월은 정말로 값진 시간이었습니다. 1개월 전에 저의 선택이 틀리지 않았고 절대 후회되지 않는 선택입니다. 앞으로의 제가 기대되는 시간을 보내고 있습니다. 이곳에서의 교육과 멘토링을 통해 제게 큰 도움이 되었습니다. 1개월차에 감히 말씀드리자면 F-Lab이 모두에게 만족하는 과정이 될 것이라고 생각하지는 않습니다. 이미 학습하는 것에 대해서 익히셨고 커리어에 대한 고민없는 분들이라면 추천하지 않을 것 같습니다. 하지만 적어도 커리어에 대한 고민과 방향성에 대한 의구심이 있는 분들에게는 F-Lab을 추천합니다.