INTRODUCE

백엔드 개발자로서, 문제 해결과 성능 개선을 통해 실질적인 가치를 제공하는 데 보람을 느낍니다. 특히, 다중 쿼리와 대용량 데이터를 효율적으로 처리하는 시스템을 구축한 경험이 있습니다. 인턴 기간 동안 2500만 데이터를 처리하며, 서버 기능의 속도를 97% 향상시키는 성과를 이뤘습니다.

3년간 두 개의 서비스를 운영하며, 고객의 불편을 파악하고 피드백을 반영한 경험이 있습니다. 이 과정에서 서버를 중심으로, 프론트엔드와 인프라의 전체 사이클을 이해하며 시야를 넓혔습니다. 이를 통해 문제의 본질을 파악하여 안정적인 서비스 운영에 기여하고자 합니다.

EDUCATION

2019. 03 ~ 2025. 02

상명대학교 소프트웨어학과

졸업) 학점 : 4.07 / 4.5

CAREER

2024. 07 ~ 2024. 09

(주)파이브웍스 / 풀스택 개발자, 인턴  

- 빅데이터 팀
Omnimix 서비스 : 자사 약리학 서비스의 약재 · 질병 분석 시스템을 구축. > 빅데이터 플랫폼 운영에 필요한 Backend 개발과 Frontend 시각화를 담당. > 2,500만건의 대용량 데이터 처리를 위한 DB 인덱싱과 비동기 최적화를 수행.
>  Spring BootJavaSpring SecurityJWTMongoDBReactTypeScriptReact Query
  • 신규 RESTful 서버 개발 & 레거시 마이그레이션
    • 문제 : AWS Lambda 통합 API 운영으로, 확장성 한계와 메인페이지 로딩 지연 발생
    • 해결 : Java Spring 기반의 RESTful 서버 개발, Python Lambda 코드 마이그레이션 후 API 분리
    • 성과 : 분리한 4개의 API를 동시 호출해, 30초 이상 지연되던 메인페이지를 즉시 접근 가능
  • 대용량 데이터의 DB 조회 성능 개선 (2500만 건)
    • 문제 : 질병 데이터가 테이블에 2500만 건 이상 적재되며, DB의 Read 부하 증대 및 속도 저하
    • 해결 : 질병명 기반의 WHERE절 Read 전용임을 고려해, 질병 테이블에 명칭 기준 DB index 생성
    • 성과 : ’약재의 타겟 질병 분석’ 기능을 평균 36.53초 → 8.15초로 약 78% 개선. (1차 개선)
  • 독립적인 순차 작업의 비동기 병렬 최적화
    • 문제 : 서로 의존성이 없는 약재 추출과 질병 추출의 두 작업을 순차적으로 처리하는 비효율 발견
    • 해결 : 비동기 CompletableFuture로 두 작업을 논블로킹 병렬 처리 후, join으로 블로킹해 데이터 통합
    • 성과 : ’약재의 타겟 질병 분석’ 기능을 평균 8.15초 → 3.31초로 약 60% 개선. (2차 개선, 총 97%)
  • 세부 필터링 기능의 응답 속도 개선
    • 문제 : 필터링 기능 사용 시, 조건에 해당하는 대량의 데이터를 일괄 응답하며 대기시간 증가
    • 해결 : Spring에서 60개 단위 Slice 조회 후, React에 IntersectionObserver 무한 스크롤 페이징 적용
    • 성과 : 필터링 API 및 렌더링 속도를 평균 10.52초 → 1.31초로 약 88% 개선
  • 다중 JWT 기반 인증 시스템 개발
    • 문제 : 레거시 비로그인 시스템을 로그인 체제로 전환하며, 새로운 인증 프로세스의 도입 필요
    • 해결 : 계정별 다중 세션 관리는 불필요, JWT(Access & Refresh) 기반 Spring Security 인증 도입
    • 성과 : JWT 권한 기반의 서버 URI 접근 제한과, Refresh 다중 토큰 운용을 통해 보안성 향상

PROJECT

2024. 04 ~ 2024. 06

Dev Race / 백엔드 개발

실시간 코딩 경쟁 및 채팅 서비스 (Github) > STOMP + RabbitMQ 실시간성 기능 개발과 CI/CD 파이프라인 구축을 담당. > Bulk 연산과 N+1 쿼리 최적화를 수행하며, 벤치마킹 테스트를 통한 개선 지표를 측정.
>  Spring BootJavaSTOMPRabbitMQMySQLMongoDBAmazon AWS
  • 실시간성 단체 채팅 기능 개발
    • 단체 메시지의 효율적 전송을 위해, 채팅방 pub/sub 기반의 STOMP 실시간 통신을 구성
    • 외부 메시지 브로커 RabbitMQ를 broker relay 연동, 인메모리 한계를 극복해 과부하 및 소실 방지
    • DB 용도 분리 : 채팅방 정보는 MySQL, 채팅 내역은 스키마리스 확장성을 고려해 MongoDB로 관리
  • CI/CD 파이프라인 구축
    • 프로덕션 환경변수를 Git 서브모듈로 관리, CI 과정에서 자동 로드하여 관리 용이성 확보
    • CI/CD 자동화 : 브랜치 merge → GitHub Actions의 Docker image 생성 → AWS EB 환경 구축/배포
    • Docker Network 자동화 : postdeploy로 인스턴스 내 Spring, RabbitMQ 컨테이너 자동 연결
  • N+1 쿼리 문제 해결
  • 다수 인원 동시 입장 기능의, Bulk Insert 성능 개선
    • 문제 : IDENTITY로 saveAll이 Bulk되지않아 인원수만큼 다중쿼리 발생, 속도 저하 및 입장시각 상이
    • 해결 : JDBC Batch Insert 도입 및 동일한 생성시각 할당, BatchSize 1000씩 나눠 오버헤드 방지
    • 성과 : 1만명 동시 입장) 쿼리 10000회 → 10회로 감소. 속도 14.52초 → 0.86초로 95% 개선.
  • 회원 탈퇴 기능의, Bulk Delete 성능 개선

2023. 09 ~

온라인 메모장 / 풀스택 개발 · 운영

공동 작성 가능한 메모장 서비스 (Github) / 운영 중 · Web , App > 1인 개발 및 서비스 출시, 유저의 피드백을 반영한 API 구조 최적화 · DB 동시성 제어를 수행. > 2025.06 기준) 가입자 수 700여명, 실사용자 수 월평균 약 230명
>  Spring BootJavaSpring SecurityJWTMySQLRedisReactJavaScript
  • 공동 메모의 동시편집 충돌 해결
    • 문제 : 여러 사용자가 동시에 메모를 수정할 때, 마지막 저장자의 내용으로 덮어써지는 문제 발생
    • 해결 : 스케일아웃 환경에서 Redis Lettuce 분산 락으로 편집권 제어, MySQL 낙관적 락으로 충돌 감지
    • 성과 : 5명 동시 편집) DB update 커밋 5회 → 1회로 감소, 나머지 4명의 중복 접근을 성공적으로 차단
  • 메모페이지 API 호출 구조 개선
    • 문제 : 메모 목록을 조회하며, 각 메모가 개별적으로 API를 호출해 페이지 로딩이 지연됨
    • 해결 : 페이지 상위 컴포넌트에서 API 단일 호출 후, 데이터를 하위 컴포넌트로 일괄 전달하도록 재구성
    • 성과 : 30개 보유 페이지 로딩) API 요청 91회 → 2회로 감소. 속도 11.27초 → 0.19초로 98% 개선.
  • 로그인 유지 안정화
    • 문제 : Filter의 JWT 만료 예외가 ExceptionHandler로 전달되지 않아, 토큰의 재발급 알림이 중단
    • 해결 : 예외가 상위 Filter로 전파되는 특성을 이용해, 앞단에 ExceptionFilter를 추가하고 만료를 캐치
    • 성과 : 만료 시 Access 토큰을 자동 재발급, Refresh 토큰의 유효기간 동안 로그인 유지 지속

ACTIVITY

2024. 12

SW 코딩프로젝트 공모전, 수상 🏆

SW 중심대학사업단
  • 백엔드 개발 담당 (Spring)
  • 스마트 카트 : 온/오프라인 마트 최저가 비교 서비스
    • 촬영한 가격표를 OCR 처리 후, 최저가 도출하는 LLM 전처리 로직 개발

2024. 02 ~ 2024. 08

Kakao x 9oormthon Univ. 2기

수료) 백엔드 개발자
  • 구름 벚꽃톤 대회, 백엔드 개발 담당 (Spring)
  • 가정통신문 : 실시간 웹푸시 알림 공지 서비스
    • PWA 환경의 그룹 승인 및 공지 알림을 위해, FCM 웹푸시 기능 개발

2023. 09

SW 융합 클러스터 2.0 해커톤, 최우수상 🏆

과학기술정보통신부 · 정보통신산업진흥원
  • 팀장 · 백엔드 개발 담당 (Spring, Django)
  • Sock Sense : 시각장애인을 위한 양말 판별/코디 서비스
    • 비즈니스(Spring) · 영상처리(Django) 서버 분리 구축/배포, MSA 방식 연동

2022. 08 ~ 2023. 09

Google Developer Student Clubs. 2기

수료) 백엔드 개발자
  • Spring 백엔드 스터디그룹 운영

SKILL

Back-End

  • Spring Boot, Java
  • Spring Security, JWT
  • MySQL
  • MongoDB
  • JPA
  • AWS

Front-End

  • React
  • TypeScript
  • JavaScript