I am in charge of developing the backend of navigation content for more than 60 countries around the world, including India, Asia-Pacific, and the Middle East, in Hyundai AutoEver's Global Contents Platform Development team. It has operated a Master Contents Provider (MCP) server in India, which records an average of about 30 million traffic per day, and is currently leading the design of a global Content Update Service (CUS) server, which is expected to generate about 400 million traffic per day when it is fully opened in the future.
My strength is the attitude of focusing on securing stability in large environments. To respond to rapid traffic fluctuations in servers in India, we introduced a circuit breaker library to prevent chain failures, and redesigned the caching logic for load distribution in Redis to increase the stability of cache servers and significantly reduce the failure rate. We also transferred Asia-Pacific on-premises servers to the AWS cloud, built a CI/CD pipeline based on Jenkins, Docker, and Kubernetes, and developed understanding and operational capabilities across the infrastructure.
Jiun Seo
Hyundai Autoever
+82 010-7533-3498
jiun48562@gmail.com
GPA: 4.34/4.50
JAVA, Python, Javascript
BackendAWS(EC2, RDS, SES, Lambda, S3, Route53, EKS, ElastiCache), GCP(Compute Engine, GKE), NginX, Node.js, Django, Springboot, Docker, Jenkins, Kubernetes, FastAPI
DatabaseMySQL, Redis, MongoDB, PostgreSQL, Qdrant
As a back-end developer, I'm currently working on server application development and server infrastructure construction for global navigation services for India and Asia Pacific region at Hyundai AutoEver.
I worked as a QA Manager at Team Sparta and worked with the development team to create detailed test cases and service testing. I created a development inspection process to improve service quality.
This project was conducted while I was taking the "Open-Source Software" course in the fall semester of 2022 at Sungshin Women's University, and is not a project focused on web services, but on building CI/CD pipelines. The web service functions as a simple chatting service that has developed by using Node.Js and Socket.io. The server has utilized GCP and the pipeline has developed by using Docker, Jenkins, and Kubernetes.
I learned the overall contents about SpringBoot while studying as the 9th TAVE. In the first half of the activity, I participated in a study club about SpringBoot, and in the second half, I developed Senapul, an Android app based on what I have learned. You can check what I studied during TAVE on my blog.
I completed the "Basis of Deep Learning" course of the NVIDIA Deep Learning Institute during the 9th TAVE. After taking the lecture and learning the overall contents of deep learning, I learned about training methods, CNN models, and data augmentation of neural networks. And we finally completed the course after passing a test that training a model to demonstrate high accuracy.
After completing the Pirogramming 15th, I worked as Education Supporting Team at Pirogramming 16th. My job was to participate in the establishment of the 16th curriculum and create programming tasks, and to feedback the Python coding test. Also, I taught how to utilize Slack and Jira as project collaboration tools. When I was working on the management team, the task I created was "Design Facebook ERD based on MySQL." Because there are so many features on Facebook in reality, we organized the task to design ERD with only basic features.
I have learned the overall contents of web development at Pirogramming, the web development association club. There are two toy projects that have been done through the club activity.
Mini Game Project (with Python, Crawling)It consists of four mini games, and I developed a game that guesses the singer's name by looking at the title of the song. With BeautifulSoup, the program randomly presented the title of the song and singer's name on the online music chart. We also imported the SequenceMatcher function so that if the answer is more than 30% similar to the answer you guessed, it will be recognized as correct.
Card Game project (with Django)You can sign up for the game through Naver Login, Google Login, or General Login, and if you log in, you can bet on other users. Five cards from random numbers between 1 and 10 are shown and one of them will be selected. If the opponent chooses a card according to the game, the result of the game can be checked. The person with the larger number of cards selected may win, or the person with the smaller number may win, which is unknown because the program determines at random. The winner gets as many points as the number of his cards, and the opponent loses as many points as the number of his cards.
I worked as an editor of CODING WORLD NEWS for 3 months and wrote articles introducing new technologies and trends in IT and technology. Before I started studying development, it was an activity that I started to broaden my insight into the IT field, and as a result, I think I achieved my desired purpose.
Here is the list of articles that I have written.
The Era of Remote Charging Beyond Wireless Charging, Xiaomi's 'Mi Air Charge'
SK Telecom's Challenge to Next-Generation of Mobility Business
Which New Technology is Going to be the Leader of the Future Industry? - Unique Items in CES 2021
Diamond Battery, an Endless Battery Without Charging
Coupang's Unstoppable Entry Into the OTT Market
R, a Powerful Language Which is Emerging in Statistical Programming
Prospects of the Holographic Display Market in 5G Era
The article about holographic displays has become the base of "Dosent Robot with Holographic Display Technology”, my presentation at the 22nd E-Daily Economic Universiade. And I was able to enter to the final with that presentation.
In the case of planterior, there is a large amount of information that is required. Because not only simple interior information but also information about plants must be considered. However, the existing interior information sharing service could not collect plant interior information separately and could not find them together.
OurPlant is a community web service specialized at planterior and it actually deployed and operated for six months. It mainly features sharing interior information / searching plant information / Q&A bulletin board about gardening / like and follow.
My RoleAt the time of the first trial deployment, we received the domain from 'Freenom' for a free domain, but a problem occured in the process of purchasing and reconnecting the paid domain from Gabia. At first, I had a hard time because I didn't know why I couldn't connect the domain. I thought there was a problem with the NginX server file in the process of analyzing the server. As a result, we discovered that the problem was that the https certificates of the two domains have been collided in the process of disconnecting the existing domain and connecting the newly purchased domain. When we deleted the existing certificate and repositioned the new certificate correctly, the domain was connected successfully.
OpenMap shows the companies near you, but also the marker colors are different for each company that is open, holiday, and closed. Other features include registering favorite companies and searching with filters.
My Role"OpenMap" is a map service that displays the location of restaurants, rest restaurants, and hospitals near you differently depending on the current business status. DB queries had become quite complicated because markers were vary depending on the company's type and business status, rather than just displaying markers at the company's location. As each company has different business days, business hours, and breaks, so the queries had become complicated. In addition, each time a user changes the area of the map, the company displayed on the map changes, the amount of query has become significant. Also, the speed of service has become slow. For queries that returns the business status of a company, it became simplified by creating View tables and Raw queries in Sequelize migration files. In addition, we adjusted the unit of event occurrence to solve the server load caused by queries which had generated by users changing the map area. For example, in the past, if a user had generated an event by clicking the mouse, it could be modified to generate an event only when dragging the mouse. As a result, the query generation had reduced and the service speed had improved more than 50%.
Senapul remembers the watering cycle for each plant and sends a notification to user when to water the plant. It also developed to help plant keepers with the ability to write and manage plant diaries and share them with other users.
My RoleIf you send a client request, the server sends you a response. At this time, the value returned by each function in the server is different, so the format of the response sent to the client is all different. But as I developed it, I felt the need of unify their format. In addition, since the response format and response code were not customized, http response of 200,400,500 were basically sent, so there was no way for us to know what the actual problem was. To solve this problem, we created an exception package and created an Enum class called ErrorCode and an ErrorResponse JAVA class. In the case of ErrorCode, it is a class that contains the response code that we customized, and we have assigned the response code that we had promised for various cases such as no token or invalid or incorrect input values. And in the case of Error Response, it is a class with a response format set, and all responses had transmitted in the class format.
Logit is a LLM, RAG-based web/app multi-platform service that provides matching rates between job announcements and corporate talent data and draft self-introduction letters
My Role