정문수

Android Developer

About Me

반갑습니다. 안드로이드 개발자 정문수입니다.

크로스 플랫폼 프레임워크 개발로 커리어를 시작하여 이 때 C++, C#, Java의 다양한 언어와 리눅스, Free-BSD, Windows .NET, 안드로이드의 다양한 플랫폼에서 작업하는 경험할 수 있었습니다. 이후 빙글에 합류하여 안드로이드 앱 개발자로 서비스를 개발하고 운영할 수 있었고, 지금도 안드로이드 앱 개발자로 커리어를 이어나가고 있습니다.

리액트를 시작으로 플러터 등의 선언형 UI 개발이 대세가 되면서 구글에서 출시한 Jetpack Compose를 학습하고 익히는데 최근에는 집중하고 있습니다.

Experience

엔터프라이즈블록체인

Android Developer

2022. 6. ~ 2023. 11. (1년 6개월)

enterpriseblockchain.io
  • 어랏 안드로이드 앱 개발

빙글

Android Lead Developer

2018. 5. ~ 2022. 1. (3년 9개월)

  • 빙글 안드로이드 앱 개발
  • 모임 안드로이드 앱 개발
  • 디자인 시스템 정의 및 개발

티맥스

개발 & 연구원

2016. 1. ~ 2017. 8. (1년 8개월)

  • 크로스 플랫폼 프레임워크(Tmax One Platform) 개발
  • TmaxOS로의 SWT 호환
  • TmaxOS Application Framework 설계 및 개발

씨랩시스

안드로이드 개발(계약직)

2016. 6. ~ 2016. 6. (1개월)

  • BLE를 활용하는 안드로이드 앱 개발

Projects

취향이 자산이 되다.

크리에이터와 팬들을 위한 커뮤니티 마켓 플랫폼을 제공합니다.

  • 기간 : 2022. 6. ~ 2023. 11. (1년 6개월)
  • 기술 스택 및 구조
    • MVVM + Repository Pattern + 로컬 캐싱
    • 비동기 및 리액티브 프로그래밍: Coroutine + Flow
    • 페이징 및 무한 스크롤 구현: Jetpack Paging3
    • 로컬 캐싱 구현: Repository 레이어의 In-memory 캐싱 직접 구현, Room 데이터베이스 사용
    • Dependency Injection: Hilt 적용
    • Firebase Realtime database를 통해 백엔드 팀 리소스 소모 없이 간단한 채팅 페이지 개발
    • Firebase Cloud Messaging을 통한 푸시 알림 구현
    • CI/CD: 깃랩 CI/CD 파이프라인 구현 및 업데이트를 통한 테스트 자동화, 배포 자동화, 간단한 웹 페이지를 구현하여 팀 원들 누구나 접근할 수 있는 배포 트리거 개발
    • 어드민 페이지 개발 참여: 리액트 + 리액트 Query + Tailwind CSS
  • 성과
    • 분리된 모듈 구조 도입 및 빌드 스크립트 개선을 통한 빌드 속도 개선: 3분 40초 -> 10초
    • 하드코딩 되던 디자인 리소스의 테마, attribute 및 style 정의를 통한 공용 리소스 재사용성 확보
    • 텍스트 및 Localization 싱크 작업을 Gradle 스크립트를 통해 자동화

모임은 개발팀 없이 커뮤니티를 꾸리고 빌딩하고 싶은 고객들에게 커뮤니티를 위한 기술들을 제공하는 서비스입니다.

  • 기간 : 2019. 11. ~ 2022. 1. (2년 3개월)
  • 기술 스택 및 구조
    • MVVM + Repository Pattern + 로컬 캐싱
    • 비동기 및 리액티브 프로그래밍: Coroutine + Flow
    • 페이징 및 무한 스크롤 구현: Jetpack Paging3
    • 로컬 캐싱 구현: Repository 레이어의 In-memory 캐싱 직접 구현, Room 데이터베이스 사용
    • Dependency Injection: Hilt 적용
    • CI/CD: GitHub Action 구현을 통한 테스트 자동화, 배포 자동화, 슬랙 연동
    • Android Native로 전체 개발 및 출시 이후 Flutter 전환 및 재출시
  • 성과 : 파도상자 지분 보유(15%) 및 수익 쉐어로 파도상자의 5배 성장을 통한 매출 상승

디자인 시스템 개발

빙글

디자인 팀과 협업하여 사내에서 사용하고 추후 공개까지 고려한 디자인 시스템을 제작하였습니다.

  • 기간 : 2019. 11. ~ 2022. 1. (2년 3개월)
  • 작업 내용
    • 디자인 시스템 정의
    • 정의된 디자인 시스템을 안드로이드 라이브러리로 구현
    • 구현된 UI 컴포넌트들을 볼 수 있고 간단한 조작까지 가능한 별도의 카탈로그 앱 제작
  • 성과
    • UX와 Look and Feel의 일관성 확보
    • 기획 단계에서의 손쉬운 UI 디자인
    • 개발 단계에서의 재사용성 확보
    • 카탈로그 앱을 통해 팀 전체의 디자인에 대한 가시성 확보

빙글

빙글

관심사 네트워크

빙글은 관심사를 기반으로 사용자들에게 커뮤니티 기능들을 제공하는 소셜 서비스입니다.

  • 기간 : 2018. 5. ~ 2022. 1. (3년 9개월)
  • 기술 스택 및 구조
    • Java to Kotlin 마이그레이션 진행
    • MVC -> MVP -> MVVM 두 번에 걸친 아키텍쳐 변경 및 마이그레이션 경험
    • 비동기 및 리액티브 프로그래밍: RxJava
    • 페이징 및 무한 스크롤 구현: 자체 개발한 페이징 라이브러리, Jetpack Paging3
    • 로컬 캐싱 구현: 입사전 개발되어 있던 In-memory 캐싱 라이브러리 사용, 이후 Persistence를 위한 Room 도입
    • 영상 및 GIF 렌더링: ExoPlayer
    • Dependency Injection: Hilt 적용

TmaxOS Application Framework

티맥스

TmaxOS에서 어플리케이션 개발을 위해 플랫폼을 설계 및 개발하고, SDK 제공을 위해 라이브러리를 개발하는 프로젝트입니다.

  • 기간 : 2017. 1. ~ 2017. 8. (8개월)
  • 코어 라이브러리 설계 및 개발(C++)
  • UI 컴포넌트 설계 및 개발(C++)

SWT 호환

티맥스

이클립스 기반인 TOP IDE를 TmaxOS에서 실행시키기 위해 SWT를 Free-BSD와 리눅스 기반인 TmaxOS로 포팅하는 프로젝트입니다.

  • 기간 : 2016. 9. ~ 2016. 12. (4개월)
  • SWT UI 라이브러리 개발
  • JNI 코드 작성
  • 크로미움 코드 분석

Tmax One Platform

티맥스

One source to Multi platform build를 위한 크로스 플랫폼 프레임워크를 개발하는 프로젝트입니다.

  • 기간 : 2016. 1. ~ 2016. 8. (8개월)
  • 상세 내용
    • Java + XML로 앱을 개발할 수 있도록 자체 프레임워크 정의 및 제공
    • Code generation 방식 채택
    • Web, 안드로이드, iOS, Windows .NET, TmaxOS 5개 플랫폼 타겟으로 빌드
  • 역할
    • 타겟 플랫폼의 앱 개발방식 조사 및 분석
    • 통합을 위한 정책 수립
    • 코어 라이브러리(Java) 설계 및 개발
    • .NET 플랫폼 라이브러리 개발(C#)
    • TmaxOS 라이브러리 개발(C++)
    • Java to .NET과 Java to TmaxOS 코드 generator 개발

Twinkle.B

씨랩시스

자전거 분실 방지를 위해 작은 비콘을 자전거에 부착하고, 스마트폰과 BLE 통신을 통해 자전거를 모니터링 할 수 있도록 기능들을 제공하는 프로젝트입니다.

  • 기간 : 2015. 6. 1. ~ 2015. 6. 30. (1개월)
  • BLE를 통한 통신 기능을 포함한 안드로이드 앱 개발