박재완

C++, Go 등의 언어를 주로 사용하여 MMORPG 서버를 개발합니다. 많은 시간을 코드리뷰, 생산성 향상을 위한 자동화 툴 개발, 빌드 및 배포 자동화에 사용하고 있습니다.

새로운 기술의 도입, 아키텍처, 개발환경의 변경에 주저함이 없지만, 프로젝트가 진행될수록 구성원의 생각이 일치되어 안정적이고 빠르게 개발할 수 있기를 바랍니다.


주요 기술

  • 언어: C++, Go, Python
  • 데이터베이스: MySQL, Redis, CockroachDB
  • 기타: 자동 빌드, 퍼포먼스 테스트, 성능 튜닝, 로그 및 크래시 분석

경력

서버 프로그래머 / 넷마블네오 / 2016년 5월 - 현재

모바일 MMORPG 리니지2 레볼루션을 출시했습니다. 게임서버를 포함한 백엔드를 개발했고 DAU 215만, 동시접속자 74만을 기록하는 등 시장에 큰 충격을 주었습니다.

  • MMORPG 서버 개발
    • 한국, 일본 런칭
    • 서버통합 공성전, 전서버 매칭, 동맹 전쟁 시스템 등 컨텐츠 다수 개발
  • 생산성 향상을 위한 자동화 툴 개발
    • 코드 포매터(코드리뷰 효율 개선)
    • 비주얼 스튜디오 프로젝트 정리기(브랜치 간 머징 효율 개선)
    • 실서버 데이터베이스 조회, 로그 수집 툴 개발
    • 개발서버 배포속도 개선, QA 조직에 배포수단 제공
    • 서버 시작속도 개선(FlatBuffers를 이용한 데이터 캐시)
    • 서버 성능측정용 봇 제작
  • 서비스 관리/운영을 위한 운영툴(HTTP) 개발
    • 유지보수 비용감소를 위해 Laravel 프레임워크 도입
  • 물리적으로 분산된 데이터베이스 스케일인/아웃

오픈소스 컨트리뷰터 / CockroachDB /2018년 11월 - 현재

수평확장 가능한 관계형 데이터베이스 CockroachDB에 기여중입니다. PostgreSQL, RocksDB에서 C++ 로 작성된 기능을 Go 로 포팅했습니다.

  • CockroachDB의 스토리지 엔진 관련 메모리릭을 수정하고, PostgreSQL 호환을 지원하기 위한 문법과 연산자를 추가했습니다. 전체 PR
  • Pebble(스토리지 엔진)에 SingleDelete(성능관련) API를 추가하는 등의 작업을 했습니다. 전체 PR

프로그래머 / 넥스트플로어 / 2015년 7월 - 2016년 4월

모바일 게임(엘브리사)의 클라이언트와 서버를 함께 개발했습니다.

  • 게임 클라이언트, API 서버(HTTP) 구현
  • 쿼리 분석을 통한 데이터베이스 응답속도 최적화

프로그래머 / D4Games / 2014년 4월 - 2015년 7월

모바일 게임 클라이언트를 주로 개발하고 배포 자동화 작업을 진행했습니다. 중국 현지 기업과 협업을 위해 하루에도 몇 번씩 클라이언트 공유가 필요했는데 개발 초기에 빌드 파이프라인을 구성해 불필요한 반복작업을 제거할 수 있었습니다.

  • 게임 클라이언트, API 서버(HTTP) 구현
    • UI 시스템, 튜토리얼, 장비 강화, 선물함 등 컨텐츠 다수 개발
    • 생산성 향상을 위한 Cocos2dx UI 툴 도입
    • UI 툴에서 지원하지 않는 기능(동적인 UI, 텍스트 그림자 등) 개발하여 아티스트에게 제공
    • UI 관련 성능 향상을 위해 캐시 계층 도입
    • Android, iOS 외부 SDK 통합
    • Java 기반 웹서버 API 개발
  • Jenkins를 이용해 클라이언트(Android, iOS) 배포 자동화
  • 모바일 게임 2개 출시(비행기사단 for Kakao, 来自星星的你-教授归来)

헬리콥터 조종사, 강습상륙함 레이더 관제실 팀장(대위) / 해군 / 2008년 3월 - 2013년 2월

헬리콥터 조종사로 해군에서 근무했습니다. 또 함정 레이더관제실에서 팀장(부사관 30여명 규모)으로 근무하며 리더십과 갈등관리능력 발휘했습니다.