회고

사이드 프로젝트 회고

별볼일있는 개발자 2025. 1. 1. 23:11

프로젝트 참여이유

그 동안 사이드 프로젝트는 주로 혼자 특정 주제를 기반으로 앱을 개발하거나 특정 기술을 공부하는 방식으로 진행해왔습니다.

하지만 이번에는 다른 직군(개발자, 디자이너, PM 등)과의 협업 경험을 쌓기 위해 사이드 프로젝트 팀에 합류했습니다.

이를 통해 서로 다른 직무 간의 소통과 역할 분담을 경험하며, 팀원들과의 협력을 통해 더 나은 결과물을 만들어가는 과정을 배울 수 있었습니다.

프로젝트 소개

스터디나 사이드 프로젝트를 진행할 때, 사람들을 모집하는 과정에서 프로젝트가 끝까지 마무리 되지 못하고 중단되는 경우가 많습니다.

이러한 문제의 주요 원인은 모집 초기 단계에서 지원자에 대한 상세한 정보 없이 쉽게 시작하지만, 결국 기대와 맞지 않아 중단되는 경우가 많기 때문입니다.

이 프로젝트(플랫폼)는 이러한 문제를 해결하고자, 초기 단계부터 지원자의 상세 정보(나이, 성향, 선호 시간대, 장소 등)를 공유하여, 프로젝트와 잘 맞는 사람들과 함께 시작할 수 있도록 돕는 플랫폼입니다.

이를 통해 프로젝트의 완성도를 높이고, 중도 탈락을 줄이는 것을 목표로 합니다.

(12월31일 현재 대부분의 기능 개발은 끝난 상황)

 

프로젝트 구성원

 : 백엔드 개발자, 웹 프론트 개발자, PM, 디자이너, 안드로이드 개발자(본인)

 

사이드 프로젝트 개인적인 목표

 1) Jetpack Compose 를 활용한 UI 개발에 익숙해지는 것

 2) 다른 직군의 개발자, 디자이너, PM 등 과의 협업 경험

 

기술적으로 배운점

 - Jetpack Compose 컴포넌트의 재사용성 향상을 위한 고민

 : Compose 개발에 익숙해지면서 가장 크게 배운 점은 컴포넌트 재사용성을 고려한 UI 개발의 중요성이었습니다. 기존 XML 방식에 비해 Jetpack Compose는 개발 속도가 빠르다는 장점이 있지만, 이를 최대한 활용하려면 컴포넌트를 재활용 가능하게 구성하는 것이 핵심입니다.

UI 개발 속도를 높이기 위해, 앱 전체 디자인을 통합적으로 이해하며 컴포넌트 구조를 설계해야 했습니다. 이러한 과정에서 중복된 UI 요소를 최소화하고, 모듈화된 컴포넌트를 설계하여 유지보수와 확장성까지 고려할 수 있었습니다. 이는 프로젝트의 전반적인 생산성과 품질을 높이는 데 큰 도움이 되었습니다.

 

 - MVI 패턴을 활용한 상태관리

 : Jetpack Compose를 사용하면서 가장 고민했던 부분이 상태 관리였습니다. 상태가 여기저기 흩어져 관리되거나 중구난방으로 선언되어 있어 유지보수가 어려웠고, 코드의 직관성이 떨어졌습니다.

이 문제를 해결하기 위해 MVI 패턴을 도입했습니다. 상태를 하나의 Data Class로 관리하고, 이를 UI와 분리한 결과, 유지보수성이 향상되었습니다. 이 패턴을 통해 상태 흐름이 직관적으로 표현되었고, 코드의 가독성과 안정성도 동시에 확보할 수 있었습니다.

 

사용기술

 : Kotlin, Jetpack Compose, Retrofit, Multi Module, MVI 패턴, 협업툴(Discord, Figma)

 

느낀점

이번 사이드 프로젝트를 진행하며 Jetpack Compose에 더욱 익숙해졌고, UI 재사용성을 높여 개발 속도를 향상시키기 위한 방법효율적인 상태 관리 방식에 대해 깊이 고민할 수 있었습니다. 페이지마다 존재하는 다양한 상태들을 체계적으로 관리하기 위해 적합한 아키텍처와 패턴을 연구하며, 유지보수성과 확장성을 고려한 코드를 작성하는 역량도 향상되었습니다.

또한, 다른 직군(디자이너, PM 등)과 협업하며 각 직무에 대한 이해를 넓히는 계기가 되었습니다. 서로의 관점에서 프로젝트를 바라보며 소통하고 협력한 경험은 단순히 개발 역량뿐만 아니라, 팀워크와 커뮤니케이션 능력을 키우는 데도 큰 도움이 되었습니다.