"No developer is bigger than the Team" This encapsulates my work philosophy.
- 👨💻 As the founder of the GCC (Global Coding Community), I lead a group that connects passionate developers worldwide, fosters knowledge sharing, and facilitates mutual study verification.
- 💻 I'm currently working at Corinex, a company specializing in network devices and modems. My role involves applying in-depth knowledge of network layers 1 to 3 and working extensively with LCMP and Modbus protocols in a Linux environment, using C/C++. One of my key achievements in here is that I designed and implemented a scalable Modbus Server-Client simulator (TCP/RTU) with multi-processing and multi-threading.
- 🌱 I worked at Samsung Electronis as a software developer using C/C++(14) for 4 years. 🗄️ Involved throughout the software life cycle for SSDs, including requirements analysis, architecture design, large-scale feature implementation in C/C++ (14), bug tracking, adherence to coding standards, code reviews, and Coverity, as well as unit and integration testing. Contributed extensively to memory management and optimization efforts, driving performance enhancements that culminated in the launch of the 990PRO SSD!
- 🎉 Released 990PRO SSD in Samsung, which delivered the highest performance of its time!! 🎉 I have released more than 4 SSD products, but this one is especially meaningful to me because I was actively involved from initial architecture design through development, testing, and the final release.
- 🚀 I've engaged in diverse projects involving C/C++, Linux, Docker,Multi Process/Threading and Graphics at 42 Quebec, Canada.
- 💼 I did an intership as a software developer at the Electronics and Telecommunications Research Institute(ETRI).
- 🚁 I was a member of the 10th Software Maestro sponsored by the Ministry of Science and ICT in Republic of Korea, where I developed a Drone Sharing Service Application.
- 🏆 I received the grand prize in the application category at The Open Software Competition hosted by the Ministry of Science and ICT. - (NIPA President Award).
- 📚 I majored in Electronics and Information Engineering at Korea University, gaining extensive knowledge in hardware, including electronic circuits, semiconductors, and FPGA, as well as software-related expertise in C, C++, and Operating Systems.
My expertise areas are C and C++, and I enjoy creating games using rendering and multithreading with these languages. Currently, I work at a networking company, where I contribute to the Modbus library. The projects below reflect this work.
Implemented IRC which is designed for real-time message exchange, primarily for group communication in discussion forums (channels) but also supporting private messaging and data exchange, including file sharing. The server efficiently handles multiple concurrent client connections using a poll-based socket mechanism and employs multithreading to enhance performance.

This project is a C/C++ simulation for EV Chargers, PV Inverters, Heat Pumps, and Substation Meters using Modbus TCP/RTU. The simulation utilizes multi-processing and multi-threading, with these systems as Modbus Servers and field devices as Modbus Clients. It is designed for high scalability and performance, capable of modeling complex communication scenarios in smart energy grids, making it ideal for testing, development, and demonstration purposes in energy and automation systems.

With a strong interest in game engines, started a project focused on 3D rendering. The project involves implementing Wolfenstein-style 3D perspective raycasting and is currently in progress. The goal is to create a simple shooting game.

Reviewed C++ concepts through hands-on coding exercises, covering copy constructors, virtual destructors, inheritance, polymorphism, encapsulation, abstraction, and templates. This project is also used to explain these concepts to university students, coding enthusiasts, and mentees through collaborative practice tasks.
In collaboration with Léopold, we developed a Minishell mirroring Bash's functionality. I focus on pipe, redirection, and signal handling, we seamlessly supported each other's tasks, resulting in a robust shell implementation. This project deepened my understanding of Unix concepts like multiprocessing and file descriptors, showcasing effective teamwork and modern C programming practices.
Implement a solution to the dining philosophers problem using threads and mutexes. Each philosopher is represented by a thread, and there is one fork(resource) between each pair of philosophers. To prevent race conditions, mutexes are used to protect the state of forks.
2D Game : improving graphics development skills related to window management, event handling, colors, textures, and other related areas using OpenGL library
Developed a 2D game from scratch using OpenGL, incorporating graphic techniques to receive and render textures. Utilized map input hooks to capture user movements, dynamically transforming the map accordingly. Implemented the entire process using a Makefile and my own implemented library.
Sort using two deque : This is a algorithm project where we must sort a given list of random numbers with a limited set of instructions, using the lowest possible number of actions.
The "push_swap" program is a sorting algorithm implementation that takes a stack of integers as input and outputs the smallest list of instructions required to sort the stack. The primary goal is to have the smallest number at the top of the stack. The program uses quicksort with two deques, separating elements based on a pivot value. Additionally, mergesort is employed to determine the pivot.
Minitalk (IPC - Server & Clinet) : The purpose of this project is to code a small data exchange program using UNIX signals.
Create a client-server system for exchanging messages through UNIX signals. The server, launched first, prints its PID. The client, taking the server PID and a string as parameters, sends the string to the server, which then prints it.
MyOwnLibrary: A Comprehensive Implementation of String and List Functions with Dynamic Memory Allocation
MyOwnLibrary is the product of my relentless pursuit of a deeper understanding of C/C++ programming. It serves as a testament to my dedication to this craft. This library not only replicates all the essential functions found in <stdio.h> and <stdlib.h> but also takes a step further by implementing a wide array of string and list-related functions. Moreover, it places a strong emphasis on the judicious management of memory allocation, ensuring that efficiency and stability are upheld throughout all operations.
As I continued my journey in C/C++ programming, I embarked on a mission that demanded a profound understanding of variable-argument functions. I decided to recreate the iconic printf function entirely from scratch. This endeavor proved to be pivotal in helping me grasp the intricacies of variable functions and parameters. It was a challenging but immensely rewarding experience, and it significantly enriched my expertise in the realm of programming.
The implementation of get_next_line was a project that made a significant impact on my programming proficiency. This project has greatly enhanced my understanding of static variables and functions, emphasizing their importance in managing and maintaining the state across multiple function calls. Beyond this, it has provided valuable insights into the intricacies of file handling and data manipulation. Its primary purpose is to facilitate the reading of content line by line from file descriptors.
Implemented Android application, established a server using MongoDB and AWS, and developed a Ground Control System (GCS) for drone management. The GCS facilitates communication between devices through APIs, allowing consumers to share and utilize drones located at specific places without owning one. Youtube1 Youtube2
- 📫 How to reach me : [email protected]
- 💬 Feel free to ask me about all of your question.
- 🌱 I'm currently learning about graphics and web.



