my_blue_img
안녕하세요,
백엔드 개발자
최준호입니다.

문제를 발견하고 개선하는 데 집중하는 백엔드 개발자입니다.

백엔드 개발자 최준호입니다. 실무에서 레거시 시스템 개선, 트래픽 최적화, 인프라 자동화 경험을 통해 문제 해결 능력을 강화해왔습니다. 작은 일을 잘하면 큰일을 하게된다. 라는 말을 믿으며 사소한 일도 남들이 하기 싫어하는 일도 마다하지 않고 모든 일에서 배울 것이 있다 생각하며 최선을 다하는 개발자가 되기 위해 노력하고 있습니다.

Work Experience.

BDACS

BDACS

Backend Developer2025. 08 - now

Architecture

  • MSA 프로젝트

DevOps

  • aws
  • github action

BE

  • java17
  • spring boot 3.5.5
  • MySql, JPA
  • SNS, SQS

Domain

  • 가상자산 custody 플랫폼
카카오VX

카카오VX

Backend Developer2022. 08 - 2025. 07

Architecture

  • MSA 전환 프로젝트

DevOps

  • aws
  • code deploy

BE

  • java11~17
  • spring boot 2.xx ~ spring boot 3.xx
  • mysql, MyBatis

FE

  • vue, js, thymeleaf

Domain

  • 골프 예약 플랫폼
Code Block

Code Block

Backend Engineer2020. 01. 15 - 2022. 07. 31

Architecture

  • monolith

DevOps

  • naver cloud
  • jenkins

BE

  • java8
  • spring
  • mysql, MyBatis

FE

  • vue, js, jquery, JSP

Domain

  • 쇼핑몰 빌더 플랫폼

Team Project.

ISMS 심사대응

2025. 09 - 2025. 11BDACS
ISMS 심사에 대비하여 암호화 알고리즘 교체, 동시 접속 차단 기능, 로그인 기록 기능, 로그인 session 유지 기능을 개발하였습니다.
javaspring bootsns/sqsredismysql

해결

  • 기존 BCrypt 암호화 알고리즘을 SHA-512로 교체 진행
    • Spring에서 제공하는 DelegatingPasswordEncoder를 사용하여 이후 2년마다 암호화 알고리즘을 변경할 수 있도록 구현
  • 동시 접속 차단 기능 구현
    • 기존 구분값이던 token을 user_uuid와 mapping하도록 하여 1인 로그인 기능 구현
  • 로그인 session 기능 구현 중 트러블 슈팅
    • 1시간 마다 세션을 수동으로 연장하도록 기능 구현 중 FE쪽에서 PC 시간 설정에 따라 서버의 시간 차이로 인해 시간이 다르게 표시되는 이슈 발생
    • NTP 개념을 도입하여 문제 해결
  • 로그인 기록 기능 구현
    • 로그인 시간, 로그인 IP, 로그인 기기 정보를 저장하여 로그인 기록을 확인할 수 있도록 구현

배운점

  • KISA 정책에 맞는 암호화 알고리즘 구현을 위해 salt 구현, 보안 강도(112비트 이상), 느린 해싱 알고리즘 등을 고려할 필요성을 알게 되었습니다.
  • stateless한 token을 stateful한 token으로 변경하는 방법에 대해 고민해볼 수 있었습니다.
  • Network Time Protocol을 통해 서버와 클라이언트의 시간 차이를 해결할 수 있다는 것을 알게 되었습니다.

골프예약 운영 - 트러블슈팅

2024. 08 - 2024. 09KakaoVX
ERP 배치 서비스가 랜덤한 시점에서 다운되어 APM 도구(Dynatrace)를 사용하여 문제를 분석하고 JVM 분석 도구를 통해 트러블슈팅을 진행한 경험입니다.
javaspring bootdynatracejmap

문제

  • 애플리케이션 로그 없이 서버가 죽고 다시 실행되는 이슈 발생

해결

  • 긴급 대응으로 서버 스케일업을 진행
    • 문제 파악 로그를 얻기 위해 임시 조치
    • dynatrace를 사용하여 메모리 사용량 분석
    • OS 자체 OOM 문제로 판단
  • jmap을 사용하여 문제가 되는 class 확인
    • LinkedBlockingQueue 기본 생성자가 Integer.MAX_VALUE 크기 큐 할당
      • 메모리 과다 사용
      • 큐 크기를 100만으로 고정
    • HttpResponse 미반납
      • 메모리 점유 증가
      • finally 블록에서 EntityUtils.consumeQuietly(response.getEntity()) 코드를 추가하여 완전히 자원 반납
      • 이후에 팀 리팩토링 기간에 try-with-resources로 변경

배운점

  • JVM 메모리 분석에 대해 배울 수 있었습니다.
  • 멀티스레드 환경에서 큐 크기 관리의 중요성에 대해 알게 되었습니다.

골프예약 연동 시스템 - 리팩토링

2024. 07 - 2024. 12KakaoVX
300개 이상의 골프장의 각 요구사항을 수용해야하고 6개월~1년 안에 계약 변경으로 인한 ERP 변경시 마다 해당 요구사항을 지속적으로 반영해주어야 하는 문제가 있었습니다. 그로 인한 기술 부채를 주도적으로 해결한 경험입니다.
javaspring boot

문제

  • 4,500+ 라인 이상의 단일 클래스에 모든 비즈니스 로직 집중
  • 하드코딩된 분기 처리로 인한 코드 가독성 저하
  • 팀내 온보딩 난이도 증가

해결

  • 도메인별 책임과 역할을 명확화
    • BookTime, BookTimeAdapter 등 핵심 로직의 도메인들을 객체로 분리
  • 비즈니스 로직의 응집도 향상
  • 디자인 패턴 적용을 통한 구조 개선
    • 전략 패턴: 골프장별 요구사항을 위한 하드코딩을 전략패턴으로 분리
    • 팩토리 패턴: 골프장별 ERP 시스템 구현체를 팩토리 패턴을 통해 생성
    • 어댑터 패턴: 외부 시스템 연동 추상화
    • 간단한 연동시에는 어댑터만 구현하여도 연동이 되도록 설계를 변경, 필요시 전략 패턴을 적용
  • 점진적 개선
    • 골프장별 버전 관리를 통해 점진적 개선 적용
    • 테스트 코드 적용을 통해 기능 변경의 영향을 최소화

배운점

  • 디자인 패턴을 적용하여 시스템의 유연성을 확보할 수 있다는 점을 배울 수 있었습니다.
  • 점진적 개선을 적용하는 방법에 대해 고민해볼 수 있었습니다.

골프예약 플랫폼 개발

2022. 08 - 2025. 07KakaoVX
골프예약 플랫폼을 유지보수 및 신규 개발한 경험입니다.
javaspring bootredis

문제

  • 이벤트 기간에 메인 페이지에 트래픽이 집중되어 서버 리소스 최적화가 필요
  • 무료 셔틀버스 기능 개발
  • 신규 티타임 예약 기능 개발
  • 관리자툴 유지보수 및 개선

해결

  • Redis 캐싱을 적용하여 분산 시스템에서 Latency를 1초 이상에서 0.1초로 개선
    • 관리툴에서 데이터 변경시 캐싱 무효화 전략을 통해 실시간으로 반영
  • 셔틀버스 중복 예약 방지를 위해 Redis Lock을 사용
    • DB unique(날짜, 시간, 좌석, 상하행) 제약을 통해 중복 예약 이중 방지
  • 히든 타임, 수수료 타임 등 신규 티타임 예약 기능 개발
    • 수수료 타임 판매로 연 5억원의 수수료 대납
  • 운영팀 분들의 반복되는 업무를 파악하여 선제안하여 자동화 처리
    • 티타임 수동 등록시 복사 등록 기능 추가
    • 신규 티타임 판매시 Slack 자동 알림 기능 추가
    • 업무량 1일 소요 -> 10분 소요로 개선

배운점

  • 분산 시스템에서 Redis를 활용하는 방법에 대해 배울 수 있었습니다.
  • 기능 개발을 통해 회사에 기여하는 경험을 할 수 있었습니다.
  • 커뮤니케이션을 통해 타팀의 업무를 자동화할 수 있다는 부분을 배울 수 있었습니다.

AI를 활용하여 개발 생산성을 높인 경험

- nowKakaoVX, BDACS
업무에 AI를 도입하여 개발 생산성을 높인 경험입니다.
ChatGptgeminicursorclaudeantigravity

Cursor 도입 및 활용 (KakaoVX)

  • Cursor를 도입하여 개발 및 문서 작성 과정에서의 반복 업무를 자동화하고 팀 생산성 향상에 기여하였습니다.
  • 사내에서 제공되던 ChatGPT, Gemini AI와 Cursor를 병행 활용하는 워크플로우를 정리하여 팀원들에게 공유하였습니다.
  • Cursor Rule 기능을 적용하여 AI 기반 코드 생성 시에도 기존 코드 컨벤션과 품질 기준을 유지하도록 가이드 수립하였습니다.

Claude Code · Antigravity 도입 및 AI 활용 문화 확산 (BDACS)

  • 팀내 AI 기본 개념에 대한 이해도를 높이는데 기여하였습니다. (LLM, Agent, MCP 등)
  • Claude Code, Antigravity를 도입하여 개발 생산성 향상 및 AI 활용 능력 향상에 기여하였습니다.
  • AI 길드 시스템을 운영하며 매주 AI 활용 사례, 토큰 최적화 전략, 프롬프트 작성 노하우 등을 팀원들과 공유하였습니다.
  • 각 AI 도구의 장점에 따른 AI 활용 방식을 정리하여 팀원들에게 공유하였습니다.

Personal Project.

Sium

2025. 12 - now
AI를 활용하여 바이브 코딩을 경험하는 프로젝트입니다.
reactnextjstypescripttailwindcsssupabase

배운점

  • claude code와 antigravity를 활용하여 토큰을 최소화 하며 AI를 활용한 개발에 대해 고민해볼 수 있었습니다.
  • 각 AI별 장단점과 활용 방법에 대해 고민해볼 수 있었습니다.

Education.

평택대학교 (4년제)

2013. 03 - 2019. 02
대학교 졸업 (정보통신학과)

풍생고등학교

2010. 03 - 2013. 02
고등학교 졸업

Certificates.

정보처리기사

2018. 08. 20
한국산업인력공단