지난 5월 21일부터 24일까지 10기 구름톤이 열렸다. 백엔드로 합격해서 구름톤에 참여할 수 있었는데, 전반적인 회고를 작성해볼까 한다.
본 개발 과정에 대한 회고를 진행해볼까 한다.
왜 지원했는가?
구름톤을 준비하던 4월 말 5월 초는 탈락의 연속이었다. 탈탈탈탈 .. 과제테스트정도까진 진행되어도 결국 단 한 곳도 면접까지 가지 못했다.
자신있게 개발한 서비스를 운영하고 있었는데 잦은 서류 탈락과 운영하면서 많은 이슈를 만날때면 해결하는 과정이 신나기보단 자신감이 떨어져 멘붕이 오기 일상이었다.
해야할 일은 쌓여가는데 집에서 스스로를 통제하며 취준을 하다보니 공부를 제대로 하지도, 제대로 쉬지도 않는 애매한 상태에서 설상가상 같이 취준을 하던 친구들은 이런 저런 교육기관, 커뮤니티에 속해 성장하고 있는데 뒤쳐지는 느낌이 들었다.
제대로 쉬지도 못하고 매너리즘에 빠져 개발을 하며 제대로 하지도 않는 상태였고 방향성을 제대로 잡지 못한다는 느낌을 너무 많이 받았다.
코테가 부족하니 코테를 하다가 ,, 자바가 부족하니 자바를 .. 그러다가 개발 프로젝트,, 하다가 CS ,, 뭐하나 체계적이지 않았다.
누구보다 리프레시가 필요했다.
휴식과 공부 무엇하나 놓지 못해 방향을 잡지 못하고 있는 내가 제주도에서 해커톤을 한다면 리프레시와 공부의 방향성을 잡을 기회가 되지 않을까 싶어 지원했다.
얻어가고 싶었던 것
구름톤에서 얻어가고 싶었던 것은 딱 3가지였다.
우선은 리프레시, 제주도에서 진행하는 해커톤이라면 기존에 내가 공부하던 장소에서 벗어났다는 것 자체만으로도 생각을 정리할 수 있는데 제주도의 바다와 풍경은 생각을 정리하기에 좋은 환경이었다.
그러던 와중에 제주도에서 진행하는 해커톤에 참여하면 리프레시를 하고 올 수 있겠다는 생각이 들었고 해커톤이 끝나고 짧게 여행을 하며 생각을 정리하고 올 수 있지 않을까 싶었다.
두번째는 방향성을 잡고 싶었다. 우선은 네트워킹을 통해 방향성을 잡고 싶었다. 구름톤에 참가하는 인원은 보통 나와 같은 취준생에서 현업자로 다양하게 이루어져있고 파트별 멘토가 존재한다는 점에서 이 분들과 네트워킹을 하고 고민을 나누다보면 보다 명확한 방향성을 알 수 있지 않을까 하는 기대가 됐다.
또한, 작년 이맘때 참가한 동아리 자체 해커톤에서 짧은 시간동안 개발하며 내가 부족한 부분을 찾고 방학간 공부할 방향을 잡아 성장한 경험이 있는데 1년이 지난 지금 2박3일 간의 해커톤, 구름톤을 경험하면서 많은 이슈를 만나고 성장하고 싶었다. 적어도 많은 이슈를 만나면 부족한 부분을 명확하게 알 수 있을 것 같았다.
어떻게 진행되었는가?
구름톤은 총 3박 4일로 진행되는데, 1,2일차까진 사전 교육 느낌이고 본격적인 해커톤은 2일차 밤부터(?) 시작이다.
첫날은 아이스브레이킹, 해커톤에 대한 교육을 진행하는데 크램폴린IDE (구름 자체IDE) 교육과 해커톤에서 얻어가면 좋을 점들에 대한 강연을 진행한다.
둘째날 오전에 아이디에이션 및 팀 빌딩을 진행하고 성산 플레이스캠프로 이동한다.
#제주#클라우드#K-SDGs 에 대한 주제를 전날 17시에 알려주고 이에 대해 다음날 오전 9시까지 발표자료를 제출하는 식으로 진행했다.
이후 저녁에 네트워킹 파티를 하고 4일차 점심까지 해커톤을 진행하는 일정이다.
네트워킹
2일차, 비어파티
처음 2시간정도는 뽑은 테이블끼리, 이어선 파트별로 네트워킹을 1시간정도하고 이후 시간부터는 자유롭게 네트워킹을 한다.다행히도 백엔드 6명이 모두 나와 같은 취준생이고 실무 면접을 들어가셨기에 취업과 실무 사이의 궁금한 질문들을 많이 하며 궁금증을 풀 수 있었다.
- 컴퓨터 관련 학과 4년을 마친 실력의 CS 지식
- 언어는 하나를 깊게 할 줄 안다면 도구에 불과하다. 그니까 취업 후 다른 언어를 하게 될 걱정을 미리 할 필요 없다.
- 면접이 어떻게 진행되는지, 면접 경험
- API 싸개? → 모든 것이 API임 (굳이 클라이언트와 소통하는 것만이 아니더라도!)
이때 인상을 남기고 싶어서 미리 이런 느낌으로 명함을 수제로 부탁해서 만들고 갔는데 생각보다 반응이 너무 좋았다. (모 현업개발자분은 이 명함을 받고 4장 밖에 가져오지 않았는데 너무 인상 깊었다며 나중에 본인 명함을 따로 주셨다 ㅋㅋ)
하지만 모든 시간이 네트워킹
사실 구름톤은 공식적인 비어파티 외에도 모든 시간이 네트워킹이다. 처음부터 조를 배정해 강의를 듣는데 같은 테이블끼리 많은 이야기를 하게 되는 것은 물론이고 1일차 일정을 마치고 다같이 저녁을 먹으며 이야기를 나누는 시간, 산책하다가 만난 사람들 모든 시간이 다 네트워킹이다.
(결국 첫날 저녁은 30명의 플레이어 중 28명이 같이 저녁을 먹었다.)
특히 첫날은 다음날 팀빌딩이 있기에 미리 안면을 트기 위해서라도 열심히 네트워킹하고 싶었다.
막상 해커톤을 시작하면 시간이 없을걸 알기에 중간 중간 산책하며 이야기를 했다. 하지만 해커톤이 끝나고 정신없이 집으로 돌아가야했기에 버스에서 아쉬워서 백엔드 분들 번호를 열심히 땄다.개발하다가나 좋은 네트워크가 됐으면 좋겠다.
해커톤
아이디에이션, 팀빌딩 및 주제 선정
이전 구름톤 후기에선 이 시간에 자신을 PR하는 시간을 추가로 줬다고 한다. 하지만, 이번엔 30명 모두 해당 주제에 대한 아이디어를 내야했다. (너무 힘들었어요 이거 …)
지금까지 진행한 프로젝트가 대부분 내 아이디어로 진행되었기에 괜찮은 아이디어를 내고 싶었지만 주어진 주제 중에 K-SDGs 가 너무 애매했다. 17가지 항목 중 뭐든 붙이면 말이 될 것 같아서 .. 많이 고민해봤지만 적절하게 ‘문제’를 해결할 아이디어가 생각나지 않았다. 또한, 1일차 우리조는 6명중에 3명이 백엔드였기에 상대적으로 다른 파트와 친해지진 못했는데 그렇기에 팀빌딩하는데 꽤 어려움이 있지 않을까.. 하는 걱정도 있었다.
그래서 결국 ‘내 아이디어로 프로젝트를 진행하자’보다는 열심히 고민..은 해봤다를 어필하고 발표를 잘해서 나랑 같은 팀하고 싶게 만들자는 생각으로 아래와 같은 아이디어를 구상해 발표했다.
구름톤에 참가한 사람들이라면 ‘제주’에서 진행되는 것의 메리트에 공감할 것이라 생
각했고 그 메리트만 어필하면 그래도 누군가는 나랑 팀 하고 싶지 않을까? 라는 생각이었다.
마침 나랑 같은 ‘워케이션’을 주제로 발표한 기획자가 있어 같이 팀을 하게되었고, 나와 하고 싶다는 프론트 팀원이 있어 팀빌딩은 쉽게 되었다.
다만, 본격적으로 서비스 주제를 정하는 것은 쉽지 않았다.
아무래도 워케이션을 중심으로 모인 팀이다 보니 워케이션이 자연스럽게 주제가 되어가고 있었는데 서비스를 통한 문제 해결 포인트를 잡는게 어려웠다.
따라서, 혹시나 주제가 전환되더라도 개발을 할때 수정 사항을 최소화하기 위해 서비스 제공자가 글을 올리면 소비자가 신청하는 형식의 게시판을 틀로 잡고 개발을 시작했다.
결국 해커톤 종료 10시간 전 ‘문제 해결 포인트가 빈약하다’, ‘차별점이 없다’라는 생각해 논의 끝에 주제를 변경했고 제주도민 청년 플랫폼을 개발하는 것으로 방향을 전환해 서비스를 만들었다.
실제로 우리팀 외에도 몇몇 팀이 주제를 빠르게 정하지 못하거나 중간에 기획을 변경하기도 했는데 그만큼 이번 해커톤 주제가 어려웠던 것 같다.
개발 과정
본 서비스 개발은 진짜 어려움의 연속이었다.
백엔드가 혼자이다보니 API문서를 노션으로 작성할 시간도 부족하고 오타도 많이 날 것 같아 미리 스웨거 세팅과 배포를 해 API 문서화를 하고 싶었다.
하지만, 처음 사용해보는 크램폴린 IDE는 프라이빗 클라우드 기반에 HTTP, Https 2개의 프로토콜만을 허용하고 하나의 포트를 사용하기도 했고 도커, 쿠버네티스, 컨테이너 관련 개념이 부족했기에 시작부터 꼬이기 시작했다.
AWS로 먼저 배포를 할까 생각도 했지만 CI/CD 설정 없이 빌드한 파일을 업로드하는 것도 오랜 시간이 걸렸고 결국 나중에 크램폴린 배포를 해야했기에 미리 크램폴린으로 배포를 하고 싶었..다. 하지만, 이게 꼬박 하루가 걸릴 줄은 몰랐다 ..
다행히 핵심 API 개발 틀은 빠르게 잡아 배포에만 신경쓸 수 있었는데도 꽤 오랜 시간이 걸렸다. S3, 스웨거, DB 세팅, 환경변수등 정말 많은 이슈를 만났고 멘토님 도움이 없었다면 ,, 아마 배포도 제대로 하지 못했을 것이다.
아침 7시에 IP가 전부 할당되어 배포가 막혔다는 이야기를 들었을땐 … API 연동만 기다리고 있는 팀원들을 보니 정말 눈물이 날 뻔 했다.
( 아침 7시에 급하게 선조치 후보고 하면서까지 해결해주신 멘토님 진짜 진짜 진짜 진짜 진짜 진짜 진짜 진짜 진짜 감사합니다 ㅠㅠㅠㅠ )
최종 발표 및 결과
대부분의 심사위원들이 완성하지 못한 기능에 대한 질문은 별로 하지 않았다. 구현 못한 부분이 있다면 어떻게 할 생각인지? 정도를 물어보는게 대부분이었고 추후에 디벨롭 방향을 제시해주셨다.
다만, 서비스의 차별점, 해결하려는 문제 포인트 ‘기획’적인 부분에 대해선 정말 많은 질문을 했고 얼마나 깊은 고민을 했는지등을 종합해 심사하시는 것 같았다.
우리는 결과는 아쉽게도 수상은 하지 못했다 ㅠㅠ 그래도 고생했어 다들 🙂
후기
1. 기술적 부족함
다른팀 백엔드, 발표를 보며 내가 개발자로서 부족한 역량이 무엇인지 다시 한 번 생각할 수 있었다.
난 처음 시작부터 해커톤은 시간이 짧으니 간단한 게시판 개발 + 사진 업로드정도의 기능을 목표로 했다. 하지만 이 시간안에 데이터를 학습시킨 모델을 만들기도 크롤링을 통해 데이터를 정리하기도 했다.
‘짧은 시간’에 완성하지 못하는 것이 아닌 기본기가 부족하고 활용할 생각을 하지 않았던 것이다.
또한, 할 줄 안다고 생각했던 부분도 수월하게 개발하진 못했는데 이렇게 부족했던 부분이 나중엔 기본기가 될 수 있게 미리미리 채워둬야할 것 같다.
외부 API를 활용하기, DB 설계, 배포 과정, 소셜 로그인,,, 기능 요구 사항을 문제 없이 해결할 수 있게 탄탄하게 정리해둬야겠다.
2. 질문 눈치 안보고 하게 됨
우선, 여유가 있을땐 질문하기전에 내가 이해한 부분과 모르는 부분을 정리하고 질문을 하는 편인데 이번 구름톤은 백엔드도 1명이고 시간도 너무 부족해서 그런 눈치 볼 시간도 없었다.
내가 2시간 걸려 고민하면 그만큼 개발이 밀리기에 그럴 시간 없이 바로바로 질문하고 해결하고를 반복했다.
다행히 어떤 문제라도 본인의 고민처럼 같이 고민하고 해결해주셨고 덕분에 힘들었지만 힘들지 않게(?) 개발할 수 있었다.
오히려 먼저 문제 없냐고, 전에 해결한거 잘 되냐고 물어봐주시거나 하나로 고민하고 있으면 다들 모여 삼삼오오 이슈를 고민해주셨기에 더욱 편하게 의견을 나누고 해결할 수 있었고 자유롭게 내 의견을 공유하기도 했다.
내가 성장을 위한 장애물이 두려움과 머뭇거림이 아직 조금 남아있다고 생각했는데 구름톤을 통해 이를 완전히 없앨 수 있는 시간이었다.
단, 해결하는 과정에서 원할한 의사소통을 하기 위해선 지식이 미리미리 바탕이 되어있어야한다. (설명해주는 내용 이해 못한 것도 진짜 많ㅇ…)
3. 진짜 개발자의 자세 (깊게 파라는게 무슨 의미인지)
배포 문제를 해결하기 위해 정말 많은 질문을 했고 그 과정에서 멘토님들과 오랜 시간 함께했는데 그 과정에서 개발자의 몰입, 깊게 파는 성격을 눈 앞에서 보고 느낄 수 있었다.
이론을 바탕으로 문제의 해결책을 예상하고 단순히 '이렇게 하면 돌아간다.'에서만 초점을 맞추는 것이 아닌 '이렇게 해야 나중에 다른 문제가 발생하지 않으니 조금 더 ... ' 이러한 자세나, 몰입하는 모습들.
또 해결하고 난 해결책을 공유하는 것까지 진짜 개발자들의 자세를 보면서 내가 어떠한 자세로 공부해야하는지 깨닫게 된 것 같다.
최종 한마디
많은 기대를 하고 열심히 3박 4일을 보냈지만 그래도 아쉽고 못한 것들이 정말 많이 생각난다.
이랬더라면 더 잘할 수 있지 않았을까? 이랬더라면 더 많이 배울 수 있지 않았을까? 하는 후회가 아른거려 막상 여행하려고 비워뒀던 일정에도 카페를 가 부족한 부분을 정리하곤 했다.
사실 이렇게 하면 리프레시를 하지 못하고 다시 스트레스만 받을 줄 알았는데 구름톤에서의 네트워킹, 몰입 경험을 통해 꽤 방향성을 잡아서일까 오히려 얼른 올라가서 공부하고 싶다는 생각이 많이 들었다. 꽤 동기부여가 된 것 같다.
부족한 부분도 아쉬운 부분도 많았지만 같은 분야에서 고생하고 고민하는 많은 사람을 만나고 몰입하며 좋은 인연, 그리고 진짜 ‘몰입’을 경험하고 돌아가는 것 같다.
부족한 부분을 더 잘 보완해 이젠 멘토가 되어 구름톤에 돌아가고 싶다.