resume

이창귀 경력기술서

lcg5450@gmail.com

경력 요약

2007년부터 현재까지 C/C++ 기반 미디어 소프트웨어, 모바일 단말, iOS 서비스, 플랫폼 SDK를 개발했습니다. 초기에는 DirectShow, MFC, PMP 및 모바일 단말 소프트웨어를 개발했고, 이후 아프리카TV iOS 앱에서 방송 및 미디어 서비스의 앱 구조, 라이브 플레이어, 결제, WebView, 안정화 업무를 담당했습니다. 엔씨소프트에서는 여러 게임과 엔진에서 공통으로 사용하는 SDK의 iOS 프레임워크, 네이티브-엔진 브리지, 결제 모듈, 음성 및 채팅, CI/CD, 출시 지원을 수행했습니다.

경력의 강점은 사용자에게 직접 전달되는 앱 품질과 SDK를 사용하는 개발자의 통합 경험을 모두 이해한다는 점입니다. 대규모 iOS 서비스에서는 크래시율 개선과 UI/UX 개편을 주도했고, 플랫폼 SDK 영역에서는 모듈형 아키텍처, 공통 인터페이스, 빌드 및 배포 자동화, 샘플 앱, dSYM 추적, 엔진, Xcode, 서명 이슈 대응을 통해 SDK 운영 품질을 개선했습니다.

대표 경험

지속적으로 개선한 SDK 배포 플랫폼

SDK 배포 자동화를 일회성 작업이 아닌 게임팀과 SDK 개발자가 계속 사용하는 내부 플랫폼으로 바라보고 개선했습니다. Jenkins 내부에 분산된 빌드 스크립트를 Git으로 이관하고 네이티브 SDK, 엔진 SDK, 샘플 앱의 빌드와 배포 흐름을 연결했습니다. 배포 이력과 산출물을 추적할 수 있는 구조를 마련하고 운영 방법을 문서화해 특정 담당자에게 집중된 업무를 팀이 함께 운영할 수 있도록 확장했습니다.

그 결과 SDK 정기 배포 시간을 약 1시간에서 30분 내외로 단축했습니다. 최근에는 Claude 스킬 기반 Jenkins Job Creator를 개발해 Job 생성을 자동화했습니다. 실제 사용 과정에서 발견한 불편을 계속 해소해 왔습니다.

Unreal Engine의 Swift 미지원 환경에서 리니지2M 출시 문제 해결

리니지2M 출시 당시 Unreal Engine의 자동화 도구는 Swift를 공식 지원하지 않았고, Swift 기반 CommunitySDK를 포함한 앱을 기존 방식으로 App Store에 업로드할 수 없었습니다. Xcode와 IPA 산출물 구조를 분석한 뒤 Swift 런타임 라이브러리를 앱에 포함하고 재서명했으며, App Store 검증에 필요한 SwiftSupport 디렉터리를 구성하는 과정을 자동화했습니다. 이를 Unreal Engine의 RemoteBuild 흐름에 적용해 Swift 기반 SDK의 iOS 출시 차단 문제를 해결했습니다.

이와 별도로 게임팀에 재현을 요청하는 데 그치지 않고 리니지2M 프로젝트 소스를 직접 내려받아 로컬 빌드 환경을 구성했습니다. SDK 연동 방식과 크래시를 독립적으로 재현하고 수정 사항을 실제 게임 프로젝트에서 검증해 게임팀에 의존하지 않는 문제 해결 체계를 마련했습니다.

아프리카TV 사용자 경험과 안정성 개선

국내 아프리카TV iOS 앱을 운영하며 기능 추가뿐 아니라 사용자가 체감하는 안정성과 시청 경험을 개선하는 데 집중했습니다. 크래시를 분석하고 앱 구조를 개선해 서비스 크래시율을 약 6%에서 1% 미만으로 낮췄으며, v2.0 아키텍처 설계와 UI/UX 전면 리뉴얼을 주도했습니다.

라이브 플레이어 연동과 동영상 플레이어 개발, 팝업 및 확대 기능, 방송 필터를 적용해 시청 경험을 개선했습니다. 또한 약 70개 커스텀 URL Scheme를 공통 모듈로 통합해 여러 서비스 진입 경로를 일관되게 처리할 수 있도록 했습니다.

핵심 역량

iOS SDK 설계

멀티플랫폼 SDK 연동

빌드 및 배포 체계

iOS 서비스 및 제품 품질

실시간 미디어 및 음성

경력 개요

회사 기간 역할 핵심 경험
엔씨소프트(NCSOFT) 2018-현재 SDK 플랫폼 / iOS 개발자 SDK 설계, C API 전환, 엔진 연동, 결제, 음성 및 채팅, CI/CD, 출시 지원
Azar 2017.06-2018.06 iOS 개발자 Swift 및 RxSwift 기능 개발, WKWebView 네이티브-웹 연동, WebRTC, GPUImage
아프리카TV(현 SOOP) 2012.10-2017.06 iOS 애플리케이션 개발자 / 선임연구원 대규모 iOS 서비스, 앱 안정화, 라이브 플레이어, IAP, WebView
인스모바일 2008.11-2012.09 모바일 소프트웨어 개발자 PMP, 모바일 UI, 브라우저 포팅, Cocos2D iOS 게임
이전 경력 2007.05-2008.11 소프트웨어 개발자 멀티미디어 키오스크, DirectShow, MFC, 장비 I/O

상세 경력

엔씨소프트(NCSOFT) | SDK 플랫폼 / iOS 개발자 | 2018-현재

iOS 네이티브 프레임워크, 게임 엔진 플러그인, 음성 및 채팅 SDK, 빌드 및 배포 자동화, 출시 지원까지 플랫폼 SDK의 전체 개발 및 운영 과정을 담당했습니다. 2018년 MediaSDK 및 UI 개발로 시작해 CommunitySDK 통합과 멀티 엔진 지원을 거쳤고, 2025년에는 Purpleworks SDK의 신규 아키텍처와 주요 제품 기능을 초기 설계부터 주도했습니다. 최근에는 C++ SDK와 게임 사이의 STL 객체 메모리 소유권 문제로 발생한 런타임 크래시를 해결하기 위해 외부 인터페이스를 C API로 전환하고 게임팀 제공을 완료했습니다.

C++ SDK의 C API 전환 | 2026

주요 역할

성과

Purpleworks SDK 설계 및 제품 기능 신규 개발 | 2025

주요 역할

성과

CI/CD 및 배포 체계 고도화 | 2019-현재

주요 역할

성과

게임 엔진 연동 및 출시 문제 해결 | 2019-2025

주요 역할

성과

주요 지원 프로젝트 리니지2M, Battle Crush, Journey of Monarch, AION2, 호연, Lost Sword, PuzzleUp, LineageW, 블레이드엔소울2

음성, 채팅 및 실시간 미디어 플랫폼 | 2020-2024

주요 역할

성과

Azar | iOS 개발자 | 2017.06-2018.06

Swift와 RxSwift 기반으로 iOS 앱의 사용자 기능과 네이티브-웹 연동 기능을 개발했습니다.

주요 역할

아프리카TV(현 SOOP) | iOS 애플리케이션 개발자 / 선임연구원 | 2012.10-2017.06

국내 및 일본 아프리카TV iOS 애플리케이션을 개발하고 운영하며 앱 아키텍처, UI/UX, 라이브 플레이어 연동, 동영상 플레이어 개발, 결제, 푸시, WebView 연동과 서비스 안정화를 담당했습니다.

주요 역할

성과

인스모바일 | 모바일 소프트웨어 개발자 | 2008.11-2012.09

스마트폰과 PMP 플랫폼을 대상으로 시스템 UI, 미디어 애플리케이션, 모바일 브라우저와 iOS 게임을 개발했습니다.

주요 역할

주요 프로젝트 Samsung Yepp R2, MarvelQ, SCH-U365 Browser Porting, Jumping Race(iOS), R2 모바일 애플리케이션, 교육용 콘텐츠 애플리케이션

이전 경력 - 동영상 키오스크 개발 | 소프트웨어 개발자 | 2007.05-2008.11

멀티미디어 키오스크 시스템의 GUI와 영상 처리 기능을 구현했습니다.

기술

경력 발전 과정

C/C++ 기반 미디어 및 단말 소프트웨어 개발로 시작해 대규모 iOS 서비스의 구조와 안정화를 담당했고, 이후 멀티 엔진 SDK 연동과 배포 자동화, 음성 및 채팅 플랫폼, 신규 SDK 아키텍처 설계로 역할을 확장했습니다. 기능 개발자에서 서비스 품질을 책임지는 iOS 엔지니어를 거쳐, 여러 제품과 개발팀이 공통으로 사용하는 플랫폼의 구조와 운영 체계를 설계하는 SDK 플랫폼 엔지니어로 성장해 왔습니다.