미리보기
기본 정보
안녕하세요, 저는 개발자 권영민입니다. 언제나 완벽을 추구하는 개발자입니다. 언제나 새로운 기술, 새로운 구조, 새로운 방법에 열린 마음으로 다가가며 그를 실제 개발하는 컨텐츠에 유용하게 접목시키려는 시도와 노력을 끊임없이 합니다. 단순한 구현 개발 후 무심하게 지나치지 않고 꼼꼼히 신경 쓴 최적화 작업들이 유저, 그리고 팀원, 회사에게 주는 가치를 간과하지 않는 개발자입니다. 언제나 논리적이고 합리적인 소통을 중요시하는 개발자입니다. 각자의 전문성에 따른 이해관계와 사고회로가 다르기 때문에 그것을 이해하고 존중하며 저의 개발자로서의 전문성 또한 합리적인 의견을 통해 팀에 녹여낼 수 있도록 지속적으로 소통합니다. 언제나 도전에 대한 두려움이 없는 개발자입니다. 기존에 게임 개발자로 커리어를 시작했으나, 이후 앱 개발자로 커리어를 성공적으로 전환하여 약 2년간 2개의 어플리케이션을 개발하였습니다. 언제나 제가 만드는 서비스, 제가 하는 업무가 회사에 이익을 창출하고, 팀에게 합리적인 방향을 제시하며, 고객들에게 유용한 가치를 줄 수 있도록 달려나가는 개발자입니다. 많은 연락 부탁드립니다.
기술 스택
Flutter, Python, Unity, JavaScript, Git, Firebase, AWS, 객체지향, Android Compose, asana, Slack
경력
주식회사파마브로스
어플리케이션 개발 책임 | 개발팀
2023.01. ~ 2024.02. (1년 2개월)
파마브로스 개발팀 : 영양제 상담 플랫폼 앱 ‘친한약사’ 개발 프로젝트
2023.01 ~
친한약사 출시버전 개발
- Flutter를 통해 정식 출시버전 개발(약 3개월 소요), 약 1년간 지속 업데이트, 운영
- Riverpod, Provider, GetX를 통한 앱 상태 관리 및 리팩토링
- Fastlane을 통해 앱 빌드 및 배포 프로세스 자동화
- Flavor 라이브러리를 통해 앱 환경분리하여 관리
- Clean Architecture + MVVM 디자인 패턴을 통한 앱 설계 구조 리팩토링
- Git + Bitbucket 사용하여 개발자간 형상관리 협업
- 디자인 파트와 협업하여 디자인 시스템을 기반으로 한 컴포넌트 설계
- Firebase Cloud Messaging(FCM) 활용하여 푸시 알림 개발
- 카카오, 애플 SNS 로그인 기능 개발
- Node.js 기반의 백엔드 서버와 retrofit, dio, freezed 라이브러리를 통해 RESTful API 개발 협업
무지개반사
어플리케이션 개발 책임 | 개발팀
2021.11. ~ 2022.07. (9개월)
무지개반사 개발팀 : AI 베이비모니터 앱 ‘LullaCAM’ 개발 프로젝트
2021.11 ~ 2022.07
LullaCAM 출시버전 개발
- 기존 버전(Unity)의 문제점 개선을 위해 개발 프레임워크를 Flutter 로 전환
- Unity 버전의 문제점은 고용량, 과도한 발열과 배터리 소모, 쉽지 않은 OS별 최적화였음.
- 앱의 용량을 절반에 가깝게 줄였으며, 기기에서 발생하던 과도한 발열을 줄여 앱이 갑자기 강제종료되던 문제를 해결함.
- OS별로 별도의 코드를 작성해야했던 사항들을 플러터로 전환하며 최소화.
- GitLab, Jenkins 사용하여 개발자간 형상관리 협업 및 빌드 자동화
- GetX를 통한 앱 상태 관리 및 리팩토링
- 여러 국가 출시를 위한 다국어 로컬라이징 작업
- Firebase Cloud Messaging(FCM) 활용하여 푸시 알림 개발
- Node.js 기반의 백엔드, Python FastAPI 서버와 API 개발 협업
- 기존에 Firebase의 백엔드 시스템으로 처리되어있던 부분들을 백엔드 개발자와 협업하여 최적화
- WebRTC를 사용하여 화상 모니터링 개발 → 자체 시그널링, TURN 서버 구축
- 플러터 내 로컬 DB인 Hive를 통해 NoSQL DB 시스템 구축
- 기존에 사용하던 Unity의 PlayerPrefs를 통한 단순한 데이터 저장 대신 로컬 DB 시스템을 사용하여 기기 내 DB 시스템의 난해한 코드를 50% 가까이 줄임.
- 마이크 기능, 소음측정 기능 등 중소규모의 기능 확장
- just_audio 패키지 사용하여 음원 플레이어의 각종 기능 개발(재생, 곡 변경, 셔플, 반복 등)
- QR코드 생성 및 스캔 개발
- Google AdMob과 Chartboost 미디에이션을 통한 배너, 보상형 광고 적용
- 기존에 단순히 Chartboost SDK만을 사용하던 것에서 Google AdMob과 연동하여 다양한 광고를 최적화하여 표시하도록 변경.
스윙크
프리랜서 | 프리랜서
2021.06. ~ 2021.10. (5개월)
스윙크 개발 프리랜서 : 아이캔두 누리키즈 문제, 정리활동 컨텐츠 개발
2021.06 ~ 2021.10
유니티 기반 아이캔두 누리키즈 컨텐츠 개발 프로젝트
- 코루틴으로 각 활동에서 순차적으로 발생하는 비동기 이벤트 개발
- DoTween 사용하여 활동 내 오브젝트들의 이동, 회전, 스케일링 동작 처리
- 기존에 협업자가 쉽게 식별하기 어렵던 수식형 이동, 회전, 스케일링 코드들을 DoTween 라이브러리를 사용하여 함수화함.
- C# Delegate, Event 및 UniRX 어셋을 통해 리액티브 프로그래밍으로 UI와 활동 내 이벤트 처리
- 공통 오브젝트들의 묶음에 List, Dictionary 등의 컬렉션을 적극 활용
- 컬렉션으로 묶인 오브젝트들의 이벤트 처리에 LINQ 활용하여 개발
- Strategy Pattern을 활용하여 정오답 피드백, 문제 내레이션과 같이 각 활동별로 진행되는 공통 로직들의 처리 작업에 대해 리팩토링
- 매 활동마다 거의 동일하지만 극히 일부의 차이만 있는 채 반복 재사용되던 코드들을 리팩토링. 관련 코드들을 약 70% 줄인 것으로 파악함.
NSONESOFT
개발 주임 | 개발팀
2020.08. ~ 2020.11. (4개월)
NSONESOFT 개발팀 : SI 업무 및 자체 솔루션 개발팀 주임
2020.08 ~ 2020.11
Python 기반 공공 WIFI 정보 관리 솔루션 프로젝트
- 오라클 DB 연동
- 데이터베이스 커넥션 풀링 구현
- 공공 WIFI 정보를 CSV 및 Pandas의 DataFrame 형태로 핸들링
- 정보 전송을 SFTP 사용하여 구현
- 서버에 작업 관련 로그를 남기기 위한 로그 클래스 구현
- 기존의 하드코딩 방식에서 클래스 단위로 코드를 리팩토링하여 가독성 및 효율성 확보
- 프로그램 빌드 및 배포설정 작업
- 가상환경 설정 작업
- 서버에서 일정 주기별로 작업 수행을 위해 crontab 사용하여 구현
- git을 사용하여 협업 작업 수행
(주)폴리아트
클라이언트 개발 | 개발팀
2016.08. ~ 2017.08. (1년 1개월)
폴리아트 개발팀 : VR 타워디펜스 게임 ‘TowerVR’ 프로젝트
2016.08 ~ 2016.12
유니티 메인 개발자
- 카메라 전환을 통한 FPS 모드 구현
- Raycast를 사용하여 FPS 모드시의 적 조준 및 공격 기능 개발
- 몬스터들의 젠에서 발생하는 프레임 저하나 버그 수정을 위해 관련 코드를 오브젝트 풀링 방식으로 리팩토링
- CSV를 파싱하여 각 몬스터의 레벨디자인 값들을 처리하도록 개발
- 대기방(Lobby) Scene의 전반적인 기능 구현
- VR 게임에 적합한 3D UI 구현
- Oculus, Vive, Gear VR 등 다양한 플랫폼 대응 개발
- SVN 및 구글 드라이브를 활용하여 팀원간 협업 작업 수행
2017.01 ~ 2017.08
유니티 서브 개발자
- UGUI를 사용하여 게임 UI 전반 개발
- DoTween 사용하여 UI의 애니메이션 개발
- 메카님 애니메이션으로 몬스터 및 영웅 캐릭터들의 애니메이션 개발