참여 동기
백엔드 개발자로의 취업을 위해 포트폴리오가 필요했다. 그러기 위해서는 단기간에 성과를 보여줄 수 있는 프로젝트를 진행할 필요성을 느꼈다. 그래서 참여하고 싶은 프로젝트를 찾아보던 중, 여러 가지 공고를 보았는데 이상하게 선뜻 참여 의지가 생기지 않았다.
이유를 생각해보면, 생판 모르는 사람들과 만나서 하나의 목표를 향해 간다는 것은 여간 힘든 일이 아니라, 실패할 확률이 높다고 생각했다. 또한, 취업을 해야하는 시기에 실패시 감당해야하는 시간적인 비용이 너무 아깝다는 생각이었다.
프로젝트에서 가장 두려운 점은 '팀원의 이탈'이라고 생각한다. 능력이 부족한 부분은 열심히 노력하고 같이 힘을 합쳐 해결할 수 있지만, 잠수를 탄다던가 팀원간 갈등으로 인해 팀에서 이탈하는 경우는 프로젝트의 존폐를 결정하는 큰 요소라고 생각했다. 마침 인프런에서 수료 보증금(?)이라는 강제성이 있는 협업 플랫폼(스위프) 모집 공고가 보였고, 최소 탈주로 인한 실패는 없겠다 싶어 스위프 4기에 지원하게 되었다.
스위프 혜택
스위프는 다양한 혜택이 있다고 하는데, 내가 관심있는 부분은 2가지였다.
1. 포트폴리오로 활용할 수 있도록 프로젝트 결과물 보존!
스위그 홈페이지 등록을 비롯한 배포된 프로젝트 URL을 통해 상시 접속 가능합니다.
: 포트폴리오로 사용할 수 있도록 프론트엔드 서버를 계속 띄워주시는 것 같았다.
2. 다양한 업계 IT 직군과 네트워킹 가능
스위프 참여자들을 비롯한 다양한 업계의 IT 직군 대학생 및 현직자와 네트워킹 할 수 있습니다.
: 독학하다보니 나의 수준이 어느 정도인지 감이 잘 안왔고, 각 직군과의 협업하며 긍정적인 자극을 얻을 수 있을 것으로 기대했다.
팀
기획1, 디자이너1, 프론트2, 백엔드3
으로 구성되었다.
모두 사이드 프로젝트 경험은 처음이었고, 현업에 있는 분들, 취준, 이직준비, 전공자 등 다양하게 있었다.
팀장은.. 나는 기획자가 PM역할을 해야하니 팀장이 되어야한다고 주장했으나, 현업 기획 경험 + 백엔드 개발자인 내가 팀장이 되었다..
그래요 열심히 리드서포트할게요!
우리 팀은 모두 실력자들이고, 적극적인 태도를 갖고 프로젝트에 임해 팀원들을 참 잘 만났다는 생각이 들었다. 참 감사하다.
(그래서 그런지 개인적으로.. 우리가 발휘할 수 있는 능력에 비해 프로젝트가 조금 쉬웠다고 생각해 아쉬움이 한 스푼정도 남는다.)
프로젝트 일정
대략 이런 식으로 진행되었으나, ±1주 정도는 차이가 있었다.
기획 기간동안, 개발자들은 프로젝트 아키텍처, 배포 방식, 깃허브 세팅 등 전반적으로 필요한 세팅을 진행하면서 기획이 나오길 기다렸다. 전에 기획자로 일하면서 절대 개발자들이 노는(대기하는) 시간을 가지게 해선 안된다는 생각이 있었어서 그런지 기획 전 시간을 효율적으로 잘 활용한 것 같다.
본격적인 개발을 시작하기 전, 프로젝트에 필요하지만 확실히 알지 못하는 내용에 대해서는 백엔드 개발자들끼리 스터디를 진행했다.
예를 들어,
1. AWS로 배포 자동화
2. 테스트 방법론
3. 프로젝트 아키텍처
등 1주마다 서로 스터디해서 발표하는 시간을 가졌다. 한 명도 빠짐없이 열심히 준비해와줘서 유익한 시간을 보낼 수 있었다.
프로젝트 진행
그렇게 기획이 슥슥 나오고 디자인이 슥슥 나오고 개발자들도 열심히 개발하면서 시간이 많이 지났다.
매일 스크럼을 통해 진행 상황도 체크하고, 주간 회의를 통해 일주일치 작업 진도를 파악하면서 서로 맡은 바에 대해 별 탈 없이 잘 진행되고 있구나 생각했다.
하.지.만. 프로젝트에서 순탄? 너무 많은 것을 바란건가...
배포 1주일을 앞둔 프로젝트 6주차에 프론트 한 분이 잠수이탈했다...
백엔드끼리는 서로 PR을 봐주고 코드 리뷰랑 스터디를 하면서 열심히 소통하면서 진행해서 다른 분들도 다 잘하고 계신 줄 알았는데, 프론트는 힘든 부분이 있었나 보다...
결국 '제 능력에 비해 프로젝트가 너무 어려워서 못하겠어요' 라는 단말마와 함께 연락이 안되었다. 코드 한 줄 남기지 않고 탈주하셨다.. 이탈 전에 기획자님이 열심히 잡아보셨지만 잠수를 선택하셨다.
이탈이 확실시된 후, 첫 팀 회의에서 팀원들은 멘탈이 좀 흔들렸던 것 같다.
나는 일어난 일은 이미 돌이킬 수 없고, 빨리 대책을 세워서 해결하면 된다는 주의라서 바로 대책을 세웠다.
1. 리액트를 배워본 경험이 있는 백엔드 개발자 한 분을 프론트에 투입한다. => 전문분야가 아닌 분이 일주일밖에 안남았는데 제대로 개발을 할 수 있을까? 의문이 들었다.
2. 얼른 새로운 프론트앤드 개발자를 구한다. => 구하기 어려울 것으로 보이나, 일단 이 방식으로 도전하기로 했다.
회의 직후 스위프 매니저님께 상황을 설명드리며 배포 기한을 연기해달라고 요청드렸고, 다행히 수락해주셔서 일주일을 더 벌었다.
다음 날, 남은 프론트 개발자분이 실력자 한 분을 구해서 다시 정상적으로 개발에 돌입할 수 있었다.
문제 상황을 빠르게 인지하고, 바로 대책을 세워서 진행했던 것은 팀장으로서 이건 참 잘한 일이라고 속으로 생각했다..ㅎㅎ
새로 오신 분은 기존 팀원보다 늦게 참여하셨지만 적극적으로 소통 및 참여를 해주시고, 개발도 빠르게 잘 하시는 실력자셔서 오히려 만족..했다!
그렇게 순탄한듯 순탄치 않았던 개발 기간을 보내고 프론트와 백앤드도 무사히 연결을 하고 프로젝트를 성공적으로 배포했다.
프로젝트 발표
발표날은 13개 팀이 참석했는데, 각각 서비스를 잘 포장해서 준비하셨던 것 같다. 발표를 재미있게 듣다가..
우리팀은 마지막에 발표했다. 전체적으로 기획자님이 발표를 하시면서, 백앤드 개발 파트는 내가 발표를 맡았다.
기획자님은 발표를 열심히 준비하시기도 했고, 무대 체질이신가 매끄럽게 참 잘하셨다.
모든 팀 발표를 마치고 우수팀에게 수상을 했는데, 여기서 아쉬움을 느꼈다.
전날 프로젝트 완성도를 보고자 배포한 팀들의 서비스를 이용해보았는데, 잘한 곳도 있었지만, 안되는 기능도 있었고 어설픈게 느껴지는 프로젝트도 있었다.
우리 팀은 어설프게 개발하는 일 없이 진짜 상용화를 생각하면서 개발했던 프로젝트라 애정이 많이 들어가서 그랬는지는 몰라도, 우리 서비스가 제일 완성도도 높고, 안되는 기능 없이 완벽하게 구현했다고 생각했다. 그리고 남들이 잘 사용하지 않는 기술들도 사용해보며 퀄리티도 챙겼다고 생각했다. 그래서 나는 무조건 우리팀이 1등이라고 생각했는데 아쉽게도 다른 팀이 받았다. 상에 욕심이 단 하나도 없었는데, 퀄리티를 보고 당연히 1등은 우리팀이라고 생각했던 나로서는 뭔가 찝찝한 결과였던 것 같다. 서비스를 직접 사용해보지않고 준비된 시연 영상과 발표 자료만을 보고 평가를 해서? 나에겐 아쉬운 결과로 남았던 것 같다.(최대한 객관적으로 보려고 했는데도 이해가 안된다)
현업자가 평가를 하던, 사용하는 시간을 가져보고 평가를 하던 어떤 방식으로든 개선이 되면 좋을 것 같다.
발표 이후 네트워킹을 하면서 다른 팀원들과도 대화해보았고, 외부 참석자와도 많은 이야기를 나눴다.
모든 행사가 끝나고 우리는 뒷풀이를 하며 서로 수고했다고 보듬어주고 칭찬해주고 앞날에 좋은 결과가 있기를 기원해주었다.
우리 서비스
- 홈페이지: https://spinlog.swygbro.com
- GitHub: https://github.com/SpinLog
Spinlog
감정발현으로 충동소비를 했을경우 스핀로그에서 감정일기와 소비내역을 작성해보세요!
spinlog.swygbro.com
SpinLog
SpinLog has 3 repositories available. Follow their code on GitHub.
github.com
전체 회고
프로젝트 전체를 회고하며, 기억에 남았던 내용을 순서대로 정리해보고자 한다.
1. 협업 경험
앞서 이야기했듯이, 독학을 하면서 나도 이제 서비스를 만들어보고 싶었는데 기획, 디자인, 프론트가 참 걱정이었다. 이번 프로젝트에서 백엔드 개발에 집중해서 좋은 결과물을 낼 수 있었고, 각 분야별 담당자와의 소통을 하는 방법을 배워서 굉장히 만족스러웠다. 혼자 하면 절대 이렇게 못 했을 것 같다. 백앤드 개발자들끼리도 모르는 부분이 있으면 서로 지식을 공유하면서 개발을 하니 더 재미있었다.
2. 새로운 기술
서비스 중, OpenAI API(ChatGPT)를 사용해서 피드백을 받는 기능이 있었다. 그걸 개발하면서 외부 API와 연동하는 기술을 익혔고, 테스트, 예외 처리 관련 부분에 대해 여러 라이브러리를 사용해보면서 서비스의 퀄리티를 높혀보았다. 잘 안되는 부분은 3일 동안 될 때까지 파고 들면서 문제를 해결해보려고 했다. 고생 끝에 봄이 오듯, 서비스에 잘 적용한 것 같아 힘든 건 잊혀지고 뿌듯함만 남았다.
3. 기획자님 미안합니다.. 고맙습니다..
나는 기획자 출신으로서, 개발자는 소통하기 참 어렵다고 느꼈다. 이번 프로젝트의 기획자이자 PM이신 '기획자'님은 이번에 실제 기획이 처음이셔서 현업 경험이 있는 나를 팀으로 데려가고 싶었다고 하셨다. 나는 개발에만 집중하고 싶었고, 기획에 필요한 부분은 도움 정도는 줄 수 있다고 생각해서 크게 생각하지 않고 같이 하자고 했다.
기획은 처음이시니 당연히 잘 모르는게 있을 수 있다. 근데 피드백을 할 때, 좀.. 세게.. 피드백을 드렸던 적이 있었다.. 다시 생각해봐도 굉장히 후회한다.. 핑계를 대보자면 개발을 하다보니 감정이 없어지고, 사실만을 생각하는게 습관이 되었는지 생각한 그대로 피드백을 내뱉어버려서 너무 세게 말했던 것 같다. 뒷풀이때 기획자님이 그렇게 말했던 게 자극이 되었다고 예쁘게 포장해주셨긴 하지만, 그래도 미안하다.. 앞으로는 소통을 할때 더더더 생각하면서 말을 해야겠다.
기획자님도 처음에는 좀 헤매시는 듯 했지만, 진짜 노력으로 빠르게 성장하셨고, 첫 프로젝트임에도 성공적으로 마무리를 잘 하셨다. PM으로서도 굉장히 잘 해내셔서 멋지다는 생각이 들었다. 마지막에는 개발자들 고생했다며 상장과 편지도 손수 만들어서 한명한명 전달해주셨다..
4. 어벤져스의 앞날을 기원합니다.
우리 팀원들은 모두 자기가 맡은 일은 끝까지 책임지고 잘 하고, 논리적이고 솔직하게 의견을 제시하고, 적극적인 태도로 임하며, 서로를 존중해주고, 소통이 굉장히 빠르고 잘되는 어벤져스같은 팀이었다. 개발도 다들 잘하셔서 놀랐다. 칭찬을 하려면 밤이 새도 모자르다. 앞으로 이런 팀원들만 만나면 좋겠다는 생각이 많이많이 들었다. 우리 팀 모두 다 잘되면 좋겠다. 끝으로 다시 한번 감사하다는 말씀드린다.
'개발 활동 > 스위프' 카테고리의 다른 글
외부 API 연동 - WireMock으로 테스트하기 (0) | 2024.05.31 |
---|---|
외부 API 연동 - 외부 API에 문제가 있으면? Circuit Breaker Pattern & Resilience4j (0) | 2024.05.30 |
외부 API 연동하기 - OpenFeign을 이용한 ChatGPT 연동 (0) | 2024.05.30 |
외부 API 연동하기 - 종류 (0) | 2024.05.30 |
[Test] 애플리케이션 테스트 방법 (0) | 2024.04.29 |