채용공고 올리기

홍성욱님을 응원해보세요!

좋은 제안에 열려있어요

미리보기

기본 정보

이름
홍성욱
직업
Senior Developer (Unity, Flutter, Node.js, Java, React, K8S)
간단소개

Unity, Flutter, Web (React, Angular), Backend(Spring-Boot, node.js) 개발을 해왔고 최근에는 Kubernetes 를 이용한 프로젝트를 진행하는 등 다양한 영역에서 커리어를 쌓아온 13년 차 소프트웨어 엔지니어 홍성욱입니다.

기술 스택

기술 스택

경력

회사명

윤커뮤니케이션즈

직책 • 부서

책임연구원 • 기술연구소

담당 업무

'홍익인간 CMS' SaaS 구축 프로젝트

Yooncoms 사 의 홍익인간 CMS 서비스를 기존 Monolithic 에서 MSA 구조로 변경하는 프로젝트에 참여하였습니다.

  • BE : Spring / FE: JSP / DB : Cubrid, MySQL
  • ncloud 기반의 Kubernetes Cluster 구축 (NKS)
  • ncloud의 Git CI / CD Pipeline 구축 (SorucePipeline)
  • ncloud API Gateway 서비스를 이용한 API Gateway 구축
  • 서비스 신청 및 관리 대시보드 연계 용 REST API 서버 개발 (Node.js)
    https://github.com/TedHong/october-demo
  • Raon secure 솔루션을 이용한 통합 인증 시스템 구축
  • Prometeus + Grafana 대시 보드 환경 구축

REST API 서버 개발 - Node.js

  • 10월에 개발해 October 라고 이름을 붙인 서버입니다.
  • SaaS Maker 라는 서비스에서 데이터를 전달 받아 메인 서비스에서 사용할 필요가 있었고 그것을 위해 REST API 서버를 개발했습니다.
  • DB 는 Cubrid 를 사용했습니다.
  • Kubernetes SDK 를 이용해 K8S 에 secret 를 생성하고 ingress 를 업데이트 하는 기능을 구현했습니다.
  • 서버를 구동하고 어느 정도 API 가 호출되면 DB에 접근 할 수 없고 속도가 느려지는 문제가 발생했는데 DB Connection 의 Release 가 제대로 되지 않는 문제 였습니다. 그래서 DB Connection Pool 을 구현하고 Release 하는 시점을 꼼꼼히 체크해 문제를 해결했습니다.
  • October 서버를 포함한 Monolitic -> MSA 전환을 성공적으로 마쳐 클라우드 서비스 확인제 인증, KORAS 인증 시험 통과, 정부 과제 완수하는 성과를 거두었습니다.
근무 기간 (근무 형태)
2023.01. ~ 2024.01.

(1년 1개월 | 정규직)

회사명

넥슨코리아(NEXON)

직책 • 부서

차장 • 인텔리전스랩스/플랫폼인터페이스실

담당 업무

Unity SDK 개발

  • 넥슨에서 서비스하는 게임에 제공되는 Nexon GamePlatform SDK (Toy Engine SDK) 프로젝트에 참여하였습니다.

  • 기존에 모바일 SDK 에서 제공하는 기능을 Unity PC 환경에서도 동작하도록 기능을 만들기 위해 안드로이드, iOS,
    Unreal 소스를 참고 분석하여 개발을 진행했습니다.
    그래서 게임이용등급, 약관동의, 연동계정정보, 고객센터, 웹뷰 연결, FAQ, 포럼 등 공통 UI 부분을 개발했습니다.

  • 건강에 문제가 생겨 퇴사하였습니다.

근무 기간 (근무 형태)
2022.02. ~ 2022.08.

(7개월 | 정규직)

회사명

알다

직책 • 부서

개발총괄 • 개발팀

담당 업무

다물어클럽 Web 서비스 개발 및 운영

  • 인문OTT 서비스 개발 및 운영
    -FE: angular
    -BE: SpringBoot
    -외주를 통해 개발 된 프로젝트를 넘겨 받아 리팩토링을 진행해 서비스를 시작했습니다.
    -SpringBoot 로 개발되었고 AWS EC2 환경에서 서비스 했습니다.
  • 영상 소스 인코딩 파이프 라인 구성
    : 영상 업로드 -> Lambda 에서 AWS Media Convert 명령어 실행 -> 인코딩 -> 결과 DB에 저장
  • FCM 을 이용한 모바일 Push 기능 개발 : 일반 전송, 예약 전송

다물어클럽 모바일 (Flutter) 개발 및 운영

  • Flutter 를 이용한 모바일 앱 개발 및 서비스 전 기능 개발 (API 는 웹 서비스용 사용)
  • Video player 구현
    : Pallycon DRM 을 적용하기 위해 Flutter Video Player 가 아닌 HTML5 + Video.js 를 사용하여 WebView 에서
    Custom 플레이어를 새롭게 만들었습니다. (현재는 DRM 적용이 가능한 플레이어가 나왔지만 당시에는 없었습니다.)
  • 트래픽 절약을 위해 무료 영상은 Youtube 에 올리고 Youtube 플레이어를 내장해 서비스 했습니다.
  • 음성 컨텐츠 재생을 위한 Audio player 구현
  • Firebase DynamicLink를 이용한 Deep link 구현
  • 소셜 로그인 구현 (Kakao, Google, Facebook, Apple)
  • 기본 적인 기능 개발은
  • iOS 와 AOS 동시 배포

B2B 대시보드 개발

  • B2B 고객사용 Dashboard 개발 (Flutter Web)
  • 배포 자동화 환경 구축 : Gitlab CI 를 이용해 빌드 후 AWS CLI 로 EC2 에 배포
근무 기간 (근무 형태)
2020.07. ~ 2022.01.

(1년 7개월 | 정규직)

회사명

더팀엔터테인먼트

직책 • 부서

책임연구원 • 개발팀

담당 업무

체험컨텐츠 제작용 Unity VR/AR 자체 라이브러리 제작

  • Unity를 이용해 VR/AR 체험컨텐츠를 만드는데 사용할 자체 라이브러리 제작

  • 외주 직원들과 많은 컨텐츠를 만들어야 했습니다. 그런데 개발 방법이 달라 결과물의 품질의 편차가 너무 심했고
    수정 보완 하는 데도 많은 어려움이 있었습니다. 결국 이를 위해 만든 자체 라이브러리 입니다.

  • 컨텐츠의 시나리오를 Event Task 단위로 쪼개고 이것을 Coroutine Dictionary 에 추가한 뒤 순차적으로 진행시키는 라이브러리 입니다.

  • 동작이 필요한 부분에 이벤트를 시작하는 코드만 추가하면 되기 때문에 간단하게 개발과 수정을 할 수 있습니다.

  • AR 은 Vuforia, VR 은 Google VR 을 사용합니다.

디지털 교과서용 AR/VR 컨텐츠 제작

  • 디지털 교과서 앱에 들어갈 체험 컨텐츠 제작 (외주)
    -- VR : 문화의 속성 (Google VR)
    -- AR : 지속가능한 경제생활 계획하기 (Vuforia)
    -- AR: 자연 재해의 발생 지역과 원인 (Vuforia)

유니버설 디자인 신호등 체험 프로젝트 (VR)

  • 색맹/색약 환경에서 유니버설 디자인 신호등을 체험하는 컨텐츠
  • SDK : Steam VR SDK
  • Device : Odyssey
근무 기간 (근무 형태)
2019.09. ~ 2020.02.

(6개월 | 정규직)

회사명

유저해빗

직책 • 부서

책임연구원 • 개발팀

담당 업무

Userhabit SDK for Unity 개발

  • 유니티 엔진용 유저해빗 SDK 개발 (단독개발)
  • 터치 좌표 수집 기능
  • 이벤트 발생한 오브젝트 수집 기능
  • 터치 이벤트 수집 기능
  • 사용자 액션 데이터 압축 및 서버 전송
  • 데이터 전송 실패에 따른 재전송 기능
  • iOS / Android Native 와 유니티 간의 데이터 전송 기능
  • 백그라운드 데이터 관리 기능
  • iOS / Android 백그라운드 타이머 기능
  • 유니티 및 iOS / Android Native Crash 수집 기능
  • DLL 형태로 배포

유저해빗은 모바일 사용자의 행동 패턴을 수집해 시각화와 통계를 제공하는 SaaS 서비스 입니다.
게임 서비스 진출을 위해 유니티 SDK 개발이 필요해 입사하게 되었고 SDK 의 베타 버전까지 개발했습니다.
기존 모바일 버전 SDK 의 기능들을 유니티에 적용하기 위해서는 유니티의 코어 부분과 Android 나 iOS 네이티브에 대한 이해가 필요해 공식 문서와 여러 자료들을 살펴보고 하나씩 구현해 나갔습니다.
초기 버전을 만들고 난 뒤 테스트를 위해서 공게임즈와 협업하여 문제점들을 보완해 나갔고
NGUI 와 UGUI 환경에서 모두 동작하며 이벤트를 수집 할 수 있도록 노력했습니다.
게임 구동 속도에 영향을 줄 수 있는 파일의 저장과 백그라운드 동작을 새로운 thread 에서 처리했다면 더 좋았을 것 같다는 아쉬움이 있습니다.

근무 기간 (근무 형태)
2018.01. ~ 2019.09.

(1년 9개월 | 정규직)

회사명

슈퍼노바일레븐(프렌즈게임즈)

직책 • 부서

사원 • 개발팀

담당 업무

놀러와 마이홈 for Kakao 클라이언트 개발

  • 게임의 프로토 타입 개발부터 출시 후 라이브 서비스까지 전 과정에 참여했습니다.

  • 편집모드 구현 (2D 좌표상에서 오브젝트의 생성, 이동 및 배치) - NPC AI 구현

  • 인벤토리 구현

  • PET AI 구현

  • 게임 UI 컨텐츠 제작(NGUI 사용)
    : 업적,도감, 일일미션 컨텐츠 개발

  • 게임 설정 기능 개발

  • 방명록 기능 (SNS) 개발

  • 캡쳐기능 개발

  • 튜토리얼 제작용 툴 구현
    : 노드 추가 방식으로 기획자가 자유롭게 컨트롤 할 수 있도록 구현

  • 튜토리얼 시스템을 하드 코딩이 아닌 기획자가 원하는 대로 수정 할 수 있도록 튜토리얼 제작 툴을 만들어 제공했습니다.
    게임 시스템을 보다 세밀하게 조정 하기 위해 Corutine 과 Action 단위로 행동을 컨트롤 할 수 있도록 개발했습니다.
    생성한 튜토리얼용 데이터를 excel 로 저장하거나 excel 로 작성된 데이터를 튜토리얼 데이터 변환하는 기능도 개발했습니다.

근무 기간 (근무 형태)
2014.10. ~ 2017.12.

(3년 3개월 | 정규직)

회사명

스튜디오EX (디즈니인터랙티브)

직책 • 부서

사원 • 개발1팀

담당 업무

스타워즈IP를 이용한 2D 액션 게임 개발

  • SNS 회원 가입 및 로그인
  • 게임 시스템 구현 RND 진행

[디즈니의 아시아 게임 사업 철수로 인한 폐업으로 인해 퇴사했습니다.]

근무 기간 (근무 형태)
2013.10. ~ 2014.05.

(8개월 | 정규직)

회사명

엠브릭스

직책 • 부서

과장 • 개발팀

담당 업무

와일드샷 for Kakao 클라이언트 개발

  • 유니티 클라이언트 개발 (메인 개발자)
  • 게임 플레이어 시스템 개발 (2DToolKit, SmoothMoves 이용)
  • 스테이지 및 몬스터 시스템 개발
  • 캐릭터 시스템 개발
  • 전투 시스템 개발
  • 상점 기능 개발
  • 로그인 및 결제 시스템 개발

[경영 악화로 퇴사했습니다.]

근무 기간 (근무 형태)
2013.02. ~ 2013.10.

(9개월 | 정규직)

회사명

위메프

직책 • 부서

사원 • 지역개발본부

담당 업무

사진 SNS ‘치즈잇!’ 안드로이드 버전 개발

  • 와플스토어라는 회사로 입사해 개발한 서비스입니다.
  • 한국형 인스타그램을 표방한 사진 SNS 서비스
  • 앱 아키텍쳐 구성- 네비게이션 구조 개발
  • 안드로이드용 사진 필터 개발 (Java.Awt.Canvas 사용)
  • 소셜 연동 기능 개발
  • 앱 푸쉬 기능 개발 (GCM)
  • 위치 기반 기능 개발
  • 이후 위메프(나무인터넷)로 인수 합병 되었습니다.

맛집 쿠폰 앱 'Woohoo' 개발

  • 위메프의 지역사업본부 프로젝트인 맛집 쿠폰 우후 서비스 개발
  • 앱 전 기능 개발
  • 위치 기반 쿠폰 리스트 메뉴 개발
  • 쿠폰 사용 기능 개발
  • 쿠폰 조회 및 저장 기능 개발
  • 앱 푸쉬 기능 개발 (GCM)

위메프 앱 리팩토링 및 최적화 (안드로이드)

  • Android용 위메프 앱 추가 기능 개발 및 유지 보수
  • 지역리스트 메뉴 개발
  • 마이페이지, 설정 메뉴 개발
  • 이미지 로딩 시스템 최적화
  • 메모리 누수 최적화
근무 기간 (근무 형태)
2011.08. ~ 2013.02.

(1년 7개월 | 정규직)

회사명

인사이트랩

직책 • 부서

사원 • 개발팀

담당 업무

안드로이드 증권 거래 앱 개발

  • 동부증권
    --업무내용 : 내부제작한 공통 TCP/IP 모듈을 사용하여 조회 및 주문 기능 구현
    현재가, 주문, ELW주문, 선물옵션주문 화면 구현
    담당 : 프로젝트 시작부터 투입되어 마켓등록까지 전 기간동안 참여했습니다. 기본 네비게이션 구조를 만들었고 history 기능, 즐겨찾는 메뉴(퀵메뉴) 기능, 현재가 조회, 주식주문, ELW주문, 선물옵션 주문, 펀드주문 등을 담당했습니다.

  • 대신증권
    --업무내용 : 소켓통신 모듈을 사용한 시세 조회 및 주문기능 구현
    담당 : 내부 제작한 통신 모듈을 사용하여 서버에서 데이터를 받아 시세를 조회하고 주문을 하는 기능을
    구현했습니다. 65%정도 진행된 상황에서 투입되어 마켓등록시까지 참여했습니다.

  • 메리츠종금 증권
    --업무내용 : 주문, 시세조회 등의 화면 구현 및 소켓통신 모듈을 이용한 시세 조회 기능 구현
    담당 : 첫 프로젝트 였고 사수없이 혼자 투입되어 많이 고생한 프로젝트 입니다. 어플리케이션 화면의 70%이상을 직접 만들었고 시세 조회 기능을 개발했습니다.

근무 기간 (근무 형태)
2010.06. ~ 2011.08.

(1년 3개월 | 정규직)

프로젝트

소속/기관명

프리랜서

프로젝트명

DIOR 고객 관리용 Admin site 개발 (React)

프로젝트 내용
  • React 를 이용해 명품 브랜드 Dior 의 고객을 관리하는 어드민 페이지를 제작했습니다.
  • 주요기능 : 캘린더, 차트, 게시판
프로젝트 기간
2022.04. ~ 2022.05.
(2개월)
소속/기관명

프리랜서

프로젝트명

Barista VR 관리자 툴(Unity) 및 중계 서버(Node.js) 개발

프로젝트 내용
  • 장애인 직업 교육용 바리스타 VR 의 관리자 툴 개발 (Unity)
    : 교육 담당 강사가 학생들이 착용한 VR 을 컨트롤 할 수 있는 관리자 툴입니다.

  • 관리자 툴 / VR클라이언트 / AI 모듈을 연결하는 소켓 서버 개발(Node.js + Socket.io)
    : socket.io 를 이용해 Unreal 로 개발된 VR 클라이언트와 Unity 로 개발 된 매니저 클라이언트 간의 데이터를 중계 해주고
    데이터 분석 및 통계 제공을 위해 저장하는 역할을 하는 Application 입니다.

    • DB는 Sqlite 를 이용해 내부에 내장했습니다.
    • 통신이 단절 되거나 프로그램이 강제 종료되는 상황에 대비해 일정 갯수 만큼 이벤트가 쌓이면 데이터를 파일로 백업하고 다음 실행 시 해당 데이터를 복원하는 기능을 구현하였습니다.
프로젝트 기간
2021.06. ~ 2021.10.
(5개월)

교육

소속/기관명

고려사이버대학교

종류 | 전공

대학교(학사) | 컴퓨터정보통신과

재학 기간

2011.03. ~ 2015.02.

재학 상태

졸업

소속/기관명

동아방송예술대학교

종류 | 전공

대학교(전문학사) | 인터넷방송 웹마스터전공

재학 기간

2000.03. ~ 2006.02.

재학 상태

졸업

소속/기관명

숭실대학교

종류 | 전공

대학교(학사) | 경상계열

재학 기간

1999.03. ~ 1999.07.

재학 상태

중퇴

자격증

자격증명

컴퓨터그래픽스운용기능사

점수 | 발급기관

취득연월

2002.12.

자기소개

자기소개

#강점

  • 제 '인간적인 강점'은 다양한 경험을 바탕으로 한 문제 해결 능력, 나의 부족한 부분은 인정하고 타인의 장점을 받아들일 수 있는 열린 마음,
    혼자 빠르게 나아가기 보다는 함께 꾸준히 나아가는 것이 옳다고 생각하는 점, 결과 보다는 행동 지향적인 성격 이라는 점입니다.

  • 든든하고 친근한 삼촌처럼 팀의 분위기를 이끌어 나갈 수 있는 성격을 가지고 있어 동료들에게 좋은 평가를 받고 있습니다.
    1980년에 태어나 아날로그에서 디지털로의 전환을 겪으며 자란 세대라 옛 문화는 물론 새로운 문화를 이해하고 받아들이는데 익숙하고
    이를 바탕으로 아날로그와 디지털의 원리를 이해하고 다루는데 능숙합니다.

  • 게임과 스포츠(축구,야구), 애니메이션을 좋아해서 20~50대까지 거의 대부분의 세대와 문화적으로 잘 어울리는 편입니다.

  • '다름'과 '틀림'의 차이를 이해하고 다름을 인정하며 존중할 수 있는 마음도 가지고 있습니다.
    다만 다름이 선을 넘어 동료에게 피해를 주는 경우에는 그것이 틀렸다고 말할 수 있는 성격도 가지고 있습니다.

  • '개발자로서의 강점'은 문제의 근본적인 원인을 유추해내는 능력과 끈기 있게 문제를 파고드는 집중력,
    문제를 해결 한 뒤에는 미래의 나 또는 동료를 위해 기록해두는 습관, 생각을 논리 있게 정리해서 글로 남길 수 있는 글쓰기 능력,
    내가 아는 것을 남들과 나누는 것을 서슴지 않는 점이 있습니다.
    해결해야 하거나 새롭게 구현해야 할 이슈가 주어졌을 때 '안되요, 못해요' 보다는 '어렵지만, 이렇게 해보면 어떨까요?' 처럼 대안을 제시하려고 노력합니다.
    새로운 기술을 배우거나 기술 동향을 알기 위해 관련 세미나나 컨퍼런스에도 적극적으로 참여하려고 노력 하고 있습니다.

#보유 기술

  • JAVA(Spring-Boot ,전자정부프레임워크), Node.js 를 이용한 Backend 개발
  • Kubernetes 환경 구축 및 운영
  • Unity Client, Unity SDK 개발
  • Android, Flutter 를 이용한 모바일 앱 개발 및 배포
  • React, Angular, Thymeleaf 를 이용한 Web frontend 개발
  • Cloud 환경 구축 및 운용 (AWS, ncloud)
  • CI / CD 환경 구축 (Gitlab CI, ncloud Source Pipeline)
  • 에자일, 칸반, 스크럼 경험
  • Confluence, Jira, Git, SVN, Redmine, Slack 사용 경험

#포트폴리오

댓글