Experience
Ahnlab Blockchain Company — Android Owner (Wallet Core)2023.01–Present
역할·Android Engineer (Owner)
범위·Wallet/Signing · 아키텍처 · 성능/품질
팀·Android 3 / 전체 8
서비스·멀티체인 Web3 Wallet 서비스
기여·아키텍처 개편 오너 · 성능/품질 지표 운영 · 서명 파이프라인/상태 모델 설계
- 품질 모니터링: Crash/ANR/Startup/Frame 지표 기반으로 문제를 탐지하고, 재현·수정·회귀 방지까지 릴리즈 단위로 운영.
- Web‑App 연동 설계: WebView + JS Bridge 기반 인증/약관/외부 서비스 연동 화면을 구현하고, 딥링크로 앱 내부 트랜잭션/지갑 화면에 안전하게 라우팅. 세션 만료·에러 콜백·앱 복귀 시 발생하던 상태 불일치를 줄이기 위해 모바일/서버 간 동기화 전략을 정리해 Web‑App 경계 이슈를 안정화.
- 멀티모듈 아키텍처 개편 오너십: 기능 간 의존성이 커지며 변경 영향 범위와 릴리즈 리스크가 증가하는 문제를 해결하기 위해 모듈 경계/의존성 규칙을 재정립하고, 마이그레이션 계획 및 릴리즈 가드(기능 플래그/단계적 배포)를 운영 → 신규 기능 추가 속도와 릴리즈 안정성 개선.
- 성능/품질 지표 운영: 사용자 체감 이슈(“트랜잭션 거래내역 스크롤이 끊긴다”)를 계기로 JankStats/Trace로 계측하고, 리컴포지션 원인(상태 범위/불필요한 recomposition)과 렌더링 병목을 제거 → UI 성능 +30% (Jank frame 감소 기준), 리컴포지션 30% 감소(40→30). 동시에 릴리즈마다 메모리/크래시 지표를 추적해 메모리 −20%, 크래시 −20%, cold-start 40% 단축을 달성해 핵심 거래 흐름에서의 이탈 가능성과 운영 리스크를 함께 낮춤.
- 서명 파이프라인 설계: MPC + Android KeyStore + 생체인증 조합으로 키 관리/서명 정책을 설계하고, 클라이언트에서는 서명 연산만 수행하도록 역할을 제한. 인증/서명/전송 단계의 실패·재시도 시나리오를 UX 가드레일로 반영해 보안성과 흐름 일관성을 함께 개선하고, 사용자 신뢰가 중요한 거래 승인 경험을 안정화.
- 품질 체계화: 테스트 커버리지 80% 달성 및 CI/CD 자동화로 릴리즈 품질 유지, 버그 −60%(이슈 트래킹 기준) 개선. 이를 통해 장애 대응 비용과 릴리즈 불확실성을 낮추고 팀의 개발 생산성을 높임.
스코프
지갑 코어/서명/온보딩/네트워크 레이어/성능 계측
역할
Android 오너(설계+구현) · 상태/흐름 설계 · 릴리즈 리스크 관리(플래그/단계 배포)
대표 성과
cold-start −40%
UI +30%
Crash −20%
Bug −60%
측정 기준
Firebase Performance(Startup/Trace) · Crashlytics(crash-free users) · JankStats(frame time/jank 감소율)
전/후
cold-start −40% · UI 성능 +30% · 메모리 −20% · 크래시 −20% · 버그 −60%
(릴리즈 전후 동일 기준으로 추적)
Appknot2018.12–2023.01
역할·Android Engineer
범위·모듈화/MVVM · 미디어 기능 · 네트워크 최적화
주요 기여·MVVM 도입 주도 · 공통 모듈 구축
역할/범위
신규 기능 개발 · 미디어/네트워크 최적화 · 모듈화/MVVM 도입 주도
- MVVM 도입·모듈화를 주도하여 다수 앱의 유지보수성 향상.
- 실시간 미디어 기능(ExoPlayer, PDF 뷰어) 출시 및 Rx/Flow로 네트워크 흐름 최적화.
- 공통 유틸/확장을 정비하여 중복 코드·리뷰 오버헤드 절감.
Earlier Experience2016.06–2018.11
역할·Android Engineer
범위·소비자 앱 개발 · 실시간 스트리밍/미디어 파이프라인 프로토타이핑
- Earlier Experience: Wonderple/틸트코드 등 소비자 앱 개발·유지보수와 저지연 스트리밍/미디어 파이프라인 실험을 통해 Android UI·네트워크·앱 구조 실무 경험 축적.
Selected Projects
Klip (가상자산 관리 앱)2025.05–2025.08
역할·Android Engineer
기여·공통 모듈 재사용 주도 · 멀티체인 확장 · 릴리즈 가드(플래그/단계 배포)
서비스 규모·MAU 30K · DAU 3K · 다운로드 2M+
개발 리드타임·6주 → 2주 (−67%)
- 멀티체인 자산(BTC/Tron/Solana/EVM) 지원을 확장, 기존 UX를 유지하며 기능 추가.
- ABC Wallet 모듈 ~70% 재사용을 주도, 개발 리드타임을 6주 → 2주로 단축해 기능 출시 속도와 제품 확장 대응력을 높임.
- 백그라운드 서비스·기능 플래그를 도입, 점진 배포로 릴리즈 리스크를 최소화해 멀티체인 확장 과정의 운영 안정성을 높임.
Stack: Kotlin, Clean Arch, MVVM, Hilt, Coroutine/Flow, Retrofit, Room
ABC Wallet2024.03–2025.05
역할·Android Engineer (Owner)
기여·Signing/Tx UX · 상태/흐름 설계 · Compose 전환 · 성능/품질 계측
성과·첫 거래 3분 → 1분, DAU +26%, cold-start 40%↓
- 멀티체인 아키텍처(Repository/UseCase) 통합 및 전면 Compose UI 구축.
- 문제 → 해결: 과도한 거래 옵션 선택과 최종 상태 반영 지연으로 첫 거래 진입과 결과 확인이 느리게 느껴지는 문제를 줄이기 위해 기본값·가드레일·보조 상태를 함께 설계
- 거래 옵션 단순화: 불필요한 선택 단계를 줄이고, 사용자 맥락에 맞는 기본값과 가이드를 제공
- 기본값 설계: 자주 사용하는 옵션이 먼저 선택되도록 구성해 첫 진입 복잡도 완화
- 수수료 옵션 단순화: 옵션 선택을 줄이고 즉시성 피드백을 강화해 전송 대기 부담 완화
- 승인 단계 단순화: 생체인증 연동으로 승인 단계를 간결하게 만들고 실패율을 낮춤
→ 첫 거래 3분 → 1분; DAU +26% (2.7k → 3.4k).
- 트레이스 기반 프로파일링으로 리컴포지션 30% 감소(40→30), 렌더링 성능 +30%, cold-start 40% 단축.
- 사전 계측으로 크래시율 −20% (1.9% → 1.5%)를 달성해 핵심 사용자 흐름의 중단 가능성을 줄임.
- 상태 신뢰성 개선: 최종 상태 확정이 지연되는 구간에서 사용자에게 먼저 진행 상태를 보여주기 위해 앱 서버 캐시와 모바일 보조 상태를 활용하고, 이후 서버와 최종 동기화하는 흐름을 설계해 결과 확인 지연으로 인한 이탈과 불안감을 줄임.
- 타팀 협업: 모바일/서버 간 상태 정의와 동기화 시점을 맞추기 위해 적극적으로 커뮤니케이션하며, 지연·불일치 상황에서도 사용자 경험이 깨지지 않도록 공통 기준을 정리해 서비스 신뢰도와 운영 효율을 함께 개선.
Stack: Kotlin, Compose, Coroutine, Room, Proto DS, Hilt, Retrofit, KeyStore, Biometric, JUnit/Espresso, Actions
JinModule2019.08–2022.08
역할·개발/유지 오너
성과·부트스트랩 80% 단축 (신규 프로젝트 기준)
적용처·내부 공통 모듈로 다수 프로젝트에 재사용
- 재사용 가능한 네트워킹·미디어 유틸을 구축, 신규 프로젝트 부트스트랩 80% 단축.
- Retrofit/ExoPlayer 컴포넌트 표준화로 코드 리뷰 효율 향상.
이코오롱 멤버십2020.11–2021.03
역할·Android Engineer
문제·리스트/페이징 체감 지연·ANR
성과·체감 로딩 2.3s → 1.3s (−43%), ANR 0.5% → 0.3%
- 커스텀 페이징·무한 스크롤을 최적화, 스크롤 끊김 해소 및 대량 데이터 로딩 시간 단축.
- GPS 매장 찾기와 배치 로딩을 도입, 대규모 사용자 환경에서 UX 안정화.
Stack: Kotlin, Coroutine, Room, Koin, LiveData/DataBinding, Retrofit/OkHttp, Moshi