Java·Spring 팀이 새 프로젝트에 Kotlin을 도입한 과정을, 주니어 개발자가 6개월간 학습·POC·공유로 신뢰를 쌓아 기술 제안을 현실화한 이야기로 풀어낸다. 도입은 언어 자체보다 팀 설득과 책임의 문제임을 보여준다.
핵심 포인트- Kotlin Koans·공식 문서·Effective Kotlin에 Android 팀 코드까지 읽어 취향이 아닌 검증 가능한 근거(JVM·Spring 호환성, 커뮤니티, IntelliJ 지원)로 제안을 준비
- WebFlux는 전 구간 반응형 요구와 MySQL R2DBC 성숙도·장애 대응 경험 부족, 높은 처리량 요구 부재로 제외하고 MVC 유지 — 표현력 있는 Kotest와 final 클래스 모킹에 적합한 MockK 선택으로 새 기술 범위를 통제
- 기본 final 클래스를 Spring 프록시가 상속하도록 all-open, JPA엔 기본 생성자용 no-arg, Spring Boot 3의 Jakarta 차이까지 맞추는 빌드 설정과 Kotlin Logging·ktlint·Fixture Monkey 같은 도구 소개
- 느린 IDE 분석, scope function 남용, nullable·Optional 혼용 등 사전 합의가 필요한 함정을 POC로 검증하고, 시니어 검증 부담을 줄이며 모든 걸 한꺼번에 바꾸지 않는 태도로 도입 성사
왜 읽나기존 스택 팀에 코프링 같은 새 기술을 조심스럽게 도입하려는, 특히 설득과 준비 과정 자체를 성장 자산으로 삼으려는 개발자에게.