박우찬
iOS Engineer
[email protected] +82 10-5131-9925
대출 비교 서비스에서 복잡한 금융상품 플로우, Native-Web 연동, API 전환을 설계·구현하며 모듈화·성능·안정성 개선으로 변경에 강한 iOS 앱 구조를 만들어왔습니다.
Experience
(주) 핀다
2022.08 - Present
대출 비교 플랫폼 · 금융상품 팀
금융상품 핵심 플로우 개발
- 비교대출 플로우에서 사용하던 61개 API를 차세대 API 서비스 기준으로 이관하며, 50여개 영향 화면의 신규 응답 구조, 에러 처리 로직, 테스트 케이스를 설계하고 구현했습니다.
- 주택담보대출, 사업자 대출, 국민은행 전용관 등 상품별 심사 상태와 예외 분기가 다른 핵심 대출 비교 플로우를 설계·구현하고, 긴 신청 과정에서 반복되는 심사 상태 변경과 화면 분기 흐름을 안정적으로 처리했습니다.
- 대출 한도조회 진행 화면에서 폴링 기반 상태 갱신과 실패·에러·백그라운드 전환 후 복구 흐름을 구현해 심사 진행 중 상태 불일치와 사용자 이탈 리스크를 줄였습니다.
- 금융상품 전체 플로우의 이벤트 로그 250여개를 전수 조사하여 주요 전환 지점의 누락·오류 로그를 개선하고, 대출 신청 퍼널 분석의 신뢰도를 높였습니다.
WebKit 기반 하이브리드 안정성 개선
- WKUIDelegate completionHandler 호출 누락으로 860명 사용자에게 발생하던 NSInternalInconsistencyException 크래시를 분석하고 수정했습니다.
- 인앱약정 WebView에서 컨텐츠 로딩 전 스크롤 시 화면 진행이 불가능해지는 이슈를 분석하고, WKWebView loading 상태 기반 스크롤 제어 로직을 개선했습니다.
보안 취약점 대응
- 모의해킹 결과에 따른 iOS 앱 보안 취약점 대응 과정에서 URLSession 캐시 정책과 Cache-Control no-store를 적용하고, cache.db와 cache.db-wal 직접 조회로 민감 정보가 로컬 캐시에 남지 않음을 검증했습니다.
아키텍처 설계 및 모듈화
- 120개 이상 모듈로 구성된 Tuist 기반 Multi-module 환경에서 35개 화면 모듈의 경계 정의와 Interface/Implementation 분리를 수행해 컴파일 타임 의존성 방향을 통제하고, 기능 변경의 영향 범위를 화면 단위로 좁혔습니다.
- API 호출, 상태 분기, 화면 전환 로직이 ViewController에 집중되어 있던 63개 대출 신청 화면을 ReactorKit 기반 MVI 구조로 전환하고, 비즈니스 로직을 계층 분리해 변경 영향 범위와 테스트 대상을 명확히 했습니다.
- 핀다 프로젝트 화면 모듈화 과정에서 모듈 의존성·영향도 분석과 모듈 구성 작업을 자동화해 반복 작업 리드타임을 1.4md에서 0.3md로 단축했습니다.
성능 및 안정성 개선
- Swift 컴파일 로그 분석으로 타입 검사 병목을 식별하고 코드 구조를 개선해 빌드 시간을 20% 단축했습니다.
- HTTP 세션 간 비효율적인 통신 구조를 개선해 네트워크 지연 시간을 최대 36% 감소시켰습니다.
- 메모리 누수 15건 해결, didReceiveMemoryWarning Sentry 로깅 추가, 주요 안정성 이슈 대응을 통해 iOS 앱 non-crash rate 99.9% 수준 유지에 기여했습니다.