I am ...
  • Loves software engineering.
  • No field-limited: Web application / System software / Game / Data engineer
  • Highly value code quality, documentation, automation
  • Interested in recent-tech and challenging problems.
Experience
  1. Clumio

    …Software Engineer

    1. Backend
    2. Cloud
    • Develop based on Serverless Architecture (kubernetes, AWS Lambda) and deployment (terraform)
    • Backup service development & maintenance, based on Golang
      • Service improvement and development
      • Code quality improvement: Test Coverage, Refactoring, Peer review
      • Documentation for design/development
    • Big-scale scheduler
      • Schedule 2~3 billion tasks w/ requirements
    • Monitoring tool and tracing in MSA
  2. aipets

    …Software Engineer and Manager

    1. Backend
    2. Cloud
    3. Infra
    • Infra based on Terraform + AWS
      • Designed for future extension & monitoring capability
      • Used techniques: CW + ECS + ElasticCache + MySQL + MongoDB + SQS
    • Backend design and development
      • Based on Node.js + Go + protobuf
      • Developed user tracking & position share service
    • CI/CD
      • QA automation & deployment through Github Actions
    • Management
      • Blocking prevention: Do short but often meeting & sprint
      • Writing document and encouraging
  3. TmaxData

    …Team Leader

    1. Backend
    • Managing issues
      • Do regular meeting to manage blocking items
      • Managing techinical debt for long term issues
    • Improving individual skills
      • Study Books: Refactoring 2, Clean code
    • Improve SWE culture
      • Code review to improve readability and test coverage.
      • Encourage documentation to the members
    • Improve effciency
      • Reduce unnecessary meetings and issues
      • Documentation and tutorial for New-hire
  4. TmaxData

    …Software Engineer

    1. Backend

    RDBMS engine develop & maintenance w/ C/C++

    • Optimization
      • Minimizing lock to better performance / removing deadlock.
      • Improve caches (partition, global cache, etc.)
    • Feature development
      • PL/SQL engine development
        • Nested Type
        • Dblink protocol
        • PL/SQL VM interpreter optimizing
        • PL/SQL compiled mode design
      • Parser design & development
        • Based on Bison/Flex (DDL, PLSQL, SQL Parser)
        • Custom Parser design to reduce grammar conflict
      • PL/SQL Package development
        • Message Queue based on PL/SQL
        • Debugger based on PL/SQL
      • Gateway
      • Job module
      • DB monitoring process
    • Improve testing
      • CI pipeline management (add test)
      • Introduce unit test
    • Improve development culture
      • Peer code review
      • Write and encourage documentation
      • Add test cases
      • Create docker container for constant development/testing
    • Output
      • Removed most of the severe bugs of our module.
      • Contribute to company for developing important features, about 3x Revenue compared to 18y.
Education
  1. B.S. graduate from Seoul National Univ.

    …CSE

    • Various side project on Github
    • Development activity: UPnL
    • Security activity: Guardian
    • Some events: SW Maestro, Microsoft App Hackathon 등
  2. Software Maestro 3rd member

    …FKII

    • Streaming platform of individual (Android dev.)
    • Game controller platform (Android, server, demo game dev.)
  3. M.S. graduate from Seoul National Univ.

    …CSE

    • Analyzing mRNA data
    • Model design and develop based on Tensorflow
    • Written 4 Paper (one main author)
Paper
  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

    • Model development which find out stress label and biomarkers from large matrix data (time-series mRNA).
    • Reduced dimension by pre-processing matrix data (Calculate DEG p-value and one-hot encoding)
    • Added group effect to avoid overfitting
    • Used CMCL loss for multiple label selection
  2. In silico experiment system

    …Methods

    • In silico experiment delivered as Web application
    • Front: jquery + bootstrap + cytoscape.js
    • Backend: Flask + Rscript for data pipeline
  3. Venn-diaNet

    …BMC

    Venn-diaNet: venn diagram based network propagation analysis framework for comparing multiple biological experiments

    • Improved venn diagram rendering method for biomarkers
    • Venn diagram and node element positioning using Edge weight, which makes capable for N-group diagram
    • Optimize: performance improvement using threshold for selective rendering.
  4. HTRgene

    …BMC

    HTRgene: integrating multiple heterogeneous time-series data to investigate cold and heat stress response signaling genes in Arabidopsis

    • New DEG Algorithm: Using clustering, find order of biomarker and it’s pvalue.
    • Performance Proof: Compared to other DEG algorithm, HTRGene had found remarkable genes other tools hadn’t found with Arabidopsis.
Project
  1. Rhythmus

    …C++, OpenGL, GLFW

    1. Game
    • Game Engine by my own
      • Open source
      • Based on GLFW
      • Performance optimized: multicore resource loader, task scheduler for loading
      • Lag/Delay minimized: dynamic vsync, async event-handler
      • Mixer implementation with Sound effector
    • Multimedia data processing
      • Write decoding for various audio/video/image
      • Support for resource of other game (dxa)
    • Game script engine development
      • External script support (lua)
      • Game script runtime (lr2script)
      • Be-music script library engine
    • CI
      • Used googletest
  2. bmx2ogg

    …C++

    • Audio data processing
      • Audio decode/encode, mixing development with pitch / speed change
    • CI: travis CI for QA automation
  3. iidx.insane.pe.kr

    …python

    1. Backend
    2. Frontend
    3. Web
    • Game record managing
      • frontend: jQuery + bootstrap
      • backend: django + mariadb(ORM)
    • Recommendation service
      • Analyze user data using jupyter notebook
      • Learn user data through Logistic regression & cross entropy
    • CD based on shell script.
  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
    • Motion recognition using machine learning for high accuracy
  6. Rhythmus_java

    …Java

    1. Game
    • Based on libGDX engine
      • High compatibility (Windows, Mac, Android)
      • Small time/cost for development
  7. NovelViewer

    …C++, DirectX

    • Text novel viewer for UMPC
    • Many features: bookmark, automatically open last closed file, etc.
    • Smooth pagination animation
    • Performance optimization: DirectX(GPU) + font cache for better UX
Programming language
  1. Go
  2. Python
  3. C/C++
  4. Java
  5. Rust
  6. Javascript
  7. CSS
  8. R
  9. PL/SQL
  10. shell
Framework & Platform
  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