안녕하세요.
이제 회사에 입사한지 1년 정도 된 새내기 개발자 입니다.
기존 스프링부트 2.x, jdk 1.8에서 돌던 서비스를 리팩토링 하고자 합니다.
기존에 레거시 코드가 많아서 아예 새롭게 만들고자 합니다.
스프링부트는 3버전으로 가기로 확정이 되었습니다.
언어 선택이 문제 인데요.
JDK 17 과 코틀린
사수는 JDK 17을 택했고,
코틀린 언어를 새로 배우는데 시간이 오래 걸려서가 이유입니다.
솔직히 어떤 언어를 써도 상관은 없지만,
사용해보지 않은 코틀린을 사용해서 코프링을 해보고 싶은 마음이 큽니다.
사수가 코틀린을 선택할 수 있도록 설득하고 싶은데,
어떤 방식으로 설득을 하는게 좋은지 잘 모르겠습니다.
읽어주셔서 감사합니다.
물론 저도 코틀린이 좋아 보이긴 합니다만.... ㅎㅎ
코틀린으로 하다가 자바로 하면 자바 코드 보기 싫습니다
단지 사용해보지 않아서 라는 이유로는 어려워 보입니다.
그런 이유라면 저라도 당장 코틀린으로 리팩토링 할 이유는 없어 보입니다.
본인이 코틀린에 너무 능숙해서 멱살 잡고 하드캐리할 수준이 아니면 그냥 사수가 하자는 대로 하세요. 반대로 다른 사람 가르쳐가면서 본인 업무도 잘 해낼 자신있으면 그렇게 하겠다고 말하고 밀어붙여 보셔도 되는데, 단순히 써보고 싶고 멋져 보인다는 이유로 기술을 선택하면 안 됩니다.
어떤 유명한 프로그래머는 프로그래밍은 예술에 가깝다고 표현하기도 하고, 응융수학의 끝판왕이라고 표현하기도 합니다. 함수 한 두개로 프로젝트가 끝나지 않기 때문입니다.
프로젝트가 총 소요시간에서 프로그래밍의 개발 시간은 반도 안됩니다.
요구사항 들어오지, 협의해야지, 기존 레거시 분석해야지, 정리해야지 등등. 이슈가 많습니다.
그 이슈를 해결 할 수 있는 시간은 한정되어 있고,
그 이슈를 해결책을 찾는 소요 시간는 보통 '경험'에서 나옵니다.
자바 경험은 많으나, 코틀린 경험은 없기에, 모든 이슈를 찾아서 해결해야 합니다.
선임이랑 협의가 되서, 야근도 불사하겠다. 하면 'go'
내가 어떻게 해결해 보겠다 약속되면 'go' 입니다.
어떤 프로젝트에서는 그렇게 주장했던 분에 의해서 다른 언어, 프레임워크 선택 하고 진행하다가,
그 사람이 다른 곳으로 이직하면서, 다른 옆 개발자가들으 붕 뜬 사건도 본적이 있습니다.
즉 같이 하기로 약속한 선임이든 본인이 이직할 수도 있습니다. 이런 것도 이슈가 되겠죠.
그리고 기술에 대한 욕망은 토이 프로젝트로 얼마든지 실현 가능하십니다.
아직 제가 많이 부족한데도 불구하고, 너무 욕심이 앞섰던 것 같습니다.
적어주신 글들을 천천히 곱씹으면서 읽어보면서
제가 보지 못했던 시야까지 생각해주시고 일깨워주셔서 감사합니다.
앞으로 부지런히 정진하도록 하겠습니다.
다시 감사드립니다.
언어는 경력자라면, 몇 주 보면 다 거기서 거기라,
얼마든지 습득하여 적용이 가능한데.
그런 경험들을 안해본것 같네요.
그래서 새로운 언어에 대한 부담감이 컸나 봅니다.
새로운 언어를 한번씩 해보면,
별거 아닌데,
"그러다 버그 생기면 어쩌려고?"
대부분은 새로운 언어여서 버그가 아닐거에요.
그냥 복이에요
나중에 본인이 사수가 되면 적극 고려하세요.
전 직장에서 자바쓰다 코틀린 도입한 부서 직원들한테 물어보니 한결같이 더이상 자바 쓰기 싫다고 하더군요.