항해플러스를 참여하게 된 계기
우연히 웹서핑을 하는 중에 하단에 광고로 항해플러스 백앤드 과정 광고를 보게되었다. 중소기업에서 기존에 존재하는 프로젝트를 유지보수하는 업무를 주로 하는 나는 개발 공부를 좀더 폭넓고 깊게 배우고 싶다는 평소 마음가짐을 갖고 4기 커리큘럼을 차근차근 읽었다. TDD(Test Driven Development), 클린 아키텍처, 서버구축, CI/CD 모니터링, 대용량 트래픽 처리, 장애 대응이라는 처음 보는 키워드가 많고 배우고 싶은 마음이 생겨서 OT를 듣고 바로 신청을 하게 되었다.
항해 플러스 프로젝트 결과물 및 후기
10주과정으로 사용자 포인트 처리(TDD 챕터) 및 특강신청 처리(클린 아키텍처 챕터) 마지막으로 이커머스 시나리오(전체적인 과정)를 기반으로 과제를 진행하였다.
1. TDD : TDD 방법론이 어떻게 진행되고 대기업에서 요구하는 TDD의 관심사는 무엇인지 처음 적용해보는 코드에 다소 낯설었지만 코치님들의 멘토링 피드백과 동료분들과 같이 리뷰를 통하여서 의문점들을 하나씩 해결해 나갔다. 과제를 진행하는데 처음에 어려움이 많아 진도가 나가지 않았지만 고민하는 과정에서 TDD에 관한 클린코드 방식을 작성할 수 있어서 TDD에 대한 감을 익히는 시간이었다.
2. 클린 아키텍쳐: 레이어드 아키텍쳐 기반으로 사이드 프로젝트를 진행한 적이 있어서 레이어드에 대한 대략적인 개념만 알고 있었지만 헥사고날 아키텍처 클린 아키텍처, 클린 아키텍처와 레이어드 아키텍처를 합친 여러개의 아키텍처 개념들은 처음 보는 구조였고 개념을 학습하면서 각 아키텍쳐에 대한 개념을 머릿속에 넣었던 시간이였다. 수강신청 기반의 과제를 진행하였고 TDD에서 배운 코드작성 패턴과 아키텍쳐 개념을 접목시켜서 도메인 보호라는 것을 중점으로 api를 만들어 나갔고 테스트 코드를 작성해 나갔다.
3. 서버 구축 : 이커머스 서비스 시나리오를 기반으로 여러가지 요구사항을 개발 전에 분석하고 구현하면서 DB 아키텍쳐 , 프로젝트 마일스톤, ERD 구축, 시퀀스 다이어그램 및 플로우 차트, API 명세서와 MockAPI 작성 등등 개발 전에 현업에서 주로 진행하는 과정을 간접적으로 거쳤다. 그리고 이후에 기본적으로 TDD 기반으로 주요 비즈니스 로직부터 시작해서 단위 테스트 코드를 작성하였고 클린 아키텍처와 레이어드 아키텍쳐 기반으로 패키지 구조를 작성해 나갔으며 단위 테스트 기반으로 비즈니스 로직을 개발해 나갔다. 그리고 처음 바라보는 UseCase와 Facade 개념을 코치분들이랑 멘토링 시간에 피드백을 주고받으면서 프로젝트에 적용해 나갔다.
4. CI / CD 모니터링 및 대용량 트래픽 처리 : CI / CD 개념을 아예 몰랐던 터라 개념학습부터 시작하여 github action을 시작으로 CI(Continuous Integration)를 진행해 나갔고 CD(Continuouns) 같은 경우는 AWS에서 직접 콘솔을 만지지는 않았으며 EC2, ECR 작업은 코드 작업이 완료되는 대로 진행해볼 계획이다. 대용량 트래픽 같은 경우는 크게 동시성 문제 / 트래픽 처리 / 어플리케이션 설계 이렇게 3가지로 나눠져 진행하였고 채용과정에서 중점적으로 보는 '대용량 트래픽 처리'를 데이터 베이스 관점에서 여러가지 Lock 개념과 Index 및 분산락 등등 여러가지 관점에서 어떤 방향으로 처리하였는가에 집중하면서 이커머스 시나리오에 적용하였다.
총평 및 앞으로 도전해 보고 싶은 것
주니어 즉 저연차 입장에서 여러가지 개념들을 단기간에 맛보기가 아닌 직접 과제를 진행하면서 깊게 파고드는 기회를 가질 수 있고, 빅테크 기업에 재직하시는 스펙이 높으신 코치님들과 슬랙과 게더타운에서 직접적으로 피드백을 주고 받을 수 있는 가장 큰 장점이 있다.
그리고 그 과정에서 4기 동료분들과 토론하면서 더욱더 학습동기를 부여받을 수 있게되고 코치님 말씀대로 수료 이후에도 기존에 진행하던 프로젝트를 방치해 두는 것이 아닌 항해 플러스를 기반으로 계속 학습곡선을 그려나갈 수 있는 기회를 잡을 수 있다.
회사일을 병행하시면서 이 과정을 초반에 수행해 나갔는데(지금은 퇴사 상태(?)) 처음에는 많이 힘들고 지치는 감이 많이 들었다. 하지만 계속 배운다는 생각으로 항해플러스를 수료하면 끝나는 것이 아니라 더 좋은 기업으로 가기 위한 원동력이라고 생각한다. 그리고 많은 분들이 개발학습에 투자하시고 과제를 꾸준히 수행하시는 것을 보면서 정말 존경스럽다는 마음이 들었고 많이 배우는 시간이었다고 생각한다.
CI / CD 챕터 및 대용량 트래픽 처리, 장애 대응 등 챕터에서 못다한 개념들을 시나리오에 접목시키면서 계속 학습을 이어나가고 데이터베이스에 대한 학습을 조금 깊게 하면서 개발 학습을 꾸준히 진행해 나가보고 싶다.
개발에 관하여 수준 높은 멘토링 시간의 기회를 가져보고 싶거나 재직중인 회사에서 경험해보지 못할 서비스를 꾸준히 학습하면서 만들어 나가고 싶은 분이 계시다면 항해 플러스 과정을 적극 추천하는 바입니다.
그리고 끝으로 항해플러스에는 지인 추천 제도가 있어서 지원하실 때 추천 코드란에 아래 코드를 입력하시면 할인 혜택을 받으실 수 있습니다.
추천인 코드 : HHPGS0141