오늘은 제가 F-Lab iOS 코스를 마무리하면서 회고를 해보려고 합니다.
신청하게 된 이유
먼저 저는 이전에 테킷 앱스쿨이라는 부트캠프를 수료한 상태였습니다. 하지만 앱스쿨에서는 노베이스인 분들도 많고, 그분들과 같은 수업을 들으며 심화된 내용을 배우는 데 한계가 있었습니다. 또한 SwiftUI 중심으로 학습했기 때문에 UIKit을 좀 더 집중적으로 배우기 위해 멘토링을 신청했습니다.
시작하게 된 계기
멘토링을 시작하게 된 가장 큰 이유는 기존의 Swift 프로젝트들이 아쉬움이 많았기 때문입니다. 혼자서 개발한 프로젝트들은 코드가 뒤죽박죽이고, 내가 작성한 코드조차 이해하기 어려웠습니다. 그래서 멘토링을 통해 이러한 문제를 해결하고 싶었습니다.
멘토링을 진행 하면서
멘토링을 시작하면서 기존 프로젝트를 리팩터링 하기 시작했습니다. 이를 통해 어떤 코드를 작성했는지 명확히 알 수 있었고, 객체지향 프로그래밍을 공부하면서 각 객체의 캡슐화와 추상화를 시도해 보았습니다. 또한 Swift Style을 정의하여 깔끔한 코드를 작성하려고 노력했습니다.
멘토링 중에는 클린 아키텍처에 대해 공부하고 프로젝트에 직접 적용해 보는 경험을 했습니다. 프로젝트를 시작하기 전에 테크 스펙을 작성하여 기술 우선순위, UI 디자인, 비즈니스 로직, 네트워킹 등을 미리 정의해 보았습니다.
프로젝트 진행 중 PR을 올리면 코드 리뷰를 받았고, 궁금한 점은 Slack으로 질문하여 빠른 답변을 받을 수 있었습니다. F-Lab의 GitHub 레포지토리를 분석해 보니, 코멘트 개수가 압도적으로 높았습니다. 이는 멘토님이 코드를 꼼꼼히 봐주셨다는 의미도 되지만, 동시에 저의 코드가 아직 많이 부족하다는 것을 느끼게 해 주었습니다.
제가 받은 PR 개수와 코드 리뷰 코멘트 개수입니다.

앞도적으로 많은 코멘트를 보고 아직 코드를 작성하는데 많은 것을 놓치고 있다는 것을 알 수 있었으며, 그만큼 멘토님이 꼼꼼하게 봐주셔서 정말 감사했습니다.
장점과 단점
멘토링의 가장 큰 장점은 꼼꼼한 코드 리뷰와 빠른 피드백이었습니다. 특히 저의 성격이 꼼꼼하지 못하다 보니, 반복적으로 같은 지적을 받을 때마다 필수 체크리스트를 만들어 코멘트를 올리려고 노력했습니다.
또한, 처음으로 테스트 코드를 작성해 보았는데, 멘토님이 기본 틀을 잘 잡아주셔서 나머지 테스트 코드도 잘 작성할 수 있었습니다. 이 경험을 통해 테스트 코드의 중요성을 깨닫게 되었습니다.
하지만 멘토링의 단점이라면, 먼저 비용입니다. 비용이 절대로 저렴하지 않기 때문에 잘 단점으로 뽑았습니다.
두번째로는 스스로 하는 만큼 얻어가기 때문에 자기가 얼마나 시간을 할애 할 수 있는지 잘 파악후 신청하시는것을 추천 드립니다.
전체적인 나의 생각
멘토링은 전반적으로 만족스러웠습니다. 하지만 코드 작성이 꼼꼼하지 못해 같은 코드 리뷰를 반복적으로 받으면서 고착화 상태에 들어갔다고 생각합니다. 앞으로는 이 부분을 개선하여 더 성장하는 개발자가 되고 싶습니다. 이번 멘토링을 통해 얻은 지식과 경험을 바탕으로 더 나은 iOS 개발자가 되기 위해 계속해서 노력할 것입니다.
'Swift' 카테고리의 다른 글
클린아키텍처 적용해보기 in iOS - 2 (0) | 2024.08.27 |
---|---|
Swift - Closures (0) | 2024.08.18 |
MVC패턴과 MVVM 패턴에 대한 나의 생각 (0) | 2024.07.31 |
클린아키텍처 적용해보기 in iOS (0) | 2024.06.30 |
내가 생각하는 Clean Architecture - in iOS (1) | 2024.06.19 |