잡담/회고

입사 첫 프로젝트 회고

민철킹 2022. 5. 14. 03:54

😉 할만한데?

팀에 배치된지 얼마 되지 않았을 무렵 요구 사항이 팀으로 들어왔고 간단한 서비스였기 때문에(현재는 실 서비스가 아닌 사내에서 사용) 팀장님께서 업무 프로세스도 익힐 겸 사수님, 동기와 함께 프로젝트를 진행해보라고 하셨다.

 

진행될 프로젝트에 대한 기획 및 설계를 들으면서 처음에 들었던 생각은 "어? 할만한데?"였다.

간단히 프로젝트에 대해 설명하자면, DB 데이터에 대해 특정 Event가 발생하면 Kafka로부터 메시지가 발행되고 이를 Consume하여 서비스 로직을 수행하는 프로젝트이다.

 

Event가 발생했을 때 특정 Topic으로 Kafka가 메시지를 발행하는 부분은 이미 다른 곳에서 구현되어 있어 이를 Consume하는 부분만 신규 프로젝트에서 만들면 됐기 때문에 크게 어려울 것 같지 않았다.

 


⚙️ 세팅 지옥

완전히 처음부터 시작하는 신규 프로젝트였기 때문에 개발을 시작하기 전에 세팅을 진행해야 했다.

 

데이터를 끌어올 사내 DB와 연동을 해야 했고, MSA 구조로 설계되어 있는 시스템 상 Spring Cloud를 사용해 등록도 해야했다.

 

물론, 이미 세팅되어 있는 다른 프로젝트를 참고하며 진행했지만 프로젝트들마다 조금씩 차이가 있고 어떤 것을 따라가야할지가 명확하지 않아서 하루종일 세팅 지옥에서 "외 않되"를 반복하기도 했다. 똑같이 따라했는데!!

 

개발에서 막힌게 아니라 기본적인 세팅에서 막히다보니 현타(?)도 좀 왔던 것 같다.

 

신규 프로젝트이다보니 사용할 기술이나 버전을 최신으로 사용할 수 있는 부분은 좋았다.(Java 17, Spring Boot 2.6.7 등)

 

다른 프로젝트의 설정을 가져오면 버전이 달라서 발생하는 이슈도 있었고 Deprecated된 부분도 있었는데 어찌저찌 세팅을 완료했고 개발을 진행할 수 있었다.

 

사실, "흐엥.. 이거 왜 안될까요 사수님?.."하면 사수님이 "잠시만요. 한번 봐볼게요."하고 뚝딱 원인을 찾아와주셨기 때문에 완료했던 것 같다.

 


😱 개발은 실전

 

쉬운건 없다 ㅠ_ㅠ

 

다른 프로젝트들과 비교했을 때 매우 굉장히 작고 하찮은 프로젝트였음에도 쉽지 않았다.

 

일단, 도메인적인 지식이 부족했고 처음 사용해보는 기술들이 있었기 때문이다.

 

또한, 결국은 상용 배포를 해야하므로 그 과정에서 코드 리뷰를 거쳐야했고 그렇기에 단순한 구조임에도 적절한 분리와 깔끔한 설계를 위해 많은 고민을 하게 되었다.

 

처음에는 클래스 몇개 만들고 끝일 줄 알았는데 다 만들고보니 클래스가 20개가 넘었던 것 같다.

 

물론, 개선할 부분이 계속해서 존재하고 다른 분들이 봤을 땐 좋지 않은 로직과 설계로 보일 수도 있겠지만 스스로 생각하는 과정 자체가 좋았다.

 

사수님과 리팩토링을 함께 진행하다 내가 몇일 머리 싸매고 작성한 매우 더러운 로직을 바로 슬라이스하게 덜어내는 것을 보고 "아.. 이게 슨배님이구나!" 싶기도 했다.😅

 

팀원분들께서 신입에게 주는 선물(?)로 코드 리뷰를 굉장히 많이 해주셔서 너무 좋았고 감사하기도 했다.

 

얼마전에 회사의 동기가 커피 타임 중에 "PR에 코멘트가 달리면 톡 터트리고 싶은 욕구가 생겨서 바로바로 답글을 달고 싶다."라고 하셨는데 이 말에 굉장히 동감한다.

 

개인적으로 코딩하는 것보다 함께 코드리뷰를 진행하며 좋은 방향을 위해 논의하는 것이 훨씬 즐겁다.(필자는 코멘트 달리면 칼답글 다는 스타일)

 

코드 리뷰를 진행하면서 놓치고 있는 부분도 많이 발견할 수 있었고 생각하지 못했던 부분을 캐치할 수 있었다.

 

나도 팀원분들 PR에 리뷰를 열심히 달아드리고 싶어 PR이 올라올 때마다 열심히 뒤적거리는데 현재 내 상태로는 코멘트를 드릴 수 있는 부분이 없는 것 같아 아쉽다.

 

사내에서 배포 시스템이 자동화되어 있기 때문에 컨테이너를 만들어 프로젝트를 등록하기만 하면 되는데, 배포 시스템이 토이 프로젝트를 진행하며 구축했던 CI/CD(무중단 배포)흐름과 크게 다른 점이 없어서 어떤 방식으로 동작하는지 쉽게 이해할 수 있었다.

 


🤷🏻‍♂️ 제대로 알기

첫 프로젝트를 진행하면서 또 한번 느꼈던 것은 왜 이런 코드를 작성했는지 남에게 명확히 설명할 수 있어야한다는 것이다.

 

개발에는 정답이 없다. 동일한 로직도 여러 구현 방법과 해결책이 존재한다.

 

그렇기에 누군가 방법에 대해 의문을 품을 때 타당한 근거를 제시할 수 있어야한다.

 

타당한 근거를 제시하기 위해서는 하나라도 제대로 알아야하고 깊이를 키워야함을 느꼈다.

 

공부할게 너무 많아서 언제 깊이를 키울 수 있을진 모르겠지만 ㅎㅎ..

 

 


🤷🏻‍♂️ 몰?루

"잘 모르겠어요."라고 말할 수 있는 용기가 필요한 것 같다.

 

물론 아무런 노력도 없이 무지성으로 "몰?루"라고 말하면 안되겠지만, 이해하지 못한 부분이나 잘 해결이 안되는 부분에서 "모르겠어요"라고 말하면서 도움을 요청할 수 있어야 한다는 의미이다.

 

이해하지 못한 것을 어물쩡 넘기면 반드시 돌아온다.

 

나는 개인적으로 사수님을 질문으로 굉장히 괴롭혔다고(?) 생각하는데, 사수님 포함 팀원분들이 질문에 대해서 귀찮아하거나 싫은 내색을 보였던 적은 한번도 없는 것 같다.

 

오히려 질문이 있다고 말씀드리면 얼마든 환영이라고 반겨주셨다. 속마음은 그게 아니셨을 수도 있지만 ㅎㅎ..

 

괜히 애매한 부분을 혼자 끙끙대며 들고 있다가 나중에 문제가 생기는 것 보다는 훨씬 이득이니까!

 

 


🧑🏻‍💻 보람

내가 만들어 배포된 서비스가 정상적으로 동작하고 사용되고 있는 것을 보는 것만큼 뿌듯하고 보람찬 일이 또 있을까 싶다.

 

먼 언젠가 개발에 대한 애정이 식고 무뎌지더라도 내가 만든 무언가가 타인에게 사용된다는 보람만큼은 무뎌지지 않을 것 같다.

 


🌱 Next Step

첫 프로젝트가 끝나고 현재는 또 다른 서비스 오픈을 위해 프로젝트를 진행하고 있다.

 

이번에는 실제 고객들이 사용하게될 서비스라 더 흥미가 있는 것 같다.

 

새로운 프로젝트를 시작하는 일은 항상 설렌다.

 

다음 스텝에서는 더 성장한 내가 되었으면 좋겠다.

반응형

'잡담 > 회고' 카테고리의 다른 글

2보 전진을 위한 1보 후퇴  (1) 2022.12.30
2022년 11번가 신입사원 최종합격 후기  (11) 2022.01.06
2021년 하반기 회고  (0) 2021.12.31
2021 상반기 회고  (2) 2021.08.10