경험 중심 1인칭 답변
Java 백엔드 개발에서 효율을 높이기 위해 가장 먼저 생각하는 건 병목이 어디서 생기는지를 먼저 파악하는 것입니다. 최적화는 측정 없이 시작하면 오히려 코드만 복잡해지는 경우가 있기 때문입니다. 수업 프로젝트에서는 반복적인 DB 호출을 캐싱으로 줄이고, N+1 문제가 발생하지 않도록 JOIN 쿼리로 통합하는 방식을 적용했습니다. 또한 리스트 처리에서 Stream API를 활용해서 가독성과 함께 중간 컬렉션 생성을 줄이는 방식도 써봤습니다. 스레드 측면에서는 Spring의 비동기 처리(@Async)로 독립적인 작업을 병렬화하는 구조를 간단하게 구현했습니다.
Java 최적화의 핵심은 JVM이 잘 하는 것을 방해하지 않는 코드를 작성하는 것이라는 말이 기억에 남습니다. 앞으로도 실패 원인을 구조적으로 분석하고 재발하지 않는 시스템을 만드는 방식을 유지하겠습니다. 같은 실수를 반복하지 않는 것이 개인의 성장을 가속하는 가장 확실한 방법입니다. 원인을 찾는 것에서 멈추지 않고 구조를 바꾸는 것이 진짜 개선입니다.