👋 자기소개
기본정보&연락처
안녕하세요! 안드로이드 개발자 주성현입니다.
저는 두번의 부트캠프와 인턴 경험, 그리고 지속적인 사이드 프로젝트를 통해 실무 감각과 기술적 역량을 꾸준히 쌓아왔습니다.
특히, 유지보수성과 구조적 안정성을 중요하게 생각하며, Now In Android, DroidKnights 등 공신력 있는 프로젝트를 분석하고 적용해 더 나은 아키텍처로 설계하려 노력해 왔습니다.
최근에는 동료가 읽기 편한 코드를 작성하는 것을 목표로 가독성과 효율성을 끊임없이 고민하고 있습니다. 이러한 고민과 경험을 바탕으로, 안정적이고 완성도 높은 서비스를 만들어 나가겠습니다.
🏋️♂️ 프로젝트 경험
Pool
팀 프로젝트
- 08 ~ ing
콘텐츠 기반 소셜 커머스 플랫폼 앱 개발 중
Jetpack Compose 기반 앱 개발
- 협업 효율 증진을 위해 단일 모듈에서 멀티 모듈로 리팩터링 - 포스팅
- Media3 기반의 ExoPlayer를 이용하여 동영상을 재생하고, 길이를 조절할 수 있도록 개발
- 동영상을 프레임 단위 타임라인 UI를 구성하는 과정에서,영상 썸네일(프레임) 이미지 로딩으로 인한UI 버벅거림 및 ANR 문제를 해결하기위해
Dispatchers.Default로 문제 개선
- OpenAPI Generator를 활용하여 API 명세 기반 DTO 및 Service Interface 자동 생성 - 포스팅
- Generator 특성상 data 모듈 내부가 멀티모듈 구조일 경우, 각 서브 모듈별로 DTO를 분리하여 생성하는 설정을 지원하지 않아, 별도 생성 전용 프로젝트에서 코드를 자동 생성한 뒤 본 프로젝트에 수동 반영하는 방식으로 병행
- 서버 리소스 절감을 위해 이미지, 동영상 업로드시 PresignedURL 기반 구조 설계
- 클라이언트가 S3에 직접 업로드 하도록 설계하여 서버의 부하를 크게 줄이고 미디어 업로드 전송 속도 향상
- 이미지를 Webp로 압축하고 화질 및 해상도를 조절하며 이미지 리사이징을 통해 서버 리소스 절감
- 팀 내 수동 공지 부담 감소를 위해 PR 및 Merge 이벤트를 GitHub Webhook을 이용해 Discord로 이벤트 자동 알림 설정
- Branch 전략 및 Git Convention, PR 프로세스 등 전반적인 협업 관련 개발 방식 수립
구독매니저
개인 프로젝트
- 01 ~ ing
[Github Link]
[PlayStore Link]
서비스 구독 관리 및 알림 설정 앱 개발
Jetpack Compose 기반 앱 개발
- 수익화를 위해 Admob 연동
- 멀티 모듈 및 단방향 데이터 흐름을 위해 NowInAndroid, Droidknights등 공신력 있는 프로젝트의 내부 구조를 참고하여 확장성을 고려한 구조 설계
- 멀티 모듈 아키텍처 프로젝트를 관리하기 쉽도록 build-logic 을 설계하고 한 곳에서 gradle 설정을 관리
- Main 모듈에서 화면이 있는 Composable Feature 모듈의 NavGraph를 관리하여 손 쉽게 설정할 수 있도록 설계
- 기기 상태(Doze 모드 등)에 영향을 받지 않는 안정적인 알림 발송을 위해 WorkManager를 사용하여 Notification 작업 최적화
- Firebase Analytics로 사용자 로그를 수집하고, Crashlytics로 ANR등 비정상 종료와 같은 에러 모니터링
- Remote Config를 활용하여 사용자에게 최신 버전 업데이트를 유도할 수 있는 기능 구현
- 재사용 가능한 UI 컴포넌트와 테마를 정의한 DesignSystem 모듈을 별도로 구축하여 UI 일관성 유지
따라오개
팀 프로젝트
- 05 ~ 2024. 07
[Github Link]
네이버 지도를 이용한 반려견 산책 트래킹 앱
XML viewBinding 기반 앱 개발
- Endless Scroll 구현시 Firestore비용을 최소화 하기위해 query 호출 빈도 개선 - 포스팅
- Firestore 일일 사용량 중 읽기 9300회 → 3600회로 약 61.3% 감소
- PolyLine과 날씨 정보를 위해 NaverMap, OpenWeatherAPI 활용 적용 경험
- 각 View의 특성에 맞춰 enableEdgeToEdge를 활용해 Window Inset을 조정하여 적용 경험
- 데이터 시각화를위해 Java문서의 MPAndroidChart를 Kotlin으로 전환적용
💪 그 외 경험 및 교육