미리보기
기본 정보
현재 산업기능요원으로 재직 중인 4년 차 안드로이드 개발자입니다. 안드로이드 특유의 빠르게 변화하는 개발 기술, 개발 환경을 따라가는 문화를 만들고자 노력합니다. 개발 속도를 높이기 위해 코드 확장성과 아키텍처에 대해 논의하는 것을 좋아합니다. 나쁜 사용자 경험을 개선하기 위해 사용자 데이터 기반의 커뮤니케이션을 하려고 합니다.
기술 스택
Kotlin, Android, Jetpack, MVVM
경력
(주)핀다
Android Engineer | 금융상품PG | 재직 중
2020.12. ~ 재직 중 (4년 3개월)
- 대출비교 서비스 안드로이드 앱 개발
국내 최대 금융사 70개와 대출 상품 300여개를 비교하여 사용자에게 원하는 대출을 제공하는 안드로이드 앱을 개발했습니다. - 대출 갈아타기 서비스 개발
사용자가 현재 보유 중인 대출을 더 나은 조건의 대출로 전환할 수 있는 대출 갈아타기 서비스를 개발, 시연, 배포, 및 유지보수하고 있습니다. - 다양한 대출 상품의 플로우 개발 및 유지보수
오토론(자동차 구입자금 대출), 주택담보대출, 전세자금대출 등 다양한 대출 상품의 플로우를 개발하고 유지보수하고 있습니다.
- 기술 스택
Language: Kotlin
아키텍처 패턴: MVVM -> MVI(Mavericks) -> MVI
UI 개발: XML -> Jetpack Compose
DI : Koin
etc: AAC, Kotlin Coroutine, Flow, Retrofit2
프로젝트
핀다 대출비교 서비스 자체 MVI 패턴 적용
(주)핀다
2023.09. ~ 진행 중
- 핀다 안드로이드 프로젝트에서 MVI를 구현하기 위해 서드 파티 라이브러리인 매버릭스를 사용했습니다.
- 그러나 매버릭스 3.0 업데이트는 핀다 구성원이 원하는 방향의 업데이트가 아니었고, ViewModelFactory와 같은 보일러플레이드 코드가 늘어나는 문제와, 비동기 state 처리 등으로 인해 실제 프로덕트에 크리티컬한 이슈가 발생하면서, 매버릭스를 제거하자는 의견이 나왔습니다.
- 위와 같은 문제들을 해결하기 위해서 핀다 안드로이드 프로젝트에 특화된 MVI 라이브러리를 제작했으며, 구성원이 맡고 있는 파트에서 매버릭스를 제거하고 신규 MVI 패턴을 도입하는 중입니다.
핀다 대환대출 서비스 개발
(주)핀다
2023.01. ~ 진행 중
- 보유 중인 대출보다 더 좋은 조건의 대출로 갈아탈 수 있는 대출 갈아타기 서비스 신규 개발의 안드로이드 개발자로 참여했습니다.
- 유저가 보유 중인 대출 데이터를 가져오기 위해 기존 플로우에 마이데이터 연동 로직을 추가로 개발했습니다.
- 금융위원회 사전점검 간담회에서 사용될 데모 앱을 개발하여 대환대출 서비스의 기능을 시연했습니다.
- 팀 내 기획자 및 다른 개발자와 함께 기능 QA를 진행해 프로덕트의 안정성을 높혔습니다.
핀다 대출비교 서비스 Compose 및 Mavericks 적용
(주)핀다
2022.06. ~ 2023.03.
XML로 작성된 UI 코드를 Jetpack Compose를 이용해 선언형 UI로 리팩토링했습니다.
MVVM 패턴의 한계를 느끼고, MVI 패턴을 적용하기로 결정했습니다.
MVI 패턴을 제공하는 라이브러리인 매버릭스, Orbit 또는 직접 커스텀해서 사용하기 등 여러 가지 선택지 중 매버릭스를 적용했습니다.
또한 Compose에서 BottomSheet를 구현하는 여러 방식을 검토했고, holix에서 제작한 바텀시트 라이브러리도 사용해보는 등 여러 시행 착오를 겪었습니다.
그 이후 팀 내에서 가장 좋은 방식이라고 판단한 ModalBottomSheetLayout를 적용했습니다.
핀다 오토론 서비스 개발
(주)핀다
2022.01. ~ 2022.03.
- 차량 구매 대출인 오토론 서비스의 안드로이드 개발 및 배포, 유지보수를 담당했습니다.
- 기존 백엔드 구조와는 다른 방식으로 구현되어 데이터 Wrapping 등을 새롭게 개발해야 하는 상황이 발생했습니다.
- 파편화된 로직이 발생한 부분을 백엔드 개발자와 논의하고, 효율적인 구현 방법을 찾아 추가 개발을 통해 개선하였습니다.
핀다 ViewModel 테스트 코드 작성
(주)핀다
2020.11. ~ 2021.12.
- 2020년 하반기 새롭게 MVVM 패턴으로 리팩토링 된 핀다 안드로이드 프로젝트의 ViewModel에 대한 Unit Test 코드를 작성했습니다.
- Kotest FreeSpec과 Mockito, mockk를 이용해 작성했고, Sonarqube 기준 최대 테스트 커버리지 60%를 달성했습니다.
- 당시 팀 내 인원 부족과 지속적인 회사의 성장으로 추가되는 피처를 감당하지 못했고, 팀 내 논의 결과 커버리지를 올리기만 하는 테스트 코드의 회의감을 느꼈습니다. 이후 새로운 아키텍처 패턴으로 리팩토링하는 과정에서 해당 테스트 코드를 제거했습니다.
핀다 대출비교 서비스 개발
(주)핀다
2020.10. ~ 진행 중
- 핀다의 메인 서비스인 70여개 금융사, 300여개 대출 상품을 한 번에 비교할 수 있는 대출비교 서비스의 안드로이드 플로우를 개발 및 유지보수했습니다.
- 새로운 금융사나 기존 금융사의 요청사항에 대응해 변경 사항 또는 신규 기능을 개발했습니다.
- 대출 신청 프로세스에 필요한 유저 정보 입력 로직, 한도 조회 로직, 상품 상세 화면, 대출 진행 상태 등 다양한 안드로이드 화면을 개발했습니다.
- 쿠콘 모듈을 사용해 공동인증서, 간편인증서 로그인 로직과 건강보험공단 자료 스크래핑 로직을 개발했습니다.
핀다 대출 계산기 개선
(주)핀다
2020.09. ~ 2020.10.
- 핀다 내에서 승인된 대출 상품 조건 기준으로 월 이자, 총 이자, 상환 금액을 반환해주는 계산기 로직
- 계산 로직을 사용하는 곳에서 각기 다르게 개발된 계산 로직들을 제거하고, 기존에 복잡한 계산식보다 더 효율적인 계산식으로 변경했습니다.
- 분산된 계산 로직을 하나의 유틸로 합쳐, 계산 로직을 필요로 하는 화면에서 편하게 사용할 수 있도록 유틸로 제작했습니다.
- 안드로이드 환경 이외에서도 계산 로직의 구현 필요성을 느껴, 타 팀이 계산기 로직을 쉽게 이해할 수 있도록 문서화를 진행했습니다.
왁툰 (Waktoon)
팀 왁툰 (Waktoon)
2023.06. ~ 2024.04.
왁툰(Waktoon)은 아프리카TV BJ 우왁굳이 운영하는 팬 카페인 왁물원에서 유저들이 게시하는 웹툰들을 모바일에서 편리하게 시청할 수 있는 모바일 서비스입니다.
- 안드로이드 앱 개발을 담당했으며, Kotlin과 MVVM 패턴으로 앱을 개발했습니다.
- 앱 테스터를 모집해 정식 릴리즈 이전에 알파 및 베타 테스트를 진행했습니다
- 릴리즈 이후 추가 기능 배포 이전에 테스터와 함께 QA를 진행했습니다.
- Kotlin과 MVVM 패턴으로 앱을 개발했고, 합류 시점에 문제가 있던 아키텍처 패턴 구조를 개선했습니다.
- Glide를 활용하여 효율적인 웹툰 이미지 로딩을 구현했습니다.
- Paging3를 사용하여 랭킹 및 검색 화면을 개발했습니다.
- Room을 활용하여 최근 시청한 웹툰과 관심 있는 작가 등을 편리하게 확인할 수 있도록 구현했습니다.
- Firebase Analytics 및 Crashlytics를 통해 사용자 반응을 확인하고 앱의 안정성을 높였습니다.
- Play Store에 출시 이후, 웹툰 카테고리에서 최대 순위 3위, 다운로드 수 1.5만 명을 달성했습니다.
- 현재는 프로젝트 팀 내부의 이슈로 운영을 중단했으며, 보안 이슈로 인해 코드를 공개할 수 없습니다.
교육
대덕소프트웨어마이스터고등학교
고등학교 | 소프트웨어학과
2018.03. ~ 2021.02. | 졸업