박우찬

iOS Engineer · 5년차

핀다에서 대출 비교 서비스의 iOS 개발과 운영을 담당하고 있습니다. 앱의 구조와 성능을 꾸준히 개선하고, 운영 문제는 데이터를 기반으로 원인을 분석하여 해결하고 있습니다.

[email protected]

40개 API 차세대 대출 플로우 연동·점진 전환
63개 MVC·MVVM 화면을 MVI로 전환
약 40MB 한도조회 1회당 메모리 누수 제거
20% 클린 빌드 시간 단축

Experience

(주) 핀다

금융상품 팀 · iOS Engineer

2022.08 - Present

차세대 API 전환과 대출 비교 서비스 개발·운영

대출 비교 서비스를 개발·운영하며 주택담보대출·사업자 대출과 국민은행 전용관 등 상품·제휴 채널별 가심사 플로우를 추가·개선했습니다.

  • 40개의 차세대 API 연동과 이에 영향받는 대출 비교 플로우의 50여 개 화면을 대상으로 iOS 마이그레이션 계획을 수립하고, 구현·검증을 거쳐 운영 환경에 배포했습니다.
  • 여러 화면에 걸쳐 이어지는 대출 신청 플로우의 상태를 값 타입 Context로 관리하고, 화면 전환 정책을 Reactor의 Destination으로 열거해 상태 전달과 화면 출구를 코드에서 추적할 수 있게 했습니다.
  • 서버 DTO가 도메인·화면 계층까지 그대로 전파되던 구조를 분리하고, 앱 도메인 모델과의 변환 책임을 Repository 경계에 고정해 화면 계층의 서버 스펙 의존과 중복 매핑을 제거했습니다.

앱 구조 개선과 MMP 전환

화면 아키텍처와 외부 SDK 연동 경계를 정리해 기능 변경의 영향 범위를 줄이고 서비스 전환에 대비했습니다.

  • 120개 이상 모듈로 구성된 Tuist 기반 Multi-module 환경에서 담당 범위인 35개 화면의 모듈화를 진행했습니다. Interface/Implementation 분리로 컴파일 타임 의존성 방향을 통제했습니다.
  • 상태 관리와 이벤트 처리 방식이 화면마다 달랐던 63개 MVC·MVVM 기반 화면을 ReactorKit 기반 MVI 구조로 전환했습니다.
  • AppsFlyer에서 Airbridge로의 MMP 전환을 위해 SDK 직접 의존을 어댑터 경계로 격리하고, 현재 전체 전송 중인 이벤트 카탈로그 1,104종에서 어트리뷰션에 필요한 이벤트만 선별하는 이관 구조를 설계했습니다.

운영 안정성, 성능·생산성 개선

운영 안정성, 성능과 개발 생산성에 직접 닿는 지표를 분석하고 개선했습니다.

  • Sentry 최다 fatal 이슈였던 WatchdogTermination의 90일 이벤트 388건을 전수 분류해 95%가 오탐임을 규명하고, 오탐원을 제거해 실사용자 OOM을 기준으로 회귀를 감지할 수 있는 지표로 정상화했습니다.
  • 외부 SDK의 retain cycle 원인을 분석해 벤더사에 원인과 수정안을 문서로 전달하고 라이브러리 차원의 개선을 이끌어냈습니다. 수정된 SDK를 적용해 한도조회 1회마다 40MB가 누적되던 메모리 누수를 제거했고, Instruments로 동일 시나리오를 반복해 검증했습니다.
  • 타입 검사 병목을 찾고 코드 구조를 개선하여 클린 빌드 시간을 20% 단축했습니다.
  • Instruments 계측으로 중복 생성되던 URLSession 인스턴스 26개를 확인한 뒤 단일 공유 인스턴스로 통합해, 앱 실행 직후 57개 Task 기준 평균 요청 시간을 약 25%(529.77→395.61ms) 단축했습니다.

WebKit 기반 Native-Web 연동 경험

FE팀과 협업해 하이브리드 앱의 Native-Web 메시지 처리 기준과 화면별 Native 기능 노출 범위를 정리했습니다.

  • 공통·화면 전용 JavaScript handler의 노출 경계를 정의·문서화하고, 미사용 handler 25개를 제거해 불필요한 Native 기능 호출 경로를 줄였습니다.
  • Sentry에서 WKUIDelegate completionHandler 호출 누락으로 발생한 WebKit 크래시를 분석하고, JavaScript alert/confirm 처리에 call-once guard를 적용해 완료 콜백이 정확히 한 번 호출되도록 수정했습니다.

오누이

Product 팀 · iOS Engineer

비대면 과외 iPad 앱 설탭의 서비스 개발 및 운영 대응을 담당했습니다.

2021.12 - 2022.07