미리보기
기본 정보

Seed 단계 스타트업에서 pre-A, TIPS 선정, 250억원 투자유치 스타트업으로 성장하기까지 과정을 함께해온 4년차 백엔드 개발자입니다.
기술 스택
NestJS, MySQL, MongoDB, Redis, Prisma, Jest, aws-ec2, aws-rds, aws-serverless, grafana, Kafka, TypeORM
프로젝트
백엔드 파트 매니징 및 협업 문화 개편
지니소프트
2024.01. ~ 진행 중
조각 투자 도메인에 대해 개발 및 연구를 진행 중이며, 현재 백엔드 파트를 리드하여 개발 중입니다.
경험 기술
Back-End:
Fastify
GraphQL
MySQL
Infra:
AWS CDK
AWS Lambda
RDS
도전 과제
장기적인 연구 개발이 필요한 프로젝트로, 지속 가능한 협업 문화를 구축할 필요가 있었음
Swagger API의 노후화로 인해 프론트엔드 팀과 빈번한 커뮤니케이션 문제가 발생
기존 프론트엔드 파트와의 즉각적인 협업 방안을 모색해야 했음
REST API에서 GraphQL로 전환하면서 팀원의 생산성이 일시적으로 저하됨
개선 및 기여사항
팀원들 서로의 도전 과제를 공유하고 품질 개선을 위해 PR을 통한 코드 리뷰 도입
PR 사이즈, 커밋 전략, 마음가짐 등 피드백에 대한 가이드라인 제시
GraphQL Schema를 명세로 활용해 Swagger API의 노후화를 방지
GraphQL Schema First 방식 & 데일리 스크럼 및 회고 스프린트를 통해 프론트엔드 팀과의 원활한 소통 가능
GraphQL 전환에 따른 생산성 저하를 방지하기 위해 Code Generator, Schema Visualizer, GraphQL IDE 등을 적극 도입하고 문서화하여 팀원들과 공유
고독사 방지, 대상자-복지사 모니터링 서비스 개발 및 운영
지니소프트
2023.05. ~ 2023.07.
누적 관리 대상자 400명 & 하루 1200건의 데이터를 수집 및 가공하여 제공하는 실시간 모니터링 서비스를 제공합니다. 사회적 고립 및 고독사 방지 솔루션을 제공합니다.
경험 기술
Back-End:
NestJS
jest
MongoDB
Redis
BullQueue
Infra: OCI(Oracle Cloud Infrastructure)
도전 과제
상황에 따라 다양한 상태 데이터 수집하고, 각각의 대상자에 맞춰 상태 데이터 가공
대상자 특성상 인터넷이 안되는 환경을 고려해야 함
시간대에 따라 사용자의 상태 데이터를 수집해야 하기 때문에, 아침/점심/저녁 시간대에 대량의 트래픽이 예상됨
개선 및 기여사항
스키마가 일정하지 않은 대상자의 상태 데이터에 따라 MongoDB에서 데이터 저장 및 가공
SMS를 이용한 데이터 수집, 오프라인 사용자의 데이터 수집률 26% 증가
특정 시간대에 발생하는 대량의 트래픽을 대응 → Redis 기반 분산 시스템 도입, 대상자 상태 수집 도메인을 분리
부하 테스트를 통한 슬로우 쿼리 개선
지니소프트/체플런
2023.09. ~ 2023.11.
등록된 상품의 날짜와 회차를 선택하여 체험을 예약할 수 있습니다. 예약 및 결제 모듈 연동과 주문서 관리, 정산 기능을 개발하였습니다.
경험 기술
Back-End:
NestJS
MariaDB
Infra:
AWS AppRunner
ECR
RDS
도전 과제
Grafana K6를 이용하여 부하 테스트 진행
상품 상세정보 페이지에서 상품 콘텐츠, FAQ, 자주묻는 질문 등을 조회하기 위한 Join으로 DB 과부하가 발생
개선 및 기여사항
웹 페이지 스크롤링으로 특정 영역에 도달하면 필요로하는 정보를 쿼리할 수 있도록 개선
평균 부하 테스트 결과 DB 부하를 40% 줄일 수 있었음
지갑 앱내 계좌이체 및 입출금 기능 개발
지니소프트/지오그룹
2022.01. ~ 2022.06.
누적 회원수 2800명 & 하루 평균 트랜잭션 생성 40건, 블록체인 기반 암호화폐를 실생활에서 사용할 수 있게 해주는 서비스입니다.
경험 기술
Back-End:
NestJS
MariaDB
Redis
BullQueue
Infra:
EC2
RDS
S3
도전 과제
블록체인 트랜잭션 처리 속도는 채굴 또는 합의 알고리즘에 의해 오랜 시간이 소요됨
때문에 즉각적인 응답을 받을 수 없으며, 트랜잭션 생성에 실패할 경우 입출금 동기화 문제가 발생할 수 있음
개선 및 기여사항
트랜잭션 처리 상태를 추적하는 별도의 인스턴스 도입
별도의 인스턴스에서 트랜잭션 상태에 대한 이벤트 메시지 발행, 메인 인스턴스(Consumer)에서 비동기 처리
트랜잭션 생성 실패에 대한 롤백 로직과 장애 대응을 위한 Slack 알림 발송
경력
지니소프트
대리 | 실감서비스팀 | 재직 중
2021.03. ~ 재직 중 (4년)
포트폴리오
대외활동
항해 플러스 백엔드 코스 수료
팀스파르타
개요
개발 방법론, TDD와 클린 아키텍처, 대규모 트래픽 및 장애 대응 등 백엔드 개발 전반에 걸친 실무 역량을 기르는 데 중점을 두고 있습니다.
활동 내용
콘서트 예약 서비스 및 대기열 시스템 구축 (Github Repository)
개발 문서: 프로젝트 마일스톤 & ERD, API 명세서 작성 및 Mock API
분산 환경: 동시성 문제 분석과 제어 방법에 대한 다양한 이해
대규모 트래픽: 성능 개선을 위한 대기열 시스템 개선 (feat. Redis)
Query Optimization: 실행 계획 분석 및 쿼리 성능 개선
장애 대응: 부하 테스트를 통한 모의 훈련 진행, 장애 대처를 위한 로깅 적용
🏋️♀️ 웨이트 운동
개인
경력 4년
자기소개
"문제의 본질을 파악하고 팀과 함께 해결하는 백엔드 개발자입니다."
팀 내 개발자들의 개발 경험을 향상시키기 위해 끊임없이 고민하고 제안하는 것을 좋아합니다. 이는 나 혼자 성장하는 것이 아닌, 모두가 성장하는 경험이 저에게 더 큰 성장을 가져다 준다고 믿고 행동하고 있습니다.
이러한 과정속에서 발생한 문제점 그리고 추후 발생할 수 있는 문제점을 파악하고, 어떻게 하면 좋은 방법으로 개선할 수 있을지 고민하고 있습니다. 좋은 방법으로 개선하기 위해서는 빠르게 개발하여 배포하는 역량이 필수라고 생각합니다. 이를 위해 개발 및 배포 자동화, 보일러 플레이트 코드를 최대한 활용하고 있습니다.
자격증
정보처리기능사
2019.01.
웹디자인기능사
교육
광주 전산고등학교
고등학교 | 디지털콘텐츠과
2014.03. ~ 2017.03. | 졸업