7월 28일부터 바로 어제 9월 8일까지 파이널 프로젝트를 진행하면서 도저히 블로그 게시글을 작성할 시간이 나오지 않아서
한달 짜리 후기를 작성해보겠다.
WIL과 양식은 같다.
Fact : 8월에 있었던 일, 내가 한 일
Feeling : 나의 감정적인 반응, 느낌
Finding : 그 상황으로부터 내가 배운 것, 얻은 것
Future : 배운 것을 미래에 어떻게 적용할 것인가
실전 챌린지 프로젝트가 종료되었다.
챌린지 프로젝트에선 대규모 데이터 관리, 대규모 트래픽 관리, 동시성 제어 와 같은 서비스 프로젝트보다 좀 더 기술적인 고민을 할 수 있는 프로젝트다.
우리 팀은 대규모 트래픽과 동시성 제어를 주제로 선정하였고 아이디어는 대학교 수강신청을 채택했다.
나는 전체적인 인프라 구성을 주로 다루었다.
팀 개발의 동기화를 위해 디렉토리 구조를 짜고 베이스 코드를 작성했다.
그리고 AWS를 이용한 서버 개설, DNS, 로드밸런싱, 오토 스케일링 등을 조사하고 적용했다.
서버 부하를 실시간으로 체크 할 수 있도록 모니터링 시스템도 구축하였다.
서버 내부 기능으로는 강의 조회 부분을 맡았고 빠른 조회를 위해 DB로직이나 UI적으로 최적화 하는 방법을 고민했다.
내가 했던 부분 외의 기능도 정기적인 스크럼을 통해 로직을 이해할 수 있었고 이에 따라 Redis Cache, logging, websocket + stomp, QueryDSL, DB Lock, Spin Lock, Redssion Lock 등을 배울 수 있었다.
일단 우리 팀장님에게 감사하다는 말을 먼저 하고싶다.
리더로서 적극적으로 팀을 이끌어 나갔고 스크럼이나 역할 배분 등 팀 활동에 필요 요소들을 아주 잘 처리 해주셨다 생각한다. 우리 팀원들도 믿을 수 있는 분들만 계셨기 때문에 시너지가 난게 아닌가 싶다.
말 그대로 나만 잘하면 되는 팀이었다.
그 덕에 이번 프로젝트 활동을 통해 스스로의 역량을 좀더 키울 수 있었고 뭔가 주니어로서 자격을 갖춘 것 같은 기분을 느꼈다.
챌린지 프로젝트는 강의 지급이라던가 자료에 대한 지원을 해주지 않고 팀적으로 자료조사를 하고 회의 하면서 구현해야할 기술에 대해 알아가고 그것을 바탕으로 멘토님과 대화하며 키워드를 얻어가는 방향으로 진행되었기 때문에 내가 구현하고자 하는 것에 필요한 기술이 이게 맞는지 왜 이걸 써야하는지 다른 건 뭐가 있는지 알아야했고 그것을 설명할 수 있어야 했다.
조사 <-> 회의 <-> 적용 3단계를 거치며 애자일 방법론과 비슷하게 개발이 진행되었는데 이로 인해 설명하고 의견제시하는 소통능력이 향상되었다고 느꼈고 해당 과정을 거치면서 나는 필요한 부분을 간단하고 빠르게 개발한 후 그 결과를 가지고 소통하는 것을 잘한다는 것을 알게 되었다.
이번 챌린지 프로젝트를 마치며 뭔가 진짜 실전을 해보고 싶다는 생각이 크게 들었다. 취직 욕심은 당연한 것이고 외주 같은 것들로 내가 할 수 있는 것들이 실전에 적용 됐을 때 어떤 현상을 일으킬지 장애는 없을지 제대로 동작할지 제대로 동작 한다면 유지 보수는 어떤식으로 진행해야하는지 등 실전을 경험해보고 싶어서 취준 기간 사이에 진행 할 수 있도록 지금 진행중인 캠프의 해커톤을 한다던가 아니면 동업자를 구해서 숨고 같은 어플로 실제 외주를 받아보던가 할 것 같다.