미리보기
기본 정보
Java와 SpringBoot를 활용한 백엔드 개발 및 설계에 강점을 가진 소프트웨어 엔지니어입니다. 분산 SQL 엔진인 Trino를 활용한 DataQuery 서비스를 초기 단계부터 개발 및 운영하며 클라우드 환경에 최적화된 컴포넌트 개발을 주도했으며, Redis와 Kafka를 활용해 쿼리 실행 및 배포 로직을 효율적으로 개발했습니다. 또한, 효율적이고 유지보수 가능한 시스템 설계 및 개발에 강점을 가지고 있습니다. 대규모 Stored Procedure를 API로 전환하며 비즈니스 로직을 효율적으로 관리했던 경험과 모놀리스 아키텍처를 MSA로 전환했던 프로젝트를 통해, 복잡한 레거시 시스템을 현대화하는 데 탁월한 역량을 발휘해 왔습니다. 코드뿐만 아니라 인프라부터 서비스 전반을 설계하고 운영하는 것에 집중하고 있습니다. 앞으로도 끊임없이 학습하며, 확장성과 안정성을 갖춘 고품질의 서비스를 제공하는 백엔드 개발자로 성장해 나가겠습니다.
기술 스택
Spring Boot, Java, MongoDB, Redis, Kafka, MySQL, Vue.js, Kubernetes, Docker
경력
NHN Cloud
전임 | DataQuery개발파트 | 재직 중
2022.10. ~ 재직 중 (2년 4개월)
분산 SQL 엔진 Trino를 활용한 DataQuery 서비스 초기 단계부터 개발 및 운영
클라우드 환경 클러스터 배포를 위한 Kafka 기반 배포 컴포넌트 개발
Redis를 활용한 쿼리 실행, 모니터링 컴포넌트 개발
Apache Ozone, MinIO 등 다양한 분산 스토리지 솔루션 분석 및 PoC 주도
NHN
사원 | Global개발팀
2020.01. ~ 2022.10. (2년 10개월)
Stored Procedure 220개 중 180개 제거 및 API 전환
약 40개의 DB 구조 개선 및 컬럼 정리
모놀리스 서비스 MSA 아키텍쳐로 점진적 전환
프로젝트
분산 스토리지 PoC 및 브레인스토밍
NHN Cloud
2024.03. ~ 진행 중
Apache Ozone, Kerberos, MinIO
메인 개발자로 자원하여 신규 데이터 분석용 분산 스토리지 서비스 PoC 및 브레인 스토밍
S3 API 프록시 컴포넌트를 담당하여 설계 및 개발
인프라, 네트워크를 고려하여 서비스를 폭넓게 보는 경험
Iceberg REST Catalog 개발
NHN Cloud
2024.06. ~ 2024.09.
Spring Boot, Java, MySQL
Iceberg 스터디를 주도적으로 진행하면서 Iceberg 데이터 소스 개발
Open API Specification에 맞춰 REST Catalog 개발
구현한 코드가 전무하여 애를 먹었으나 JDBC 코드 기반으로 구현
Partition 관련 Procedure 개발 및 스터디 진행
Trino Web UI 로그인 쿠키 취약점 대응
NHN Cloud
2024.07. ~ 2024.08.
Trino, Java
Trino Web UI 쿠키 탈취 시 한 쪽에서 로그아웃해도 다른 곳에서 정상적으로 로그인되는 이슈 발견
쿠키 생성 시 메모리 캐시에 보관 후 로그아웃하면 해당 메모리 캐시 삭제하도록 코드 수정
도커 이미지 생성 시 수정 모듈 포함되도록 설정 및 사용
Trino 클러스터 배포 컴포넌트 개발
NHN Cloud
2024.04. ~ 2024.06.
Spring Boot, Java, Kafka
클라우드 환경이 변경됨에 따라 기존 사용하던 Argo workflow을 사용할 수 없게됨
배포 과정을 Kafka 메시지로 매핑하여 Trino 클러스터를 배포하는 컴포넌트 개발
서비스 과금 배치 개발
NHN Cloud
2022.11. ~ 2022.12.
Spring Batch, Java
사용자에게 클러스터, 네트워크 사용량에 대한 과금 로직 개발
일 별로 전송한 과금에 오류가 없는지 검증하는 배치 개발
쿼리 실행, 결과 저장 컴포넌트 개발
NHN Cloud
2022.06. ~ 2022.07.
Python, Trino, Redis
Trino 쿼리를 실행, 결과 저장하기 위한 Python agent 개발
사용자가 쿼리를 실행하면 Redis 큐에 쿼리 정보를 저장하고 실행 agent가 주기적으로 polling
쿼리 결과 저장하는 agent는 해당 쿼리가 실행 완료되었는지 계속하여 확인하고 쿼리 결과 NFS에 저장하도록 개발
DataQuery 서비스 개발 및 오픈
NHN Cloud
2021.10. ~ 2022.09.
Spring Boot, Java, MongoDB, Trino, Argo workflow, Kubernetes, Docker
Trino 클러스터를 사용자에게 제공하는 서비스 개발 초기부터 참여
DB 설계 및 아키텍처 구성
배포 관련된 Kubernetes, Argo workflow, 인프라 세팅을 주로 담당
단순 코딩만 하는 것이 아닌 서비스를 전체적으로 바라보는 좋은 경험을 함
모놀리스 서비스 MSA 전환
NHN
2021.07. ~ 2021.10.
미국에서 서비스 중인 B2B 패션 서비스 MSA 전환
기존 코드가 모놀리스 방식이어서 유지보수가 힘들고 관리 부채가 점점 커져갔음
팀원들과 MSA 스터디 및 Products 도메인 별도 API로 전환
테스트 커버리지 90% 이상 달성 후 API 하나씩 이전함
Stored Procedure JPA 전환
NHN
2021.04. ~ 2021.10.
Spring Boot, Java, JPA
비지니스 로직이 90% 이상 Stored Procedure로 관리되고 있어서 유지보수에 어려움이 있었음
사용도, 영향도가 적은 Stored Procedure부터 DB팀과 더블 체크하며 순차적 전환
전체 220개 SP 중 180개 제거 및 전환 완료
교육
금오공과대학교
대학교(학사) | 컴퓨터소프트웨어공학과
2013.03. ~ 2020.02. | 졸업
대외활동
스터디
Trino 코드 스터디 / 2022.10 ~ 2022.12
오픈소스 Trino 소스 코드 Deep dive
이후 서비스 운영하면서 에러 파악하는데 많은 도움이 됨
Iceberg 코드 스터디 / 2024.04 ~ 2024.06
오픈소스 Iceberg 소스 코드 Deep dive
스터디 내용 바탕으로 Iceberg REST Catalog 개발
Software Maestro 10기 연수생
Hyperledger Fabric, SpringBoot, Java, AOS
정부지원 사업, 10기 연수생으로 참여
블록체인 오픈 서비스 기반 티켓팅 서비스
블록체인 클러스터 구축 및 모바일 어플리케이션 개발 담당
AWS 환경에 배포
서비스 정식 출시보다 블록체인을 스터디하는 것에 의의
ACM-ICPC 학교 대표
ACM-ICPC라는 프로그래밍 알고리즘 경진대회에 출전해 학교 대표로 지역 본선에 출전
아쉽지만 본선에서 입상하지는 못함
자격증
정보처리기사
기사 | 한국산업인력공단
2019.08.