2020 네이버 핵데이 참가 후기 (2020 Naver Hackday)

ehdrms2034·2020년 5월 26일
10
post-thumbnail

이전 글

네이버 핵데이에 서류지원부터 선정된 후기는 여기서 확인하실 수 있습니다.

시작글

5월 21일까지 치뤄진 네이버 핵데이를 마치면서 아 이건 꼭 후기를 써야돼 라고 마음을 먹었다. 그 주된 이유는 아이디어 회의부터 완성 그리고 모여서 프로젝트에 대한 이야기를 나눌때 까지 너무너무 재밌게 했고 또 좋은 사람들을 많이 만났다. 그럼 포스팅을 시작해보도록 하겠다.

참가 주제 - 웹 플레이어 실시간 채팅


이번 핵데이도 꽤 많은 주제가 있었고, 나는 9번 웹플레이어 실시간 채팅에 지원하여 선정이 됐다!

선정되고 어느정도 시간이 지나니 깃허브 레포지토리 초대메일과 아이디어 회의를 하기 위한 깃허브 이슈가 발행이 되었다.

팀원분들이 깃허브에 하나둘씩 모이기 시작했고, 어김 없이 나는 팀원들의 깃허브를 염탐했다👀
염탐결과(?), 다들 쟁쟁하고 잘하시는 분들이어서 긴장 반, 또 같이 할 생각에 설렘 반이었다.

아이디어 회의

깃허브로 첫 인사를 나누고, 슬랙을 통해서 간단하게 행아웃으로 회의 일정을 잡았다.

처음 얼굴을 보고 맞이해서 뭔가 어색했지만, 서로의 개발 스택을 확인하고 각자의 아이디어를 시간날 때 마다 깃허브나 슬랙에 지속적으로 남기기로 했다

어떤 방식으로 실시간 웹 플레이어 채팅을 구현할지에 대해 지속적으로 이야기를 했다. 깃허브 이슈에 담긴 부분 댓글만 40여개고, 세부사항들을 고르기 이전에 슬랙으로 꾸준히 대화를 했다. (정말 많이 했다 😅😅😅)

뭔가 처음에 모였던 그 어색어색함(?)은 어디가고 기획안을 확정지을때까지 다들 활발하게 회의를 했던것 같다.


기획을 내면, 그 기획이 괜찮은지에 대해 토의를 해보고 피드백을 진행 혹은 받았던 것 같다. (이때까지 뭔가 어색어색함이 남아있는 예의있는 말투)


기획안의 충돌이 발생하거나, 어떤 것이 더 좋을지 결정 짓지 못하는 경우에는 위 처럼 투표를 이용하기도 했다.

기본적으로 다들 어느정도 생각하고 있던 내용은 비슷했다. 그러나 세세한 부분에 있어서는 5명 모두 방향이 달랐고, 그 부분을 맞추는데 조금 시간이 걸렸던 것 같다. 하지만 다들 유쾌하게(진짜 다들 정말 재밌고 좋으셨음🤣🤣🤣) 아이디어 회의를 이어나갔던 것 같다.

그리고 아키텍쳐 초안이 나왔다.


Designed By 시은님👍
기본적으로 동영상 서버, 댓글 서버, 추천서버, 인증서버로 나누고 게이트웨이(+proxy서버)를 두는 방식으로 했다. 대부분 초안을 따라서, 프로젝트가 진행되었던 것 같다. 다만 나중에 멘토님,팀원분들과 오프라인으로 회의를 하게 됨에 따라서 게이트웨이에서 proxy 서버로, 그리고 추천이나 인증/허가 기능들은 후순위로 밀려나게 됐다.

첫 오프라인 회의

온라인으로 매일 회의를 하다가 한번 만나서 회의를 갖자는 이야기가 나왔다.
다들 서울에 사셨고, 나 혼자 부산이여서 내가 서울로 올라가기로 했다.
팀원분들도 부산에 사는 나를 배려하여 서울역과 가까운 종로에서 모이기로 했다.
(그 내용도 여기에 담고 싶은데, 슬랙에서 사라져 버렸어,,)

이번에는 멘토님과 처음으로 만나는 오프라인 회의, 그리고 팀원들을 처음으로 마주하는 순간이었다.

멘토님은 회의를 어떻게 진행하면 될지, 그리고 계획을 어떻게 짜면 될지에 대해 잘 지도해주셨다.
모르는 부분이 나오면 멘토님의 어떤방식으로 해결하면 좋을지에 대해 의견을 덧붙여 주셨다.😍

성혁님은 회의를 한 내용을 잘 정리해주셨고, 덕분에 회의를 편하게 진행했다.

역할에 대한 분담은 다음과 같이 했던 것 같다.

업무를 정해놓고 각각의 업무에 대해 ManDay를 붙이는 방식으로 데드라인을 정하고, 그 이후에 역할 분담을 정했던 것 같다.

내가 처음 맡았던 부분은 다음과 같다.

  • 실시간 댓글에 대한 DB서버 구현 (By Node + MongoDB)
  • Reverse Proxy 서버 구성
  • [Sub] 동영상 파일 서버 제작 (HLS 사용)
  • 완료되면 프론트 달려들기

채팅 데이터는 수정이 적고 삽입과 조회 명령이 많을 것 같아서 MongoDB를 사용했다.
Reverse Proxy서버는 이전에 Nginx를 이용해서 만들어본 경험이 있기 때문에 하겠다고 손들었다🙋‍♂️🙋‍♂️🙋‍♂️

그리고 다같이 저녁 😁


첫 오프라인 회의가 끝나고 다같이 저녁을 먹었다. (정윤님은 약속이 있어 사진엔 없지만)
멘토님께서 저녁 메뉴 괜찮은 곳을 추천 해주셨고, 맛있게 먹었다.

저녁은 주로 멘토님의 네이버 생활(?)에 대한 이야기가 오갔던 것 같다.

평소에는 들을 수 없는 네이버 회사생활이라던지, 개발에 대한 꿀팁들을 많이 묻고 들었던 것 같다.

듣고 싶으면 다음에 있을 Naver 2020 Winter Hackday에 참가 하시라^^

그리고 5일간의 개발 시작🧑‍💻👩‍💻

암묵적으로 몇 가지의 원칙을 두고 개발을 했던것 같다.

  • 깃 플로우 정책을 통한 개발
  • 머지를 하기전에는 서로간의 코드리뷰가 반드시 있을 것
  • 트렐로를 통한 서로의 지속적인 진행상황 체크

회의를 마치고 그다음날 부터 본격적으로 개발을 시작했다.

내가 모르고 있던 깃 플로우 정책에 대해서 성혁님께서 이해하기 쉽게 설명해준 덕분이었던 것 같다.
시간이 지나니 본격적으로 커밋과 브런치 수가 늘어나기 시작했다.


4명이 백엔드 개발을 주 업무로 맡고 서영님 혼자 프론트엔드를 맡으셨다. (그럼에도 불구하고 퀄리티 대단👍)

그래서 아무래도 백엔드가 좀 더 빨리 개발이 끝나게 됐는데, 우리 모두 프론트앤드에 다 달라 붙기로 했다.

(물론 그에 따른 부작용도 컸지만ㅋㅋㅋ 재밌었다!)

고비는 3일째😫

개발을 2일차에 다 완료하자라는 계획과 달리 일정에 차질이 생기기 시작했다.
나를 제외한 다른 분들은 서울에서 2차 모임을 가졌다.
팀원 모두가 처음 계획할 때 미처 하지 못했던 인터페이스정의나 혹은 요구사항들이 서로 각자 달라서 일정에 차질이 생겼던 것이다.

특히 채팅내용을 긁어오는 부분에 대해서 의견이 달랐는데, 정윤님께서 내신 의견이 가장 합리적인것 같아 그렇게 가기로 했다.

2차 모임이 끝난 뒤에는 뭔가 다들 조급한 마음을 가지고 있었던 것처럼 보였다. (이건 지극히 제 개인적인 견해입니다)

근데 나만 서울에 올라가지않고 집에서 편안히 개발하면 안될것 같아, 그날 새벽까지 내 부분 개발 혹은 프론트엔드에 뛰어들었던 것 같다.

다들 열심히 하셨지만, 놀라운 것은 시은님과 서영님의 슬랙 불이 안꺼지는 것이었다 (거의 5일 내내 그래서 더 대단👍)


12시 까지 진행한 회의가 끝나고 그 뒤 ,소켓(아니 Console.log)으로 대화하시는 대단하신 분들ㅋㅋㅋ

그럼에도 불구하고 우리는 재밌게 개발을 했다ㅎㅎㅎ

그리고 완성...!!

4일차에 프론트앤드 백엔드 까지 모두 끝이 났다.
5일차까지 완성이었는데 모두 고생해서 열심히 해준 덕분에 기본적인 요구사항을 다 채웠던 것 같다. 물론 추가적인 기능 전부를 다 하진 못했다. (이부분에 대해서는 조금 아쉽긴 하지만 그래도 맨족)

오전에 개발을 거의 완료하고 몇가지 버그들이 존재했는데, 그 버그들도 오후에 고쳤다.

4일동안 정말 고생 많았다.
그리고 아직 하루가 남았다..! 기능이 다완성이 됐음에도 추가기능을 개발하기 시작한 우리 팀..!

이제야 쉬는가 싶었는데 기어이 일을 시키는 팀원1^^🥕🥕


이제야 쉬는가 싶었는데 기어이 일을 시키는 팀원2^^🥕🥕

(누구라곤 말은 안하겠다,,)

그리고 5일째 회고..

멘토님은 5일차 때 우리에게 과제를 하나 내주셨다. (과제는 아니지만 과제라 할래)😝
과제는 다음 내용과 같다.

5일간 개발이 끝나고 우리가 개발한 것들에 대해 보여주고, 각자 개발에 대해서 좋았던점 아쉬웠던점에 대해서 이야기를 했다.


(코드리뷰를 활발히 했던 사진)


(트렐로를 활발히 썼던 사진)

좋았던점은 다음과 같다.

  • 역할을 철저히 나눴던 점(=업무 분담이 잘된점)
  • 처음 기획한 요구사항을 모두 충족하여 개발했던 점
  • 깃허브나 슬랙,트렐로를 통해 협업을 잘했던 점
  • 팀원 모두가 개발을 열심히 임했던점
  • 커밋을 하기 전에 서로가 서로의 코드를 리뷰 해줬던 점
  • 이해가 안되는 부분이 있으면 지속적인 커뮤니케이션을 통해 해결하려 했던 점
  • 다들 즐겁게 개발하려 했던점
  • 깃 플로우에 대해서 배웠던 점
  • 성혁님 팬클럽에 가입한 점(+잠시나마 부회장 자리까지 올랐던점)

아쉬웠던점은 다음과 같다.

  • 인터페이스를 명확히 못한 부분이 존재한점
  • 그래서 같은 부분을 2번 3번 작업을 했던점

정도가 되겠다.

또한 고마운 사람을 언급했던 부분이 있었는데, 나는 다음과 같이 언급했던 것 같다.

  • 성혁님 : 프로젝트를 처음부터 끝까지 잘 이끄신 분, PM역할을 자처했다고 말하셨지만 그 PM역을 대단히 잘 소화하셨던 분, 성혁님께서는 항상 프로젝트에 대한 전반적인 진행상황을 점검해주셨고 모든 부분에 나서 잘 도와주셨다. 5일동안 너무 감사했다.

  • 정윤님 : 우리가 개발이 완료되면 마음을 놓고있을 때, 음 이부분은 저희가 요구했던 부분과 다른 것 같아요, 이 부분에서 잘 안되는데요 하면서 예리한 지적을 해주셨고 그렇기에 프로젝트가 완성도있게 개발 됐었던 것 같다.

  • 시은님 : 항상 슬랙에 가보면 불이 꺼지지 않고, 새벽까지 개발에 임해주셨다. 마지막 날에도 추가 기능 개발을 위해 밤을 새시는것 보고 대단하다 생각했다. 모르는 부분이 있으면 시은님께 많이 물어봤었던 것 같다!

  • 서영님 : 사실 이번 프로젝트에서 백엔드가 힘이들 줄 알았는데, 이건 내 착각이였다. 프론트가 가장 해야할 일이 많은데도 불구하고 항상 새벽까지 열심히 개발해주셔서 감사하다!

회고를 하면서 아쉬웠던 점은
멘토님께서 구간 사이의 댓글을 가져올 때 몽고 DB에서 성능적 이슈가 발생할 수 있지 않냐? 라고 말씀 주셨을 때, 그부분에 대해서 전혀 인지를 못하고 있었다는 점이다. (예리한 지적이셨습니다 ㅠㅠ)

몰랐던 부분이 아니었지만 단순히 삽입과 조회가 빨라서 몽고DB를 무턱대고 사용했던점, 멘토님이 지적한 부분까지 미처 생각하지 못한 것이 약간의 아쉬움으로 남는다!

마치면서,,

이번 네이버 핵데이를 진행하면서 운이 좋다고 느꼈다.
그이유는 좋은 사람들과 같이 5일동안 즐겁게 개발을 했기때문이다.

나는 되게 재밌게 개발을 했다. 그래서 주변사람들에게도 네이버 핵데이가 이번에 열린다면 신청해보라고 추천해주고 싶다. (어떻게 네이버 개발자와 개발을 같이 해볼 기회가 생기겠어요? ㅎㅎ😆)

다시 한번 5일동안 개발을 같이 한 우리 팀원분들께 너무 고맙다는 말을 하고 싶다. 이때까지 참여했던 해커톤이나, 개발 공모전을 통틀어서 손에꼽을 정도로 재밌었지 않았나 싶다.

진짜진짜 마지막으로!!

다들 코딩하느라 고생하셨습니다! 다음에도 같이 할 기회가 있었으면 좋겠네요!

여담+

여담으로,, 개발이 끝나고 성혁님께 호올스와 함께 한소리들었다.

성혁님이 회고 하면서 편지를 줄게 있다면서 나에게 보여줬다..
제에에엔장,, 열심히 했는데 욕먹었다.. 이 편지를 보면서 성혁님이 심리학과 전공임을 인정해버렸다.. 당근과 채찍을 너무 잘 주신다... 당신은 밀당의 귀재,,

편지에 대한 변명을 해보자면,,,

  • 슬랙도 안보다니-> 이건 집중하면서 개발해서 그래용,,
  • Restful Http를 안지킨다니=> 이건 이번에 많이 배웠다 인정^_^👌

아무튼 답장을 블로그로 주기로 했으니..! 답장을 적겠습니다.

// 갑자기 분위기 편지지(오글오글)


"To. 성혁님"
앞으로 Rest 원칙을 잘 준수하는 백엔드 개발자가 되도록 하겠습니다😫 ㅡㅡ!!
(그리고 슬랙은 자주 봤슴다!!) 그래도 같이해서 너무 재밌었습니다 ㅎㅎ
다음에도 기회가 된다면 같이 할 수 있었으면 좋겠습니다!!

그리구,, 성혁님만 쓰면 불공평하니,,,


"To. 5일동안 같이 진행안 우리 팀원님들"
우연히 핵데이에서 만났지만 너무나 즐겁게 5일동안 개발했습니다!
다들 너무 고생해주셔서 감사합니다.
슬랙에서 대화한거 다시 돌이켜서 보면,,,
솔직히 우리 5일동안 잘맞았던것 같아요 (나만 그런건가요?😅)
저희 기회가 된다면 다같이 판교에서 네이버에서 봐요!! ㅎㅎ(성혁님도 같이)
profile
수동적인 과신과 행운이 아닌, 능동적인 노력과 치열함

11개의 댓글

comment-user-thumbnail
2020년 5월 27일

재밌게 잘 읽었습니다!!! 편지의 답장에 대한 재답장 : (1) 원래 커뮤니케이션에 드는 에너지가 적지 않은 것 같아요. 개발 집중도도 떨어지구요. 이러한 부분에 대한 방어책이나, 대비책을 고려한 커뮤니케이션 방식을 확정하는 전략이 필요할 듯 싶었습니다. 뭔가 액션을 취하기엔 시간이 모자랐네요... (2) 일단 REST 가이드라인이라는 게 몇 개있는데, https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md 좀 살벌해요 분량이ㅠㅠ.. 갑자기 드는 생각인데 restful에 대한 lint가 있으면 참 도움이 많이 될 것 같네요. 구현이 될지 모르겠습니다만...

즐거웠습니다!

1개의 답글
comment-user-thumbnail
2020년 5월 27일

아 진짜 깔깔웃으면서 봤습니다 완전 인터넷 실명제구만 ㅋㅋㅋㅋㅋㅋ 필력 무슨일이에요? 일 던지면 던지는대로 해주고 물어보면 물어보는대로 친절히 답해주는 동근시... 정말루 듬직했습니다 우리팀 진짜 잘맞았던거같아요 밑에 성혁님은 마지막까지 성혁님같네요^ㅂ^ 덕분에 넘 재밌게 했습니당 좋아요와 구독누르고갈게요

1개의 답글
comment-user-thumbnail
2020년 5월 27일

글 재밌게 잘 봤습니다~ 다음에 궁금한점 물어볼게요 호호

1개의 답글
comment-user-thumbnail
2020년 5월 29일

재밌는 후기 감사합니다ㅎㅎ 잘 읽었어요!

1개의 답글
comment-user-thumbnail
2020년 6월 1일

ㅋㅋㄱㄱㅋㄱㄱㅋㅋㄱㄱㄱㅋㄱㄱㅋㄱㅋㄱㄱㅋㄱㄱ아... 진짜 카톡캡쳐보고 뿜었습니다... 다들 너무수고많으셨어요 후기진짜 최곱니당!!!! 동근님 화이팅!!😊💪👍

1개의 답글
comment-user-thumbnail
2020년 6월 24일

오호 부산대에도 이런 인재가 ㅎㅎ 정동이형 애기듣고 블로그 구경 왔어요 ㅎㅎ 잘 보고 갑니다

답글 달기