- Serverless 아키텍처 기반 개발(kubernetes, AWS Lambda) 및 배포(terraform)
- Golang 기반 백업 기능 개발 및 유지보수
- 서비스 기능 추가 및 개선
- 코드 퀄러티 중점 개발: Test Coverage 향상, 리팩토링, Peer review
- 문서화 수행
- 대규모 스케쥴러 개발
- 요구사항에 맞도록 2~3 Billion 가량의 작업 스케쥴링
- MSA에서의 모니터링 및 추적 툴 개발
저는...
- 개발을 사랑합니다.
- Web application / System software / Game / Data engineer 등 분야를 가리지 않습니다.
- 코드 퀄러티, 문서화, 자동화를 중요하게 생각합니다.
- 최신 기술과 Challenging problem에 관심이 많습니다.
경력
-
Clumio
…Software Engineer
-
aipets
…Software Engineer and Manager
Side project로 멘토링 참여중
- Terraform + AWS 기반 인프라 구성
- 확장 및 모니터링 가능하도록 설계 진행
- CW + ECS + ElasticCache + MySQL + MongoDB + SQS 기술 스택 사용
- 백엔드 서비스 설계 및 개발
- Node.js(Typescript) + Go + protobuf 기반 마이크로서비스 설계 및 개발
- 유저 서비스 및 위치 트래킹 & 공유 서비스 개발
- CI/CD
- Github Actions를 통한 QA automation 및 deployment pipeline
- Management
- 개발 진행에 있어서 서로 blocking 되지 않도록 하는 데 중점
- Blocking 상황의 빠른 파악 및 진행 위해 short-term short-time sprint / meeting 진행
- 설계 및 개발사항 문서화 및 참여 독려
- Terraform + AWS 기반 인프라 구성
-
TmaxData
…Team Leader (겸직)
- 이슈 관리
- Blocking 요소가 없도록 주기적인 미팅 진행
- 기술 부채 관리를 통해 장기/잠재적 이슈들 관리
- 개개인의 역량 향상
- 주기적인 스터디 진행: 리팩토링 2, 클린 코드 등
- 개발 문화 개선
- 코드리뷰: 가독성 및 테스트 커버리지 향상
- 문서화 적극 독려
- 업무 효율성 개선
- 불필요한 미팅 및 이슈 감축
- 빠른 실무투입을 위한 신입용 문서 정리 및 tutorial 도입
- 이슈 관리
-
TmaxData
…Software Engineer
C/C++ 기반 RDBMS 엔진 개발 및 유지보수
- 성능 개선
- DBMS Lock 최소화
- Cache 구조 개선 (Partition 및 global cache 추가 및 구현)
- 기능 개발
- PL/SQL Engine 설계 및 개발
- Nested Type 개발
- dblink 프로토콜 설계 및 개발
- PL/SQL VM interpreter 최적화 (stack 설계 등)
- PL/SQL Compiled mode 설계
- Parser 설계 및 개발
- Bison/Flex 기반 Parser 유지보수 (DDL, PLSQL, SQL Parser)
- Conflict 없는 Custom Parser의 설계
- PL/SQL 패키지 설계 및 개발
- PL/SQL 기반 Message Queue 패키지 설계
- PL/SQL debugger 기능 설계 및 개발
- Gateway 개발
- Job 모듈 유지보수
- DB monitoring process 개발
- PL/SQL Engine 설계 및 개발
- 테스트 개선
- 오류 조기 검출: CI pipeline에 validation script 추가
- 유닛 테스트 도입
- 개발 환경 및 문화 개선
- 타 팀원들의 코드 리뷰 수행
- 문서화 독려
- 테스트 케이스 추가 및 커버리지 향상 독려
- Docker을 이용한 통일된 환경에서의 개발 및 배포
- 성과
- 담당했던 모듈의 중대 버그 모두 제거
- 중요 기능 개발로 회사 매출에 기여 (재직 초기 대비 매출액 약 3배 증가)
- 성능 개선
학력
-
서울대학교 학사 졸업
…컴퓨터공학부
- Github에서 각종 side project 수행
- 개발 동아리 활동: UPnL
- 보안 동아리 활동: Guardian
- 행사 참여: SW Maestro, Microsoft App Hackathon 등
-
Software Maestro 3기 수료
…한국정보산업연합
- 개인 방송 솔루션 설계 및 Android 앱 개발
- 게임 컨트롤러 플랫폼 설계 및 Android, server, 데모 게임 개발
-
서울대학교 석사 졸업
…컴퓨터공학부 생명정보공학 연구소
- 생명 데이터 (mRNA) 분석 및 툴 개발
- Tensorflow 기반 모델 설계 및 개발
- 4편의 논문 작성 (메인 저자 1편)
논문
-
Identifying stress-related genes and predicting stress types in Arabidopsis using logical correlation layer and CMCL loss through time-series data
…BIBM, Main Author
- 적은 수의 고차원 matrix 데이터(time series mRNA)로부터 label 및 biomarker을 찾는 모델 개발
- 변수를 줄이기 위한 데이터 전처리 수행
- Rscript의 DEG 패키지를 이용하여 p-value 검출하고 one-hot encoding하여 input으로 사용
- Overfitting 방지: 적은 데이터로 인해 발생하는 overfitting을 방지하기 위해, Group effect를 추가
- Multiple selection이 될 경우를 고려하여 CMCL Loss (KL Divergence) 사용
-
In silico experiment system
…Methods
- 웹상의 in silico experiment 서비스 개발
- Frontend: jQuery + bootstrap + cytoscape.js
- Backend: Flask (웹 서비스), python + Rscript (분석 파이프라인)
- Rscript 이용하여 microarray data를 DEG p-value로 preprocessing
- 웹상의 in silico experiment 서비스 개발
-
Venn-diaNet
…BMC
Venn-diaNet: venn diagram based network propagation analysis framework for comparing multiple biological experiments
- Rscript 이용하여 DEG p-value 검출
- cytoscape.js를 이용하여 venn diagram rendering 개발
- Edge weight를 이용하여 node position을 결정하여 N-group에서 사용 가능하도록 설계
- 성능 최적화: threshold를 이용한 선택적 rendering으로 성능 최적화
-
HTRgene
…BMC
HTRgene: integrating multiple heterogeneous time-series data to investigate cold and heat stress response signaling genes in Arabidopsis
- DEG 알고리즘 개발: response point 별로 clustering을 통하여 정확도 및 biomarker 발현의 순서를 확인
- 알고리즘 성능 검증: Arabidopsis의 cold/heat stress data를 통하여 유의미한 biomarker 검출 확인, 타 DEG 알고리즘과 비교
프로젝트
-
Rhythmus
…C++, OpenGL, GLFW
- Game Engine 자체구현
- GPL License 기반 open source
- GLFW 프레임워크 기반으로 엔진 개발
- 성능 최적화 설계: Multicore resource loader, scheduler 개발
- Lag/Delay 최소화 설계: 동적 vsync 적용, 비동기 이벤트 핸들러 기반으로 개발
- Sound effector 기능이 들어간 Mixer 자체구현
- 멀티미디어 데이터 처리
- 다양한 비디오, 이미지, 오디오에 대해서 모두 디코딩하여 사용
- 리버싱을 통한 타 게임 리소스 지원 (dxa)
- 게임 스크립트 엔진 개발
- 외부 스크립트 언어 연동 (lua)
- 리버싱을 통해 타 게임 스크립트 엔진 재개발 (lr2script)
- Be-music script library 개발
- CI
- googletest, Github Action 도입
- Game Engine 자체구현
-
bmx2ogg
…C++
- 오디오 데이터 처리: C++로 직접 audio decode/encode, mixing 모듈 개발
- 4bit ~ 32bit PCM 데이터 고속 converter 및 pitch / speed change 개발
- CI: travis CI 도입을 통한 품질 안정화
- 오디오 데이터 처리: C++로 직접 audio decode/encode, mixing 모듈 개발
-
iidx.insane.pe.kr
…python
- 게임 데이터 관리 사이트
- frontend: jQuery + bootstrap
- backend: django + mariaDB(ORM)
- 유저별 추천 서비스 개발
- jupyter notebook으로 유저 데이터 분석
- Logistic regression + Cross entropy로 유저 데이터 학습
- Shell 기반 CD(Continous Distribution) 구현
- 게임 데이터 관리 사이트
-
iBeatcon for Android
…Android, C#
- client: Android, server: C#
- 모바일기기를 게임 컨트롤러처럼 쓸 수 있도록 하는 애플리케이션입니다.
-
Controller based on Smartphone Sensor
…Android, python
- 스마트폰의 센서를 이용하여 범용적인 컨트롤러로 사용할 수 있도록 하는 솔루션
- server: python, client: Android
- 머신 러닝을 통헤 보다 정확도 높은 모션 인식을 구현
-
Rhythmus_java
…Java
- libGDX 엔진 기반
- 높은 호환성 자랑 (Windows, Mac, Android)
- 빠른 개발 진행
- libGDX 엔진 기반
-
NovelViewer
…C++, DirectX
- UMPC에서 text 소설을 볼 수 있도록 하는 프로그램입니다.
- 편리한 UX 제공: 북마크, 다음 파일로 이동, 최근 파일 자동 열림 등 구현
- 부드러운 페이지 넘김을 구현하였습니다.
- 쾌적한 사용자 경험을 위해 DirectX + font cache를 이용, 저사양 최적화를 하였습니다.
프로그래밍 언어
프레임워크 및 플랫폼