Contact
- Location : Korea / Seoul
- Email : unknownpgr@gmail.com
- GitHub : github.com/unknownpgr
- LinkedIn : linkedin.com/in/joonho-gwon
Objective
항상 새로운 분야에 도전합니다. 컴퓨터를 다른 분야에 적용해 새로운 가치를 이끌어내는 것이 목표입니다. 웹, 임베디드, 그래픽스, 머신러닝, 수치해석 등 다양한 분야를 폭넓게 공부해보고 있습니다. 그 중에서도 웹과 임베디드를 주로 공부하고 있습니다.
프로그래머란 컴퓨터를 사용해 문제를 해결하는 사람이라고 생각합니다. 따라서 문제를 정확히 인식하고 문제에 대한 논리적인 해결책을 설계하며 이를 실제로 구현하는 일련의 과정을 중요하게 생각합니다. 그래서 기술에 대한 심도 있는 이해를 추구하지만 특정 언어나 프레임워크에 매이지 않으며 주어진 상황에 따라 적절히 도구로서 선택할 수 있는 능력을 기르려고 노력합니다.
코드를 작성할 때는 클린한 아키텍쳐를 위해 관심사를 분리하며 의존성을 철저히 관리합니다. 최대한 가독성 및 재사용성이 높은 코드를 작성하려고 노력합니다. 이를 위해서 객체지향이나 함수형, 데이터지향 등 다양한 방법론을 필요에 따라 사용합니다.
Education
University of Seoul
- 공학 학사, 컴퓨터 과학, 2026.09 졸업 예정
- Relevant Coursework: 임베디드 시스템, 리눅스 프로그래밍, 선형대수, 수치해석, 컴퓨터 그래픽스
Experiences
-
NAVER LABS
- 소프트웨어 엔지니어 인턴십, 2023.10 - April 2024.04
- 네이버랩스의 자율주행차 ALT-B와 로드뷰 차량을 위한 소프트웨어 빌드 및 배포 파이프라인을 개발했습니다.
-
Republic of Korea Army
- 전술 C4I 운영/정비, 2022.04 - 2023.10
- 군사 네트워킹 시스템을 관리 및 유지보수하여 작전 준비 및 보안을 유지했습니다.
-
The-Form
- 더폼, 테크 리드, 2021.02 - 현재
- 테크 리드로서 프로젝트의 기술적 측면을 관리하고, 클린 아키텍쳐 기반의 확장 가능한 구조를 구현했습니다. 더폼은 1만 명 이상의 MAU를 보유하고 있습니다.
-
Software Maestro 12th
- 소프트웨어 마에스트로 12기 연수생 (우수 연수생 선정), 2021.02 - 2021.12
- 소프트웨어 창업가 양성을 위한 국가 교육 프로그램 소프트웨어 마에스트로에서 사용자 요구사항을 고려한 설문조사 플랫폼인 더폼을 설립했습니다.
-
ZETIN Robotics Club, University of Seoul
- 서울시립대학교 ZETIN 로봇동아리 회장, 2020.12 - 2021.12
- zetin.uos.ac.kr
- 로봇동아리를 이끌며 운영을 감독하고, 하드웨어 설계부터 알고리즘까지 로봇 공학의 기초를 다루는 교육 프로그램을 설계 및 진행했습니다.
-
Human-Centered Artificial Intelligence Lab (HCAIL)
- 서울시립대학교 인간중심인공지능연구실 학부연구인턴, 2019.10 - 2021.02
- 지도교수: 정형구 교수님
- 인간-컴퓨터 상호작용에 관한 다양한 프로젝트에 기여하고, 학부연구생으로서 Asian CHI 2020에 논문을 발표했습니다.
-
International School of Urban Sciences
- 서울시립대학교 국제도시과학대학원 학부연구인턴, 2020.03 - 2022.03
- 지도교수: 염춘호 교수님
- 고속도로 토공 다짐도 측정 및 교통사고 예방을 위한 도로 정보 수집 및 분석을 위한 시스템을 개발 및 관리했습니다.
-
C Programming and Practice, 2019 Winter Semester
- 서울시립대학교 C프로그래밍 및 실습, 2019 겨울학기
- 프로그래밍 교육 및 실습을 진행하며 C언어 기초를 이해시키고 프로그래밍 능력을 향상시켰습니다.
Skills
- Backend: Node.js(Express, Koa, Next.js), Python(FastAPI), NGINX, OpenAPI
- Frontend: React, Typescript, HTML5, CSS(SASS, CSS-module), SEO, Chrome DevTools, Lighthouse
- Testing: Jest, Playwright
- DevOps: AWS(EC2, S3, Route53, ELB, EKS), Container(Docker), Kubernetes, Grafana, Prometheus, Traefik, GitHub Actions, Treafik, Sealed-Secret
- Database: MySQL, SQLite, Redis, MongoDB
- Machine Learning: Tensorflow, PyTorch, Slurm, MATLAB, OpenCV(both C++ and Python)
- Graphics: WebGL
- Embedded / Hardware: ARM(STM32Fxx), PCB Artwork basics
- Robotics: Motor control(PID), Rigid body dynamics(Lagrange dynamics)
- Blockchain: Ethereum, Solidity, Truffle, Ganache, Web3.js
- Language: C, C++, C#, Python, Java(Kotlin), Typescript
- Tools: VSCode, Vim, Eclipse
- Collaboration: Git / GitHub, Slack
- Security: JWT, OAuth
- Architecture Design: Clean Architecture, RESTful API, Knowledge of Microservices, DDD(Domain Driven Design)
- Software Development Process: Agile, Scrum
Selected Projects
Services
The Form
- 더폼은 웹에서 간편하게 설문조사를 만들고, 응답을 수집할 수 있는 서비스입니다.
- 평균 1만, 최대 10만 정도의 MAU를 보유하고 있습니다.
- Tech leader를 맡아 서비스 전반을 관리하고 있습니다.
Real Estate Manager
- 부동산 중개인(공인중개사)가 부동산 매물을 관리할 수 있는 웹 서비스입니다.
- 현재는 홍보 없이 beta 버전으로 운영 중이나, 회원 가입 및 서비스 사용은 가능합니다.
- 1인 개발 프로젝트로, 서비스 아키텍쳐 및 인프라 설계부터 개발, 배포까지 전반적으로 진행하고 있습니다.
Web
Git-Key
- An open source library for safely managing secrets with git.
- ko) Git으로 시크릿 정보를 안전하게 관리할 수 있는 오픈소스 라이브러리입니다.
- My first open source library project.
- ko) 제가 처음으로 오픈소스 라이브러리를 만들어본 프로젝트입니다.
PAB-NFT
- Pixel Art Board (PAB) is a web3 project that allows users to create and trade NFTs.
- ko) Pixel Art Board (PAB)는 사용자가 NFT를 만들고 거래할 수 있는 웹3 프로젝트입니다.
- Based on ERC-721, Solidity, Web3 and React.
- ko) ERC-721, Solidity, Web3, React를 기반으로 만들었습니다.
깃허브 블로그
- Jekyll, Hexo 등 기존에 있는 프레임워크를 사용하지 않고 바닥에서부터 블로그를 만들어봤습니다.
- React / SCSS 등 UI 프레임워크, GitHub Action을 사용한 간단한 CI/CD 등 웹 개발을 위한 기초 기술들을 많이 사용해봤습니다.
토공 다짐도 자동화시스템
- 서울시립대학교 국제도시과학대학원에서 학생연구원으로서 진행한 프로젝트입니다.
- 현장에서 사용하는 장비에서 서버로 데이터 전송, 서버에서 DB에 데이터 저장 및 웹 페이지를 통한 시각화까지 구현했습니다.
Embedded
임베디드소프트웨어 경진대회
- 카메라 및 각종 센서가 장치된 임베디드 리눅스 기반의 차량을 자율주행시키는 대회에 참여하였습니다.
- 임베디드시스템에서의 영상처리, 실시간 제어를 위한 최적화 등을 수행해볼 수 있는 기회였습니다.
자율주행 쓰레기통(?)
- 라즈베리파이를 이용하여 바닥에 그려진 경로를 따라 주행하고, 자동으로 최단거리탐색을 수행하는 쓰레기통을 만들었습니다.
- Memory mapped IO, CPU affinity등 다양한 리눅스 커널 기능을 이용해본 프로젝트였습니다.
라인트레이서
- 로봇 동아리 ZETIN에서 STM32F407 MCU를 사용하여 라인트레이서를 제작하였습니다.
- Interrupt, Register 등 임베디드시스템에 대한 근본적인 이해를 할 수 있도록 해 준 프로젝트였습니다.
Graphics
Reverse Projection-1
- 왜곡된 영상을 비스듬한 각도에서도 정상적으로 볼 수 있도록 프로젝션해주는 프로그램입니다.
- Python+OpenCV를 사용하여 구현하였으며, 2019년 셈틀제에서 5등상을 수상했습니다.
Reverse Projection-2
- Reverse Projection-1을 움직이는 관찰자 입장에서도 사용할 수 있고, 3D 모델에 대해서도 적용할 수 있도록 확장한 것입니다.
- WebGL의 Shader를 직접 작성하고 사용해볼 수 있는 기회였습니다.
- 2020년 셈틀제에서 2등상을 수상했습니다.
도로 시뮬레이터
- 임베디드 경진대회에서 머신러닝을 통한 차선 인식을 구현하고자, 데이터셋 생성 목적으로 도로 시뮬레이터를 만들었습니다.
Numerical analysis
라그랑주 역학 시뮬레이터
- 어떤 역학계의 운동에너지와 위치에너지로부터 라그랑지안을 계산하고, 각 일반화 좌표에 대해 푸는 MATLAB 스크립트입니다.
- 추가로 JS 에서explicit Euler method를 사용하여 시뮬레이션을 만들어봤습니다.
Artificial Intelligence
Face Tracking
- OpenFace 라이브러리 및 SVM을 이용하여 얼굴 인식과 트래킹을 수행하도록 구현해봤습니다.
Fun projects
t-png
- 배경색에 따라 서로 다른 이미지로 보이는 png이미지를 자동 생성하는 python/js 스크립트입니다.
- PseudoInverse 등 선형대수 연산을 사용했습니다.
Mandelbrot Set
- 프랙탈의 한 종류인 Mandelbrot Set을 순수 js와 WebGL을 사용하여 그려봤습니다.
Dragon Curve
- 프랙탈의 한 종류인 dragon curve를 그려봤습니다.
Awards and Honors
- Creativity Award at the 8th Army Startup Competition, 2022 (2022년 제 8회 육군창업경진대회 창의상)
- Real Estate Registration Automatic Verification Solution (부동산 등기 자동 검증 솔루션)
- Top Graduate of the Army Signal School Tactical C4I Course, 2022 (2022년 육군 정보통신학교 전술 C4I 교육과정 최우수 수료)
- Software Maestro Certification, 2021 (2021년 소프트웨어 마에스트로 인증)
- Academic Excellence Award, Second Semester 2020 (2020년 2학기 학업우수상)
- Encouragement Award in X-TWICE Practical Problem Research Group, University of Seoul, 2020 (서울시립대학교 2020년 X-TWICE 실전문제연구단 장려상)
- Development and Evaluation of a Deep Learning-Based Related Papers Recommendation System (딥러닝 기반 연관논문 추천시스템 개발 및 평가)
- Second Place in Semtle Challenge, University of Seoul, 2020 (서울시립대학교 2020년 셈틀제 2등)
- Fifth Place in Semtle Challenge, University of Seoul, 2019 (서울시립대학교 2019년 셈틀제 5등)
- Best Award (Driving Category) in the National University Students Autonomous Vehicle Design Competition, Sungkyunkwan University, 2019 (성균관대학교 2019 전국 대학생 자율주행차 융합설계 경진대회 최우수상(주행 부문))
- Encouragement Award in the 3rd Computer Algorithm Programming Contest, University of Seoul, 2019 (서울시립대학교 2019 제3회 컴퓨터알고리즘 프로그래밍 경진대회 장려상)
- Encouragement Award in the 22nd National Line Tracer Robot Competition, University of Seoul, 2019 (서울시립대학교 2019 제22회 전국 라인트레이서 로봇 경연대회 장려상)
- Entrance Excellence Scholarship, First Semester 2019 (입학우수장학 (2019년 1학기))
- National Scholarship I, From First Semester 2019 to Second Semester 2020 (국가장학 I (2019년 1학기~2020년 2학기))
- Academic Excellence Scholarship II, From Second Semester 2019 to Second Semester 2020 (학업우수장학(II) (2019년 2학기~2020년 2학기))
Publications
- Lee, J., Gwak, S., Gwon, J., Park, J., Eom, S., Hong, S., ... & Jung, H. (2022). Exploring the community of older adult viewers on YouTube. Universal Access in the Information Society, 1-12.
- Gwon, J., Jun, Y., & Yeom, C. (2022). Integration of Dynamic Road Environmental Data for the Creation of Driving Simulator Scenarios. Journal of the Korea Institute of Information and Communication Engineering, 26(2), 278-287.
- Gwon, J., Kwon, M., & Jung, H. (2020, April). Analyzing Bias of Comments on Political News Articles to Facilitate Transparent Online Communities. In Proceedings of the 2020 Symposium on Emerging Research from Asia and on Asian Contexts and Cultures (pp. 49-52).
- Lee, W., Kwon, M., Hyun, Y., Lee, J., Gwon, J., & Jung, H. (2020, April). Uncovering CHI Reviewers Needs and Barriers. In Proceedings of the 2020 Symposium on Emerging Research from Asia and on Asian Contexts and Cultures (pp. 57-60).