5주간의 프로젝트 일정이 어제 마무리 되었다.
돌이켜보면 정말 많은 일들이 있었는데, 벌써 끝이 났다니 시간이 참 빠르게 느껴진다.
급하게 프로젝트 발표를 맡게 되어 자료를 만들고, 대본도 여러 번 연습하지 못한 채 발표대에 섰다.
1조가 너무 발표를 잘해서 기가 좀 죽었지만..ㅎㅎ, 전반적인 부분에 있어 다 우리 조도 해당되는 말이 있었고, 그 내용을 참 잘 녹여냈다는 생각을 했다. 무튼 우리 조 발표에만 집중하지 않고 다른 조들 발표를 들으며 알게 된 점들이 또 많았다.
우선, Flyway라는 DB 형상 관리 도구를 처음 알게 되었고, 개발을 위한 시나리오부터 예외 처리까지 구체적으로 구상하고 설계하는 테크 스펙 작성법에 대한 것도 알았다. 또한, 우리 조가 RedisTemplate 대신, Spring에서 권장하는 RedisClient로 구현 방식을 전환한 것도 인상적이었다. 디스코드에서는 변수 추천 봇을 만들어 실제 변수 관련 질문을 하면 여러 가지 변수를 추천해주는 조도 있었다. 이 외에도 디렉토리 구조에 대한 깊은 고민과, 그 결과로 어떻게 분류하고 구조를 설계했는지 발표하는 등 많은 것을 배웠다. 여러 번 속으로 '유레카!'를 외칠 정도로 뜻깊은 경험이었다.
오늘 발표를 하면서는 이런 내용들을 비교적 짧게 담은 것이 아쉬웠다. 자료를 급하게 만들다보니 발표의 방향성을 잘못 잡은 게 아니었나 싶었다. 회고 발표에 좀 더 중점을 두어서 왜 이 프로젝트를 발표하기로 결정했는지, 프로젝트를 어떤 방식으로 진행했는지, 팀 별 소통은 어땠는지, 좀 더 고민한 내용들을 담았으면 좋았겠다는 생각을 참 많이 했다.
그래도 정성스럽게 만든 발표 자료에 대해서는 후회는 없다! 오늘을 계기로 또 한 번 배움이 있는 거고 더 보완하는 자세를 가지는 게 더 중요하다고 생각한다. 다른 조 발표자 분께서 자신감이 정말 중요하다고 해주셨는데 그게 맞는 것 같다. 떨려도 긴장해도 티 내지 않고, 자신감있게 행동하는 거. 앞으로 더 신경쓰고 의식해야겠다.
말을 하는 거나 글을 쓸 때에도 사실 기승전결이 명확해야 듣는 사람으로 하여금 그 의도가 정확히 전달이 될텐데 사실 나는 이런 부분에 있어서는 습관이 덜 되어 있는 것 같다. 하고 싶은 말을 많고, 정리는 잘 안되고, 그러다 보니 의식의 흐름대로 말을 하고.
앞으로 그냥 머릿 속에 있는 말들을 막 뱉지 않고, 정제해서 의도를 명확히 전달할 수 있도록 연습해야 겠다.
발표 때 말하지 못했던 이 백엔드 인턴십에 대한 회고를 작성해보겠다.
먼저 좋았던 점과 아쉬웠던 점으로 나누어 작성하겠다.
첫째, 좋은 팀원들을 만나 많은 걸 배우는 기회가 되었다.
의견 수용에 더 신경쓰느라 의사 결정에 대한 단호함이 부족했던 팀장이었는데도, 믿고 많이 의지해주어서 더 열심히 할 수 있었다.
능력이 출중한 팀원들 덕에 Jira를 Github 이슈 탭과 연동해 뭔가 본격적으로 프로젝트 진행 관리 툴로써 사용해본 경험을 쌓을 수 있었다.
또한, Git 컨벤션을 적극 활용해 커밋 내역을 봤을 때에도 명확하게 기능 별 작성된 코드를 알 수 있었고, PR 템플릿, 이슈 템플릿 등을 정해 구현한 기능에 대한 상세한 설명, 진행 과정에서 어려웠던 점들을 보며 코드 리뷰에 대한 이해도를 높일 수 있었습니다.
현업에서는 코드리뷰를 어떤 방식으로 진행하는 지는 정확하게 알지 못하지만 우리 조의 경우, PR을 올리면 2명 이상의 승인을 받아야 머지 가능하도록 설정하였다. (실제로 승인을 받지 못한 PR은 머지가 안되도록 하였다.) 이로 인해 꼼꼼하게 코드를 확인하는 법을 배웠고, 내가 작성한 코드에 근거가 있고 상대 개발자도 그 코드를 이해한다면 된다는 것도 알게 되었다.
둘째, 내가 개발을 얼마나 좋아하는 지 더 알게 되는 계기가 되었다.
적극적으로 의견을 내고, 궁금한 내용은 찾아보고 질문하며 지식의 폭을 넓힐 수 있었다. 문제 해결하는 시간이 어렵지만서도 재밌고, 막상 해결했을 때의 희열을 잊지 못한다.
셋째, 알고 있던 내용에 대한 정확성을 높일 수 있었다.
항해99 부트캠프 때 회원 도메인을 맡아 개발했었는데, 그 때 당시 학습한 내용과 이후 사이드 프로젝트에서 진행한 코드와 지식을 바탕으로 보다 탄탄한 API를 개발할 수 있었다. 기능에 대한 테스트 코드까지 작성해보면서 이전에 경험하지 못한 부분까지 해낼 수 있음에 성장했음을 체감했다.! ㅎㅎ
또한, 로그인 기능을 맡지 않은 분들께 코드에 대한 설명을 하고, 전반적인 동작 과정에 대해 직접 말로 표현해보니 더 이해가 잘 되었고, 정확도 높은 정보 제공을 위해 더 많이 학습할 수 있어 좋았다.
아쉬웠던 점은 내가 개발한 이외의 부분에 대한 이해도가 떨어진다는 점..? 아무래도 역할 분담 뒤에 맡은 기능별로 개발을 진행하다보니 각자의 기능에 대한 이해도는 높지만, 상대의 기능에 대한 이해도가 상대적으로 낮을 수 밖에 없었다. 또한, 요구 사항에 대한 개발, 짧은 기간 동안 프로젝트를 마무리하는 것에 더 큰 중점을 두었기에 진득한 코드 리뷰가 이루어지지 못했다는 점도 영향을 미쳤다.
개발 당시에는 '그래, 우선 기능이 구현되고 공부하자' 라는 생각으로 미루었던 부분이 지금으로썬 약간의 아쉬움처럼 남는다. 그래서 수료 후에 팀원 분들과 얘기를 나눴고, 내 의견을 반영하여 각자 맡은 부분에 대한 코드를 설명하는 시간을 갖기로 했다.
(각자 설명함으로써 스스로 더 잘 이해하고 담당하지 않은 사람에게는 코드의 작동 원리나 순서를 이해하는 시간이 되지 않을까!)
앞으로 취업이라는 큰 산이 남았는데, 열심히 지원해서 좋은 결과를 내면 좋겠다!
이 글을 보는 모든 사람들 화이팅!!! 비교적 덜 힘든 한 해가 되길 🙏
'TIL' 카테고리의 다른 글
[Git] 커밋 메시지 템플릿 설정하는 방법 (0) | 2024.08.23 |
---|---|
[TIL_원티드 백엔드 프리온보딩 1일차] (0) | 2024.08.21 |
[TIL] 1일차_Websocket 공부 (0) | 2024.07.29 |