신입 백엔드 개발자 · 2026

조현태

Java 기반 백엔드 시스템을 설계하고,
문제를 코드로 해결합니다.

// N+1 해결 — Fetch Join 적용

@Query("SELECT m FROM Message m " +
       "JOIN FETCH m.channel c " +
       "JOIN FETCH m.author a " +
       "WHERE c.id = :channelId")
List<Message> findWithAuthor(
  @Param("channelId") Long id
);

// Before: 800ms (N+1 쿼리 47개)
// After:  120ms (쿼리 1개)
조현태
신입 백엔드 구직 중
대상
AI 해커톤 경진대회
3회
교내·외 수상
2회
기업 인턴십
5+
백엔드 프로젝트
About Me

측정하고, 분리하고,
확장합니다

호서대학교 컴퓨터공학부에 재학 중이며, 디지털융합연구실 학부연구생으로 백엔드·분산 시스템을 연구하는 개발자입니다. Java와 Spring Boot를 중심으로, 비건 인증 플랫폼의 외부 결제 연동(PortOne)부터 학내 수업에서 실제 사용 중인 코딩 교육 플랫폼까지 '실제로 동작하고 운영되는' 백엔드를 직접 설계·구현해 왔습니다.

두 번의 기업 인턴십에서 데이터베이스 최적화와 소프트웨어 품질 보증(QA)을 경험했고, 타이핑 리듬 기반 AI 연속 인증 서버 Keystroke Auth로 한국컴퓨터교육학회 2025 캡스톤·AI 해커톤 대상을, 채점 워커 오토스케일링 연구로 학생우수논문상을 받았습니다. 동작하는 코드에 만족하지 않고, 병목을 측정해 구조로 해결하는 것을 지향합니다.

현재 학습 중
Kafka Learning블록체인 (Solidity) Learning
이력서 다운로드 (PDF)
Skills

기술 스택

Java
Java
Advanced
Spring Boot
Spring Boot
Advanced
JPA/Hibernate
JPA/Hibernate
Intermediate
Apache Kafka
Apache Kafka
Intermediate
Redis
Redis
Intermediate
MySQL
MySQL
Intermediate
Kubernetes
Kubernetes
Intermediate
KEDA
KEDA
Intermediate
Cloud Gateway
Cloud Gateway
Intermediate
WebFlux
WebFlux
Intermediate
REST API
REST API
Advanced
WebSocket/SSE
WebSocket/SSE
Intermediate
Docker
Docker
Intermediate
GitHub Actions
GitHub Actions
Intermediate
PostgreSQL
PostgreSQL
Intermediate
Elasticsearch
Elasticsearch
Intermediate
Swagger
Swagger
Intermediate
JUnit 5
JUnit 5
Intermediate
Mockito
Mockito
Intermediate
Python
Python
Intermediate
C
C
Intermediate
SQLite
SQLite
Intermediate
Solidity
Solidity
Learning
Postman
Postman
Intermediate
pytest
pytest
Intermediate
AWS EC2/RDS
AWS EC2/RDS
Learning
Linux
Linux
Intermediate
Git
Git
Advanced
IntelliJ
IntelliJ
Advanced
TypeScript
TypeScript
Intermediate
Projects

프로젝트

★ Featured Project

CodeQuest

Gradle 멀티모듈 코딩 교육·채점 플랫폼 백엔드. Kafka 비동기 채점 + KEDA Consumer Lag 오토스케일링(학생우수논문상 설계). 호서대 컴공 수업에서 실제 사용 중.

Java 17Spring BootGradle 멀티모듈Spring Cloud GatewayWebFluxKafkaKEDARedisKubernetesGitHub Actions CI/CD
[ Gradle Multi-Module ]
Client → Gateway (Spring Cloud Gateway)
├── :auth → 인증·토큰
├── :course → 코스·문제·채점
└── :submit → Kafka 비동기 채점 → SSE
모든 서비스가 :common 모듈 공유
(도메인·JWT·Redis) · WebFlux · K8s 배포
Experience

경력 및 교육

Work Experience
재학 중
호서대학교 디지털융합연구실
컴퓨터공학부 · 학부연구생 (Undergraduate Researcher)
  • 디지털융합연구실에서 백엔드·분산 시스템 분야 연구를 진행 중
  • 코딩 테스트 플랫폼의 저지연 채점 구조(Kafka Consumer Lag 기반 채점 워커 오토스케일링)를 연구해 학생우수논문상 수상
연구분산 시스템Auto-Scaling
2025.08 — 2025.08
(주)인트인
SW개발 직무체험형 인턴 · 개발
  • Spring 프레임워크 기반 프로젝트 회의 참여 — 요구사항·설계·기술 선택의 리스크 분석
  • MySQL·MariaDB 연동 및 최적화, 데이터 무결성·트랜잭션 관리 실습
  • 테스트 코드 작성·코드 리뷰·QA 지침 교육으로 소프트웨어 품질 보증 프로세스 경험
JavaSpringMySQLMariaDB
2025.01 — 2025.03
(주)인사이너리
DevOps 직무체험형 인턴 · 소프트웨어 테스트
  • 오픈소스 보안·라이선스 관리 솔루션 ClaritySC(Clarity Supply Chain) QA 주도 수행
  • 테스트 케이스 설계 + 탐색적 테스팅(Exploratory Testing)으로 숨은 결함·다국어 번역 오류 추적
  • 주간 회의·팀원 간 교차 검증(Cross-Check)으로 QA 프로세스 지원
QATest CaseExploratory TestingFossID
Education & Awards
2026.05
정보통신학회 학생우수논문상
「저지연 실시간성을 보장하는 코딩 테스트 플랫폼 설계」 · 제1저자
  • Kafka Consumer Lag(메시지 큐 적재량)를 제어지표로 채점 워커를 수평 오토스케일링하는 구조 설계 — CodeQuest 플랫폼 기반
  • 정보통신학회 2026 춘계종합학술대회 학생우수논문상 수상
논문 PDF
2025.10
AI 해커톤 경진대회 대상
한국컴퓨터교육학회 · 2025 캡스톤 디자인 및 AI 해커톤 경진대회
  • 타이핑 리듬 기반 AI 연속 인증 서버(Keystroke Auth) 아이디어로 2025 캡스톤 디자인 및 AI 해커톤 경진대회 대상 수상
2025.10
AI공과대학장상
호서대학교 AI융합프리젠테이션 경진대회
  • AI융합프리젠테이션 경진대회 AI공과대학장상 수상
2025.09
Kakao×구름 유니브 시즌톤
2025 시즌톤 참가 · 팀 백엔드 (Team Bridgers)
  • 다수 도메인 REST API·JWT 인증 백엔드를 팀 협업으로 단기간 구현
2021.03 — 재학 중
호서대학교
컴퓨터공학부 학사 (재학 중)
  • 자료구조·알고리즘·운영체제·데이터베이스·네트워크 이수
  • 코딩 교육 플랫폼(CodeQuest)을 AI·SW중심대학사업단 산학협력으로 개발 — 실제 컴퓨터공학부 수업에 사용
Activity

백엔드 활동 신호

GitHub Contributions
579
Contributions (최근 1년)
12
Repositories
2023~
GitHub 활동
Blog

기술 블로그

2026.06.16
80코어 노드가 1%만 쓰는데 로그인이 25초: 부하테스트로 찾은 단일 파드 병목과 KEDA 오토스케일링
WebFlux→MVC 전환 효과를 JMeter로 검증하던 중, sign-in이 동시 500에서 p50 25초로 붕괴. 원인은 노드 자원(80코어·1% 사용)이 아니라 auth/course 파드가 limits=2코어·replicas=1에 고정된 것. 수직(코어↑)+수평(KEDA)+이중화로 sign-in 25s→0.16s, 성적조회 15.7s→2.2s. KEDA CPU Utilization이 requests 기준이라 조기 스케일되던 함정도 AverageValue로 정정.
SpringKubernetesMySQLJPA
2026.06.15
블로킹 JPA를 리액티브 이벤트루프에 올리던 코드: WebFlux→Spring MVC 전면 전환기
인수받은 코드가 WebFlux였지만 데이터 접근은 블로킹 JPA(Hibernate/JDBC)—논블로킹의 이점은 못 얻고 Mono/Flux 복잡성과 이벤트루프 블로킹 위험만 남은 구조. auth/course/submit 전 모듈을 Spring MVC로 전환(SSE→SseEmitter, WebSocket→TextWebSocketHandler, WebFilter→OncePerRequestFilter), 리액티브는 게이트웨이 경계로만 한정. 부하테스트 submit p95 2,320→271ms.
SpringJavaJPA
2026.06.11
성적 조회 N+1: 요청당 SELECT 1,500개를 1개로 줄인 기록
CodeQuest 성적 조회에서 학생×퀘스트×문제 중첩 루프로 요청당 최대 1,500개 SELECT가 나가던 N+1을, IN + JOIN FETCH 배치 조회와 인메모리 선별로 1개로 줄인 과정. Submit 목록 N+1(페이지당 21→1)도 함께 제거.
JPASpringMySQL
2026.06.09
채점 워커를 CPU가 아닌 Kafka Consumer Lag로 오토스케일하기 (KEDA)
CodeQuest 채점 워커를 CPU/메모리가 아닌 Kafka Consumer Lag(미처리 채점 적재량)를 제어지표로 KEDA 오토스케일한 설계. lagThreshold는 언어별 처리 특성에 맞춰 정적 차등 설정(C·Java 3, Python·C++·C# 5). 이 설계로 정보통신학회 학생우수논문상 수상.
KafkaKubernetes
2026.06.09
Java 채점 워커 JVM 기동 비용 줄이기: 케이스마다 새 JVM → 제출당 1회
테스트케이스마다 별도 JVM을 띄우던 Java 채점 워커를 단일 JVM Multi-Runner·CDS·GraalVM으로 개선. 운영 DB 기준 테스트케이스당 평균 실행 시간 0.844s→0.060s(약 14배), JVM 콜드스타트 꼬리가 완전히 소멸.
Java
2026.06.09
한 줄 고쳐도 서버 전체가 배포되던 문제를 멀티 모듈로 풀어낸 이야기
submit 한 곳만 고쳐도 서버 전체가 재빌드·배포되던 단일 모듈 구조를, 책임 단위 5개 멀티 모듈로 쪼개고 변경된 모듈만 배포하도록 CI를 바꾼 과정.
SpringKubernetes
2026.05.27
전액 마일리지 결제가 영원히 '대기'에 멈춘 이유: 완료 처리를 웹훅에만 맡겼을 때
전액 마일리지 결제는 포트원 결제액이 0원이라 PG 요청·웹훅이 안 오는데, 완료 처리를 웹훅 검증에만 의존해 결제가 PENDING으로 영원 정지되던 크리티컬 버그. 선차감이라 마일리지는 이미 빠진 상태. 0원 즉시 완료 분기 + 차감 시점을 완료로 이동해 해결.
JavaSpring
2026.05.25
채점 결과 회신을 HTTP POST에서 Kafka로: 유실·결합·장애 전파를 함께 끊다
인계받을 때 채점 워커→서버 결과 회신이 HTTP POST(3회 retry + API 키)였다. 워커 최적화 중 유실·의존·장애 전파 측면에서 Kafka가 낫다고 판단해 grading-result 토픽 produce/consume로 전환. 워커 6종 retry·API 키·콜백 엔드포인트 제거(+58/−222줄).
KafkaSpring
2026.02.24
전통 OCR에서 Gemini Vision으로: 사업자등록증 추출을 멀티모달 LLM에 맡기다
사업자등록증 추출에 쓰던 Tesseract OCR 성능이 부족했고, 튜닝 비용보다 무료로 쓸 수 있는 Gemini API 교체가 낫다고 판단. 출력을 JSON 형식으로 지정해 추출 정확도를 크게 높인 과정. AI 활용 전반(콘텐츠 생성·ML·멀티에이전트 개발)도 정리.
JavaSpring
Contact

같이 일하고
싶으신가요?

신입 백엔드 개발자로서 첫 커리어를 시작할 팀을 찾고 있습니다. 기술적 도전과 성장 기회가 있는 환경이라면 언제든 연락 주세요.

경기 안산시, 대한민국
이름을 입력해주세요.
올바른 이메일을 입력해주세요.
메시지를 입력해주세요.