Showing Posts From

20년

Spring 생태계 20년, 새 기술로 갈아탈 수 있을까

Spring 생태계 20년, 새 기술로 갈아탈 수 있을까

월요일 아침, IDE를 켰다 월요일 아침 9시. IntelliJ를 켰다. 익숙한 Spring Boot 프로젝트가 열렸다. 20년째 보는 화면이다. @RestController @RequestMapping("/api") public class UserController {손이 저절로 움직인다. 타이핑 속도는 여전히 빠르다. 문제는 이게 2025년에도 의미 있는 코드인가. 슬랙에 후배가 물었다. "파트장님, 이번 신규 프로젝트 Nest.js로 해도 될까요?" 나는 3초 고민하다가 답했다. "Spring으로 하자. 우리가 잘 아는 걸로." 창 밖을 봤다. 안전한 선택이었나.전문성이라는 이름의 울타리 작년에 기술 면접관으로 들어갔다. 지원자가 이력서를 냈다. "Spring 5년, Kotlin 3년, Go 2년" 나는 물었다. "Spring은 어떤 버전 쓰셨나요?" "Boot 3.x입니다." "IoC 컨테이너 동작 원리는?" 대답을 잘했다. 그다음 내가 물었다. "그런데 왜 Go를 공부하셨죠?" "MSA 환경에서 경량 서비스 만들려고요." 면접 끝나고 나왔다. 복도에서 생각했다. 나는 Go를 모른다. Kotlin도 프로젝트에서 안 써봤다. 20년 경력이 있다. 하지만 5년 경력자가 아는 걸 나는 모른다. 이게 전문성인가, 고집인가. 저녁에 집에 와서 Go 튜토리얼을 켰다. 30분 보다가 껐다. "내일 회의 준비해야지."후배의 사표 두 달 전이다. 5년차 후배가 사표를 냈다. 잘하는 애였다. 1on1 미팅을 잡았다. "왜 나가려고?" "스타트업 가려고요. Rust 백엔드 포지션이요." 나는 물었다. "여기서도 새 기술 쓸 수 있는데." "파트장님, 솔직히 말씀드려도 될까요?" "그래." "여기선 안 돼요. 레거시가 너무 많아요." "신규 프로젝트 있잖아." "그것도 결국 Spring이잖아요. 파트장님이 잘 아시는 거." 칼이 꽂혔다. 맞는 말이었다. "Rust는 배워봤어?" "주말마다 공부했어요. 6개월." "어려웠겠네." "처음엔 어려웠는데, 재밌더라고요." 후배는 웃었다. 나는 웃지 못했다. 그날 밤 Rust 공식 문서를 열었다. Ownership 개념을 읽었다. 이해가 안 됐다. 30분 후에 탭을 닫았다. "나는 Spring 전문가다." 스스로에게 말했다. 위로인지 변명인지 모르겠다.대학 동기 모임 지난주 토요일. 대학 동기들을 만났다. 다들 40대 중반이다. 최진수는 스타트업 CTO다. "요즘 팀에서 TypeScript 전환했어." "힘들었겠네." "처음엔 그랬지. 근데 지금은 괜찮아." 김태훈은 SI에서 프리랜서로 전향했다. "Python 배워서 데이터 쪽 하고 있어." "Java 20년 했는데?" "그래서 더 바꾼 거야. 이대로면 늙어 죽어." 나만 대기업에 남았다. 나만 Spring만 한다. "너는 뭐 새로 배우는 거 없어?" 진수가 물었다. "Spring WebFlux 공부 중이야." "그거 2017년에 나온 건데." 침묵. 맥주를 마셨다. "전문성이 있잖아. 그게 너 강점이야." 태훈이 위로했다. 고맙지만 씁쓸했다. 전문성이 울타리가 됐다. 안전하지만 좁다. 금요일 저녁, 혼자 남았다 지난주 금요일. 팀원들은 6시에 퇴근했다. 나는 남았다. 핑계는 코드 정리. 실제로는 새 기술 공부였다. Next.js 공식 문서를 열었다. "App Router vs Pages Router" 이게 뭔 소린지 모르겠다. YouTube에서 튜토리얼을 찾았다. 강의자가 20대처럼 보였다. "자, 여러분 이건 진짜 쉬워요!" 나한테는 안 쉬웠다. React 개념도 헷갈린다. Virtual DOM이 뭐였지. 1시간 보다가 포기했다. 다시 Spring 코드를 열었다. 이건 편하다. 눈 감고도 짤 수 있다. 그게 문제다. 창밖을 봤다. 8시였다. 빌딩에 불이 켜져 있었다. 저 안에도 나 같은 사람이 있을까. 20년 경력이 짐처럼 느껴진다. 새로 시작하려면 이걸 내려놔야 한다. 근데 이거 말고 내가 뭘 할 수 있지. 마우스 커서가 깜빡였다. Spring Boot Application.java 익숙한 코드. 저장하고 IntelliJ를 껐다. 내일 생각하자. 선택이 아니라 타협 월요일 아침이다. 또 회의가 있다. 아키텍처 리뷰 미팅. 후배가 제안했다. "이번 프로젝트, MSA로 분리하면서 일부는 Go로 해볼까요?" 팀원들이 쳐다봤다. 내 대답을 기다린다. 3초 생각했다. "Go 할 줄 아는 사람?" 두 명이 손을 들었다. "프로덕션 경험은?" 손이 내려갔다. "리스크가 크다." 내가 말했다. "배포 파이프라인도 새로 짜야 하고." "모니터링도 달라지고." "문제 생기면 대응할 사람이 없어." 맞는 말이다. 합리적인 판단이다. 근데 진짜 이유는 다르다. 나도 모르는 기술이 늘어나는 게 불안하다. 팀을 컨트롤할 수 없게 된다. "Spring으로 갑시다." 내가 결론 냈다. "대신 WebFlux 써보자." 타협이다. 새로운 것처럼 보이지만 결국 Spring이다. 내 울타리 안이다. 회의가 끝났다. 후배들 표정이 아쉬워 보였다. 미안하다. 근데 어쩔 수 없다. 체력이 답이다 새 기술을 배우려면 시간이 필요하다. 시간을 만들려면 체력이 필요하다. 체력은 나이를 이길 수 없다. 단순한 산수다. 20대 후배를 봤다. 낮에 회의하고 개발하고 저녁 먹고 또 개발하고 집 가서 사이드 프로젝트 한다. 주말에 스터디 간다. 나는? 낮에 회의만 5개. 코딩은 저녁 6시부터. 9시 넘으면 집중력 떨어진다. 집 가면 녹초. 주말엔 가족과 시간 보내고 쉰다. 새 기술 공부? 언제 하지. 지난달에 시도했다. 매일 새벽 6시에 일어나서 1시간씩 공부. 일주일 했다. 회사에서 졸았다. 회의 중에 눈이 감겼다. 2주 만에 포기했다. "젊을 때 했어야지." 혼자 중얼거렸다. 근데 젊을 때는 뭐가 중요한지 몰랐다. 체력이 답인데 체력은 돌아오지 않는다. 연봉 9500만원의 무게 현실적으로 계산해봤다. 내가 새 기술로 이직한다고 치자. Go 신입으로 가면? 연봉 4000만원. 반토막이다. 경력을 인정받는다 쳐도 6000만원 받기 힘들다. Go 5년 경력자가 시장에 많다. 나보다 젊고 저렴하다. 지금 집 대출이 3억 남았다. 아들 학원비가 월 150만원. 딸도 내년이면 중학생. 아내는 일 안 한 지 10년. 새로 시작할 여유가 없다. 경제적으로. "돈 때문에 못 바꾸는 거야." 스스로에게 말한다. 맞다. 근데 전부는 아니다. 20년 쌓은 자존심도 있다. "Spring 전문가"라는 타이틀. 컨퍼런스 발표도 했다. 사내에서 인정받는다. 이걸 버리고 신입처럼 시작하는 게 두렵다. 돈도 문제지만 정체성도 문제다. 그래도 키보드를 두드린다 어제 저녁이었다. 아들이 물었다. "아빠, 코딩 가르쳐줘." "뭐 배우고 싶은데?" "파이썬이요. 학교에서 배워요." 나는 파이썬을 잘 모른다. "아빠는 자바를 하는데." "자바는 어려워 보여요." 맞다. 요즘 애들은 파이썬으로 시작한다. 자바는 구식이다. "알았어, 같이 해보자." YouTube를 켰다. 아들과 같이 파이썬 기초를 봤다. print("Hello, World!")쉬웠다. 재미있었다. 아들이 좋아했다. 1시간 후 아들이 말했다. "아빠, 생각보다 코딩이 재미있네요." 그 순간 깨달았다. 새 기술을 배우는 건 처음부터 다시 시작하는 게 아니다. 프로그래밍 사고방식은 그대로다. 문제 해결 능력도 그대로다. 20년 경험도 사라지지 않는다. 문법만 다를 뿐이다. 밤에 혼자 다시 파이썬을 켰다. Flask 튜토리얼을 열었다. Spring과 비슷한 구조다. Routing, Controller, Service. 이해가 됐다. 빨리 됐다. "할 수 있겠는데?" 혼잣말을 했다. 전문성은 프레임워크가 아니다 금요일 오후다. 신입사원 교육을 맡았다. 올해 입사한 애들. 다들 20대 초반이다. "Spring을 왜 배워야 하나요?" 한 명이 물었다. 예전 같으면 이렇게 답했다. "산업 표준이니까." "레거시 시스템 많으니까." "안정적이니까." 근데 어제 답은 달랐다. "안 배워도 돼." 애들이 놀랐다. "진짜요?" "대신 이걸 배워." 화이트보드에 썼다.문제를 작게 나누는 법 의존성을 관리하는 법 테스트 가능한 코드 가독성 있는 구조"이건 프레임워크가 아니야." "프로그래밍 원칙이지." "Spring으로 배우든 Go로 배우든" "Django로 배우든 상관없어." "이게 진짜 전문성이야." 말하면서 깨달았다. 나도 이제 알았다. 20년간 내가 배운 건 Spring이 아니었다. 소프트웨어 개발이었다. 그 원칙은 어떤 언어로든 적용된다. 어떤 프레임워크로든 쓸 수 있다. 내 전문성은 사라지지 않는다. 옷을 갈아입는 것뿐이다. 월요일 아침, 다시 시작 오늘 아침이다. 출근했다. IntelliJ를 켰다. Spring 프로젝트가 열렸다. 익숙하다. 편하다. 그리고 VSCode도 켰다. Go 프로젝트를 만들었다. main.go 비어있는 화면이다. 두렵다. 하지만 도전할 만하다. 점심시간에 후배한테 물었다. "Go 스터디, 나도 들어가도 돼?" "파트장님이요?" "응. 배우고 싶어." 후배가 웃었다. "좋죠. 환영입니다." 오후에 팀 미팅을 했다. "신규 프로젝트 건." "일부는 Go로 해보자." "내가 같이 배울게." 팀원들 표정이 달라졌다. 기대하는 눈빛. "실패할 수도 있어." 솔직하게 말했다. "근데 해보자." 퇴근하고 집에 왔다. 저녁 먹고 노트북을 켰다. Go 공식 문서. 처음부터 차근차근. package mainimport "fmt"func main() { fmt.Println("Hello, World!") }실행했다. 됐다. 작은 시작이다. 20년 경력을 버리는 게 아니다. 20년 경력 위에 하나를 더하는 거다. Spring 전문가에서 개발자로 돌아가는 거다. 선택은 계속된다 다음 주 월요일이 온다. 또 회의가 있을 거다. 또 결정을 내려야 한다. "레거시 유지할까요, 새로 만들까요?" "Spring 쓸까요, 다른 거 쓸까요?" "안전하게 갈까요, 모험할까요?" 정답은 없다. 상황에 따라 다르다. 하지만 이젠 안다. 선택의 기준을. 기술이 아니라 문제를 본다. 프레임워크가 아니라 원칙을 본다. 경력이 아니라 학습을 본다. Spring 20년이 무의미한 게 아니다. 그게 전부가 아닐 뿐이다. 45살이 늦은 게 아니다. 시작 안 하는 게 늦는 거다. 체력이 부족하다. 시간이 부족하다. 여유가 없다. 맞다. 다 맞다. 근데 그래도 한다. 조금씩. 천천히. 새 기술로 갈아탄다는 건 기존을 버리는 게 아니다. 확장하는 거다. 전문성이 족쇄가 될지 날개가 될지는 내가 정한다. 키보드를 두드린다. 오늘도.20년 경력이 무거울 때가 있다. 근데 그게 짐이 될지 자산이 될지는 내 선택이다. Spring도 하고 Go도 배운다. 천천히.

Java와 Spring의 20년, 이게 족쇄인가 무기인가

Java와 Spring의 20년, 이게 족쇄인가 무기인가

Java와 Spring의 20년, 이게 족쇄인가 무기인가 아침 스탠드업 미팅 "파트장님, 이번 프로젝트는 Kotlin으로 해도 될까요?" 신입 김대리가 물었다. 25살. 눈이 반짝였다. 나는 커피를 한 모금 마셨다. 3초 정도 침묵했다. "일단 기존 시스템이 Java라서..." 변명처럼 들렸다. 나한테도. 회의실을 나왔다. 복도를 걷는데 발걸음이 무거웠다.20년이다. Java 1.4부터 썼다. 당시엔 최신이었다. EJB가 복잡해서 Spring 나왔을 때 신세계였다. 지금 그 Spring이 "레거시 기술"로 불린다는 게 믿기지 않는다. 아니, 믿고 싶지 않다. 점심시간, 구내식당 후배 세 명이 테이블에 앉았다. 나는 한 칸 떨어진 곳에 앉았다. "요즘 Rust 공부하는데 재밌어요." "저는 Next.js 강의 듣는 중이에요." "TypeScript 5.0 나왔는데 개쩔어요." 들리는 단어가 하나도 안 반갑다. 나는 제육볶음을 먹었다. 입맛이 없었다. 핸드폰을 켰다. 개발 커뮤니티를 봤다. "Java는 이제 끝났다" "Spring은 너무 무겁다" "요즘 누가 XML 설정을 하냐" 댓글이 200개였다. 다 읽었다. 밥이 목에 안 넘어갔다. 오후 3시, 코드리뷰 김대리가 PR을 올렸다. Kotlin으로 작성한 유틸리티 클래스였다. data class UserRequest( val name: String, val email: String )5줄이었다. 내가 Java로 짰으면 20줄이다. Getter, Setter, Constructor, toString, equals, hashCode. "깔끔하네요." 내가 말했다. 진심이었다. 그런데 왜 기분이 이상하지? 김대리가 웃었다. "Kotlin 편하죠?" "응, 좋아 보여." 말은 그렇게 했다. 속으로는 달랐다. '나도 배워야 하나? 지금?'그날 저녁 집에 가는 지하철에서 'Kotlin 입문' 강의를 결제했다. 19,900원이었다. 일주일 뒤 진도는 15%였다. 그것도 출퇴근 시간에만 봤다. 회사에서 Java 코드를 하루 8시간 짜는데, 퇴근 후에 Kotlin을 배울 기력이 없었다. 밤 11시, 혼자 남은 사무실 다들 퇴근했다. 나만 남았다. 레거시 시스템 리팩토링 작업이었다. 10년 된 코드를 고치는 중이었다. 이상했다. 10년 전 코드가 내 코드였다. 주석을 읽었다. "// 2014.03.15 박시니어 작성" 당시엔 최선이었다. 지금 보니 개선할 게 보인다. 20분 만에 300줄을 100줄로 줄였다. Spring의 최신 기능을 썼다. 빌드했다. 테스트 통과. 배포 완료. 이 순간만큼은 기분이 좋았다. '나 아직 되네.' 그런데 문득 생각했다. '10년 뒤 이 코드도 레거시겠지?' 창밖을 봤다. 빌딩 불빛이 깜빡였다. 주말 오전, 카페 노트북을 펼쳤다. 기술 블로그를 읽었다. "Why We Migrated from Java to Kotlin" "Spring Boot vs Micronaut: Performance Comparison" "Is Java Still Relevant in 2024?" 제목만 봐도 불안했다. 클릭했다. 읽었다. 이해했다. 공감도 했다. 그런데 실천은 못 하겠더라. 월요일 출근하면 또 Java다. 또 Spring이다. 레거시 시스템 10개. 전부 Java 8. 하나는 아직 Java 7이다.마이그레이션? 팀장님이 웃으며 말했다. "일단 돌아가잖아요. 급한 거 먼저 하죠." 급한 건 언제나 있다. 신규 프로젝트, 장애 대응, 성능 개선. 레거시는 언제나 '나중에'. 그 '나중에'는 안 온다. 20년 경험으로 안다. 월요일 아침, 1on1 미팅 신입 이사원이 물었다. "파트장님, 저 Java 말고 다른 것도 배워야 할까요?" 22살이었다. 입사 3개월. 나는 대답을 못 했다. 5초 정도. "음... 일단 Java를 깊게 배워." "그런데 요즘 추세는..." "추세 따라가려고 하면 끝이 없어." 말하면서도 확신이 없었다. 이사원은 고개를 끄덕였다. 표정이 애매했다. 복잡했다. 내가 후배 커리어를 막는 건가? 그런데 또 생각해보면 Java 모르고 어떻게 개발을 하나? JVM 구조, GC 동작 원리, 멀티스레딩, 동시성 제어. 이런 거 모르고 Kotlin만 쓰면 그게 진짜 실력인가? 혼란스러웠다. 목요일 저녁, 기술 세미나 사내 세미나였다. 주제는 "Kotlin 도입 사례". 발표자는 타 부서 파트장이었다. 나랑 동갑. "마이그레이션 결과, 코드량 30% 감소, 빌드 시간 20% 단축." 박수가 나왔다. 질문 시간이었다. 손을 들었다. "기존 Java 개발자들 적응은 어땠나요?" 파트장이 웃었다. "처음엔 힘들었죠. 근데 2주면 익숙해집니다." 2주. 나는 한 달째 15% 진도다. 세미나가 끝났다. 복도에서 그 파트장을 만났다. "형, 진짜 2주면 돼요?" "솔직히 말하면 3개월은 걸려요. 근데 발표 자리에서 그렇게 말하면..." 웃었다. 둘이. 조금 위안이 됐다. 금요일 오후, 연봉 협상 팀장님이 불렀다. 연봉 리뷰 시즌이었다. "올해 평가 A입니다. 7% 인상." 9500만원에서 10165만원이 됐다. "감사합니다." "내년엔 임원 후보 검토 들어갑니다." 임원. 개발자의 꿈이라고 하던데 나는 아니다. 임원 되면 관리만 한다. 코드는 진짜 못 짠다. "고민해보겠습니다." 팀장님이 의아한 표정이었다. "고민할 게 뭐가 있어요?" 설명할 수 없었다. '저는 코딩이 좋아서요' 라고 하면 유치해 보인다. 45살이 무슨 코딩이냐는 표정을 볼 게 뻔했다. 그냥 웃었다. 토요일 오전, 개인 프로젝트 집에서 혼자 코딩했다. 토이 프로젝트였다. 간단한 블로그 시스템. 그런데 이번엔 Kotlin으로 시작했다. IDE를 켰다. IntelliJ가 Kotlin을 추천했다. 첫 줄을 썼다. fun main() { println("Hello, Kotlin") }신기했다. Java보다 타이핑이 적었다. 3시간 코딩했다. REST API 3개 만들었다. Java였으면 5시간 걸렸을 거다. '어? 생각보다 괜찮은데?' 저녁을 먹고 다시 앉았다. 자정까지 코딩했다. 오랜만에 재밌었다. 월요일 출근길에 문득 깨달았다. '회사 코드는 왜 이렇게 안 하지?' 답은 간단했다. 레거시. 100만 줄. 10년. 고객. 안정성. 한숨이 나왔다. 월요일 점심, 대학 동기와의 전화 동기가 전화했다. 대학 때 같이 C 언어 과제 했던 친구. "야, 나 이번에 스타트업 CTO 됐어." "오, 축하해." "근데 기술 스택 고민인데, Java 쓸까 Kotlin 쓸까?" 나는 3초 멈췄다. "...둘 다 장단점이 있지." "야, 너 Java 20년 했잖아. 솔직히 말해봐." 솔직히. "Java는 안정적이야. 레퍼런스 많고, 사람 구하기 쉽고." "근데?" "근데 요즘 애들은 Kotlin 배우고 싶어 해. 코드도 깔끔하고." "그럼 뭐 하라는 거야?" "...모르겠어. 나도 고민 중이야." 친구가 웃었다. "너도 그런 고민 하는구나. 위안된다." 전화를 끊었다. 위안은 안 됐다. 화요일 저녁, 후배와의 맥주 신입 김대리가 술을 제안했다. 둘이 나갔다. 두 잔 마시고 김대리가 물었다. "파트장님, 진짜 궁금한 게 있어요." "뭔데?" "Java 20년 하셨잖아요. 후회 안 해요?" 직구였다. 나는 맥주를 마셨다. 생각했다. "후회... 는 아닌데, 불안하긴 해." "뭐가요?" "내가 시대에 뒤처지는 건 아닌가. 10년 뒤에도 Java 할 건가." 김대리가 고개를 끄덕였다. "저도 그래요. 지금 Java 배우는데, 이게 맞나 싶어요." "그래서 Kotlin 하고 싶은 거고?" "네. 근데 파트장님이 Java가 더 중요하다고 하셔서..." 미안했다. 내 불안을 후배한테 떠넘긴 것 같았다. "이렇게 하자. 회사에선 Java 하고, 개인 시간엔 네가 하고 싶은 거 해." "그럼 파트장님은요?" "나도... 그렇게 하려고." 둘이 웃었다. 쓸쓸한 웃음이었다. 수요일 오전, 기술 부채 회의 분기별 기술 부채 리뷰였다. 리스트를 펼쳤다.Java 7 → 8 마이그레이션 (3년째 미뤄짐) Spring 4 → 5 업그레이드 (2년째 미뤄짐) XML 설정 → Java Config 전환 (4년째 미뤄짐)팀장님이 말했다. "우선순위를 정합시다." 다들 침묵했다. 나는 손을 들었다. "다 중요한데, 리소스가 없습니다." "그럼 어떻게 하죠?" "...모르겠습니다." 회의가 끝났다. 결론은 '다음 분기에 재논의'. 복도를 걷는데 막막했다. 이게 Java의 문제인가, 회사의 문제인가, 내 문제인가. 모르겠다. 목요일 새벽, 잠 못 이루고 새벽 3시에 깼다. 다시 못 잤다. 생각이 꼬리를 물었다. Java 20년. 이게 족쇄인가, 무기인가. 족쇄처럼 느껴질 때가 있다. 새로운 걸 못 배우게 막는 것 같다. 그런데 또 무기이기도 하다. 문제 생기면 나는 안다. 20년 경험으로. 후배들이 3일 걸릴 버그를 나는 30분에 찾는다. 이게 실력 아닌가? 아니다. 이건 경험이다. 실력은 새로운 걸 배우는 능력이다. 그럼 나는 실력이 없는 건가? 아침이 왔다. 4시간 잤다. 금요일 오후, 깨달음 같은 것 퇴근 30분 전이었다. 코드를 짜고 있었다. Java로 복잡한 동시성 로직을 구현했다. ExecutorService, CountDownLatch, AtomicInteger. 40분 걸렸다. 옆자리 김대리가 봤다. "와... 이런 거 어떻게 아세요?" "20년 하다 보니까." "저는 언제쯤..." "너도 10년 하면 알아." 그 순간 깨달았다. Kotlin이든 Rust든 Go든, 10년 하면 전문가가 된다. 나는 Java 전문가다. 이게 족쇄가 아니라 정체성이다. 문제는 Java가 아니었다. '변화에 대한 두려움'이었다. 새로운 언어를 배우는 게 겁났던 거다. 초보가 되는 게 싫었던 거다. 45살에 '모른다'고 말하는 게 부끄러웠던 거다. 주말, 결심 토요일 아침. 다시 Kotlin 프로젝트를 열었다. 이번엔 마음가짐이 달랐다. 'Java를 버리는 게 아니라 확장하는 거다.' 20년 Java 경험이 Kotlin 배울 때 도움이 된다. JVM은 같으니까. 오히려 신입보다 유리하다. 기초가 탄탄하니까. 8시간 코딩했다. 점심도 안 먹었다. 저녁에 아내가 물었다. "요즘 왜 이래?" "공부 중이야." "무슨?" "새로운 거." 아내가 웃었다. "그래, 그렇게 사는 게 너답지." 일요일에는 블로그 글을 썼다. 제목: "45살 개발자의 Kotlin 입문기" 조회수 3개 나왔다. 다 내가 새로고침한 거다. 상관없다. 나를 위한 기록이다. 월요일, 새로운 시작 출근했다. 스탠드업 미팅이었다. 김대리가 물었다. "파트장님, Kotlin 괜찮다고 하셨잖아요." "응." "그럼 다음 프로젝트 Kotlin으로 해도 될까요?" 예전 같았으면 망설였을 거다. 이번엔 바로 대답했다. "해보자. 나도 같이 배울게." 김대리 눈이 커졌다. "진짜요?" "응. 너가 가르쳐줘." 회의실이 조용해졌다. 후배가 선배를 가르친다는 게 어색했나 보다. 나는 웃었다. "이상해? 나도 배워야지. 20년 했다고 다 아는 거 아니야." 분위기가 풀렸다. 김대리가 말했다. "파트장님, 멋있으시다." 멋있다기보단 무서웠다. 근데 더 무서운 건 안 배우는 거다.Java 20년은 족쇄가 아니다. 토대다. 그 위에 새로운 걸 쌓으면 된다. 늦은 게 아니라 깊은 거다. 오늘도 배운다.