진재명 Jaemyeong Jin

iOS 소프트웨어 엔지니어

소개

쿠팡플레이·굿닥·센디에서 iOS 앱을 개발한 Apple 플랫폼 엔지니어입니다. 대규모 OTT 서비스에서 스포츠 캘린더와 경기 상세를 새로 만들고 iPhone·iPad·Apple TV의 스포츠 화면을 개발했으며, 스타트업에서는 유일한 iOS 개발자로 앱을 설계부터 출시까지 맡았습니다. 새로운 기술을 직접 써 보며 인사이트를 얻는 것을 좋아해서, 최근에는 Rust·RAG·로컬 LLM·AI 에이전트를 개인 PoC 프로젝트로 익히며 개발 생산성을 높이는 데 적용하고 있습니다.

핵심 역량

  • 기본기: ARC 이전의 Objective-C(수동 retain/release)부터 Swift Concurrency까지 다뤘고, UIKit·SwiftUI 혼합 화면의 뷰 컨트롤러·Task 수명 관리에 익숙합니다.
  • 문제 해결: Instruments와 Xcode 디버깅 도구로 증상을 재현하고 원인을 좁혀, 메모리 누수·불필요한 화면 재구성·경쟁 상태를 수정했습니다.
  • 협업: PM·디자이너·백엔드·QA와 한 조직인 스쿼드에서 기능을 함께 개발해 출시했고, 설계한 공통 패키지는 다른 개발자의 기능에서도 쓰였습니다.
  • 테스트: 비동기 상태 로직을 SPM 패키지로 분리해 Swift Testing 단위 테스트 약 60개로 검증하고, 일부러 결함을 넣어 테스트가 실패하는지도 확인합니다.

AI 역량

  • AI 에이전트 기반 개발: 문제 정의와 리서치 뒤 스펙과 플랜으로 수정 범위와 완료 조건을 먼저 정하고, 에이전트가 이를 벗어나지 않도록 하네스를 구성합니다. 구현과 검토를 서로 다른 에이전트(Codex·Claude)에 나누어 맡겨 교차 검증하고, 전체 테스트를 직접 실행해 확인합니다.
  • AI 제품 개발: 영양 분석 PoC에서 수치는 검색한 근거 데이터의 값만 쓰는 RAG 구조로 환각을 막았고, 로컬 LLM 환경에서 모델 구조와 양자화를 익히고 양자화된 모델을 직접 서빙했습니다.

기술 스택

Swift · Objective-C · UIKit · SwiftUI · Swift Concurrency · Combine · RxSwift · Swift Testing · XCTest · SPM · Xcode Cloud · GitHub Actions · TypeScript · React Native

대표 경력

쿠팡플레이Senior iOS Developer · 스포츠 스쿼드

2023.07–2026.04

스포츠 캘린더 신규 구축, 디스커버 피드 스포츠 개편, 라이브 상태 관찰 패키지 설계, 코드 현대화

굿닥프론트엔드 개발자 · 코어 팀 iOS

2022.05–2023.07

병원 예약·접수 기능 개발, iOS 앱 메인테이너, App Store 소유권 이전

센디Lead iOS Developer

2020.08–2022.03

유일한 iOS 개발자로 앱 설계·출시, 결제 연동, Combine 이관, CI·배포 자동화

페이보리개발자

2016.12–2020.04

영상·헬스케어·일정 iOS 앱 개발, Objective-C에서 Swift로 전환

경력

쿠팡 주식회사Senior iOS Developer · 스포츠 스쿼드

2023.07–2026.04 · 쿠팡플레이 iOS·iPadOS·tvOS

쿠팡플레이는 영화·드라마와 스포츠 생중계를 제공하는 대규모 OTT 서비스입니다. 스포츠 스쿼드에서 경기 탐색부터 생중계 진입까지의 화면을 맡았습니다. 스쿼드는 PM·디자이너·백엔드·QA·프론트엔드(웹·모바일)가 한 조직으로 기능을 함께 개발하는 구조였고, 국내외 엔지니어·외부 협력사와도 협업해 일정이 정해진 기능을 출시했습니다.

신규 기능 구축

  • 스포츠 캘린더·경기 상세 신규 구축: 시청자가 날짜와 리그로 경기를 찾아 생중계까지 들어가는 화면을 새로 구축. SwiftUI 양방향 무한 스크롤 날짜 피커, 경기 목록, 리그 필터, 로딩·빈 결과·오류 상태.
  • 디스커버 피드 스포츠 개편: Diffable Data Source 기반 피드에 SwiftUI Hero·라이브 레일·Top10 섹션 추가, iPad 대응.
  • 리그 순위표·경기 라인업: 고정 열과 가로 스크롤 스탯 열을 결합한 스프레드시트형 Compositional Layout.
  • tvOS·라이브 채팅: 스포츠 패스 구독 팝업, 4K/HDR 배지, 라이브 닷 애니메이션, 신고·차단 바텀시트와 커스텀 프레젠테이션 전환.

기술적으로 깊이 파고든 문제

요청받은 작업이 아니라, 개발 중 직접 발견해 원인을 추적하고 수정한 문제입니다.

  • SwiftUI 호스팅 셀의 자식 뷰 컨트롤러 누수: UICollectionView 셀에 UIHostingController를 넣은 구조에서 셀을 재사용할 때 이전 UIHostingController가 부모 뷰 컨트롤러의 자식으로 남던 문제를, prepareForReuse에서 뷰와 자식 컨트롤러를 함께 분리해 해결.
  • 라이브 레일 깜빡임: 같은 경기의 상태가 1초 주기로 전달될 때마다 모델을 재설정해 섹션이 재구성되던 문제를, 경기 식별자가 같으면 모델을 교체하지 않고 표시 중인 셀의 내용만 갱신하도록 분리해 제거.
  • 탭 전환 경쟁 상태(race condition): 빠른 탭 전환 뒤 늦게 도착한 응답이 현재 탭의 Hero에 반영되던 문제를, 표시 시점에 현재 탭 문맥을 확인해 차단.

공통 기반과 코드 현대화

  • 라이브 상태 관찰 SPM 패키지 2종 설계: 경기의 라이브 상태 변화를 여러 화면이 관찰할 수 있게 한 패키지. actor·AsyncThrowingStream·Sendable 기반으로 설계하고 Swift Testing 단위 테스트 약 60개로 검증. 다른 개발자의 기능에서도 사용.
  • 관찰 Task 수명 관리: 화면 표시·비표시·해제 시점에 Task 시작과 취소를 연결.
  • 네트워크 계층 현대화: URLSession 요청 16종 작성, 레거시 API 이관과 async/await 적용 확대.
  • 화면 구조 현대화: 5개 영역에서 IGListKit 의존을 제거.
  • 레거시 라이브러리 SPM 마이그레이션: 저장소에 소스·바이너리로 직접 포함되어 있던 레거시 라이브러리를 SPM 패키지로 옮기는 작업을 직접 제안해 진행.
  • AI 도구 활용: 사내에서 허용된 AI 모델을 버그 원인 탐색, 요구사항 문서와 관련된 코드 탐색, 간단한 버그 수정에 활용.

주식회사 굿닥프론트엔드 개발자 · 코어 팀 iOS

2022.05–2023.07 · 병원 예약·접수 서비스 굿닥

  • 예약·접수 기능 개발: 병원 예약·모바일 접수, 예약일 캘린더, 폼, 운영 백오피스 개발. 출시 후 6개월간 약 8만 건의 예약 처리. (TypeScript·React·React Native)
  • iOS 앱 메인테이너: 네이티브 모듈·프로젝트 컨벤션 정비, App Store 배포와 장애 대응, 메인 홈 탭 전면 개편 참여.
  • App Store 앱 소유권 이전: Apple과 직접 소통하며 절차를 진행하고 사용자 영향을 사전에 점검.
  • 예약 알림 링크: 로그인·목록 로딩을 거쳐 대상 예약 상세로 진입하는 흐름 구현.

주식회사 센디Lead iOS Developer

2020.08–2022.03 · 용달·화물 운송 주문 서비스 센디, 이사 서비스 이사모아

  • 센디 iOS 앱 설계·개발·출시: 유일한 iOS 개발자로 앱을 처음부터 설계해 출시. MVVM-C 아키텍처, 네이버페이·카카오페이·나이스페이 결제 연동.
  • 결제 신뢰성: WKWebView 결제에서 외부 앱 콜백만으로 완료를 판단하지 않고 주문 상세를 재조회해 결과 화면으로 연결.
  • 디자인 시스템·모듈화: 디자이너와 협업해 색·타이포그래피·간격 토큰과 공통 UI 컴포넌트로 디자인 시스템을 구축하고, 앱을 SPM 로컬 패키지로 모듈화. 두 작업 모두 직접 제안해 진행.
  • 코드·배포 현대화: RxSwift에서 Combine으로 이관, GitHub Actions·Xcode Cloud 기반 CI와 배포 자동화, 인증 갱신 API 테스트. (XCTest)
  • 이사모아: 문서 없이 인수한 레거시 앱을 코드 분석으로 파악해 Swift 중심으로 정리하고 MVC에서 MVVM으로 전환. 주소 검색 API 교체와 iOS 15 대응.

주식회사 페이보리개발자

2016.12–2020.04 · 헬스케어·일정·영상 iOS 앱과 웹 서비스

  • Cliplog(영상 필터 앱): AVFoundation 카메라 제어·영상 기록, Core Image 필터, MVVM 설계.
  • Vivace(헬스케어 앱): HealthKit·Core Motion 걸음 수 추적, Objective-C에서 Swift로 전환. 주간 활동 리포트에서 지난주 활동량이 0이면 증감률이 계산되지 않던 경계 조건 처리.
  • AT(일정 앱): Objective-C에서 Swift로 전환(AppDelegate와 브리지 구성), Today Extension 위젯, iCloud 동기화·백업.
  • Pathfinder: Vue·Nuxt 홈페이지·관리자 시스템, Apollo GraphQL, CircleCI·AWS ECS 배포.

학력·병역·자격·수상

  • 경성대학교 컴퓨터공학과 학사2007.03–2014.02
  • 대한민국 육군 병장 만기전역2014.11–2016.08
  • 정보처리기사2012.06
  • 제5회 Bu:Star 챌린지 게임 공모전 최우수상2020.11
  • 제1회 부산 모바일 앱 공모전 최우수상 · iPhone 앱2011.01