×
Wonshik Kim

Wonshik Kim

Technical Director, Lead Software Engineer

131 Yangji-ro, Wonju, Gangwon-do, KR, 26461
+82-10-7239-9575
Korean, English

Background


About

About

I am a very product focused developer who prioritize user feedback first. Even though I had been working at same company for a long time, but I have various experience from lots of projects. And I am generally very flexible when investigating new roles and technologies.

Work Experience

Work Experience

  • Personal Project, Personal Project

    Dec, 2023 - Present

    • Designed and implemented a control system for a heating, ventilation, and air conditioning (HVAC) system using Raspberry Pi, MCP3008 ADC, and PWM to 0-10V voltage converters. Managed the control of NTC Thermistors, circulation pumps, and heat pumps.

    • Developed microservices using the Modbus protocol to communicate with temperature and humidity sensors, as well as a heat recovery ventilation system. Recorded real-time data in a time-series database and implemented visualization features.

    • Created business logic to control the HVAC system based on user-set temperature and humidity preferences. Utilized weather forecasts, real-time indoor climate data, and the heat recovery ventilation microservice. Established a solution with a focus on energy efficiency and indoor comfort, ensuring observability for data validation.

  • Technical Director, Development Director, Burning Galaxy

    Oct, 2022 - Dec, 20231 year 1 month

    • Established streamlined processes for the development team. Acted as an Agile coach, guiding the team in creating user stories and promoting a collaborative and efficient work culture.

    • Prototyped virtual avatars using OpenAI's GPT model, along with Speech Recognition and Text-to-Speech tools

    • Used Docker to package and deploy large online servers for the metaverse. Ensured smooth deployment on Windows Kubernetes for scalability.

    • Integrated ADOT into a Spring-based app for better observability. This allowed us to closely monitor and enhance the application's performance.

  • Lead Software Engineer, Codebrick Inc.

    Dec, 2021 - Sep, 20229 months

    • Establish OpenVPN Cloud using TGW and OpenVPN connector to access private resources in multiple VPCs.

    • Set up an effective microservice monitoring environment by integrating applications and Datadog: Distributed tracing, Logging, Unified service tagging, etc.

    • Development an omni-channel service that centrally manages multiple third-party sales channels. Using the Nest.js framework and writing unit tests and e2e tests. Exchange messages between multiple microservices using Kafka.

    • Introduction of best practices for applying idempotent publisher/consumer to prevent Kafka message duplication.

  • Lead Software Engineer, Electronic Arts Korea

    Feb, 2020 - Dec, 20211 year 9 months

    • Introducing Cloud Native Transformation and proposal of Service Mesh architecture.

    • Implementation of automatic release and version control using Gitlab CI and semantic-release.

    • Implement cross-region matchmaking service on Nest.js, Service Mesh, Prometheus and Grafana.

    • Applying GitOps to the Russian live server pipeline.

    • Use the CDK to configure a production-ready infrastructure, which is to prepare the architectural design for transitioning on-premises services to the Cloud.

  • Director of Engineering, MyCelebs

    Oct, 2019 - Feb, 20203 months

    • Building a development team and setting up a new development process.

    • Draft multi-region architecture design for "MaiMovie" global service.

  • Engineer, Electronic Arts Korea

    Feb, 2019 - Oct, 20198 months

    • Migrated internal GitLab projects maintained by EA Korea to EA global GitLab service.

    • Introduced GitLab Continuous Integration (CI); Review previous automation process and reinforce CI/CD automation to avoid human errors and increase efficiency.

    • Applied an algorithm to encrypt messages and verify requests during client-server communication.

    • Technical review about the server architecture, and applicable techs.

    • System architecture design for Interactive Broadcasting solution with subcontractor.

  • Senior Engineer in Asia Central Tech, Electronic Arts Korea

    Aug, 2018 - Jan, 20196 months

    Asia Central Tech team develops common systems for online PC/Mobile game servers. ACT as a tech-ops team is a technology services and solutions provider, uniquely positioned for online game server framework, 3rd-party publishers SDK integration, business intelligence and live tools. ACT has been working with FIFA Online 3, Need For Speed: EDGE, and FIFA Online 4 products.

    • Provided solutions and technical bridges to solve technical problems in China and other Asian markets.

    • Established a foundation of new solutions for working with EA's technology and systems; Review, improve, and share new development processes.

  • Server Engineer of FIFA Online 4, Electronic Arts Korea

    Feb, 2018 - Jul, 20185 months

    FIFA Online 4 is a free-to-play massively multiplayer online football game developed by EA Korea and published by Nexon. It was released on 17 May 2018 in South Korea and various Southeast Asia countries before the FIFA World Cup on 14 Jun.

    • Made plans and execute load-test to ensure stable server build.

    • Setup Kubernetes cluster and orchestrate all services related in live service.

    • Configured Redis cluster, MongoDB shards, and RabbitMQ cluster.

  • Technical Director of Need for Speed: EDGE, Electronic Arts Korea

    Jan, 2017 - Feb, 20181 year 1 month

    Need for Speed: EDGE is a free-to-play massively multiplayer online racing game developed by EA Korea and published by Nexon from South Korea and Tencent Interactive Entertainment from China. It is the third free-to-play game in the franchise overall, along with being the only free-to-play racing game that runs on the Frostbite 3 game engine. It is based on the 2013 title Need for Speed Rivals. The open beta was released on December 10, 2017.

    • Setup the development roadmap.

    • Reviewed and improved live release process to increase efficiency.

    • Discovered common patterns in various technical issues to generalize them and solved the problem easily.

    • Established an agile-based development process to facilitate dev-ops.

    • Evangelized Jira usage and scrum master process to all levels of positions.

    • Communicated between multiple internal functions and external studio to align issues and identify risks.

  • Lead Server Engineer of Need for Speed: EDGE, Electronic Arts Korea

    Apr, 2014 - Dec, 20162 years 9 months

    • Introduced Angular.js to game UI development.

    • Introduced Micro Service Architecture, each service is fine-grained and the protocols are lightweight.

    • Introduced Docker and Docker Swarm to orchestrate containers in multiple nodes.

    • Architecture design for all Need for Speed: EDGE game services.

    • Developed MSA framework for Node.js.

  • Lead Server Engineer of FIFA Online 3/Mobile, Electronic Arts Korea

    Aug, 2013 - Mar, 20148 months

    FIFA Online 3 is a free-to-play massively multiplayer online football game which was released on 18 December 2012 in South Korea. The game was available in other regions, including Thailand, Indonesia, Vietnam, Singapore, Malaysia and China.

    • Improved matchmaker services to optimize in distributed environment.

    • 3rd-party platform integration: payment service.

    • Generated statistics for Server API Metrics.

    • Setup communication channel between internal development team and 3rd-party platform team.

  • Client & Server Engineer of FIFA Online 3, Electronic Arts Korea

    Sep, 2011 - Jul, 20131 year 11 months

    • Integrated Scaleform, which a vector graphics rendering engine used to display Adobe Flash-based user interfaces and HUDs.

    • Designed and setup UI framework architecture.

    • Developed core UI components.

    • Setup UI development pipeline.

    • Integrated libCurl library to help server-client communication.

    • Implemented business logics using REST API.

  • Client Engineer of FIFA Online 2, Electronic Arts Korea

    Jan, 2010 - Aug, 20111 year 8 months

    FIFA Online 2 was a free-to-play massively multiplayer online football game jointly developed by EA Singapore and Neowiz Games. But EA Korea took ownership and the game was soon upgraded to the FIFA 10 engine in 2010. FIFA Online 2 was free to play but it earned its revenue by selling virtual cash which was used to purchase items such as uniform cards to get players for team and stats boosts.

    • Improved project build pipeline.

    • Graphical engine upgrade; rewrite all of rendering pipeline and optimize rendering performance.

    • Developed UI scenes.

  • Client Engineer of NBA Street Online, Electronic Arts Korea

    Jun, 2008 - Dec, 20091 year 6 months

    NBA Street Online is a free-to-play massively multiplayer online basketball game. This game is developed by EA Korea and Neowiz Games. Neowiz in charge of UI/Frontend development and EA Korea developed game engine and backend game play.

    • Optimized a shader code both of in-game characters and environment to increase rendering performance in low-spec PC.

    • Created new text cache system for rendering dynamic text.

    • Renewal old tutorial mode.

    • Improved game play logics.

    • UI rendering quality improvement.

Skills

Skills

  • Platform

    Distributed environment

    Containerization

    Container orchestration

    Clustering

    Load balancing

    Cloud Native

    Istio

    Distributed Tracing

  • Backend

    Node.js

    Redis

    MongoDB

    RabbitMQ

    Consul

    Prometheus

    Elasticsearch

    Kafka

    Datadog

  • Infrastructure

    AWS/CDK

    Kubernetes

    Docker

  • Language/Framework

    Javascript/Typescript/ES6

    Nest.js

    C/C++

    Python

Education

Education

  • Division of Media, Bachelor, Ajou University

    Mar, 2003 - Feb, 2009