본문 바로가기
얼렁뚱땅 개발일기장/SOPT

[SOPT 29] 첫번째 솝커톤 회고하기

by code_yull 2022. 1. 2.

게을러서 미루다 보니 회고가 조금 (많이) 늦어졌다.
솝커톤이 끝나고 2차 행사도 있었고, 기획 경선, 마지막 서버 세미나, 기디 팀빌딩 및 개발자 네트워킹 등등이 있었는데
드디어 내일! 개발 네트워킹을 앞두고 심란해하던 차에 정리할 겸 회고 글을 쓰게 되었다.
(사실 이전에 이미 끝내둬야 했음,,)
솝커톤이 끝나고 기록해뒀던 글들과 팀원들과 함께했던 회고를 바탕으로 기억을 더듬어 작성해본다.


티켓팅부터 팀빌딩까지

솝커톤은 신청부터가 아주 아주 아주 힘든 편이다,,
그래도 서버파트는 모든 팀에 배정되므로 그나마 티오가 많은 편인데
클라파트(안드, 아요, 웹)은 4팀씩밖에 배정이 안되기 때문에 정말정말 빡세다고 들었다.
덕분에 수강신청에서도 잘 안쓰는 네이비즘을 켜놓고 티켓팅을 했다 ㅋㅋㅋㅋ
(tmi: 우리 학교는 1차 수강신청이 선착순이 아님! 다들 신기해한다)

암튼 그렇게 열심히 솝켓팅을 하고 팀이 발표되고 난 후 앱잼 전날 간단하게 줌으로 모여서 아이스 브레이킹을 했다
간단한 자기소개를 하면서 어색함을 깨는 시간을 가졌고,
솝커톤의 짧은 기획기간이라는 특징상 어떤 기능을 가진 개발을 할지를 대강 이야기했다.
(예를 들어 지도는 안된다던가 커뮤니티는 안된다던가 등등..)
새벽같이 만나서 절겁게 이야기를 나누다가 솝커톤 전에 먹을 저녁 메뉴를 정했다.

이번 솝커톤 때는 잠깐 코로나로 인한 모임 정책이 풀어진 때였어서, 9팀은 오프라인으로, 3팀은 온라인으로 진행하게 되었다.
우리팀은 오프라인 팀이었고, 원래는 솝커톤 주제가 시작 전에 발표된다고 들어서 밥을 먹으면서 아이데이션을 같이 진행할 계획이었는데, 솝커톤 시작과 함께 주제가 공개되게 되어서 맛있게 저녁을 즐기고 솝커톤 장소로 모이게 되었다.

 

주제발표와 기획 짜기

이번 솝커톤의 주제는 "공동체"였다

각자 공동체에서 떠오르는 생각을 무작위로 브레인스토밍해본 후 돌아가면서 발표해보고 계속 이야기해보다가
윤아 언니가 낸 아이디어에 다들 박수를 치면서 살을 붙여나가고 방향을 결정하게 되었다.
서비스 이름은 바로 "띱"!
우리가 어렸을 때 뭐 먹을 사람~? 뭐 할 사람~? 하면 띱!하면서 거기에 참여하겠다는 의사를 밝히곤 했었는데
거기에서 착안해서 공동체 안에서의 나눔을 즐겁게 해보자!는 것이 기획 의도가 되었다.
그리고 결국 우리는 커뮤티니 기능의 서비스를 구현하게 되었다.

왕 멋진 우리 팀 디쟌팟 사람들

인상적이었던 건 우리팀에 왕멋진 든든 오비 아요 윤아 언니가 있었다는 것
어떤 식으로 뷰를 짤지 고민하는 과정에서 카드 형태의 뷰를 만들고 싶다는 이야기가 나왔는데
윤아언니가 할 수 있다고 자신있게 말해줘서 정말 든든했다.
뭘 할 수 있는지, 얼마나 걸리는지를 알고 자신있게 할 수 있다고 말하는 실력이란,,
그냥 눈이 부셔서 눈을 뜰 수가 없었다.

 

기본 환경 세팅하기

나는 서버파트였기 때문에, 기획팟과 디쟌팟 사람들이 열심히 IA를 짜고 와프를 짜오는 동안
같은 서팟 수진언니와 함께 환경 세팅을 진행했다.
기술 스택으로는 서버파트 세미나에서 진행한 node.js+파이어베이스, postgreSQL을 활용했고
파이어베이스에서 새 프로젝트를 만들고, 라이브러리를 install하고, db도 연결하고, 새로운 깃 레포도 팠다.

이번 솝커톤은 절대평가로 진행되어서, 정해진 시간에 맞춰서 정해진 과제를 제출해야하는 형식이었는데
제출 과제에 맞출 겸 같이 브랜치 전략, 코드 컨벤션을 정하고 리드미를 작성하는 시간도 가졌다.

이전까지는 제대로 된 리드미도 없이 얼레벌레 코딩하고 얼레벌레 푸쉬하고 얼레벌레 커밋메세지를 작성했는데
파트장님이 알려주신 커밋 메세지와 합동 세미나를 통해 배운 브랜치 전략 등 덕에 좀 더 깔끔하게 깃 레포를 활용해볼 수 있어 좋았다.
나는 정말,, 아무것도 모르고 코딩했구나,,, ^^,,

 

본격적인 작업 시작

세팅을 마치고, 기본적인 룰 세팅도 마쳤더니, 어느새 뚝딱 와프와 IA가 나와 있었다!
기획과 디쟌 사람들이 열심히 만들어준 와이어프레임을 바탕으로 서팟 언니와 디비 테이블과 API를 정리해보기 시작했다.
피그마를 확인할 때마다 디자인이 화려하게 변화하고 있어서 너무 신기했다. 디쟌팟 최고,,,, 왕최고,,,

솝커톤 특성상 시간이 많지 않아서 구현해야 할 테이블도 많지 않았고, API도 간단하기 때문에
서버파트가 제일 시간이 적게 걸린 것 같았다.
(솝커톤 때는 서버보다 클라가 훨씬훨씬훠얼씬 바쁘다)
서버와 통신할 때 쓰는 response 메세지와 에러코드 등 많은 부분은 세미나 때 활용했던 보일러 플레이트를 참조해서 훨씬 시간이 덜 걸렸던 것 같다.
세미나를 들으면서도 파트장님이 세세하게 알려주셔서 너무 자세하고 쉽게 배울 수 있어 좋았는데,
실전에서 쓰기 쉽게 보일러 플레이트 등을 많이 제공해주셔서 파트장님의 위대함을 다시 한번 느꼈다..
가슴이 웅장해지는 서팟장님 실력,,

한가지 아쉬웠던 건 (사실 내 실력이 부족해서 아쉬운 점이 많았음,,) 내가 클라의 입장을 잘 모르다 보니 API 명세서도 얼레벌레 만들어 줬다는 것,,
이제 와서 고백하지만 API의 path 파라미터와 query 파라미터에 대해서 이때 처음 알게 됐다.
라우트 경로 끝에 /:id 이런 식으로 붙는 게 path파라미터라는 걸 나는 몰랐지,,
백엔드(서버)가 어느정도 프론트(클라)의 입장을 이해해야 한다는게 어떤 건지 더 잘 깨닫게 된 계기였다.
프론트 쪽 개발을 해보긴 했으나 서버와 통신을 다루는게 처음이었고,
API 명세서를 보고 프론트가 어떻게 API를 요청하는지 등을 처음 깨달을 수 있었던 좋은 기회였다.
백엔드쪽 공부가 재밌다고 느껴졌지만 클라의 입장에서도 공부해보고 싶다고 생각했다.

확실히 모든 개발의 흐름을 알고 나니 내가 하는 작업이 어떤 과정인지, 다른 파트에서 어떤 식으로 작업을 진행할 것이며, 어떻게 소통하면 좋을지를 더 고민하게 될 수 있었다.
그리고 무엇보다 코딩이 더 재밌게 느껴지게 되었음!

 

마감과 결과물

그 이후로 우리는 API 하나를 완료할 때마다 깃에 푸쉬하고, PR날리고, 배포하면서 착착 단계를 밟아갔다.
서버는 테이블 짜고 API 배포하면 끝이지만, 클라는 뷰를 짜고 나서도 db를 붙여야 한다는 것...
특히 yb 입장에서는 뷰 하나만 맡아도 걸리는 시간이 만만치 않을텐데, db까지 붙이다니 대단하다는 생각이 들었다.
그런데 최강 아요 윤아언니가 기어코 db까지 다 붙인,, 어메이징 천재 개발자
그리고 디자인 팀원은 뷰 다 만들고 나서도 목업이랑 발표 ppt 만들고
기획 팀원은 발표 준비까지 한다는 것..
다들 마감 시간에 시간에 시간까지 힘내고 힘내는 게 보여서 너무너무 멋진 사람들이라고 생각했고,
마무리하고 손놓고 놀았던 무능력 서버 yb는 너무너무 미안했다..

그래서 결과는??

대상을 받았다 !!

얏호 우리 대상 !!!!!
매 과제 제출시간마다 돌아가면서 꼼꼼하게 체크해줬던 기획팟 사람들 덕에 대상을 받을 수 있었다!
마지막 과제 제출 시간이 매우 빠듯했음에도 최선에 최선을 다해서 제출하고야 만 우리 팀 너무 칭찬해~~

 

얻은 것과 느낀 점

솝커톤에 나가기 전에 매우매우매우 걱정을 많이 했다.
하나는 부족한 실력에 관한 것이었고, 다른 하나는 커뮤니케이션에 관한 것이었다.
서버 배운지 얼마 안됐고, 테이블 관계도, 쿼리문도 잘 모르는 내가 잘할 수 있을까?
낯도 많이 가리고 성격도 소심한 데다가 다른 파트랑 협업도 처음해보는데 잘할 수 있을까?
하는 고민을 정말 끊임없이 했던 것 같다.
그래도 실력적으로 부족한 부분을 보완하기 위해서 이때까지 배웠던 세미나 내용도 정리해서 들고 가는 등의 노력도 할 수 있었던 것 같다.

그래서 얻은 것들
1. 성장 - 실력과 커뮤니케이션
여러명의 사람이 함께 서비스를 만들어나갈 때 어떤 식으로 커뮤니케이션하고, 전체적으로 어떤 흐름으로 흘러가는지를 배워갈 수 있었다.
얼마전에 들었던 특강에서 동문 선배님이 "해커톤"을 그렇게 강조하는 이유를 알 것 같았다.
짧은 시간 안에 서비스의 기획부터 개발까지 모든 과정을 경험해볼 수 있으며,
짧은 시간에 안에 몰아치는 문제와 한계를 마주해볼 수 있다는 점이 해커톤의 가장 큰 장점이라고 생각한다.
2. 따뜻한 사람들
낯도 많이 가리고 소심한 내가 좋은 사람들을 만나 서로를 다독이고 칭찬하는 좋은 분위기를 만들어 나갈 수 있었다.
다들 힘들텐데 서로의 요구에 불평 없이 따뜻하게 이야기하고 협의해나가는 모습이 너무 인상적이었다.
따숩고 열정적인 사람들에게서 좋은 영향을 많이 받아갈 수 있었다.
3. 즐거운 협업의 경험
팀플=기피대상 아니었나요?
이렇게 즐거운 협업을 해볼 수 있다니..!
좋은 사람들과 즐겁게 협업한다는 것은 바로 이런거구나를 깨달을 수 있었다.
전에 배달의 민족 리드개발자 분이 배민으로 이직하게 된 이유가 사람이었다는 것에 공감하게 되었다.
열정적이고 좋은 사람들이 모인 팀은 잘 될 수밖에 없구나.
좋은 사람들이 모이고 좋은 시너지를 내면 협업이 즐거울 수도 있구나.
이런 것들을 마구 깨달아서 나도 좋은 팀원이 되어야 겠다는 다짐을 하게 되었다.

확실히 나는 부족한 개발자다.
사실 스스로를 개발자라고 부르기도 부끄럽다.
난 그냥 개발을 공부하는 학생 나부랭이라고 느껴지니까..
그래도 이번 솝커톤을 통해서 다양한 것을 느낄 수 있었다.
전처럼 두렵다고 피하기만 했으면 얻지 못했을 기회들.
내가 얼마나 부족하고, 또 얼만큼 성장해야할지를 돌아볼 수 있었던 자기 객관화의 시간.
작은 퍼즐들이 모여서 보이기 시작한 큰 흐름.
긍정적인 경험이 주는 앞으로의 도전에 대한 열망.
정말 많은 것들을 느끼고 얻어갈 수 있었던 솝커톤이었다.

아! 솝트 오길 잘했다!

댓글