Before I Begin…
A little introduction of how I arrived at this position.
My journey into professional software development began with a significant step at EMG Global. This role was particularly important as it fulfilled the professional experience hour requirement for my diploma, as part of the University of Toronto's Professional Experience Year co-op program.
The timing coincided with the COVID-19 pandemic, and a dose of homesickness, having no family in Canada, led me to seek a job back in Korea. After the one-year contract expired and I had over-fulfilled my work experience requirement, I didn’t want to return to school right away; I wanted more experience.
Although EMG offered an upgraded compensation package if I were to stay in Korea, I was looking for something new, at a new place.
About EMG Global
I joined EMG Global, a mobility start-up, as a Software Engineer from July 2021 to July 2022.
My primary objective was to gain hands-on professional experience in the field, applying my academic knowledge in a real-world setting and understanding the dynamics of a corporate environment.
My skill set at EMG included HTML, CSS, JavaScript, jQuery, JSP, Spring, Java, React.js, Web APIs, and PostgreSQL. I also gained experience with tools like Eclipse, Android Studio, Git (Bitbucket), FTP servers, web domains/hosting, and Figma.
Key Responsibilities and Projects
During my tenure at EMG Global, I was actively involved in several key projects that allowed me to gain technical experience:
RUTA40 Electric Camping Car WordPress Website (July 2021 - August 2021)
- Developed a promotional website for the first sample electric camping car.
- Implemented the given design using Elementor WYSIWYG tool, overcoming limitations with custom HTML/CSS.
- Handled web domain, hosting, and deployment via SFTP.
Ministry of Land, Infrastructure and Transport Smart City Challenge - Daegu Metropolitan City (July 2021 - March 2022)
-
Participated in a consortium for a 2 billion KRW (approximately $2 million USD) Daegu Metropolitan City web-based smart CCTV traffic data dam preliminary project.
-
Successfully showcased the preliminary project, leading to the selection for a 4 billion KRW (approximately $4 million USD) main project.
-
Developed an administrator dashboard using JSP (HTML, CSS, jQuery) to display collected data such as cumulative vehicle traffic, hourly pedestrian counts, and traffic light system information via APIs.
-
Gained direct experience developing simple data reception APIs using jQuery, Spring, Java, and Swagger.ui.
-
The Smart City Dashboard

RUTA40 Electric Camping Car Website Renewal (March 2022 - April 2022)
-
Renewed the existing WordPress webpage for camping exhibitions and marketing purposes.
-
Utilized HTML, CSS, jQuery, animation libraries, and Bootstrap instead of a WYSIWYG tool.
-
Managed uploads and maintenance via web hosting and SFTP.
-
Achieved a complete sell-out of 20 camping cars in 3 days after the exhibition and YouTube marketing.
-
Here's a visual of the RUTA40 Website Renewal:

RUTA40 Electric Camping Car Smart Key Web App (April 2022 - July 2022)
-
Developed a hybrid web app for sold camping car users and potential buyers, functioning as a digital smart key.
-
Provided convenience features such as vehicle door opening/closing, vehicle data checking, battery status push alarms, QR code scanning for vehicle registration, and a highly compatible charging station finder.
-
Developed the React web app and Android WebView, utilizing React Router, Axios, styled components, CSS modules, Framer Motion, and Mantine.dev component library.
-
Implemented JWT authentication, ProtectedRoutes, and backend communication for vehicle data API calls.
-
For the charging station finder, I used public data to display compatible charging stations based on the user's current location or map center coordinates, applying CORS Policy, localStorage API, and GeoLocation API.
-
Integrated navigation within the web app and Android app using map app navigation APIs.
-
Implemented Android JavaScript Bridge for back button events, various permissions, and Intent utilization, along with in-app updates for the Android Play Store.
-
Here's a visual of the RUTA40 Smart Key Web App:

Tangible Impact and Achievements
My contributions at EMG Global yielded several notable achievements:
- Provincial Project Dashboard Delivery: I was responsible for delivering the frontend of a pilot provincial project dashboard for a smart-city campaign. This dashboard played a crucial role in Daegu becoming a finalist for 4 billion KRW (approximately $4 million USD) in funding, demonstrating the direct impact of my development work.
- Tech Stack Migration Co-Leadership: I co-led the crucial tech stack migration of the smart-city project. This involved transitioning the frontend from jQuery to React.js and the backend from Spring to Spring Boot. This migration significantly modernized the project's architecture and improved its maintainability.
- Developer Experience Improvement: To enhance productivity, I implemented changes that reduced the development server startup time by 90% by utilizing Vite. This optimization directly improved the developer experience for the team.
- Android WebView Application Delivery: I developed and delivered an Android WebView application tailored for RUTA40 camping EV owners. This application significantly increased customer satisfaction.
- Direct Business Impact: My work on the RUTA40 website renewal directly contributed to the complete sell-out of 20 camping cars in 3 days following the exhibition and YouTube marketing.
Lessons Learned and Growth
My experience at EMG Global was instrumental in shaping me as a software engineer. It provided me with:
- Hands-on Technical Proficiency: I gained practical, hands-on experience with various technologies and systems, including HTML, CSS, JavaScript, jQuery, JSP, Spring, Java, React.js, Web APIs, PostgreSQL, Linux FTP servers, and EV hardware-software integrations.
- Full-Stack Exposure: My involvement in both frontend and backend development, including API creation, broadened my understanding of full-stack development.
- Project Lifecycle Understanding: I learned about the full lifecycle of software development, from contributing to pilot projects to leading significant tech stack migrations and deploying applications.
- Impact-Driven Development: I saw firsthand how my development work directly contributed to business outcomes, such as securing funding and improving customer satisfaction and sales.
- Problem-Solving and Optimization: I honed my problem-solving skills, particularly in overcoming development challenges with WYSIWYG tools and optimizing development workflows by introducing new build tools like Vite.
- Deployment and Infrastructure: I gained practical experience with web domains, hosting, SFTP deployment, and FTP servers.
This period reinforced my drive to seek new challenges and continually expand my technical horizons.