추운 겨울이라고 불이 안 뜨겁지 않을 텐데
@ Server in PARD, Log #4
그 많은 시간 동안 겁먹고 틀어박혀 살던 제가 "다시 한 번" 문을 열었습니다. 이번 PARD 활동은, 제가 학교에서 불타오를 수 있는 마지막 기회입니다.
다음 학기 졸업할 확률이 높거든요.오늘 갔다 온 PARD 2기 OT는 그러기 위해, 문을 열고 한 발짝 내딘 때가 되길, 다시 뒷걸음질 치고 문을 잠군 때로 기억되지 않길 바랍니다. "이제는 정말로" 그 한 발짝을 내밀고 다시 돌아가지 않게 문을 닫는 때로 기억되길 바랍니다. 밀어주는/받쳐주는 PARD라는 손에서 제 자신이 나가떨어지지 않고 "날아오르길" 바랍니다. - 작성자 본인, PARD 2기 OT를 다녀온 뒤 Disquiet에 쓴 글에서.어우 이불 걷어차고 싶다
시간은 흐르고 흘러, 저 글을 쓰고 거의 5달이 되었습니다. PARD 1기 활동 시기에 있던 사전설명회와 데모데이를 참석하며 '나도 이렇게 해볼 수 있을까' 하는 생각을 가졌던 제가, 롱커톤을 거쳐 마침내 PARD 2기로써 17주 동안의 프로그램을 모두 완료했습니다. 지금 제가 여기까지 왔다는 게 놀라울 따름입니다. 위에서 말한 대로, 지금의 전 날아오르진 않더라도 활주로를 달리고 있지 다시 방으로 돌아가 문을 잠구진 않은 거 같거든요.
"협업 아무리 잘하는 방법 찾아보고 해도 결국 직접 해보고 부딪히면서 경험을 쌓아야 비로소 협업을 잘 하게 될 거다." - PARD 2기 회장 송예찬, 2023-09-22, 서핑데이 1일차 일정 종료 후 경주에서.
드디어 롱커톤을 진행하게 되었습니다. 이미 15시간의 숏커톤을 통해 경험이 쌓였지만, 개발자들 뿐만 아니라 디자이너, 기획자들과의 '협업' 경험이 없던 제 입장에서 그 쌓인 경험도 여기선 충분하지 않았죠. 아니, 오히려 숏커톤 때 한 실수를 여기서도 똑같이 저질렀습니다. 이번에는 더 길게요.
Logging Events:
롱커톤(Long-kathon) (2023-12-18 11:00 ~ 2024-01-06 17:30)
롱커톤(Long-kathon)

롱커톤은 PARD 사람들 끼리 3주 동안 진행하는 해커톤입니다(이전에 진행했던 15시간의 숏커톤에 비해 3주라는 긴 기간을 잡고 하기에 '롱'이 붙었습니다). 롱커톤에 대해 리스트 형식으로 설명하면 다음과 같습니다:
시작 2주 전에 아이디어 발표 및 팀 빌딩 진행(웹 프로덕트 3개, 앱 프로덕트 2개)
기간 중, 매주 7일 중 휴일 2일을 제외하고 매일 6시간씩 의무적으로 코어타임을 가져 팀원들과 모여 프로젝트를 진행
기간 중 4번, 현직자와 멘토링 세션 진행
기간 마지막 날(3주차 토요일) 데모데이 진행: 프로덕트 발표 및 부스 체험
데모데이 때 심사위원들의 (프로덕트 발표 및 부스에서의 소개에 대한) 평가로 (대략적인) 팀 순위 결정
제가 있는 학교의 전산전자공학부에선 캡스톤 프로젝트를 1년 동안 진행합니다. 제게 있어 롱커톤은 이 캡스톤을 3주 동안 압축해서 하는 거죠.
팀 '순찌'의 EXIT

"우리 팀 보면 순두부찌개가 생각나요. 다들 순해 보여서요." - 최영준, 프로젝트 매니저
제가 속한 팀은 앱 프로덕트를 만드는 팀으로,
디자이너 2명
기획자 2명(디자이너 1명이 프로젝트 매니저로써 기획을 겸함)
iOS 프론트엔드 개발자 3명
백엔드 개발자 1명(본인)
-으로 이루어져 있습니다.
팀 이름은 '순찌'('순두부찌개'의 줄임말), 프로젝트 매니저가 팀원들을 보고 떠오른 걸 팀원들이 팀명으로 그대로 가져갔습니다.
앱 이름은 'EXIT'. 원래는 'Sabotage'였습니다. 스마트폰을 사용하며 더 자극적인 무언가를 찾는 무한 스크롤에서 벗어나 자신에게 도움이 될 만한 활동들을 하게 도와주는 프로덕트를 만드는 것을 목표로 하였죠. 앱이 사람의 그러한 일상을 '막는'(Sabotage) 것에서 사람이 그러한 일상에서 '탈출하는'(EXIT) 걸로 관점이 바뀐 걸로 해석할 수 있겠네요.
롱커톤 전반기: 길어도 너무 길었던 생각
'이 앱에 서버가 필요할까?'
롱커톤을 시작하면서 가진 고민입니다. 위에서 말씀드렸던 것 처럼 EXIT은 스크린 타임 앱, 그러니까 스마트폰의 사용 기록을 확인하고 그에 맞는 조치(앱 사용 시간 제한 등)를 취하는 앱의 종류에 속합니다. 기기 자체에서 하는 일들은 많을지 몰라도, 서버를 사용할 만한 기능이 떠오르지 않더라구요. 롱커톤 시작 전 첫 팀 모임에서도 이 부분을 팀원들에게 말했습니다. 근데 이걸 제가 너무 진지하게 말했었는지, 롱커톤 운영진에게까지 이 이야기가 올라갔다고 합니다. 기껏 팀으로 배정시킨 백엔드 개발자가 서버리스를 생각하고 있었으니 말이죠. 다행히도(?) 팀원들은 서버를 사용하는 기능을 진지하게 고려해주었습니다.
그렇게 롱커톤이 시작되었는데... 3주 중 앞쪽 절반은 아무것도 안 하고 시간을 보냈습니다. 말 그대로 아무것도 안 한 건 아니고, 열심히 생각하고 고민한다고 시간을 보냈습니다. 그 이외의 어떤 것도 하지 않고요. "기능이 어느정도 확정되고 나면 ERD 작성도 API Call 목록 작성도 해볼 수 있을 거야"라며 (의도치 않게) 기획에게 (제가 개발을) 시작하지 않는 탓을 돌리기도 했습니다. 베짱이 같은 행동이죠.
같은 팀의 iOS 쪽 팀원들은 이야기가 전혀 달랐습니다. iOS에서 사용자의 앱 사용 기록을 가져올 수 있게 해 주는 Screen Time API를 찾았는데, WWDC 21에서 등장한 얼마 안 된 API라 레퍼런스가 많지 않았고, 설상가상으로 PARD 2기 활동 기간 동안 배운 것과 다른 프레임워크를 사용하였기 때문에 프론트엔드 쪽에 과부하가 걸렸습니다. 이렇다 보니 제가 생각하고 있던 서버 기능들 중 일부를 구현하지 않기로 하였습니다. '이건 넣어야 튼튼한 서버라고 할 수 있어!'라고 생각한 기능들이었는데 iOS 쪽에서 그 기능까지 고려해서 개발하기엔 너무 바빠서 못 넣는다니, 제 입장에선 속상했었어요.
그렇게 배부른 생각을 계속 느긋하게 가졌습니다. 그런 상황은 다행히도 2주차 목요일에 해결되었습니다. 당사자인 제가 얼마나 일이 잘못 흘러가고 있는지 깨달았거든요.
자극
2주차 목요일 19시. 이전 서핑데이 때 하기로 한 MBTI(MovBie Together In PARD) 행사, 즉 영화의 밤 행사를 진행하기 1시간 전이었습니다. 서버 파트장과 부파트장이 저를 갑자기 방으로 불러서 개발 진행 상황이 어떻게 되는지를 물었습니다. 롱커톤 시작 전에 각 팀 별로 프론트엔드/백엔드 Repository를 생성하여 여기에 진행하고 있는 프로젝트의 코드를 올리게 했는데, 다른 팀 백엔드 개발자들은 서버 구현하고 클라우드에 올려서 트러블슈팅하고 있다는데 왜 형 쪽 Repository엔 올라온 게 없냐고, 무슨 일이 있는지 물어보았었죠. 덤으로, iOS 개발을 담당하던 (팀의) 개발 팀장이 제가 서버 쪽에서 진전을 안 내고 것에 대해 초조함을 털어놓았었다고 합니다.
당시 뭐하지 뭐하지 생각만 주구장창 하다 겨우 코드 없는 스켈레톤 파일 몇 개 만든 게 전부였던 전 왜 안 만들고 있었는지, 무슨 생각이었는지 등등을 이실직고하였습니다. 그 이야기를 듣고 부파트장은 이렇게 이야기하였습니다:
"한 분야에 대해 A와 B라는 회사가 있었어요. A라는 회사는 그 분야에 바로 뛰어들었는데, 개발자들이 전문가였던 건 아니었지만 출시한 프로덕트를 사람들이 많이 사용하게 되었어요. B라는 회사는 개발자들에게 전문성이 있었지만 그 분야에서 성공을 못 했어요. 왠지 알아요? B가 분야에 뛰어들려고 한 땐 이미 A가 그 분야에서 큰 성공을 이룬 지 오래된 뒤라 들어갈 틈이 없었거든요.
형도 그래요. 모든 프로젝트를 완벽하게 생각하고 시작할 수 없어요. 완벽하지 않아도 해보면서 부딪히고 해봐야 하는 거에요. 지금은 안 될 거 같은 건 과감하게 버리고 빨리 시작해야 해요."
저는 그 때 파트장과 부파트장한테 혼나면서 제가 제 자신만 생각했었다는 것을 깨달았습니다. 기획자에겐 "확실하게 어떻게 돌아갈 지 나오면 짜볼 수 있을 거 같아요"라고 이야기한 것도, iOS 개발 팀원들은 새로운 프레임워크 배우면서 기술 검증한다고 힘들어하는데 전 뭐하지 뭐하지 하고 띵가띵가 시간만 보낸 것도, 제 자신만 생각한 이기적인 행동들이었죠. 그런 이기심도 이기심이었지만, 무엇보다 간단하게 데이터만 주고받는 정도에 그칠 정도의 서버를 두고 생각만 주구장창 하고 아무것도 안 하는 모습도, 그런 서버가 되었다고 섭섭해하던 - 탄탄한 서버를 만들고 싶었는데 프론트엔드 때문에 바뀌고 바뀌면서 이렇게까지 되었다고 생각한 - 모습도 참으로 한심했습니다.
그날 밤, 영화의 밤 행사에 제 팀원들 전원은 참석하지 않았습니다. 다들 급한 개발에 착수하였죠. 저는 행사에서 영화를 상영해야 했기에 자리를 뜰 순 없었습니다만, 영화를 프로젝터에 보여주고 제 노트북 화면에선 그 뼈대만 남아있던 파일에 코드들을 하나하나 채워나가기 시작했습니다. 행사가 끝나고 날이 밝아올 때 까지요. ERD도 API Call도 확정되지 않았지만, 그렇다고 개발을 시작하지 않으면, 더 늦으면 안 되었으니까요.
그리고 날이 밝고 찾아온 날 코어타임 때, 일정을 시작하면서 팀원들에게 사과했습니다. 그 동안 저지른 제 근무 태만에 대해서요.
롱커톤 후반기: 추운 날 발등에 불이 떨어지고 나서
그렇게 3주 중 절반이 지난 2주차 목요일 밤부터 서버 개발을 시작했습니다. iOS 개발 팀원하고도 이야기하며 앱과 서버가 데이터를 잘 주고받고 있는지를 점검하고, 각자의 요구사항들을 조율하고 적용해나갔었죠. 전반기에 비해 멘토링 세션에서 멘토님께 여쭈고 싶은 질문들의 깊이가 더 생겼고, 매일 코어타임 때 살펴보는 '할 일' 목록도 조금씩 더 그 완성도를 높여나갔습니다.
롱커톤 후반기의 전 정신이 없었습니다. 카페인이 안 들어가면 정신이 몽롱해지고, 집에 들어가면 늦은 밤에 눈이 알아서 감기던 상황까지 갔죠. 다른 팀원들도 이 때 즈음 되니 모두 컨디션이 떨어져서 프로젝트 매니저가 매일 시작하면서 하던 컨디션 체크를 하지 않고 넘어갔습니다. 생각으로 가득했던 전반기와 달리 이 땐 생각할 틈도 없을 정도로 정신이 없어서, 기억에 남는 일들이 많이 없습니다. 그렇게 시간이 흘러 데모데이가 왔고, 부스 체험도 큰 문제 없이 - 빌려온 장비들 중 일부가 작동하지 않는 등 사소한 문제들이 있었지만 - 진행되었습니다.
부스 체험이 끝나고 시상식에 들어갔는데, 크게 기대하지 않은 상황에서 입상 팀으로 불렸을 때 깜짝 놀랐습니다. 너무 깜짝 놀란 나머지, 하겠다고 나선 수상 소감에서조차 팀원들 언급은 안 하고 제 이야기만 뱉어버렸죠. 사실 최우수상을 받을 수 있었던 건 제 자신을 제외한 나머지 팀원들이 엄청 열심히 한 덕분인데 말입니다. 오히려 제가 가졌던 그 미련함이 프로덕트를, 나아가 팀을 망칠 수도 있었던 걸 생각하면, 제가 정신을 처음부터 제대로 차렸으면 대상을 받을 수 있지 않았을까 하는 생각에 제 자신에게 아쉬움이 많이 남았습니다. 최악은 면했을진 몰라도, 최고를 놓친 거니까요.
수상 소감을 나눌 때 말 못한 감사 인사를 잠시 이 자리를 빌어서...
그런 간단한 서버도 못 만들고 끙끙 앓을 뻔한 상황을 만들지 않게, 잘 하고 있는지 지켜보다 필요한 때 쓴소리를 아끼지 않은 서버 부파트장 현승과 파트장 지성,
사수와 부사수 사이의 관계가 아니고 멘토와 멘티의 관계라며, 개발에 있어 가지고 있는 고민들을
사실 과 선배가 맞지만과 선배처럼 들어주시고 깊은 조언을 주신 멘토 김민재 선배님,롱커톤 시작 전에 가진 개별 모임부터 롱커톤 다음 날 종무식 끝나고 나서 가진 현장 회고까지, 팀원 모두를 그 누구도 넘어가지 않고 잘 챙겨준 프로젝트 매니저 영준,
아이디어 제시자가 아님에도 불구하고 데모데이 부스를 준비하며 "우리 부스 짱짱"이란 이야기를 꺼낼 정도로 그 아이디어에 대한
ownership과 애정을 가지고 프로덕트를 성장시킨 프로덕트 매니저 예린,다른 팀원들이 부탁한 일들을 묵묵하게 수행하며, 다들 피곤할 때 자기가 가져 온 젤리를 나눠주고 이야기하면서 기운을 복돋아준 막내 디자이너 예인,
게을러지지 않게 계속 상황 물어봐주고 필요한 것들 꼼꼼하게 다 챙기면서 iOS 개발자들과 같이 가족처럼 챙겨준 개발 팀장 및 iOS 개발자 하람,
힘들다는 말 안 하고 언제나 일관된 표정과 태도로 롱커톤에 임한, 나보다도 더 어른같은 iOS 개발자 성진,
싫다는 말 안 하고 머리 꽁꽁 싸가며 빽빽한 개발 과정 잘 소화해낸 막내 iOS 개발자 서윤.
이 모두에게 전합니다. 여러분이 있었기에 제가 여기까지 더 나은 모습으로 올 수 있었습니다. 이외에도, 이렇게 올 수 있는 자리를 준비해 준 PARD 운영진들에게도 감사의 인사를 전합니다.
글을 마치며
롱커톤이 끝나고 3주가 흘러갔는데, 그 흘러간 3주는 정말 평화로웠습니다. 데모데이 다음 날 종무식에서 팀원들과 못 해본 회고도 해 보고, 이후엔 PARD 사람들끼리 스터디도 - 원래는 롱커톤 기간을 겸해서 하려고 한 거지만 롱커톤이 팀 안 가리고 정신없는 때였기에 스터디원들의 투표로 그 이후에 - 마무리했고, 고뿔도 걸려보구요. 글을 마무리한 오늘 PARD 3기 회장이 2기 동아리원들 중 파도(PARD-O, OB)를 모집하는 공지를 쓴 걸 보면, 벌써 새 학기 시작까지 많지 않은 시간이 남았다는 게 느껴집니다.
저는 이제 '학기'라는 단어를 거의 안 쓰게 될 겁니다. 가끔씩 기분이 어수선합니다. 군대에서 제대하는 기분 같아요. 원래 있던 세상을 떠나 새로운 세상으로 가는 게 말이죠. 그래도 이렇게 가기 전에 '백엔드'를 비롯하여 '디자인', '기획', '프론트엔드'라고 하는 새로운 분야들을 알아갈 수 있었음에, 새로운 사람들을 만나 새로운 경험을 할 수 있었음에, 그러면서 제가 가진 문제점들을 실감하고 그걸 해결하기 위한 생각들을 해볼 수 있었음에 감사합니다. 약 반년, 그런 경험들을 만들어준 모든 사람들에게 감사드립니다.
이 글을 읽으신 분들이 새로운 경험을 두려워하지 않고 해보실 수 있길, 그래서 작더라도 남길 만한 무언가를 만드실 수 있길 바랍니다.
미리 설 연휴 잘 보내세요!
무한 스크롤의 늪에서 탈출시켜줄 행동심리 기반 스크린타임 서비스
댓글
로그인 후 댓글을 남길 수 있습니다.
한 학기 동안 너무 고생했어 오빠!! 파드를 통해 많이 도전하고 깨져보면서 많이 성장하고 단단해졌기를 바래-! 앞으로도 화이팅💪🏻
채우형 한학기 고생하셨어요!! 서버 파디로 함께 활동할 수 있어서 너무 좋았고 졸업 축하드립니다:)
형의 한동에서의 마무리를 PARD에서 함께할 수 있어 즐거웠습니다! 필드에서 만나요!!!