최종 3등!!!
2~ 3분기를 불태웠던 Mash-Up이 끝났다. 즐거웠던 추억도 많고 아쉬웠던 기억도 많다.
매시업은 어땠는지 생각을 정리하고 더 나은 사람이 되어보자.
크게 세 가지 이유가 있었다. 셋 중 친구 만들기 하나만 이뤄낸 것 같아서 개인적으로 아쉬움이 많이 남는다. 내가 세운 목표들을 어떻게 이뤄냈고 어쩌다 못이뤄냈는지 되돌아보자
Mash-Up은 외부에서 보던 이미지 그대로였다. 할 땐하고 놀 땐 노는 사람들의 집합소이다. 그리고 한국 개발자, 디자이너들 중 인싸들이 다 모여있는 듯 하다. 진짜 최고의 텐션과 최고의 인싸력을 가지고 있어서 오히려 친구를 못만들기가 더 어려운 환경이다.
본인이 소극적인 사람이더라도 주변 사람들이 미친듯이 주접을 떨며 서로의 벽을 허물어준다. 나이가 들수록 이런 인간관계를 가지기가 정말 어렵다고 생각하는데 Mash-Up에서는 아직 가능하다. 내가 Mash-Up에서 겪은 사람들 대부분은 순수하고 호의적이며 유쾌하다. 게다가 본인 일에 대해서는 프로페셔널하다.
동아리 정규 활동 외에도 여러개의 작은 소모임 같은게 생기는데 그것도 너무 재밌었다. 배드민턴, 풋살, 방탈출 등 관심사에 맞게 모여서 추억을 쌓을 수 있다. 특히 스포츠 같은 경우에는 경쟁과 승부욕 보다는 다치지 않고 즐겁게 운동하는 것을 추구해서 더 좋았다. 나처럼 실력이 없는 사람들도 환영 받을 수 있고 배려 속에서 안전하게 스포츠를 즐길 수 있어서 더욱 즐거운 시간을 보내며 추억을 쌓을 수 있었다.
활동 기간 동안 운영진에서 여러 미션을 수행하는 팀을 정해준다. 달력 사진 찍기, 프로젝트 팀 미션, 플랫폼 팀 미션 등 같이 사이드 프로젝트를 진행하는 팀과 같은 플랫폼 팀 외에도 무작위로 여러 미션을 수행하며 친해질 기회가 제도적으로 마련되어 있다.
정리하자면 인싸들이 많고 자발적 소규모 번개가 많으며 제도적으로 미션 번개가 많아서 친구 만들기 환경이다.
기술적인 시도는 아예 못했다. 시도 해보고 싶었던 것들은 모니터링 시스템 구축하기, k8s에 배포하기, 자바 17쓰기, 스프링부트 3.0 쓰기 정도가 있었는데 단 하나도 시도하지 못했다. 사이드 프로젝트 완성 일정에 쫓기다 보니 타협하고 또 타협해서 여지없이 그동안 익숙하게 다뤄왔던 기술인 코틀린과 스프링부트 2.5버전을 사용했다.
시간이 지날 수록 코드 퀄리티도 뚝뚝 떨어졌다. 바쁘다는 핑계로 그랬던 것 같다. 프로젝트 막바지에는 1년 전에 진행했던 사이드 프로젝트의 소스 코드를 그대로 복붙 하는 일이 많아졌다. 1년 전의 코드를 그대로 답습하면서 나는 1년간 한치도 성장하지 못했구나
라는 생각에 많이 괴로웠다.
사실 사이드 프로젝트를 하면서 회사를 두개를 다니고 있다는 생각도 많이 들었다. 동기부여가 많이 떨어졌고 개발하는 프로젝트에 애정이 안생겼다. 애정이 안생기니 시간이 나도 프로젝트에 손이 안가고 배포 일정은 다가오고.. 악순환의 반복이었다.
신기한 것은 내가 겪고 있는 일을 거의 대부분의 팀들이 겪고 있었다. 그리고 다른 동아리에서 활동하는 사람들도 겪고 있을거라고 생각한다. 이 문제 어떻게 하면 극복할 수 있을까 몇가지 방법을 고민해봤다.
배포 늦으면 늦을수록 재미가 없어지는 것 같다. 그래서 MVP로 빠르게 배포해놓는게 중요하다고 생각한다. 당연히 우리도 MVP로 배포했다. 그런데 MVP는 일반적으로 생각하는 것보다 더 작게 측정 되어야 한다고 생각한다.
우리 서비스로 예를 들어보자.우리 팀은 기프티콘 뿌리기 서비스를 개발했다. 그렇다면 정말 기프티콘 뿌리기만 개발해놓고 배포해야 한다고 생각한다. 기프티콘 저장하는 것, 기프티콘을 여러 방식으로 정렬하여 조회하는 것들은 MVP 대상이 아니라고 생각한다. 회원가입 기능도 물론 MVP에서 제외하는게 좋을 것 같다.
MVP를 작게 잡는 것에 대해서 팀원들의 동의를 받는 것이 정말 어려운 것 같다. 앱스토어에는 최고의 서비스들을 무료로 사용할 수 있어서 왠지 우리 서비스가 작고 보잘 것 없어 보이기 쉬워서 그런 것 같다. 그 부분에 전적으로 동의한다. 그렇지만 팀원들에게 동기부여를 할 수 있다면 그정도 트레이드 오프는 기꺼이 감수할 수 있다고 생각한다.
아쉽게도 이번에는 MVP를 조금 크게 잡은 것 같다. 기프티콘 등록을 편리하게 하기 위해서 OCR도 구현했고 기프티콘 당첨 추첨 로직을 필요 이상으로 효율적으로 개발하려고 시간을 많이 썼다. 당첨자 확인을 위해서 1분마다 배치를 통해서 DB를 조회하는 것도 충분히 훌륭한 로직이다. 그런데 우리는 욕심을 부려서 Redis Pub/Sub을 활용해서 뿌리기 응모 마감 시간에 딱 한번만 당첨자 확인을 하도록 구현을 했다. 결과적으로는 실시간성 보장이 안되어서 1분마다 배치를 도는 것으로 변경했지만..
만약 또 기회가 있다면 처음부터 최선을 방법을 찾는 것 보단 일단 구현해서 배포한 후 개선해나가는 방식으로 개발해보고 싶다. 그렇게 하는 편이 프론트도 디자인도 백엔드도 행복한 방법인 것 같다.
지인이 알려준 방법이다. 회원가입이 발생하면 디스코드 봇을 통해서 알려준다.
백엔드 개발자는 DB를 보면 회원이 몇명인지 알 수 있지만 타 직군은 그렇지 않다. 그래서 디자이너, 프론트엔드, 백엔드 모두 확인할 수 있는 방법으로 구현했다.
내가 만든 서비스를 누군가 사용한다는 사실을 아는 것 만큼 확실한 동기부여가 있을까? 이런 장치들을 통해서 사이드 프로젝트를 개발하는 시간을 재밌고 행복한 시간으로 느끼게 만들고 싶었다. 그러면 더 이상 회사를 두개 다닌다는 생각을 하지 않아도 될텐데..
토이 프로젝트의 서버 구조는 아주 간단하다. 나는 주로 Elastic Beanstalk, Route53, CloudWatch, S3, RDS 정도를 사용한다. 그리고 이 스택을 매번 똑같이 웹 콘솔에서 생성했다.
그러다보니 보안그룹을 빼먹거나 포트를 잘못설정하는 등의 실수가 발생했고 아까운 시간을 쓰기도 했다.
이렇게 반복적인 작업들은 Terraform 을 사용하면 없앨 수 있어보였다. Terraform으로 토이 프로젝트용 아키텍처를 코드로 정의해두고 실행시키면 개발환경 구축을 몇분만에 뚝딱 만들어낼 수 있을 것 같다.
이렇게 벌어낸 시간은 기술적인 도전에 투자할 수 있으니 더욱 신나서 개발할 수 있지 않았을까?
사이드 프로젝트를 하면 애정과 시간을 많이 투자한다. 반면에 동아리 기간이 끝나면 운영을 경험해본 적이 없었다. 나는 운영하고 싶었는데 팀원들이 떠나갔다. 그게 항상 불만이었다. 우리가 투자한 시간과 애정이 아까웠고 이번엔 꼭 운영까지 해보고 싶었다.
하지만 우리 서비스는 사실상 서비스 종료 상태이다. 동아리 활동이 끝난 후에도 운영할건지 결정할 때 운영하지 않겠다고 했다. 앱 특성상 기프티콘을 기부하는 사람이 있어야 굴러간다. 너무 외부 요인에 의존적이라서 사람들이 많이 사용할지 의문이었다.
그래서 사람들을 붙잡아두기 위해서 기프티콘 관리 기능들을 추가할 예정이었다. 구체적으로 설명하자면 카테고리별로 기프티콘을 분류할 수 있고 유효기간이 임박 했다면 푸시하는 기능을 추가할 예정이었다.
그런데 이 기능을 구현할 때도 딱히 기술적 시도가 없을 것으로 예상했다. 똑같은 CRUD의 반복일 것 같았기 때문에 내가 즐거운 마음으로 개발할 수 있을까?
라는 생각이 들었다. 그래서 이번엔 내가 팀원들에게 하차를 고했다.
결국 또 운영을 경험하지 못했다. 3개월간 투자한 내 애정과 시간이 또 이렇게 버려지게 되었다.
참 씁쓸하고 속상하다. 이번엔 잘해보고 싶었는데.
다음 기수를 또 참여할지 말지 고민이다. Mash-Up에서는 같은 생각을 가진 또래의 사람들과 함께 운동도 하고 술도 마시고 개발도 할 수 있다. 이게 너무 행복했다. 단점은 시간을 정말 많이 써야한다. 매주 토요일은 Mash-Up 세션에 참여해야하고 사이드 프로젝트하느라 주 7시간 이상을 투자해야한다.
그리고 이번 기수 활동을 통해서 CRUD의 반복이 나의 성장에 전혀 도움이 되지 않는다는 것을 알게 되었다. 심지어 하기 싫은 일이라는 것도 알게 되었다. 다음 기수를 참여하면 내가 즐겁게 활동할 수 있을까? 또 괴로워하며 3개월을 보낼 확률이 클 것 같다.
한편으로는 심기일전하여 걸출한 토이 프로젝트 하나 뽑아보고 싶은 마음도 있기도 하고.. 아직 고민중이다.
안녕하세요. 좋은 글 감사합니다.
글을 읽고 궁금한 점이 생겼는데요.
제 상황을 말씀드리면, 저는 개발자이고 신입 취업을 준비하고 있습니다.
인맥은 없고 취업 준비 기간은 길어지고 나이는 계속 들고 서류 지원하다가 겨우 통과해서 본 면접에서는 결국에 떨어져서 좌절하고 취업 준비에 지치다보니,네트워킹을 간절히 바라는 생각에서 IT 연합 동아리에서 활동하는 것을 생각해봤습니다.
현직자들을 만나고 여러 활동을 바탕으로 네트워킹을 하면서 친해지고 면접에 대한 팁을 얻는 것을 기대해보는 것입니다.
현재 저는 포트폴리오에서 팀 프로젝트 2개, 개인 프로젝트는 3개 이상이 있습니다. 그래서 프로젝트를 이 이상 하는게 불필요하다는 생각을 했습니다. 지금 필요한 것은 저를 어떻게 면접에서 잘 어필할 수 있을지에 대한 것이라고 생각했습니다.
물론 IT 연합 동아리에서 활동하게 된다면 팀 프로젝트가 주가 되어야 한다는 것을 알기 때문에 팀원들에게 피해가 가지 않도록 프로젝트를 소홀히 하지는 않을 것입니다. 단지 동아리에서 서로 피드백을 주고받으면서 성장하는 것을 기대하는데, 특히 면접을 잘 보기 위한 팁을 얻으면 좋겠다는 바람이 있습니다.
프로젝트 + 네트워킹을 하는 동아리를 보면 한 기수 활동 기간이 4개월 ~ 10개월인데, 활동 기간이 길고 네트워킹이 많은 동아리일수록 꼭 활동해보고 싶어지네요. 동아리 활동이 면접 실력을 늘리는 데 도움이 되었는지 질문 드리고 싶습니다. 케바케일 거라는 것을 알지만, 활동해보신 분의 진솔한 얘기를 들어보고 싶습니다.
혹시 가능하시면 다음 오카방 링크에서 얘기해주실 수 있나요?
https://open.kakao.com/o/sDOiewZe
인싸 성찬님ㅎㅎ 멋진 동아리 후기 잘읽었습니당
CRUD의 반복이 나의 성장에 전혀 도움이 되지 않는다는 것을 알게 되었다. 이 부분이 가장 인상 깊었어요.
성찬님 보면서 제가 일에 치여 바빴다는 핑계가 무색해지내요 자극 받고 갑니당