조치호
Backend Developer · Java / Spring Boot
010-9020-0511  ·  chiho3898@gmail.com
GitHub  ·  포트폴리오
자기소개서
1. 지원 동기

N+1 쿼리로 인해 EC2 CPU 크레딧이 고갈되는 문제를 발견하고, 쿼리 최적화로 응답 속도를 73% 개선한 경험이 있습니다. 이 경험을 통해 백엔드 개발자는 기능 구현을 넘어서 서비스의 성능과 안정성을 직접 책임지는 역할이라는 점을 분명히 체감했습니다.

이후 JPA 동작 방식, SQL 로그 분석, 부하 테스트와 같은 성능 진단 방법을 꾸준히 학습하며 병목의 원인을 근거 있게 찾고 검증하는 개발자가 되기 위해 준비해 왔습니다. 이러한 경험을 바탕으로 데이터의 무결성과 정합성, 서비스 안정성이 중요한 환경에서 실제 운영 문제를 해결하며 성장하고 싶어 지원했습니다.

CalmDesk 이후에는 개인 프로젝트 Cubing Hub를 완성하며 Redis 기반 랭킹 조회 구조, JUnit 5/MockMvc 검증, Testcontainers 통합 테스트, Spring REST Docs 문서화, AWS 분리 배포까지 직접 구현했습니다. 이를 통해 기능 구현뿐 아니라 테스트와 문서, 배포, 운영 검증까지 함께 완결하는 개발 흐름을 익혔습니다.

2. 문제 해결 경험

CalmDesk 프로젝트에서 관리자 팀 멤버 현황 조회 API(GET /api/admin/team/members) 호출 시 큰 지연이 발생했고, 원인을 추적하는 과정에서 EC2(T3 Micro) 인스턴스의 CPU 크레딧 고갈과 스로틀링 상태를 확인했습니다.

SQL 로그를 분석한 결과 원인은 N+1 쿼리였습니다. 직원 50명 조회 과정에서 150개의 단건 쿼리가 연쇄적으로 발생하며 DB 부하가 커졌고, 이것이 인프라 자원 사용량 증가로 이어지고 있었습니다.

이를 해결하기 위해 JPA JOIN FETCHBulk IN 쿼리를 적용해 조회 구조를 재설계했습니다. 그 결과 150개의 단건 쿼리를 3개의 벌크 쿼리로 줄였고, 애플리케이션 단에서도 추가 조회 없이 데이터를 조립할 수 있게 만들었습니다.

k6 부하 테스트 기준으로 응답 속도는 377ms에서 101ms로 73% 단축되었고, 초당 처리량(RPS)은 14% 향상되었습니다. 동시에 EC2 CPU 사용률도 안정화되어, 코드 레벨의 비효율을 해결하는 일이 결국 서비스 운영 안정성까지 개선한다는 점을 직접 확인했습니다.

3. 협업 경험

CalmDesk 5인 팀 프로젝트에서는 이슈 관리자 역할을 맡아 협업 기준을 정리했습니다. 초기에는 커밋 메시지와 브랜치 네이밍 기준이 제각각이어서 변경 이력 추적과 코드 리뷰에 반복적인 비용이 발생했습니다.

이를 줄이기 위해 Git 커밋 컨벤션GitHub 이슈/PR 템플릿을 직접 제작해 배포했습니다. 변경 사항, 테스트 결과, 이슈 번호를 공통 형식으로 정리하도록 하여 리뷰어가 필요한 맥락을 빠르게 파악할 수 있게 만들었습니다.

그 결과 리뷰 소요 시간을 평균 30% 이상 단축했고, 후반 일정에서도 작업 기준이 흔들리지 않도록 유지할 수 있었습니다. 저는 이 경험을 통해 협업 기준을 명확히 만드는 일 역시 팀 생산성에 직접적인 영향을 준다는 점을 배웠습니다.

4. 입사 후 목표

입사 후에는 먼저 팀의 개발 컨벤션과 서비스 구조를 빠르게 익히고, 맡은 기능을 안정적으로 구현하는 개발자가 되겠습니다. 코드 리뷰와 로그 분석, 쿼리 확인을 습관화해 작은 문제라도 근거를 가지고 수정하는 방식으로 신뢰를 쌓겠습니다.

이후에는 성능 병목과 데이터 처리 문제를 먼저 발견하고 해결할 수 있는 백엔드 개발자로 성장하겠습니다. 실제 운영 환경에서 발생하는 지연, 부하, 데이터 정합성 문제를 근거 있게 분석하고 개선하는 역할을 맡고 싶습니다.

장기적으로는 코드와 인프라 자원 사용량의 연결을 함께 볼 수 있는 개발자로서, 서비스의 안정성과 효율을 높이는 데 실질적으로 기여하겠습니다. 개인 프로젝트에서도 Redis, RDS, EC2, S3, CloudFront를 분리해 운영해 본 경험을 바탕으로 작은 기능도 운영 환경까지 고려해 구현하겠습니다.