UMC 6th 회고록 [iOS]
University MakuUs Challenge 6기를 마치며...
24년도 1학기와 함께 시작했던 저의 첫 대학교 대외활동이자 연합 동아리 활동인 UMC가 최종 발표와 함께 마무리 되었습니다. 해당 글을 통해 UMC 6기를 수료하며 느꼈던 것들과 전반적인 후기 & 회고를 해보려 합니다.
UMC ?
UMC는 University MakeUs Challenge의 약자로 대학생들을 대상으로 하는 전국 단위 IT 연합 동아리입니다.
전국단위 연합 동아리이다 보니 지역별로 지부가 존재하고, 각 지부별 속해 있는 학교에서 학기 중 약 10주 간 스터디를 진행하고, 방학동안 같은 지부에 있는 타 대학 학생들과 함께 팀을 꾸려 프로젝트를 진행하는 형태입니다. 진행한 프로젝트는 최종 데모데이에서 발표를 진행하게 됩니다. 🥳
저는 GOAT 지부에서 iOS Challenger로 참여했습니다!
면접
면접은 각 학교별로 다를 것 같습니다. 저희 학교같은 경우 기술적인 질문보다는 제가 작성했던 지원서를 위주로 질문을 해주셨습니다.
난이도 자체는 엄청 높지도 낮지도 않았습니다. 지원서에 서술한 이전에 진행했던 프로젝트에 대한 이야기를 나눈 후에, 소통이나 협업에 관련된 이야기를 많이 나누었던 것 같습니다.
10주 스터디
면접까지 합격하게 된다면! 자신이 속한 학교에서 같은 파트 학생들끼리 모여 약 10주간 스터디를 진행합니다. 저는 iOS Challenger로 참여했기에, 비교적 찾기 힘든 저와 같은 학교의 iOS 개발자들을 만나볼 수 있는 자리여서 좋았던 것 같습니다.
스터디 내용은 학교별로 상이한 것으로 알고 있습니다. 저희 학교의 워크북의 경우에는 UiKit과 SwiftUi 모두 다뤘으며, 배달의민족 클론코딩을 중심으로 진행되었습니다. 내용 자체는 풍부했으나 워크북이 초보자들에게 그리 친절하지만은 않았던 것 같습니다. 😂
팀 빌딩
팀 빌딩은 개발자들이 스터디를 진행할 때에 Plan 파트분 들이 미리 구상해서 정리해둔 기능명세와 간단한 화면 구조도를 보며 진행됩니다. Plan 파트와 Design 파트도 마찬가지로 Server, iOS, Android 파트분들의 포트폴리오를 보며 서로 연락해 매칭하는 형태였습니다.
iOS Challenger들의 수가 많지 않아서 아이디어를 고르는 데에 조금 제약이 있긴 했지만, 다행히 여러 타 대학생 분들이 저에게 먼저 함께하자는 연락을 주셔서 팀 빌딩을 수월하게 진행할 수 있었습니다!
TEAM Haruchi (하루치)
그리하여 결성된 팀은 바로 TEAM HARUCHI! 저희 팀의 아이디어는 간단히 월 예산을 기반으로 일일 지출 한도를 설정하여 건전한 소비 습관을 도와주는 예산 관리 앱 서비스입니다. 구성원은 PM 1명, Design 1명 Server(Spring) 4명, iOS 4명으로 총 10명으로 구성되었고, 팀 빌딩 이후에 주기적으로 전체 정기 회의와 파트별 회의를 진행하며 프로젝트를 진행했습니다.
Haruchi에서의 나
저는 팀에서 iOS 파트장을 맡게 되어 다른 파트와의 소통과, 팀 내의 개발 문화와 협업 규칙을 정하는 데에 많은 노력을 했던 것 같습니다.
팀 전체적인 소통은 Discord 서버를 통해 진행했고, 개발팀은 Github Organization을 생성해 Server, iOS 각 파트별 repo를 생성해 진행했습니다. 개발 진행상황은 Github Project를 통해 관리해 파트별로 확인이 편하게 세팅하였습니다.
iOS만 4명에서 진행하는 프로젝트이다 보니 협업에 규칙이 꼭 필요했었고, PR Template를 생성하고, Commit Convention을 프로젝트 시작 전 미리 세팅해 두었습니다. 이를 통해 코드 리뷰 과정에서도 일관성과 효율성을 유지할 수 있어 기능별로 작업하는 데에 큰 도움이 되었던 것 같습니다. 이 모든 것들은 repository 의 Wiki에 정리하여 모든 팀원이 쉽게 열람 & 수정할 수 있도록 하였습니다.
기술스택은 화면 구조상 더 적합하다고 판단한 SwiftUi
를 사용했고, 아키텍처는 러닝커브가 높지 않은 간단한 형태의 MVVM
아키텍처로 진행했습니다.
동시성은 Swift Concurrency
와 Combine
을 사용했으며, 네트워킹은 Moya
, CombineMoya
를 사용했습니다.
기술적으로 도전적인 프로젝트는 아니었지만, 이번 경험을 통해 협업과 커뮤니케이션 측면에서 많은 것을 얻어갈 수 있었습니다. 프로젝트를 진행하면서 느낀 점은 기술적 완성도만큼이나 효율적인 팀워크가 얼마나 중요한지였습니다. 특히, 팀원들과의 원활한 소통을 위해 Discord와 GitHub Projects를 활용하여 실시간으로 진행 상황을 공유하고, 각 파트별로 업무가 명확히 나눠질 수 있도록 구조화한 것이 프로젝트 진행에 큰 도움이 되었던 것 같습니다.
Demo Day
약 1달이 조금 넘는 기간동안 개발에 몰두하였고, 6TH UMC Demo Day에 참여했습니다. 부스를 운영하기에 필요한 배너, 이벤트와 상품, 시연을 위한 기기 등 필요한 것들을 팀원들과 열심히 준비했습니다. PM님과 디자이너님이 특히 많이 신경써주셨습니다! 😎
많은 분들에게 저희가 만든 앱을 시연하며 설명하고, 다른 팀들의 결과물들도 체험해보고 뜻 깊은 시간이었습니다. 능력 넘치는 팀원분들 덕분에 부스 운영도 수월하게 진행됐던 것 같습니다!
모두 각자의 위치에서 책임감있게 임한 덕분에 최우수상도 수상하게 되었습니다!
개발 팀에서의 목표는 두 가지가 있었는데 이 목표를 완벽히 이루었던 것이 완성도 측면에서 큰 도움이 되지 않았나 생각합니다. ☺️
- 더미 데이터는 사용하지 말자. (BackEnd 연결 100%)
- 시연할 때에 crash는 나지 않도록 하자.
마무리하며
대학 생활을 하며 참여한 첫 대외활동이 이렇게 좋은 결과로 마무리 되어 정말 뿌듯했습니다. 프로젝트 중간 중간에 어려운 일들도 많았지만 팀원 모두가 책임감을 가지고 각자의 역할에 최선을 다했기 때문에 이러한 성과를 이룰 수 있었다고 생각됩니다. 파트장과 같은 리더의 자리는 처음 맡게 되어 걱정되는 부분도 많았는데 잘 마무리 되어서 다행인 것 같습니다! 🥹
틀린 부분이나 궁금한 점 있다면 댓글 남겨주시면 감사하겠습니다. 긴 글 읽어주셔서 감사합니다.