처음 개발을 접했을 당시 학원을 다녔기 때문에 기본적으로 배우게 되는 언어인 JAVA로 시작을 하게 되었다.
그렇게 첫 회사에 JAVA & Spring Boot 기술 스택인 플랫폼 회사로 입사한 지 이제 6개월 차가 되어간다.
난 아직 1개월 차 같은 느낌인데 벌써 6개월이 되어간다니..
입사하고 1개월 차가 안 되었을 때 새로운 CTO 분이 오시게 되면서 화상으로 인터뷰를 할 때 기존에 운영 중인 플랫폼들을
새로운 언어로 전부 개편한다고 전달을 받았고 CTO 분께서 혹시 새로운 언어에 대한 거부감은 없는지에 대해 물어봤었다.
그때 당시, 나는 JAVA도 완벽하게 배운 것 같지 않았기 때문에 새로운 언어여도 처음부터 제대로 배우고 싶다는 욕심이 있어서
JAVA로 꼭 개발은 하지 않아도 된다고 말했고 걱정은 되지만 열심히 배워보겠다고 했었던 기억이 난다.
기존 개발 언어 : 이커머스 플랫폼 - PHP & 물류 플랫폼 - JAVA+Spring Boot
신규 개발 언어 : 이커머스 플랫폼, 물류 플랫폼 - TypeScript+NestJS
당장 시작하는 것은 아니었고 기존 언어로 보완할 부분을 최대한 수정하고 신규 언어로 리뉴얼을 진행할 예정이었다.
그렇기 때문에 사수들은 천천히 한 명씩 넘어갔지만 나는 어제까지 혼자서 JAVA로 유지보수 및 추가 개발을 맡아서 하고 있었다.
사실 사수들처럼 신규 개발로 넘어가 보고 싶었고, '난 언제 신규 플랫폼으로 넘어갈 수 있을까..', '과연 신규 플랫폼으로 넘어가서 잘할 수 있을까'라는 생각들이 머릿속에 가득 찼던 것 같다.
그리고 드디어 어제 신규로 넘어와서 간단한 수정사항을 진행하게 되었는데 사실 너무 간단해 보였고 금방 끝날 줄 알았다..
하지만 JAVA & Spring Boot의 흐름과 코드들이 익숙했는데 새로운 흐름과 코드들을 보니 혼란스러웠던 것 같다.
이게 뭐지? X 1000000000000000000000의 상태였고 수정사항은 테이블에 컬럼 하나 추가해서 추가된 컬럼을
POST, PEACH, GET에 추가해서 각각의 기능대로 잘 돌아가기만 하면 되었다.
어렵게 느껴졌던 가장 큰 이유는 코드를 보고 해석이 잘 안 되었는데 CTO 분께서 옆에 오셔서 일단 흐름을 생각하라고 했다.
쉽게 설명해주셨던 큰 흐름은 Controller를 거쳐서 Varidation 검증을 Dto로 해주고 만약 타입이 일치하지 않는다면,
터지게 하는 작업을 Dto라는 클래스로 만들어서 사용하는 거라고 하셨다. 즉 JAVA에서 사용하는 Dto 클래스와는 결이 달랐다.
검증이 끝나면 Service로 넘어가서 로직을 타게 하고 그다음 Repository (Entity)를 거친다고 생각하면 된다고 하셨다.
사실 아직 개념이 부족하다.. 개념 공부를 먼저 시작해야 될 것 같다..
Module → Controller (Dto) → Service → Repository (Entity)
위 흐름을 생각하고 수정 작업을 진행하려고 보니까 안 보이던 코드들이 조금씩 보이면서 어디를 수정해야할지 알게 되었고,
몇시간 붙잡고 있던 수정사항을 좀 더 수월하게 고쳤고, "이 코드는 어디서 쓰이는거길래 수정을 했나요?"라는 물음에 확실하게 대답하지 못하면 수정하면 안 되는 코드라는 것도 다시 한 번 깨닫게 되었다.
아직 익숙해지려면 멀고도 멀었지만.. 처음 JAVA를 시작할 때 학원 속도 맞추느라 급하게 따라가기만 했다면,
새롭게 시작하는 것이다보니 기초부터 잘 잡아서 제대로 개발을 하고 싶기 때문에 시간을 쪼개서라도 열심히 하려고 노력하자!
'Dego Log' 카테고리의 다른 글
[Dego Log] 난 진짜 개발자일까..? (0) | 2024.06.23 |
---|---|
[Dego Log] 백엔드 개발자의 취준 기록(with.요즘 개발자 취업에 대한 생각..) (2) | 2024.06.07 |
💎 원티드 프리 온보딩 백엔드 인턴십 10월 💎 (2) | 2023.10.29 |
[Dego Log] Git Flow 경험 기록 (0) | 2022.05.09 |
[Dego Log] 백엔드 개발자가 되기 위한 취준 기록 (0) | 2022.04.11 |