안녕하세요. 벌써 F-Lab 멘토링 프로그램을 시작한 지 2개월이 지났는데요. 이번 글에서는 지난 한 달 동안 제가 경험한 다양한 일들과 배운 점들을 공유하며, 멘토링을 통해 느낀 성장의 이야기를 나눠보려고 합니다.
한 달 동안의 경험
드디어 본격적으로 프로젝트를 시작했습니다! 사실 이전에는 프로젝트 설계를 구체적으로 해 본 경험이 없어서 어디서부터 시작해야 할지 막막했는데요. F-Lab을 통해 도메인 용어 사전, 요구사항 정의서, ERD를 작성하며 체계적인 설계 과정을 경험해 볼 수 있었습니다. 프로젝트 초반에 화면 기획서를 만들어 멘토님께 보여드렸는데, 엄청 극찬을 해주셔서 뿌듯했던 기억이 아직도 선명히 남아있습니다. 😊
한 달동안 프로젝트를 통해 다양한 경험들을 해보았는데요.GitHub의 경우 이전에는 단순히 PR만 사용했던 것과 달리, GitHub Actions, Project, Wiki, Issues를 직접 사용하며 Git을 통한 협업 방식을 더 깊이 이해할 수 있었습니다.
그리고 멘토님의 추천으로 프로젝트를 자바 대신 코틀린으로 개발을 진행하고 있는데요. 아직 완벽하게 익히지는 못했지만 CRUD API를 구현하며 앞으로도 계속 코틀린을 사용해 보고 싶다는 생각이 들 만큼 코틀린의 매력을 크게 느낄 수 있었습니다.
인프라의 경우 이전에는 AWS, GCP, Azure를 간단히 경험해 본 경험이 있는데, 이번에는 새롭게 NCP(Naver Cloud Platform)를 활용해 서버를 구축해보았습니다. 단순히 인스턴스를 생성해 DB를 연결하는 수준에서 그치지 않고, Redis, Kafka, Nginx 등 대규모 서비스에서 사용되는 기술들에 대해 학습하며 활용 방식을 이해할 수 있었습니다.
그동안 SI 프로젝트 위주로 작업하며 개발 서버와 운영 서버 한 대씩만 사용하는 단순한 환경에 익숙했지만, 이번 기회를 통해 대규모 서비스 환경에서는 고가용성을 고려한 설계가 필요하다는 점을 배웠습니다. 로드밸런싱으로 트래픽을 분산하고, 데이터베이스를 마스터와 슬레이브로 분리하는 방식으로 운영된다는 것을 알게 되었습니다.
새롭게 알게 된 점
이번에 프로젝트를 진행하면서 멘토님께서 merge 전략에 대해서 알려주셨는데요. 이전에는 단순히 merge가 브랜치를 합치는 과정이라고만 생각했지, 이 과정에서 전략이 필요하다는 것을 알지 못했습니다. 멘토님께서는 Fast-forward, Squash, Rebase merge와 같은 다양한 전략을 설명해 주셨고, 각각의 장단점과 사용해야 할 상황에 대해 구체적으로 알려주셨습니다. 그중 Squash Merge 전략을 프로젝트에 적용하게 되었는데, 단순히 코드를 합치는 것을 넘어 팀원 간의 협업 효율성을 높이고, 히스토리를 정리하는 데에도 merge 전략이 중요하다는 것을 깨닫게 되었습니다.
좋았던 점
저는 평소 개발하고 싶은 아이디어가 떠오르면 습관적으로 노트에 적어두곤 하는데요. 이전에 사이드 프로젝트를 진행한 적이 있었는데, 디자이너와 함께 기획부터 설계, 인프라, 프론트엔드, 백엔드까지 혼자서 모든 과정을 맡아 진행하다 보니, 스스로 올바른 방향으로 나아가고 있는지 확신이 서지 않을 때가 많았습니다. 또한, 막히는 부분을 해결하는 데 시간이 오래 걸려 어려움을 겪기도 했습니다. 에프랩에서는 매주 멘토링을 진행하다보니 강제성을 부여할 수 있었고, 혼자 공부할 때보다 훨씬 빠른 속도로 성장하고 있다는 것이 체감돼 좋았습니다.
아쉬웠던 점과 앞으로
다른 분들의 후기를 보면, 직장과 병행하며 멘토링에 참여하는 것이 시간적으로 여유가 없어 힘들었다는 이야기가 많았는데, 저도 이 부분에 깊이 공감했습니다. 프로젝트를 진행하면서 제가 구상한 기능이 많아 이슈가 107개까지 늘어나 모든 기능을 구현하고 싶은 욕심이 있었지만, 현실적으로 우선순위를 고려해 중요도가 낮은 기능은 제외해야 했습니다. 특히, 개발해야 할 양과 학습해야 할 내용들 사이에서 균형을 맞추는 것이 쉽지 않았습니다. 결국, 멘토링의 목적에 따라 학습에 중점을 두기로 결정했지만, 직장 업무까지 병행하다 보니 한 가지에만 몰두하고 싶다는 마음이 종종 들기도 했습니다.
그리고 이번 한 달동안은 기획이나 설계, 인프라 구축에 초점이 맞춰져 있었기 때문에 새로운 경험은 많이 할 수 있었지만 반대로 1개월 차에 공부했던 것처럼 기술적인 부분은 많이 학습하지 못했는데요. 조금 더 적극적으로 기술적인 부분을 학습했어야 했는데 그러지 못했던 점이 스스로에게 아쉬워서 앞으로는 더 적극적으로 학습에 중점을 두어 기술 면접에서도 모든 질문을 막히지 않고 잘 말할 수 있게 성장하고자 노력하려고 합니다.
'💡 ETC' 카테고리의 다른 글
[F-Lab] Java Backend 멘토링 1개월 후기 (0) | 2024.12.11 |
---|---|
[F-Lab] Java Backend 멘토링 시작 그리고 나의 커리어 (1) | 2024.11.05 |
2024 토스 NEXT 개발자 챌린지 코딩 테스트 회고 ✏️ (4) | 2024.10.06 |