저는...
  • 개발을 사랑합니다.
  • Web application / System software / Game / Data engineer 등 분야를 가리지 않습니다.
  • 코드 퀄러티, 문서화, 자동화를 중요하게 생각합니다.
  • 최신 기술과 Challenging problem에 관심이 많습니다.
경력
  1. Clumio

    …Software Engineer

    1. Backend
    2. Cloud
    • Serverless 아키텍처 기반 개발(kubernetes, AWS Lambda) 및 배포(terraform)
    • Golang 기반 백업 기능 개발 및 유지보수
      • 서비스 기능 추가 및 개선
      • 코드 퀄러티 중점 개발: Test Coverage 향상, 리팩토링, Peer review
      • 문서화 수행
    • 대규모 스케쥴러 개발
      • 요구사항에 맞도록 2~3 Billion 가량의 작업 스케쥴링
    • MSA에서의 모니터링 및 추적 툴 개발
  2. aipets

    …Software Engineer and Manager

    1. Backend
    2. Cloud
    3. Infra

    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 진행
      • 설계 및 개발사항 문서화 및 참여 독려
  3. TmaxData

    …Team Leader (겸직)

    1. Backend
    • 이슈 관리
      • Blocking 요소가 없도록 주기적인 미팅 진행
      • 기술 부채 관리를 통해 장기/잠재적 이슈들 관리
    • 개개인의 역량 향상
      • 주기적인 스터디 진행: 리팩토링 2, 클린 코드 등
    • 개발 문화 개선
      • 코드리뷰: 가독성 및 테스트 커버리지 향상
      • 문서화 적극 독려
    • 업무 효율성 개선
      • 불필요한 미팅 및 이슈 감축
      • 빠른 실무투입을 위한 신입용 문서 정리 및 tutorial 도입
  4. TmaxData

    …Software Engineer

    1. Backend

    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 개발
    • 테스트 개선
      • 오류 조기 검출: CI pipeline에 validation script 추가
      • 유닛 테스트 도입
    • 개발 환경 및 문화 개선
      • 타 팀원들의 코드 리뷰 수행
      • 문서화 독려
      • 테스트 케이스 추가 및 커버리지 향상 독려
      • Docker을 이용한 통일된 환경에서의 개발 및 배포
    • 성과
      • 담당했던 모듈의 중대 버그 모두 제거
      • 중요 기능 개발로 회사 매출에 기여 (재직 초기 대비 매출액 약 3배 증가)
학력
  1. 서울대학교 학사 졸업

    …컴퓨터공학부

    • Github에서 각종 side project 수행
    • 개발 동아리 활동: UPnL
    • 보안 동아리 활동: Guardian
    • 행사 참여: SW Maestro, Microsoft App Hackathon 등
  2. Software Maestro 3기 수료

    …한국정보산업연합

    • 개인 방송 솔루션 설계 및 Android 앱 개발
    • 게임 컨트롤러 플랫폼 설계 및 Android, server, 데모 게임 개발
  3. 서울대학교 석사 졸업

    …컴퓨터공학부 생명정보공학 연구소

    • 생명 데이터 (mRNA) 분석 및 툴 개발
    • Tensorflow 기반 모델 설계 및 개발
    • 4편의 논문 작성 (메인 저자 1편)
논문
  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) 사용
  2. In silico experiment system

    …Methods

    • 웹상의 in silico experiment 서비스 개발
      • Frontend: jQuery + bootstrap + cytoscape.js
      • Backend: Flask (웹 서비스), python + Rscript (분석 파이프라인)
    • Rscript 이용하여 microarray data를 DEG p-value로 preprocessing
  3. 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으로 성능 최적화
  4. 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 알고리즘과 비교
프로젝트
  1. Rhythmus

    …C++, OpenGL, GLFW

    1. Game
    • 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 도입
  2. bmx2ogg

    …C++

    • 오디오 데이터 처리: C++로 직접 audio decode/encode, mixing 모듈 개발
      • 4bit ~ 32bit PCM 데이터 고속 converter 및 pitch / speed change 개발
    • CI: travis CI 도입을 통한 품질 안정화
  3. iidx.insane.pe.kr

    …python

    1. Backend
    2. Frontend
    3. Web
    • 게임 데이터 관리 사이트
      • frontend: jQuery + bootstrap
      • backend: django + mariaDB(ORM)
    • 유저별 추천 서비스 개발
      • jupyter notebook으로 유저 데이터 분석
      • Logistic regression + Cross entropy로 유저 데이터 학습
    • Shell 기반 CD(Continous Distribution) 구현
  4. iBeatcon for Android

    …Android, C#

    1. Android
    • client: Android, server: C#
    • 모바일기기를 게임 컨트롤러처럼 쓸 수 있도록 하는 애플리케이션입니다.
  5. Controller based on Smartphone Sensor

    …Android, python

    1. Android
    • 스마트폰의 센서를 이용하여 범용적인 컨트롤러로 사용할 수 있도록 하는 솔루션
    • server: python, client: Android
    • 머신 러닝을 통헤 보다 정확도 높은 모션 인식을 구현
  6. Rhythmus_java

    …Java

    1. Game
    • libGDX 엔진 기반
      • 높은 호환성 자랑 (Windows, Mac, Android)
      • 빠른 개발 진행
  7. NovelViewer

    …C++, DirectX

    • UMPC에서 text 소설을 볼 수 있도록 하는 프로그램입니다.
    • 편리한 UX 제공: 북마크, 다음 파일로 이동, 최근 파일 자동 열림 등 구현
    • 부드러운 페이지 넘김을 구현하였습니다.
    • 쾌적한 사용자 경험을 위해 DirectX + font cache를 이용, 저사양 최적화를 하였습니다.
프로그래밍 언어
  1. Go
  2. Python
  3. C/C++
  4. Java
  5. Rust
  6. Javascript
  7. CSS
  8. R
  9. PL/SQL
  10. shell
프레임워크 및 플랫폼
  1. django
  2. bootstrap
  3. jquery
  4. SDL2
  5. OpenGL
  6. Tensorflow
  7. GLFW
  8. Flex/Bison
  9. RDB
  10. NoSQL
  11. Android
  12. Linux
  13. terraform
  14. AWS
  15. Docker
  16. kubernetes