Namgyu Park

Android Application Developer

Profile

논리적인 사고와 유연한 변화를 중요시하며, 가독성과 호환성을 위한 코드 설계 및 구현, 리펙토링 그리고 버그 체크 및 디버깅 능력에 상당한 자신이 있는 편입니다.

새로운 알고리즘을 구현하는 것이 취미이며, 기타 소프트웨어 관련 최신 정보들 및 기술들을 공부하는 것을 좋아합니다.

프로그램 만드는 것, 정확히는 어떠한 문제에 대한 해결 과정과 방법을 중요시하며 즐겨합니다.

결론은 개발자로서 문제에 대한 해결과 새로운 것을 창조하는 것이 재밌습니다.

Skills

안드로이드 모바일앱 개발

높은 수준의 UI / UX 설계 및 개발이 가능하며, Java 를 이용한 OOP - Design Pattern, Clean Code, Debugging, 서버 및 내부 데이터 flow 간의 Asynchronous IO, 데이터 구조에 대한 높은 수준의 이해가 있습니다. 복잡한 디자인을 요구하는 부분으로 인해 Custom 한 view 간의 인터렉션에도 대응이 가능하며, RESTful API를 사용한 back-end service 와의 개발 경험 및 오픈 소스 분석 및 참여, SDK 및 기능 별 내부 코어 라이브러리를 개발하는데 많은 경험 그리고 비즈니스 레벨의 영어 실력을 보유하고 있습니다.

개발 로직 설계

개발 전 생산성 높은 클린 코드 구현을 위한, 개발 분석에 뛰어나며, 전체 view 설계 및 자체 성능 부분 개선을 위한 debugging 과 profiling / unit test code 구현 부분 처리에 익숙합니다. 현재 앱 개발로는 개발 생산성 및 코드 readability 을 위해 MVP 패턴을 기본으로 하며 유저에게 block 의 경험을 주지않는 비동기 형태의 UX 개발을 위해, RxJava / RxAndroid / Retrofit 을 메인 코어로 사용하고 있습니다.

Technical

  • Android
  • Java
  • Design Pattern / OOP
  • Git
  • Algorithm & Data Structure

Experience

NAVER

안드로이드 어플리케이션 / Framework 개발자

2018.5.1-재직중

인공지능 IoT 디바이스 앱 개발 및 관리 / 어플리케이션 Framework 및 SDK 개발 및 관리

Representative project : Desk, Fanwiki, VVID

(Kotlin / Kotlin native) : billing-module, curl-generator, login-module, logger

(Java) : DisplayFramework, CIC framework

바풀

안드로이드 어플리케이션 개발자

2015.12.7-2018.4.30

인공지능 IoT 디바이스 앱 개발 및 관리 / 바로풀기 안드로이드 어플리케이션 개발 및 관리 / 바풀 관련 SDK 개발 및 데이터 수집

▢ 인공지능 IoT 디스플레이 디바이스 어플개발 (2017.12-2018.4)

- 이미지 프로세싱 기술 개발 (이미지에서 HSV / HSL / RGB 를 조합한 형태의 알고리즘 구현으로 이미지에서 인간의 사고에서 가장 합당한 색을 뽑아내는 기술)

- 이미지에서 사람 얼굴 인식 기술 개발 (Face detection 으로 사람의 얼굴인지를 판단하는 알고리즘 개발)

- 기존의 Android Annotations 형태에 + View 가 모든 기능을 담당하던 부분 리펙토링

- 2.5 이후 및 리뉴얼 버전 3.0 ~ 4.0 개발 담당

- 메모리 Heap 분석과 프로파일링 + Leak canary 및 View 재설계를 통한 성능 향상

- API call 시 SharedPreferences + RxJava + Repository 디자인 패턴을 통한 캐시를 활용하여 유저의 경험 대폭 향상

- MVP (Model-View-Presenter) 를 기본 베이스로 코드 재구현 및 유닛 테스트 커버리지 개선 및 향상

- 복잡한 디자인 부분에 대한 view 트리구조 개선 및 저사양 기기에 대응 (OS 별로 코드 분리 - OOP)

- 비동기적 UX 개발 및 적용 (RxJava + RxAndroid + Retrofit)

Java, Kotlin, Android, RxJava, RxAndroid

▢ 바로풀기 안드로이드 어플 (2015.12-2017.12)

바풀풀기 리뉴얼 개발 및 운영 관리

- 기존의 Android Annotations 형태에 + View 가 모든 기능을 담당하던 부분 리펙토링

- 2.5 이후 및 리뉴얼 버전 3.0 ~ 4.0 개발 담당

- 메모리 Heap 분석과 프로파일링 + Leak canary 및 View 재설계를 통한 성능 향상

- API call 시 SharedPreferences + RxJava + Repository 디자인 패턴을 통한 캐시를 활용하여 유저의 경험 대폭 향상

- MVP (Model-View-Presenter) 를 기본 베이스로 코드 재구현 및 유닛 테스트 커버리지 개선 및 향상

- 복잡한 디자인 부분에 대한 view 트리구조 개선 및 저사양 기기에 대응 (OS 별로 코드 분리 - OOP)

- 비동기적 UX 개발 및 적용 (RxJava + RxAndroid + Retrofit)

- https://play.google.com/store/apps/details?id=com.incombine.app.bapul

Java, Android, RxJava, RxAndroid, Retrofit, Android Annotations

▢ 바풀 계정 관리 SDK (2017.3-2017.9)

바풀 전체 서비스 계정관련 AccessToken 관리 SDK 개발

- 기존의 바로풀기 서버에서 로그인을 하는 것이 아닌, 계정 전체를 따로 한번에 관리하도록 개발

- 페이스북의 AccessToken 관리 sdk 와 유사하며 RxJava + Retrofit 사용

- MVP 패턴, SingleTon 패턴, Builder 패턴, Repository 패턴으로 구성되어 있으며, 최초 init 이후, Activity onStart() / onStop() lifecycle 시 토큰 갱신여부 체크 및 갱신 하는 방식

Java, Android, RxJava, RxAndroid, Retrofit

▢ 바풀 자동답변 SDK (2017.2-2017.9)

질문 이미지 머신러닝 인식 관련 input 을 담당하는 SDK 개발

- 바로풀기 자동답변과 관련된 모든 API 에 집합체

- MVP 패턴, SingleTon 패턴, Builder 패턴으로 구성되어 있으며, 자동답변 호출 후, 지정한 callback 에서 결과 값을 받는 구조 (실제로는 수 번의 call 이 연달아 거쳐가는 방식)

Java, Android, RxJava, RxAndroid, Retrofit

▢ 이미지 편집 라이브러리 (2017.1-2017.9)

바로풀기 이미지 Crop 및 편집 부분 개발에 적용

- 이미지 crop 및 편집 관련 개발에 핵심 코어로 적용

- Matrix 를 사용한 형태로 bitmap 재생성에 대한 부담에 없으며, 데코레이션에 대한 부분이 다 존재함

- 핵심 코어 : https://github.com/DanielWorld/ImageCropper

Java, Android

▢ 바풀 동영상 플레이어 라이브러리 (2017.4)

바로풀기 이주의 10분 무료체험 강의 동영상 플레이어 개발

- ExoPlayer 를 이용한 플레이어로 wrapper 형태로 개발되어짐

Java, Android, ExoPlayer

▢ 무음 카메라 라이브러리 (2016.11-2016.12)

바로풀기 무음 카메라 개발에 적용

- Camera1, Camera2 API 및 스마트폰, 태블릿에도 호환이 되는 라이브러리 개발

- TextureView 를 베이스로 API 별 view size, 카메라 센서 각도, 기기의 회전 각도, orientation 을 계산 및 처리하는 알고리즘 구현

- 핵심 코어 : https://github.com/DanielWorld/CameraLibrary

Java, Android

▢ 바풀 유저 트래킹 SDK (2015.12-2016.3)

유저들의 화면별 체류 시간 및 유저의 행동을 트래킹 및 빅데이터 분석을 위한 SDK 개발

- 3rd party 라이브러리가 존재하지 않는 pure 한 sdk 형태로 개발

- SingleTon Pattern, Factory Pattern 적용

- 바로 전송하는 부분과 DB 에 저장 후, 특정 시간에 전송하는 2가지 방식이 있으며, 바로 전송이 실패하는 경우에는 DB 에 저장 후, 특정 시간에 전송하는 방식

Java, Android

크림하우스

모바일팀 주임

2014.7.28-2015.9.18

안드로이드 어플리케이션 개발을 메인 포지션으로 담당 / 기타 개발 서포트

▢ 포토앤데코 (2015.7-2015.9)

리뉴얼 및 코드 개선 작업

- 소스 리펙토링 및 성능 개선작업

- https://play.google.com/store/apps/details?id=net.creamhouse.photoanddeco_kakao

Java, Android, SQLite

▢ 사진꾸미기 (2015.6-2015.7)

리뉴얼 및 코드 개선 작업

- 소스 리펙토링 및 성능 개선작업

- https://play.google.com/store/apps/details?id=com.cream.scribble

Java, Android, SQLite

▢ 대한펜싱협회 (2015.5)

커뮤니티 항목 중 스포츠인권익센터 추가 작업

- 게시판 기능 개발

- 글쓰기, 글수정, 파일업로드, 이미지 업로드 및 삭제 등 기능 추가

- http://fencing.sports.or.kr/info/list?code=rule

Java, Android, SQLite

▢ FC서울 (2015.4-2015.5)

FC서울 안드로이드 어플 리뉴얼 작업

- 시즌회원, 멤버십 바코드 인식 확대

- 어플 UI 변경

- 선수소개 부분 해당 선수 정보가 없을 시 마네킹 선수 이미지 대체

- 경기시작시 일부 기기에서 경기일정 오류발생 부분 수정

- https://play.google.com/store/apps/details?id=com.gssports.fcseoul

Java, Android, SQLite

▢ SK 플래닛 AMP SDK (2015.2-2015.3)

안드로이드 AMP Tracking SDK 기능 리뉴얼

- OS 2.3 이하 기기 64k 메소드 limit in dex 이슈 수정

- send 기능 축소 및 역할 변경

- 민감한 개인정보 수집 제거 및 기타 수집목록 변경

- OS 2.3 기기 부터 트래커 작동 (Google Ad ID OS 2.3 기준)

- 관리자 페이지에서 앱 트래커 작동 중단 기능 추가

Java, Android, SQLite

▢ SK 플래닛 AMP SDK (2014.10-2015.1)

안드로이드 AMP Tracking SDK 개발

- 리퍼러 및 유저 기기, 계정 등 기타 정보들을 수집하여 서버에 전달

- 어플로 부터 수집 받은 리퍼러, 유저 고유 정보를 통해 광고 대행비를 받는 시스템 (CPA)

Java, Android, SQLite

▢ SK 와이번스 기록시스템 (2014.7-2014.10)

KBL 팀 전체 타자 선수 개인기록 (타율, 도루율 등등) 부분 기록 DB 쿼리 작성 및 페이지 개발

- 선수 개인기록 부분 기록 쿼리 작성 및 화면에 데이터 호출 작업

- 팀 기록 부분 기록 쿼리 작성 및 데이터 호출 작업

Java, Spring Framework, MySQL

Education

병역

해군 — (주민등록초본 확인 필수)

세종대학교 - 서울, 대한민국

컴퓨터공학과 — (2008.3-2014-8)

창신고등학교 - 창원, 대한민국

인문계 — (2004.3-2007-2)