확장성과 계약 우선 설계
Java 백엔드 API 설계 시 저는 계약 우선(Contract-First) 방식을 적용합니다. OpenAPI 스펙을 먼저 작성해 클라이언트 팀과 합의하고 구현을 시작하면 인터페이스 변경 충돌을 크게 줄일 수 있습니다. 성능 측면에서는 N+1 쿼리 방지를 위해 JPA Fetch Join과 Projection 쿼리를 적절히 혼합하고, 읽기 비중이 높은 엔드포인트는 @Cacheable로 레이어 캐시를 구성했습니다. 보안은 Spring Security + JWT 기반 인증·인가를 적용하고, 입력값 검증은 @Valid와 커스텀 ConstraintValidator를 활용했습니다.
유지보수성을 위해 레이어 의존성 방향(Controller→Service→Repository)을 일관되게 유지하고 순환 의존을 금지했습니다. 이 원칙들이 팀 코드 리뷰 통과율을 높이는 데 실질적으로 기여했습니다.