안녕하세요! 🙇🏼 오늘은 지난 2024년 9월부터 올해 2월까지, 35기 SOPT makers로 활동했던 회고글을 작성해보려 합니다.
SOPT makers란?
SOPT는 국내 최대 규모의 대학생 연합 IT벤처 창업 동아리로써, 약 3,000여명의 구성원이 존재하고 해당 구성원들을 연결하기 위한 프로덕트를 만드는 조직인 SOPT makers가 존재합니다.
SOPT makers는 제품 단위로 팀을 나누어, 각 팀별로 협업이 진행되는 목적 조직 형태인데요. 그 중에서도 저는 iOS 챕터원으로써, 웹 기반 프로덕트(커뮤니티, 모임, 프로젝트 등) 및 네이티브 자체 기능들을 통합해 제공하는 공식 앱 담당 APP팀으로 합류하게 되었습니다.
SOPT 공식 앱 iOS 레포
SOPT APP은 활동 기수 분들의 출석이나, 즐거운 동아리 생활을 독려하는 기능(솝탬프, 콕찌르기, 솝마디 등) 등을 제공하고 있으며 매 기수별로 약 200명의 고정 사용자가 존재합니다. makers가 생겨난지 5기수가 지난 지금, APP팀 기준 2년 정도의 레거시 코드를 유지보수해야 했습니다.
스스로의 성장
솔직히 말하자면, 저는 iOS 협업 경험이 풍부한 편이 아니었습니다. 물론 계속해서 iOS로 프로젝트 개발을 진행했지만 인턴도 프로젝트도 대부분 함께 하는 사람 없이 혼자 했기에, 좋은 코드나 구조에 대한 고민도 할 필요 없이 돌아가기만 하는 앱을 개발하면 되었습니다.
그 과정에서 이슈가 발생한다면, 함께 머리를 맞대고 고민할 팀원이 없어 답답함을 느끼기도 했었고, 다른 팀원들끼리 코드 리뷰를 다는 모습 또한 부럽기도 했습니다. 그래서 makers에 들어오며 실력적인 부분에 의해 팀원들에게 누가 되기도 싫거니와, 모처럼 조직에 속하게 된 것에 설레여 좀 더 적극적으로 개발해보고 싶었습니다.
그래서 합류하기 전부터 프로젝트 코드를 반복해서 읽고, 그 과정에서 몰랐던 부분들에 대해 스스로 공부하는 시간이 많았던 것 같습니다. 처음 다루어보는 tuist, 여러 아키텍처와 패턴 등 본격적인 개발을 들어가기 전 학습을 거듭했고, 학습의 목적이 궁극적으로 프로덕트를 유지보수하는 것으로 뚜렷했기에 어렵지만 정말 즐거웠습니다.
또한 이전 프로젝트에서는 유지보수에 대한 고민을 할 필요가 없었기 때문에, 이슈를 해결하면 아카이빙을 꼼꼼히 하지 않았었는데 의식적으로 이슈들을 꼼꼼히 기록하는 습관을 들였습니다. 이후 기수에서 iOS에 합류할 분들을 위해 기억해야 할 내용들을 잘 정리하며 스스로 그 내용을 복기했고, 또 제가 작성한 코드들이 레거시가 되었을 때의 영향을 생각하며 코드를 작성할 수 있어 좋았습니다.
코드 리뷰를 다는 경험 또한 소중했습니다. 챕터원들이 작성한 코드 중 궁금한 점이 있다면 여쭤보기도 하고, 또 작성한 코드에 대해 피드백을 받으며 수정하는 것이 즐거웠습니다. 프로젝트를 유지보수하며 구조나 코드에 의문점이 생기면 PR을 많이 참고했기에, 저 또한 이후에도 다른 분들이 의미를 파악하실 수 있도록 꼼꼼히 PR을 남겼습니다.
아직은 부족한 점이 많지만, 같은 챕터원과의 협업이 왜 중요한지, 무엇을 공부하고 스스로를 어떻게 성장해나가야 할 지 35기 동안 깨달을 수 있어 매우 유의미한 시간들이었습니다.
사용자의 목소리를 듣고, 이슈를 대응해보기
SOPT는 6개월 단위의 기수제로 운영되며, 각 기수들은 매주 토요일 대면 세미나를 통해 파트별로 학습하는 시간을 갖습니다.
SOPT makers의 프로덕트들은 그 과정에서 원활한 SOPT 운영을 돕고, 활동 기수들에게 즐거움을 제공하는 역할을 하는데요. 그 중에서도 SOPT APP은 세미나에 참여했다는 인증을 하는 출석 기능과, 서로 간의 친목 도모에 도움을 주는 솝탬프 기능 등이 존재합니다.
기수가 진행되는 동안, 해당 기능들에 문제가 발생하면 빠른 대응을 통해 사용자 경험에 해가 되지 않도록 노력했던 경험 또한 소중했습니다. makers는 자체 카카오톡 채널을 통해 CS 문의를 받고 있으며, 35기 동안에도 iOS 앱에 이슈가 발생하면 직접 사용자와 소통하며 해결했습니다.
그 중에서도 일부 사용자들에게 이유를 알 수 없는 크래시가 발생해, 며칠간 이슈 대응을 위해 노력했습니다. (crashlytics 등 에러 로깅을 하는 장치가 없어, 수동으로 ips 파일을 받았습니다.) 직접 세미나에 방문해서 해당 이슈를 확인해보기도 하고, 여러 가능성을 살펴보며 원인을 찾는 과정 또한 즐거웠던 것 같습니다. 이슈 해결 과정 바로가기
또한, 첫 합류 이후 처음 배포했던 기능인 '오늘의 솝마디'를 홍보하고자 팀원들과 세미나 현장에 방문해 기능을 홍보했었는데요. 제가 배포한 기능을 실제로 사용하는 사용자들이 있다는 사실이 너무나 벅찼고, 앱에서 발생하는 이슈들도 구두로 전해들을 수 있어 유의미했습니다. makers라는 조직 특성 상 실사용자들에게 친밀히 다가갈 수 있다는 장점을 잘 경험해보았다고 생각합니다.
무엇보다 처음으로! 개발한 앱이 누군가에 의해 사용된다는 점이 정말 즐거웠습니다. (행복해서 잠도 안왔다...)
내가 속한 조직을 사랑하게 되는 경험
makers로 활동하면서 저는 제 손으로 만들어가는 프로덕트와, 같은 OKR 아래 함께 하는 팀원들 덕에 조직에 대하여 깊은 애정을 갖는 경험을 했습니다. 제가 만드는 프로덕트 뿐만 아니라 다른 팀들이 가꾸어가는 프로덕트에도 관심을 갖게 되었고, makers라는 조직이 존재하는 이유인 'SOPT' 동아리 자체에도 점차 애정이 깊어졌습니다.
그래서 makers의 또 다른 프로덕트인 SOPT Playground에서 직접 모임을 만들어, 활동 기수 분들과 가깝게 소통해보기도 하고 게시판에는 글도 달아보면서, 제 나름대로의 애정을 표해보기도 했습니다.
조직을 좋아하게 되니 점차 목소리를 낼 용기를 갖게 되었고, 처음 합류했을 때는 의사 결정 시 잘 참여하지 못했지만 기수 마무리 즈음부터는 먼저 회의를 소집하거나 의견을 제시하기도 했습니다.
저는 처음에 제 의견에 대해 확신을 갖지 못해서 쉽사리 의견을 내지 못했었기에, 제안을 문서화하고 팀원들과 논의하는 과정 또한 스스로의 발전이라고 생각했습니다. 클라 개발자로서, 또 makers의 구성원으로서 더 좋은 서비스를 만들어가기 위해 노력하고 싶은 욕심도 생겼습니다.
앞으로의 다짐
올해 저의 목표는 '함께하고 싶은 사람이 되자' 입니다.
친구 관계든, 공부든, 취업 준비든, 무엇이 되었든 함께하고 싶은 사람이 되자는 일념 아래에, 리소스를 잘 분배하여 매사 최선을 다하는 사람이 되고 싶습니다. 그 마음가짐으로 제가 좋아하는 makers에서도 또한, 다른 구성원들이 함께 하고 싶은 사람이 되고 싶습니다.
36기에는 부팀장 자리를 맡게 되었는데, 좋은 앱을 만드는 클라 개발자로서, 또 좋은 조직을 만들어가는 사람으로서 열심히 하려 합니다!
아자아자!
'Project' 카테고리의 다른 글
[iOS/Tuist 4] Firebase Crashlytics 설정 (1) | 2025.06.15 |
---|---|
[SOPT makers] Coordinator, Router 리팩토링 (2) Router, 안전하게 제거하기 (2) | 2025.05.16 |
[SOPT makers] Coordinator, Router 리팩토링 (1) 왜 화면이 움직이지 않나요? (2) | 2025.05.15 |
[SOPT makers] 솝탬프 이슈 해결하기 (2) 메모리 최적화하기 (0) | 2025.03.08 |
[SOPT makers] 솝탬프 이슈 해결하기 (1) 왜 크래시가 발생하나요? (0) | 2025.03.08 |