2023년 11월 25일 토요일 SOPT 에서 진행하는 해커톤 솝커톤이 개최된 날입니다. 저는 해커톤이라는 것을 솝커톤을 통해서 처음으로 경험하게되었습니다. 해커톤은 정해진 시간내에 팀 빌딩하여 주제에 맞는 프로젝트를 진행하여 산출물을 내놓는 것으로 알고 있었습니다. 솝커톤은 첫 해커톤이기 때문에 길이길이 기억하고자 기록하기로 생각했습니다. 그래서 회고를 진행해보려고 하는데, 회고는 처음 써보고 어떻게 작성해야할 지도 모르겠네요... 그래서 KPT 회고 방법과 해커톤을 하게된 계기와 소감을 추가해서 SOPT 33기 솝커톤 회고록을 작성해보려고 합니다!!
KPT 란?
Keep, Problem, Try의 약자로 Keep은 잘 한 것, Problem은 아쉬운 것, Try는 K와 P 기반으로 무엇을 할지에 대해 작성합니다
- K : 잘 해와서 유지하고 싶은 것
- P : 어려움을 느껴서 개선하고 싶은 것
- T : 구체적인 시도할 내용
저는 공부나 개인 취미 활동을 할 때, 항상 혼자 활동하는 것을 좋아하곤 합니다. 누군가 함께 활동하는 것을 싫어하지는 않지만 운동도 혼자 헬스하는 것을 좋아하고 공부도 모각공이나 카페, 도서관 공부보다는 집에서 혼자 공부하는 것을 좋아합니다. 이번년도에 처음으로 SOPT라는 대외활동을 함께하면서 나말고 다른 사람들과 네트워킹하는 것을 여러모로 좋은 점이 많았습니다. 내가 모르는 정보를 얻을 수도 있고, 같이 밥도 먹으면서 친해질수도 있고 같은 목적으로 공부하기 위해 모였지만 같이 공부하는 것이 재미있다는 것을 느꼈습니다. 같이 공부하는 것이 좋아서 공부라는 목적으로 그 날을 기다리고 기대하는 일은 처음이었습니다. 그래서 이번에 개최된 SOPT 의 해커톤 솝커톤을 하게되었습니다.
솝커톤이란?
솝커톤은 10~11 명으로 기획, 디자인, 서버, 클라이언트(iOS, 안드로이드, Web) 로 팀을 이루어서 주어진 시간 내 주제가 주어지고, 프로덕트를 함께 으쌰으쌰하며 만드는 것을 말합니다.
솝커톤은 10~11 명으로 기획, 디자인, 서버, 클라이언트(iOS, 안드로이드, Web) 로 팀을 이루어서 주어진 시간 내 주제가 주어지고, 프로덕트를 함께 으쌰으쌰하며 만드는 것을 말합니다.
저는 솝커톤에서 팀 내 안드로이드 개발자로 유저에게 보여주는 프로덕트를 만드는 담당을 하였습니다. 우리는 4명의 안드로이드 개발자가 있었고, 저는 함께 프로그래밍하는 것이 처음이었습니다. 그래서 페어 프로그래밍 경험이 있는 개발자분께서 각자 프로그래밍하는 것이 아닌 몹 프로그래밍이나 페어 프로그래밍으로 진행하는 것이 어떠냐는 의견에 저는 동의하였습니다. 몹 프로그래밍은 2~3 명의 개발자가 드라이버 또는 네비게이터가 되어서 함께 프로그래밍하는 방법입니다. 즉, 한 프로그래머가 드라이버가 되어 코딩을 진행하면 남은 개발자는 네비게이터가 되어서 옆에서 함께 코드를 보며 코딩을 진행합니다. 옆에서 훈수두어도 인정입니다. 프로그래밍 방법을 결정하고 기획과 디자인이 완료되어가면 안드로이드 앱을 만들기 위해서 화면 구현과 기능 구현을 위해서 안드로이드 개발자는 달릴 시간입니다. 저는 시간을 나타내기 위한 파이 차트와 내가 한 일을 작성하는 ToDo 리스트를 작성하는 것을 팀 내 안드로이드 리드 개발자분이랑 함께 몹 프로그래밍을 진행하였습니다. 초반에는 리드 개발자분이 드라이버를 진행하고 저는 네비게이터를 하였습니다. 남의 코드를 보는 것은 도움이 많이 되었습니다. 온라인에서는 깃허브로 코드 코멘트를 남기며 코드 리뷰를 해왔지만, 오프라인으로 코드 리뷰를 하는 느낌이었습니다. 내가 모르는 부분을 질문하면서 모르는 부분을 알아갈 수 있었고, 오타나 오류에 대해서 빠르게 캐치하여 문제를 해결할 수도 있었습니다. 시간이 좀 지나고 다음으로 제가 드라이버가 되어서 코드를 작성하였습니다. 네비게이터인 리드 개발자분의 좋은 훈수로 코드를 빠르게 작성해나아갔습니다. 해커톤은 타임어택 방식이므로 빠르게 코드를 작성해어야 했는데, 네비게이터가 있어서 더 함께 프로그래밍하기 좋았다고 생각합니다.
끝으로 몹 프로그래밍은 처음해봤고 추후에 함께 프로그래밍 해야하는 일이 온다면, 이런 방식을 사용하고 싶습니다. 저는 훈수를 좋아하지 않지만 이번에 몸 프로그래밍 훈수는 좋은 기억만 남습니다. 그리고 드라이버와 네비게이터를 두어서 서로 시간을 분배하며 진행하니 코드를 작성하는 피로도 줄일 수 있는 좋은 방법이었고, 만약에 같이 코드를 작성했다면 코드 충돌이 나거나 무엇을 하고 있는 지 잘 모를 수 있겠다고 생각했습니다.
제일 좋았던 것은 같이 몹 프로그래밍 한 리드 개발자분과 정말 친해졌다고 생각합니다. 남자는 목욕탕을 같이가면 친해진다고 하는데, 개발자는 몹 프로그래밍을 하면 친해질 것이라고 크게 이야기 할 수 있을 것 같습니다.
개발자가 친해지는 방법은 몹 프로그래밍 방법일지도…? 훈수 인정입니다~
저는 솝커톤을 하면서 디자인과의 소통을 어렵게 생각했습니다. 초반에 디자인이 결정되어서 개발을 진행하다보면 타임어택이라는 특성을 가진 해커톤에서는 시간 내에 개발을 하지 못하겠다라는 생각도 들고 하지 못할 것이라는 생각에 부담이 커졌습니다. 이런 부분들은 해커톤의 경험이 많은 개발자 분이 디자인분과 이야기하고 좀 더 쉬운 디자인으로 개발자의 부담을 덜 수 있었습니다. 저는 개발의 부담감을 소통으로 해결할 수 있었고, 그 부분은 확실하게 이야기하고 넘어가야 문제를 해결할 수 있었습니다. 이번에 소통을 위해서 자신감을 가지고 어떤 문제를 어떻게 해결할 수 있는 지 이야기할 수 있는 개발자가 되어야겠다고 생각했습니다.
소통을 위해서 필요한 것은 자신감!
솝커톤이란 처음으로 진행한 해커톤이면서 누군가와 함께 프로젝트 설계부터 구현까지 한 경험이었습니다. 저에게는 솝커톤을 도전하는 것이었습니다. 저는 도전을 좋아하는 편입니다. 실패는 곧 성공으로 가기위한 과정이고, 도전은 그 과정에서 꼭 필요한 부분이니깐요. 도전을 위해서 혼자가 아닌 함께 하는 것은 너무나도 뜻 깊은 시간이라고 생각합니다. 솝커톤에서는 팀 빌딩부터 주제에 맞는 프로젝트를 결정하고 개발의 프로그래밍 방식, 서버와 API 설계, 디자인과의 UI, 추가로 서로 응원해주고 독려해주며 저의 해커톤 첫 시도는 좋은 도전이었습니다.
솝커톤은 좋은 도전이었다.
회고를 작성해보는 것은 처음이었는데, 그때 그 순간을 기억하며 글로 적는 것이 저에게는 좋은 경험으로 남을 것 같습니다. 여러분들도 기억하고 싶고 잊고 싶지 않는 순간을 글로 적어보는 습관을 들여보는 것을 어떠신가요? 저도 처음으로 써보는데 재밌네요! 함께한 솝커톤 팀원들 다시 보고싶습니다! 표현은 잘 못했지만 항상 기억할게요! 😊
ㅎㅎ 저도 회고록 작성하려던 참이었는데 KPT 회고 좋네요! 저도 참고해서 써야겠어요 감사합니다 잘 보고 가요!