2021. 8. 19. 19:56ㆍExperience Story
2021.05.22 - 05.23
28기 솝트 회고에서 세 번째로 다룰 내용은 '솝커톤'이다.
솝커톤은 솝트와 해커톤의 합성어로,
4주차 동안 iOS 파트 세미나에서 배운 내용을 바탕으로 기수 후반기에 진행되는 자체 해커톤인 앱/웹잼을 시작하기 전, 본인의 실력을 검증하고 다양한 파트와의 협업을 경험해보는 행사를 말한다.
솝커톤 신청 공지가 올라왔을 때만 하더라도
4번 세미나를 들은 나의 실력으로 서비스를 만들 수 있을까.. 혹시나 참여했다가 민폐만 끼치는 게 아닐까는 겁도 났었지만,
솝트가 추구하는 솝커톤의 목표가
"도전을 통한 개인과 팀 그리고 조직 전체의 성장"인 만큼
내 인생 첫번째 무박 2일 해커톤에 도전하게 된다💪🏻
(참고로, 모집은 선착순으로 진행된다. 마감 속도가 정말 후덜덜..
또한, 코로나19로 인해 28기 솝커톤은 온라인, 오프라인으로 나누어 진행되었고,
모든 참가자는 문진표 작성, 마스크 착용, 체온 측정, 손 소독, 취식금지 등 방역 수칙을 철저하게 준수하며 진행되었다.)
'기억'을 담은 서비스 만들기
솝커톤에는 항상 주제가 존재한다.
(미리 아이데이션 회의하고 서비스를 기획해오는 것을 막기 위해)
이번 솝커톤의 주제는 '기억'이었다.
잊고 싶지 않은 기억과, 잊고 싶은 기억, 그리운 기억 등 다양한 매개체가 존재하는 키워드이기에,
어떻게 이것을 해석해서 서비스로 구현할지 주제를 받자마자 머리가 지끈거렸다🔥
'기억'을 주제로 받았을 때, 가장 첫 번째 떠오른 서비스는 '다이어리 앱'였다.
아마 나뿐만 아니라 많은 솝커톤에 참여한 많은 솝트원들이 다이어리를 처음에 떠올렸을 것 같다.
하지만, 솝커톤에서 만들기에는 흥미도가 떨어지고,
이미 솝트에는 다양한 완성도 높은 다이어리 서비스가 존재하기 때문에 다른 생각을 다시 하게 된다.
팀원 전체가 아이데이션 회의를 했을 때는
분리수거를 알려주는 서비스, 멸종 동물을 기억하게 만드는 서비스, 인물퀴즈 게임, 노래방 애창곡 기록 서비스, 향수 기억, 잊고 싶은 기억 등 정말 많은 아이디어가 나왔다.
하지만, 그럼에도 마땅한 아이디어가 떠오르지 않아 일단 밥부터 먹기로 한다.
시래깃국을 먹던 중, 불현듯 이런 대화가 오가게 된다.
"기억을 하는 서비스보다, 기억을 만드는 서비스가 재밌지 않을까?"
"아, 그러면 다른 사람들이 나를 기억하게 만드는 서비스 어때?"
"오! 우리 솝트 하면서 매일 새로운 사람 만날 때마다 자기소개하기 힘들었잖아. 매일 자기소개하는 내용을 담아서 핸드폰으로 공유하도록 하면 편할 거 같다!"
"그러면 핸드폰으로 나를 소개하는 내용을 담는 명함 서비스 어때?"
이렇게, 우리 조는 나를 기억할 수 있도록 만드는 명함 서비스 나다로 방향을 정하게 된다.
'나를 다' 담은 명함 서비스, 나다 NADA의 시작
솝트인을 위한 가장 간편한 자기소개, '나를 다' 담은 명함 서비스 '나다'는
간단히 말해, 솝트 안에서 일어나는 자기소개의 어려움을 줄여주는 명함 서비스다.
나다 안에서는 자신에 대한 비정형화된 정보들을 모아주며,
(탕수육 부먹/찍먹, 민초/반민초, 소주/맥주, 선호하는 아이스크림 같은 질문들)
이 정보들을 명함의 형태로 상대방에게 공유할 수 있도록 하는 형태이다.
또한, 재미를 위해 명함을 공유하는 대상과 내 성향이 얼마나 일치하는지에 대한 궁합 기능도 포함되어 있다.
팀 나다의 협업방식
우리 팀은 노션으로 과제를 체크하고,
깃허브, 피그마, 제플린을 활용해서 협업을 했다.
iOS 팀원끼리는 3명이 모두 만나 일렬로 앉아 작업을 진행했다.
(소통하기 아주 좋은 환경이라는 뜻)
또한, 솝커톤 과제 중 하나가 협업 방식을 정하는 것이 있었기 때문에
깃허브 내 리드미에 파트 분배 내역과, 서비스 간단 설명, 부족하지만 Commit Convention까지 정해서 3명의 개발자가 함께 협업을 진행했다.
본격적으로 뷰를 찍어내 보자
무박 2일, 16시간 동안 솝커톤에서
뷰의 개수가 3개를 넘게 되면, 정상적으로 프로젝트를 마무리하기 어렵다는 이야기를 알고 있었다.
처음 필요한 기능을 얘기했을 때로 돌아가자면,
서비스에는 명함 내용을 처음 등록하고, 명함의 앞면, 뒷면, 재미를 주기 위한 궁합, 다른 사람에게 공유할 수 있도록 하는 기능까지 무려 6~7개의 달하는 뷰가 필요할 것 같았다.
이대로는 무사히 서비스를 시간내에 완수하기 어렵다는 결론 하에,
'기획, 디자인, 서버, 클라이언트'의 모든 파트가 달라붙어 뷰에 대한 이야기를 하게 되고,
그 결과
스플레쉬, 등록 뷰, 앞면, 뒷면, 궁합까지 있는
최종 와이어프레임이 나오게 된다.
의사소통이 다들 너무 둥글둥글하고 서로 배려하는 게 느껴져서, 원활하게 뷰가 조정될 수 있었다ㅜㅜ
이제 클라이언트가 열심히 뷰를 찍어낼 차례 :)
이렇게 5개 뷰가 존재하는 우리 서비스에서
나는 처음 사용자가 자신의 내용을 입력하는 "명함 등록뷰"를 담당했었다.
하지만 이마저도, 내가 아직 서버 통신을 스스로 할 수 없는 실력이었기 때문에
레이아웃을 잡는 것과 데이터를 담는 정도까지밖에 할 수 없었다.
이번 기회에 회고를 쓰면서 되돌아보니, 같이했던 이준 현규 선배가 정말 고생을 많이 했던 것 같다...
이럴 줄 알았으면, 더더더 공부 좀 열심히 해갈걸 ㅜㅜ
명함 등록 뷰는 Label, TextField, SegmentedControl, Button이 반복되는 형태였다.
배운 점이 있었다면,, 스크롤 뷰에서 가장 하단 부분의 AutoLayout을 잡지 않으면 스크롤이 안된다는 것.. 정도..?
이거는 나중에 iOS 공부 포스팅으로 다뤄보도록 하자.
협업에 있어 둥글둥글한 소통은 필수이다.
솝커톤을 하면서 개발 실력, 깃 사용법도 배웠지만
그보다 더 많이 배우고 느낀 것이 있다면, 다른 파트와 소통하는 방법이다.
만난 팀원, 특히 같은 아요 선배분들이 개발 실력뿐만 아니라 소통도 너무 잘해주셨다 ㅠㅠ
다른 파트끼리 중요한 대화를 하고 있으면, 기다릴 줄 아는 이준쌤
무조건 안된다는 자세보다, 할 수 있는 방향으로 생각해주는 현규쌤
나는 이 두 분을 보고 본받아야겠다.. 고 생각했다.
깃이 터진다는 거.. 이런 느낌이구나
처음, 솝커톤에 참여할 때 깃에 대한 중요도 이야기를 정말 많이 들었다.
아무래도 대부분이 처음 솝커톤을 경험하기 때문에, 협업에 대한 능숙도가 높지 않아 깃을 다룰 때 문제가 발생하는 경우가 종종 있다고 전해 들었는데, 우리 팀은 그런 일이 없을 거라 생각했다. 아니, 있어서는 안 된다고 생각했다.
하. 지. 만.
인생은 계획대로 흘러가지 않는다고 했던가..
한창 피로가 가중되던 시간 새벽 5시
우려했던 일이 결국 터지고 만다.
처음 Font를 담고 있는 Extension 파일이 계속 깃에 올라가지 않는 문제가 생겼었는데,
이는 계속 커지고 커져, 5시 정도에 전체 파일을 한번 merge 하려고 할 때 문제가 제대로 생겨버렸다.
파일이 엉키고 엉켜 작업했던 일부분이 올라가지 않으며,
Sorce 폴더와 Resource 폴더까지 엉킨 상태로 합해져 있던 것이었다..
한 시간 정도 끙끙되며, conflict를 해결하려 했지만..
결국 그 도전은 실패하게 되고
다급해진 우리 클라 3명은 남은 시간을 깃대 신, 카톡을 사용해서 작업을 하게 된다.
인생 첫 솝커톤을 마치며
마지막 최종 제출까지 약 2분여를 남겨두고,
우리 조는 무사히 솝커톤의 모든 과제를 끝마치게 된다.
이후 경현 선배의 멋진 발표를 끝으로, 솝커톤이 마무리되었다.
우리 팀은 기획에서 꼼꼼히 과제 트래킹을 도와주어, 모든 과제를 빠짐없이 제출해 대상을 수상하게 되었다.
(이번 솝커톤은 절대평가로 진행되어, 정해진 시간 내에 제출하지 못한 과제 양에 따라 감점이 되는 방식이었다.)
정말 모든 팀원이 16시간 동안 열심히 고생해준 결과라 생각한다:)
항상 느끼지만 혼자이면 절대 못할 일들이
"함께"했을 때 갖는 힘이 얼마나 큰지 다시 한번 느끼게 되었다.
부족한 개발 실력도 반성하고, 열심히 공부할만한 동기도 갖게 되고, 다양한 파트와의 협업 경험과 좋은 사람들을 만날 수 있던 좋은 기억으로 내 첫 번째 솝커톤이 마무리되었다.
정말 16시간 동안 잠을 안 자고 작업한다는 게, 힘들었지만 그만큼 뿌듯했고 재미도 있었다 ^__^
16시간 동안 함께 고생한 우리 팀원들 모두 최고이고, 정말 정말 감사드립니다👍🏻
이제 진행할 릴리즈도 모두 파이팅합시다✨💪🏻
'Experience Story' 카테고리의 다른 글
[이투스 싱크탱크 1기] #5 - 내 아이디어가 구체화되기까지 (0) | 2021.08.27 |
---|---|
[이투스 싱크탱크 1기] #4 - 강연을 통해 배울 수 있었던 점들 (0) | 2021.08.21 |
[이투스 싱크탱크 1기] #3 - 사용자의 입장에서 서비스를 경험하기 (0) | 2021.08.17 |
[CJ UNIT 5기] #1 - CJ SW창의캠프 대학생 봉사단 최종 합격 후기 (0) | 2021.08.15 |
[SOPT] #2 - iOS 개발자가 되가는 과정, 파트별 세미나 (0) | 2021.08.15 |