/////
Search

제주로드 회고

생성자
Dev.Playground 라는 이름의 크루를 만들고 활동하면서 처음으로 크루원원들과 함께 참여한 프로젝트 ‘개발자들의 지극히 주관적인 제주도 여행 서포트 서비스, Jeju-Road’를 진행하면서 느꼈던 내용을 회고로 남긴다.

협업에는 확실한 규칙과 의사소통이 필요하다

개개인이 공부를 진행하며 해왔던 프로젝트와는 다르게 제대로 된 협업이 이번 제주로드 프로젝트 였던 것 같다. Front-End, Back-End, Android, DB/Infra 4개의 팀으로 나누어 각자의 역할을 분배하고 서로 간의 업무를 연결시킬 인터페이스도 함께 맞춰가며 프로젝트를 시작했다.
초반에는 모두의 열정과 설렘으로 진행속도가 빠르게 진행되는 듯 했다. 하지만 각 팀의 열정이 평균적일 수 없었다. 한 팀의 열정에 비해 진행 속도가 더디니 그 팀은 열정이 식고, 다른 팀의 열정이 올라가면 다른 팀들의 사기가 이미 저하되어 있다고 판단되어 개발 속도는 점점 느리게, 또 안좋게 가는 악순환이 반복되고 있었다.
회사가 아닌 정말로 개발을 좋아하는 사람들끼리 어쩌면 개인의 시간을 쪼개서 진행한다는 것은 사실 쉬운일은 아니다. 단지 결과물과 그 과정에서 본인의 성장을 위해 투자하는 시간으로 강요할 수는 없다. 하지만 확실히 협업을 진행할 땐 모두의 확고한 목표와 방향성이 같아야만 그 열정을 서로에게 전달할 수 있고, 충분한 의사소통이 없이는 각 팀을 바라보는 시선이 ‘작업을 하는지?’, ‘관심이 없는지?’ 알 수 없기 때문에 솔직하고 궁금한 내용은 명확하게 공유하여 의사소통을 진행해야 한다.

프로젝트 구현은 나를 성장하게 만든다

개발자를 꿈꾸며, 학부생 시절부터 대학원, 장교로 군생활 중에도 개발 공부를 뼈를 깎는 정도는 아니지만 꾸준히 관심을 가지고 공부했다. 혼자의 공부시간도 많았지만 대학교 연구실 소속일 땐 간단한 연구나 프로젝트에 참여해 신기술도 적용해보고 다양한 분야의 프로젝트도 진행했다. 백엔드 개발자를 준비하며 여러 회사의 지원자격 및 우대사항처럼 그 회사에서 사용하는 언어, 프레임워크, DevOps, 인프라 등 내가 기존에 알고있는 것보다는 훨씬 많고 다양한 기술이 존재한다.
이번 제주로드를 진행하면서 기존에 알고있던 지식에 더불어 최근 많이 유행하는 기술, 혹은 코드에 적용했을 때 더 효과적인 결과를 가져올 만한 것들을 적용하며 개인적인 성장을 많이 이루었던 것 같다. 대표적으로 기억에 남는 작업은 Github Actions를 활용한 CI/CD 구축으로 빌드와 배포 자동화를 한 것이다. 과정으로 프로젝트는 main 브랜치로 push 혹은 Pull Request가 Merge 될 때를 트리거로 동작해 빌드 후 DockerHub에 push가 된다. 제주로드를 배포 한 데이터 팀의 개인 서버에서는 Actions의 Runner를 통해 작성해 둔 스크립트가 실행되고 이를 통해 최신 버전의 프로젝트를 자동으로 배포할 수 있게 만들어 둔 것이다.
이 외에도 평소와는 다른 방식인 Mapper 사용, API 개발 후 발생한 트러블 슈팅, 테스트코드 작성 등 프로젝트는 성장의 발판이며 지난 실력을 확인할 수 있는 지표라고 생각한다.