본문 바로가기

해커톤

[ACC 해커톤] 회고록

서론

해커톤이 끝났다. 3주 동안 정말 많은 회의를 진행했고, 결국 주제였던 '대규모 메일 발송 시스템'은 구축할 수 있었다. 뭣 모르고 서버리스로 구현했지만, 열심히 한만큼 결국 성과를 낼 수 있었다.

 

아쉬웠던 점은 테스트의 부재와, 성능 저하에 대한 정확한 원인 규명을 못했다는 점, 그리고 미숙한 발표 정도가 있었다. 또한 내가 협업 경험이 부족해서 그런지 정말 협업을 못한다는 생각이 들었다. 

 

8월 16일에 또 한번 해커톤을 진행하는데, 그때는 더 나은 모습으로 참가하겠다.

 


배운 점

  • 협업을 잘 하기
    누군가에게 설명하는 시간과 내가 혼자 개발하는 시간이 동일하다고 느껴져도 일단 설명하는 것이 맞다. 내가 가진 개발에 대한 이해도가 가장 높다 하더라도 결국 내가 보지 못하는 시야가 존재하기 때문이다.
  • 인프라 빠르게 구축하기
    첫 회의를 할 때, 너무 최적화에 매몰되어 있었다. 다음번에도 인프라를 구축하는 해커톤에 참가한다면 trade-off를 통한 적절한 아키텍처를 선정하고, 아키텍처들을 연결해서 mvp를 빠르게 구성한 후에 최적화를 생각할 것이다.
  • 완벽한 아키텍처는 없다
    QnA를 진행하면서 모든 팀들에게 꽤나 날이 선 질문이 들어갔다. 나를 비롯하여 제대로 답변하지 못한 팀도 있었지만, 잘 대답한 팀들에게는 특징이 있었다. "왜 이렇게 설계하였나요?"에 대한 대답을 완벽하게 한 것이다. 당연한 얘기겠지만 완벽한 아키텍처는 없고, trade-off를 진행하면서 버려야 했던 이점들과 안고 가야 했던 약점들이 존재할 것이다. 하지만 '그럼에도 불구하고 왜 이런 아키텍처를 설계했는지'에 대한 대답을 할 수 있다면, 그 아키텍처는 최선의 선택이 된다.
  • 캐시는 만능이 아니다
    '저 팀 좀 잘하는데'라는 생각이 들었던 팀이 3팀 정도 있었는데, 그런 팀들도 했던 동일한 실수다. 대부분의 팀들이 성능 향상을 위해 캐시를 사용했지만, 캐시는 위험도가 꽤나 크다. 사용해야 한다면 "캐시를 적용하는 객체에 쓰기 작업이 얼마나 일어나지? 정보의 업데이트를 허용하지 않아도 되는 시스템인가?" 등의 고민을 충분히 해보고 적용해야 한다.
  • 영어를 지양하자
    멘토님들의 피드백을 들으면서 느낀 점이었는데, 과도하다 싶을 정도로 영어를 너무 많이 섞어 쓰셨다. RDS를 갖다가 '관계형 데이터베이스 관리 시스템'이라고 말하자는 게 아니다. 어쩔 수 없는 용어들은 당연히 영어를 쓰는 것이 맞다. 하지만 영어로 말할거면 영어를 쓰고 한국어로 말할 거면 한국어로 말하는 것처럼 일관되게 말해야 한다. 말하는 사람은 떠오르는 대로 말하는 것이니까 편하겠지만, 듣는 사람을 배려하는 화법은 아니다. 말하는 사람의 수고를 듣는 사람에게 떠넘긴다는 생각이 들 수 밖에 없다. 나는 배우는 입장이니까 멘토님들에게 "한국어 좀 써 주십시오"라고는 못하겠지만, 내가 누군가를 가르치는 입장이 된다면 이런 부분에서 조금 신경을 써야겠다.
  • JSON Records
    JSON 파일을 넘기고 python에서 받을 때, Records에 감싸서 오게 된다. 더 자세한 것은 봐야 알겠지만, 이걸 처리하는 게 조금 골이 아팠다.

 


소감

카테캠과 병행하느라 정말 바빴고, 시간이 너무 빠르게 지나갔다. 해커톤 전날에 잠을 좀 여유롭게 잘 생각이었지만, 카테캠 과제로 인해 전날 5시간만 자고 참가해야 했다. 그래서 그랬는지 개발 과정이나 발표가 불만족스러웠다. 팀원 분들이랑 멘토님, 시온님이 격려해줬지만, 아쉬운 마음을 지울 수는 없었다. 다음에는 컨디션 관리도 신경써야겠다.

 

늦은 감은 있지만 인생 첫 해커톤 참가였다. 그리고 다행히도 무사히 마쳤다. 일부 기능 구현은 못했지만, 그래도 기능 구현은 마쳤으니까. 많은 시간을 투자한만큼 더 좋은 결과가 있었으면 했지만, 기능 구현도 마치지 못한 팀들을 보고 우리 팀이 못했다기보다 그만큼 생소한 해커톤을 참가했다는 생각에 나름 위안을 얻었다.

 

첫 해커톤이고 카테캠과 병행하는 만큼 팀원들에게 민폐를 끼친다는 마음으로 철판 깔고 시작했지만, 2주차부터 어느 정도 팀에 기여를 한 것 같다. 오히려 서버리스 시스템을 구축해서 모두가 생소했기 때문에 도움이 되지 않았나 싶다. 다행이다.

'해커톤' 카테고리의 다른 글

[ACC 해커톤] 필수 사항 생각해보기  (0) 2024.07.24
[ACC 해커톤] 1주차 회고록  (0) 2024.07.21