About Me
반갑습니다. 안드로이드 개발자 정문수입니다.
크로스 플랫폼 프레임워크 개발로 커리어를 시작하여 이 때 C++, C#, Java의 다양한 언어와 리눅스, Free-BSD, Windows .NET, 안드로이드의 다양한 플랫폼에서 작업하는 경험할 수 있었습니다. 이후 빙글에 합류하여 안드로이드 앱 개발자로 서비스를 개발하고 운영할 수 있었고, 지금도 안드로이드 앱 개발자로 커리어를 이어나가고 있습니다.
리액트를 시작으로 플러터 등의 선언형 UI 개발이 대세가 되면서 구글에서 출시한 Jetpack Compose를 학습하고 익히는데 최근에는 집중하고 있습니다.
Experience
- 어랏 안드로이드 앱 개발
빙글
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에서 어플리케이션 개발을 위해 플랫폼을 설계 및 개발하고, SDK 제공을 위해 라이브러리를 개발하는 프로젝트입니다.
- 기간 : 2017. 1. ~ 2017. 8. (8개월)
- 코어 라이브러리 설계 및 개발(C++)
- UI 컴포넌트 설계 및 개발(C++)
이클립스 기반인 TOP IDE를 TmaxOS에서 실행시키기 위해 SWT를 Free-BSD와 리눅스 기반인 TmaxOS로 포팅하는 프로젝트입니다.
- 기간 : 2016. 9. ~ 2016. 12. (4개월)
- SWT UI 라이브러리 개발
- JNI 코드 작성
- 크로미움 코드 분석
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 개발
자전거 분실 방지를 위해 작은 비콘을 자전거에 부착하고, 스마트폰과 BLE 통신을 통해 자전거를 모니터링 할 수 있도록 기능들을 제공하는 프로젝트입니다.
- 기간 : 2015. 6. 1. ~ 2015. 6. 30. (1개월)
- BLE를 통한 통신 기능을 포함한 안드로이드 앱 개발