인생 첫 (그리고 마지막) 해커톤 후기

Shawn Kang·2026년 2월 8일

흔적

목록 보기
2/2
post-thumbnail

서론

정말 쉽지 않았다...

중앙대학교를 거점으로 활동하는 것으로 보이는 두 동아리 - GDGoC와 UMC CAU - 가 공동 주최한 청룡톤을 마치고 집으로 돌아왔다.

나름 인상적인 경험이기는 했으나 해커톤은 여러모로 나랑은 맞지 않는 포맷이라는 것을 확실하게 느낀 이틀이었다. 물론 안 좋은 점만 있었던 것은 절대 아니었다. 밤을 새며 프로젝트를 진행하는 경험 자체가 처음이라서 신선하게 느껴졌고, 주최 측도 불편함 전혀 없는 엄청 깔끔한 진행으로 잘 도와주었으며, 함께 한 팀원들도 싸움 없이 각자 맡은 부분을 잘 처리해줘서 너무 고마웠다. 특히 어쩌다 보니 내가 제안한 아이디어가 선택이 되었는데, 도메인 지식이 나에게만 있었어서 내가 기획 등에 있어서는 리드를 조금 해야 했었다. 그래서 수상받지 못했을 때 팀원들에게 미안한 감정도 들었다. (이 글을 읽으실지는 모르겠으나) 다시 한 번 같이 밤을 샜던 팀원들께 감사했었다는 말을 드리고 싶다.

이렇게 깔끔한 진행과 열정적이었던 팀원들과는 별개로, 첫 - 그리고 아마 마지막일 확률이 매우 높은 - 이번 해커톤은 여러모로 좀 생각할 지점이 많은 경험이었다. 간단하게 대충 휘갈겨보자.

본론

해커톤 참가자는 달콤한 취침의 꿈을 꾸는가?

우리 팀은 마감을 4시간 남긴 4시 반 쯤 API 개통을 마치고 개발도 어느 정도 정리된 후 바로 휴식을 취했다. 나 역시 바로 동방으로 내려가서 3시간 정도 쪽잠을 자고, 마감 직전 발표 자료만 조금 고쳐서 마무리를 했다. 그런데 다른 팀들은 대부분 그보다 더 늦게까지 개발을 진행한 것 같더라.

사실 팀에서 필수 요구사항에 더해 계획해 두었던 여러 추가 기능들이 꽤 있었다. 그리고 백엔드 고수 팀원의 도움으로 구현을 위해 필요했던 API도 다 뚫어 둔 상태였다. 그러나, 그 기능들은 결국 구현되지 못했다. 아마 생각하기에 몇 시간을 더 썼으면 살을 조금 더 붙일 수 있었을 것이다.

잠을 못 잘 것을 각오하고 왔다면, 그냥 잠을 안 자는 게 낫지 않았을까 하는 생각이 생기는 지점이었다. 핑계를 대자면 패턴이 망가진 관계로 최근 오전 5시에나 취침을 취하던 나로서는 해커톤 참가를 위해 9시에 기상하는 게 쉽지 않았다. 그러므로 해커톤에 참가할 생각이라면, 나처럼 아무 생각 없이 참가하는 것보다는, 정말로 각을 잡고 충분히 수면한 채로 들어가는 게 좋을 것이라 생각한다. 안 그래도 힘든데 잠도 못 자고 오면 머리가 안 돌아갈 것이다.

프론트에 작업이 쏠리는 것에 대해

디자인도 하고 화면도 프론트가 따야 하니 할 일이 확실히 프론트에 쏠려 있었다. 근데 이건 사실 어떤 프로젝트를 해도 비슷한 것 같다. 아니면 내가 순혈 프론트 인간이라서 이렇게 느끼는 것일 수도 있고... 그렇다기엔 백엔드가 나쁘다고 생각하는 건 아니다. 지금 진행하고 있는 장기 프로젝트도 백엔드 팀원들이 가끔 일 없다고 농담을 던지곤 하는데, 사실 기술적인 사양이나 스펙보다 서비스 자체의 품질이나 기획을 신경 쓰게 되면 어쩔 수 없이 디자인과 프론트에 업무량이 몰릴 수밖에 없는 것 같다.

그리고 기술에만 신경 쓰면 프로젝트가 오래 못 갈 수밖에 없다는 생각도 가끔 한다. 애초에 기술만 고려하게 되면 기획이 빈약하니 사용자도 없을 확률이 높다. 그러니 그런 프로젝트들은 한 철 장사 딸깍 프로젝트로 끝나는 건 어쩌면 당연하다. 사용자 유지가 안 되니까. 반대로 사용자 경험 위주로 접근하게 되면, 사용자가 직접 접촉하는 UI와 프론트에 조금 더 초점이 갈 수밖에 없다. 이 둘 사이 황밸을 유지하는 게 정말 어려운 것 같다.

개발자는 백 몰빵 그리고 프는 웹 몰빵

모인 사람들 대부분이 소프트웨어학부라 그런지 듣기로는 백엔드 지망이 프론트 지망보다 많았다고 한다. 나랑 같이 작업한 프론트 팀원도 1지망이 백엔드였는데 인원이 너무 많아 프론트로 강제 전직한 케이스. 그러다 보니 "내가 이 분께 React에 대한 짧은 지식을 알려드린다 해도 이 분께서 여기서 얻어갈 게 무엇이 있으실까?"라는 생각을 하지 않을 수 없었다. 어차피 향후 취업 백엔드로 하실 텐데 지금 이 시간이 취업에 어떤 도움이 될까 하는... 뭐 근데 이건 지나친 오지랖일 수도 있겠다는 생각도 있기는 하다.

한편, 여기에 더해 프론트는 대부분 웹 몰빵이었다. 평소에도 주변을 보면 백 하는 사람이 제일 많고, 프론트는 애초에 적은데 웹 하는 사람이 대부분, Android나 iOS 하는 사람은 눈 씻고 봐도 찾아 보기가 어렵다. 그리고 무엇보다도 해커톤에서는 웹이 정말 최적의 폼 팩터라는 생각도 들었다. 일단 모바일 앱은 무겁다. 메모리 관리나 병렬 처리(해커톤에서?) 등 신경 쓸 부분도 웹보다 더 많다. 무엇보다도 웹의 가장 큰 장점은, 애초에 마켓 심사 때문에 배포 자체가 불가능한 모바일과는 달리 웹은 편하게, 빠르게, 비용 없이 배포가 가능하다는 것이다. 접근성도 좋다. 어떤 디바이스 - 모바일이던 랩탑이던 - 에서도 접근이 쉽다. 그러니 그 짧은 시간에 개발 - 배포 - 사용자 유도까지 다 하려면 웹 말고는 사실상 선택지가 없는 셈이다. 아니, 이 정도 장점이면 웹을 안 하는 게 사실 바보처럼 느껴지기도 한다.

아무튼... 그래서 Android가 메인이고 React는 다소 가볍게 만지고 있던 나로서는 울며 겨자 먹기로 웹을 하기는 했는데, 애초에 정성을 다해 웹 개발 경험을 쌓은 것도 아니었기에 한계가 있었다. 게다가 바로 아래에서도 말하겠지만, React 경험이 적었기 때문에 재사용 가능한 디자인 시스템 라이브러리에 대해 알고 있는 게 없었다. 설상가상으로 팀원 한 분은 백 지망인데 프론트로 떨어진 분이라서 내가 리드를 해야 했으니, 여러모로 어려운 경험이었다고 말할 수 있겠다.

해커톤은 실력보다는 전략이다

제일 중요한 부분 같다.

내가 React로 진행하고 있는 프로젝트는 디자이너가 있다. 디자인을 다 해주시기 때문에, 시중에 풀려 있는 Material 같은 디자인 시스템을 사용하지 않는다. 그러다 보니 기존 UI 컴포넌트를 재사용해서 구현하는 것보다는 새로운 컴포넌트를 아예 처음부터 짜는 케이스가 비중이 훨씬 더 높다. 그러나 해커톤 가서 웹 프로젝트 결과물을 보니까 뭔가 시각적으로 비슷한 느낌을 주는 서비스들이 굉장히 많더라. 그래서 옛 기억을 되짚어보니 어떤 디자인 시스템들 같은 경우는 React에서도 사용이 가능하다고 봤던 것이 떠올랐다. Android의 Material 3처럼 말이다. (검색해보니 실제로 MUI라는 이름으로 이미 존재하는 듯하다.) 아마 몇몇 팀은 그러한 디자인 시스템을 사용해서 신속하게 유려한 디자인을 가진 서비스를 개발할 수 있지 않았나 싶다.

결론적으로는 나처럼 맨 땅에 헤딩하며 개발할 시간이 없다는 것이다. 최대한 기존에 만들어진 시스템을 재사용하고, 기존 프로젝트에서 재사용 가능한 로직이 있다면 코드를 적극 재활용하며, 개발 시간을 단축해주는 효율적인 도구와 프레임워크/라이브러리를 잘 찾아내야 하는 것 같다. 단순히 AI에게 모든 걸 맡김으로써 시간을 날먹하라는 것보다는, 그 위 차원에서 시간을 줄일 수 있는 방법을 찾아야만 높은 수준을 달성할 수 있을 것 같다.

데우스 엑스 인공지능

인공지능이 컴퓨터 프로그램 개발 과정에서 엄청난 영향력을 행사하고 있다. 그렇기 때문에 자원이 한정된 해커톤에서는 인공지능을 여기저기에 적극 도입하고 잘 활용해야 수준 높은 결과물을 낼 수 있는 것 같다. 괜히 나에게 이 해커톤 추천해주신 분께서 이런 말을 하신 게 아님을 오늘 깨닫게 됐다.

일단 인공지능은 모두가 지금까지 잘 해왔듯 단순 코드 작성에 적극 활용 가능하다. 디자인 할 시간 없고 반복적인 코드 일일이 칠 시간 없다. 다 LLM에게 맡기자. 그리고 기능에도 인공지능을 적극 붙여야 할 것 같다. 오늘 1등한 팀은 AI로 인터넷 전화를 걸어서 응급실 뺑뺑이를 해결한다는 솔루션을 냈다. 대단한 아이디어였다.

디자인 시스템 라이브러리와 마찬가지로, 어떤 분야에서 어떤 인공지능 모델 또는 서비스가 우수한지 미리 알아두는 것도 중요한 지점일 것 같다. 오늘 발표 후 교수님들께서 피드백을 주시면서 특정 서비스는 대학원 내부에서는 평가가 안 좋다는 말씀을 해주시더라. 반대로 특정 도메인에 적절한 인공지능 서비스도 있을 것이다. 이런 것들을 평소의 프로젝트 경험이나 리서칭으로 파악해두고, 해커톤에 나가서 개발에 적극 활용한다면 또 한 번 시간을 크게 줄일 수 있지 않을까.

결론

시험 기간에 공부 대신 잠을 택하는 나로서는 이렇게 밤 새서 개발하는 건 전혀 상성이 안 맞는 것 같다. 한 번쯤 경험해보는 것은 좋겠으나 잠을 못 자는 건 너무나 큰 고통이었다는 것을 또 다시 깨달았다.

후기는 대충 남겼으니 이제 못 잔 잠을 마저 채우러 가야겠다...

profile
i meant to be

0개의 댓글