미리보기
기본 정보

한때 국가대표 쇼트트랙 선수를 꿈꿨지만, 큰 부상을 겪고 회복하는 과정에서 프로그래밍을 접하게 되었습니다. 현재는 소프트웨어 엔지니어로서 여러 공동체에 도움이 되는 서비스를 만드는 데 큰 보람을 느끼고 있습니다. 앞으로도 사람들의 필요를 발견하고, 개발이라는 강력한 도구를 활용해 더 많은 이들에게 도움을 주고 싶습니다.
기술 스택
경력
(주)타이드스퀘어
소프트웨어 엔지니어 • 스퀘어랩실
Kyte 호텔 예약 서비스 및 어드민 플랫폼 개발 (Nest.JS, gRPC-Kotlin, React.JS)
VPC 설계 및 EKS cluster 무중단 migration
기존에는 dev와 prod phase가 동일한 VPC를 사용중이었으나, PCI-DSS 인증을 위해 각각 별도의 VPC를 사용하도록 설정을 변경해야했습니다. 그래서 새로운 EKS 클러스터들을 처음부터 구성하게 되었습니다.
이 때, Pulumi(IaaC tool)를 사용하여 dev, prod phase 별로 VPC를 구성하면서, prod 환경이 실수 없이 생성될 수 있도록 작업했습니다.
Langchain 기반 호텔/항공 멀티턴 검색 에이전트 설계 및 개발
OpenAI의 structuredOutput 과 zod를 사용하여 검색에 필요한 조건이 모두 충족될 때까지 대화를 유도하는 멀티턴 검색 에이전트를 설계하고 개발을 진행했습니다.
AWS DMS를 활용하여 RDS 무중단 migration을 진행
AWS DMS는 데이터만 복제할 수 있을 뿐, DB 스키마나 인덱스 등의 설정은 자동으로 이전해주지 않기 때문에, Python 스크립트를 작성하여 스키마와 인덱스를 별도로 이관하고, 안정적으로 마이그레이션을 완료했습니다.
빌드 및 배포 프로세스 개선을 통한 AWS 비용 절감 (전체 비용의 35% 절감)
컴퓨팅 성능 향상과 비용 절감을 위해 AWS EKS 환경에서 m5(Intel) 인스턴스에서 m7g(ARM) 인스턴스로 무중단 migration을 수행했습니다. 이를 위해 Docker 이미지 빌드 시 ARM64 아키텍처에서도 호환되도록 빌드 프로세스를 개선했습니다.
관련 블로그 글 : Jenkins Kubernetes Plugin과 Spot instance 사용으로 AWS 비용 절감하기
Jenkins에서 Kubernetes plugin을 활용하여 spot instance에서 모든 jenkins pipeline이 실행되도록 개선하여 인스턴스 비용 77%을 절감할 수 있었습니다.
MongoDB Atlas 버전 업그레이드 진행
Stable API를 적용하여 하위호환성을 지키는 안정적인 버전 업그레이드(5.0 → 8.0)를 진행했습니다.
Kotlin Mongo Driver Custom Codec Provider 개발
기존에 KMongo가 미지원하던 Atlas Vector Search의 vector aggregate 기능을 지원하기 위해 Jackson으로 직렬화/역직렬화 될 수 있는 Custom Codec Provider를 작성했습니다. 이 과정에서 Mongo Java Driver 오픈소스에도 기여할 수 있었습니다.
activeDeadlineSeconds 옵션과 maxDuration 옵션의 동작 방식에 대한 문서화에 기여했습니다.
관련 블로그 글 1 : Argo Workflows, 오해를 넘어 기여하기
activeDeadlineSeconds 값이 충분하게 설정되었음에도, workflow가 재시도될 때 maxDuration limit exceeded 에러가 발생하는 원인에 대한 오해를 방지하는 과정에서 오픈소스 프로젝트에 기여할 수 있었습니다.
관련 블로그 글 2 : 죽임당한 컨테이너 (exit status 143)
Exit status 143 의 의미를 파악하고, Kotlin의 OkHttpClient의 커넥션을 수동으로 관리하여 Workflow가 종료되지 않는 문제를 해결했습니다.
LLM을 활용한 호텔 상세 정보 제공 사용자 경험 개선
객실에 해당하는 요금들을 매칭 시키는 룸매핑에 Fine Tuning 모델을 사용하여 룸매핑 성능과 사용자 경험을 개선했습니다.
객실명과 요금에 대한 Vector Embedding을 생성 후, Vector Search를 사용하여 효율적인 룸매핑 시스템을 설계했습니다. 그러나 성능 및 비용 문제로 인한 실제 서비스에는 반영되지 않았습니다.
최장 공통 부분 수열(Longest Common Subsequence) 알고리즘을 변형 사용하여, 중복되는 태그를 가진 객실의 HTML description의 병합 과정을 개발 했습니다. (Kotlin)
룸매핑 관리 백오피스 서비스를 개발 했습니다. (React.js)
사내에서 룸매핑에 공통으로 사용하는 서비스가 되었습니다.
HTML Drag and Drop API를 사용하여 호텔 객실 이미지 노출 순서 변경 어드민 기능을 제작했습니다.
Typescript Custom ESLint Rule 개발
Nest.JS 기반의 서비스를 개발하면서, 의도치 않은 this 바인딩을 방지하기 위해 Typescript custom eslint rule을 제작했습니다.
(2년 1개월 | 정규직)
주식회사 스퀘어랩
소프트웨어 엔지니어 • 스퀘어랩
Kyte 호텔 예약 서비스 및 어드민 플랫폼 개발 (Nest.JS, gRPC-Kotlin).
Logging system을 AWS OpenSearch에서 Datadog으로 migration 진행
관련 블로그 글 : K8s 클러스터에 Datadog 적용하기
Micro Service Architecture 환경에서 서비스 모니터링과 로그 관리를 효율적으로 하기 위해 Datadog Helm Chart를 Kubernetes 클러스터에 적용했습니다.
항공/호텔 구매 전환율 향상을 위한 사용자별 푸시 메시지 전송 시스템 개발 (BigQuery, AWS SQS)
사용자가 버킷리스트에 추가한 항공권과 호텔들의 요금 트래커를 개발했습니다.
비용 절감을 위해 AWS DocumentDB에서 MongoDB Atlas로 migration 진행
URL Shortner 개발 (Nginx, Django)
(5개월 | 정규직)
시공간
Frontend Engineer • 개발팀
사용자 위치 기반 맛집 공유 서비스 개발 (Golang, React Native, GraphQL)
(5개월 | 계약직)
프로젝트
개인
ecukorea.com
선교단체 ECU 홈페이지 기획 / 디자인 / 개발
Google Sheet, Google Calendar API 연동 (Next.JS)
여러 인스타그램 계정의 포스트를 크롤링하는 Instagram 크롤러 개발 (Node.JS)
네이버 커넥트재단 <부스트캠프 웹・모바일 7기> 멤버십
PRV
개인
sungbin.dev
개인 블로그
블로그 글에 대한 검색 엔진의 원활한 노출을 위해 React.JS에서 Next.JS로 마이그레이션 진행
특정 시간 특정 블로그 글의 사용자 방문 과다로 GitHub Markdown API의 Rate Limit 도달로 인해 블로그 글의 렌더링 실패 문제 해결
기타
두軍두軍 상담소
비대면 상담 서비스
코로나 블루를 겪는 군 장병을 위한 비대면 상담 서비스 개발
GraphQL 백엔드 API 개발 (Django, Graphene)
Optimistic Response를 적용한 UI 개발 (React, Relay.js)
GCP Cloud Run으로 서비스 배포
서울시립대학교 화학공학과
SAFT-GO
Phase Equilibrium Calculation Service
혼합 물질의 다양한 성분비에 대한 상평형 계산을 병렬적으로 수행하는 서버 개발 (Golang)
사용자에게 상평형도를 그려주는 클라이언트 개발 (React.JS)
포트폴리오
교육
네이버 커넥트재단
사설 교육 | Web Full-stack
2022.08. ~ 2022.12.
수료
네이버 커넥트재단
사설 교육 | Web Full-stack
2022.07. ~ 2022.08.
수료
2021 오픈소스 컨트리뷰션 아카데미
사설 교육 | RustPython
2021.08. ~ 2021.11.
수료
서울시립대학교
대학교(학사) | 화학공학과
2016.03. ~ 2020.02.
졸업
대외활동
서울시립대학교
서울시립대학교 멋쟁이사자처럼
5기 (멘티), 6-7기 (운영진, JavaScript 강의)
2017
자격증
New Teps
344 | (재)서울대학교발전재단
2021.04.
외국어
영어
일상 회화 가능
자기소개
문제를 분석하고 기술로 해결하는 일에 큰 흥미를 느껴 개발자의 길을 선택하게 되었습니다. 지금은 단순히 코드를 작성하는 것을 넘어, 서비스의 구조를 설계하고, 실제 운영 환경에서 발생하는 문제를 해결하며 사용자 경험을 향상시키는 일에 깊은 보람을 느낍니다.
TIDESQUARE에서 호텔 예약 서비스 Kyte를 개발하며 백엔드, 인프라, 프론트엔드까지 폭넓게 경험해왔습니다. PCI-DSS 인증 대응을 위한 VPC 분리 및 무중단 EKS 클러스터 마이그레이션, ARM 기반 인스턴스로의 전환을 통한 AWS 비용 35% 절감, Datadog 기반의 서비스 로깅/모니터링 체계 구축 등, 기술적 복잡도와 실무 안정성을 모두 고려한 작업을 주도적으로 수행해왔습니다.
또한, 사용자의 행동 데이터를 바탕으로 맞춤형 알림을 전송하는 요금 트래커 시스템(BigQuery, AWS SQS)과, LangChain 기반 멀티턴 검색 에이전트 개발을 통해 AI 기술을 실무에 효과적으로 접목하고자 노력해왔습니다. MongoDB Atlas의 Vector Search 기능을 지원하기 위해 직접 Custom Codec Provider를 개발하고, Mongo Java Driver 오픈소스에 기여하는 등 기술의 본질을 이해하고 개선하는 데에도 관심이 많습니다.
서비스가 마주한 문제를 깊이 이해하고, 실질적인 해결책을 제시하는 개발자가 되고자 합니다. 함께 일하는 동료와 팀에 신뢰를 주는 사람으로 성장하겠습니다.