2020 NAVER CAMPUS HACKDAY 후기

2020 NAVER CAMPUS HACKDAY 후기

햔재 재직중인 회사에서는 매년 현직자와 학생들을 묶어서 해커톤을 진행한다.

아래는 올해 포스터.

올해 우리 조직에서 Android 관련 주제를 내보기로 했다.
함정은 우리 조직의 Android 개발자가 나밖에 없다는 거?

강제징용의 아픔..

농담이고 사실은 검토 이후에 재밌을 것 같아 한 번 해보기로 했다.

이후 회사일이 너무 몰아쳐서.. 핵데이와 병행하면서 엄청 엄청 힘들었다. ㄹㅇ 요단강으로 휴가다녀왔다

뭐 늘 그렇듯 시간이 해결해주는 문제였으니까 그냥 이또한 지나가리라~ 하고 말았지만.

어찌되었든 시간은 흘러 내가 멘토로 참여할 팀이 구성되었다.

연결 고리는 회사 github organization에 개설한 repository 하나뿐.

일단 여기 readme를 수정하여 나에게 메일을 달라고 했고, 미리 개설한 슬랙 도메인에 초대했다.

이거슨 어색한 첫 인사 짤

핵데이는 보통 2주간 빌드업을 하다가 모여서 무박2일 해커톤으로 프로젝트를 마무리하는 방식이다.

허나 이번 핵데이는 특이사항이 있는데 바로 코로나19 때문에 해커톤이 취소되었다.

만약 해커톤을 했다면 다 같이 방문했을 춘천의 네이버 데이터센터 각.

출처 네이버 공식 홈페이지

아쉬움은 뒤로하고 일단 팀 빌딩 후 작업에 들어갔다.

오리엔테이션

본격적으로 슬랙에 진입했을 때가 4월 29일 밤이었고, 다음날이 부처님 오신날에 근로자의 날에.. 황금 연휴였다.

연휴를 그대로 보내고 5월 4일부터 시작하면 (심지어 5일은 또 어린이날) 배움의 기회가 조금 적을 것 같아 가용의 인원만 모아서 오리엔테이션 후 불가피하게 참여하지 못한 인원들을 위해 아래와 같이 정리해서 공유하였다.

Markdown과 스니펫이 지원되는 슬랙은 역시 짱짱.

협업 도구 세팅

학교보다 외부 활동이 더 많았던 나에게는 학생때부터 익숙한 도구였지만, 아직 대학생때는 접하지 못한 경우가 많은 것 같다.

우리 팀은 아래의 도구들을 이용해 협업 도구를 세팅했다.

  • 커뮤니케이션
    • Slack 링크
    • 가장 대중적이라고 생각해서 선택
    • 이후 각종 앱들을 추가해서 멘티분들에게 협업 도구의 중요성을 느끼게 해주기에 좋다고 판단
  • 회의 도구
    • Google Hangout 링크
    • Zoom도 사용가능한 환경이었으나 보안이슈가 있어서 꺼림칙해서 배제
    • 개인 컴퓨터라면 Zoom을 멘티분들에게도 써보게 해보고 싶었으나, 재택근무 & 개인정보취급 관련 걱정이 되었음
  • 프로젝트 관리
    • Trello 링크
    • 무료 칸반보드의 아이콘
    • 돈이없으면 트렐로를 쓰자

참고 도구 소개와 함께 전달했던 블로그 포스팅들

개발 일정에 대한 논의

우리에게 주어진 시간은 5월 6일부터 5월 22일까지의 기간이었다.

버퍼로 이틀은 떼고 남은 15일당 3개의 버전을 쪼개서 배포해보기로 했다.

  • Version 1.0.0 (~05/10)
  • Version 1.1.0 (~05/15)
  • Version 1.2.0 (~05/20)
  • Retrospect (05/22)

위의 이미지에도 나와있지만 우리의 주제는 음성 인터페이스를 활용한 캘린더 일정 관리 앱 개발 이다.

최소기능제품을 만들며 3번의 사이클을 반복하기로 했고, 각 주기에 해야할 일을 정해서 명세하였다.

  • Version 1.0.0 (~05/10)
    • Google Calendar API를 이용하여 일정 등록하는 기능
  • Version 1.1.0 (~05/15)
    • Clova Speech STT를 이용해 음성 데이터를 텍스트 데이터로 변환
    • 문장이 있을 때 유의미한 맥락을 파악하는 것
      • 기존 주어진 모델을 이용해 유의미한 텍스트를 추출하는 기능
      • 추출한 텍스트를 통한 일정 등록
  • Version 1.2.0 (~05/20)
    • 문장이 있을 때 유의미한 맥락을 파악하는 것
      • 자체 구축한 모델을 이용해 유의미한 텍스트를 추출하는 기능
      • 추출한 텍스트를 통한 일정 등록
  • Retrospect (05/22)
    • 오프라인 대면 모임
    • 핵데이 회고

하지만 마이크 타이슨이 한 말이 있다.

누구나 그럴싸한 계획을 갖고 있다. 쳐맞기 전까지는

그리고

그렇다. 언제나 조져지는 것은 우리인 게 국룰인 것이다.

풀타임을 쏟는 것이 아니므로 당연히 일정대로 지키긴 힘들었고, 머신러닝의 블랙 매직에 빠져 예상보다 많은 리소스를 소모할 수 밖에 없었다. ㅠㅠㅠㅠㅠ

스터디 계획

(내 후배들을 포함해서)대학생들이 처음 핵데이 주제를 보면 응????? 이라는 생각을 많이 하게 된다.

학교 다니면서 구현해볼 수 있는 주제와는 완전 동떨어진 주제들만 남발되어있고, 거리거 멀어보이지만 안 해본 것에 대한 두려움이 대부분이다.

어차피 네이버 핵데이는 재직자들이 멘토로 나가있으니 질문해서 물어보면 아주 까-알끔하게 해결.

어찌되었든 처음 보는 주제나 프로젝트 고도화를 통한 경험치를 얻으려면 스터디를 해야 한다.

짧은 기간 때문에 1명이 공부해서 정리해서 공유하는 식으로 해결할 수 밖에 없었다.

핵데이 중 이 부분이 제일 아쉬운 부분이다.

그래도 3주동안 이만큼이나 시간 투자해준 멘티분들에게 감사.

핵데이 과정

핵데이 과정 자체는 참여해주신 멘티분들이 더욱 생생하게 작성하여서 트랙백해본다.

등재 순서는 후기 작성 완료 순으로-

멘토로서 Hackday를 수행하며…

멘티분들에게 여건이 된다면 후기를 남겨달라고 부탁했다.

핵데이가 끝나는 그 순간에 대한 단상이 평생 갈 수 있다면 좋겠지만 아쉽게도 사람은 망각의 동물이다.

그리고 단상은 말 그대로 단편적인 생각 이라, 이를 텍스트로 데이터화하길 바랐다.

다들 잘 수행해주었고, 이에 나도 후기를 남기기로 약속하여 작성하였다.

멘토로서 Hackday 기간에 얻은 것

매니저로의 회귀

회사에 입사한 뒤 잊고 있었던 매니징에 오랜만에 빠져들었다.

학교 후배들에게 아직 도움을 주고 있는 입장이긴 하지만, 그건 간접적인 방법에 가깝다.
(학교는 인원 수가 수십단위라서 매니징 자체가 불가능한 상태다. ㅠ)

나 포함 5인팀 구성에 3주라는 정해진 기간, 마이크로 매니징하기 너무 좋지 않은가?

덕분에 한 명, 한 명 케어해줄 수 있었다.

확장과 회고

내가 학교를 다니던 시절, 도움을 주는 선배가 없었기에 BCSD Lab을 만들었다.

내가 오매불망 바라던 선배의 등장은 없었지만, 후배들에겐 내가 그런 선배가 되어주고 싶었다.

이번 핵데이는 졸업 이후 타 학교를 재학중인 친구들과 처음으로 접하게 된 이벤트였다.

굳이 학교 후배들만 도와줄 필요가 있을까?

문득 개발과는 상관없지만 옛날 지역권을 커버하기 위해 거대한 프로젝트를 추진했던 기억이 났다.

내가 다시 다른 사람들과의 접점을 만들어나갈 수 있을까?

앞으로 내가 풀어야할 과제일 것이다.

멘토로서 Hackday 기간에 얻지 못한 것

스크럼 목표 달성 실패

최초 계획대로 팀을 운영하지 못 하였다.

실제 개발에는 즉, 코드 작성에는 개입하지 않겠다는 내부 규칙도 있었지만 팀원들의 현황 파악에 미진했다.

당시 네이버인증서 개발로 정말 나를 갈아가면서 프로젝트를 하던 시기라 세세하게 파악을 하지 않았다.

멘티분들이 학업이 있는 만큼 나도 직업이 있는 거라고 합리화를 했달까?

4명뿐이었던 만큼 현재 개개인의 컨디션과 일정까지 파악해서 마이크로 매니징을 했더라면 목표를 다 달성할 수 있지않았을까? 하는 아쉬움이 남았다.

다뤄보지 않은 프레임워크의 등장

머신러닝에 대해 가이드를 하면서 생각했던 것은 세 가지이다.

  1. Python
  2. Tensorflow
  3. ML kit

허나 스터디와 연구를 통해 프레임워크가 Tensorflow에서 Keras로 변경이 되었고

Keras에서의 tflite 변환에서 많은 시간을 소모하였지만 내가 개입할 수 있는 틈이 없어서 시간 리소스를 많이 써야 했다.

AI 도메인에 대한 흥미가 많이 떨어진 지금도 Keras를 따로 해야할까? 하는 마음이 들 정도였다.

과도한 리소스의 낭비는 참 마음이 안 좋아지게한다.

멘토로서 Hackday 기간에 가장 감명 깊었던 것

냉혈한(?)

모든 멘티들이 나의 첫 인상을 무서웠다고 작성했다…

대면 모임이 아닌 텍스트 상으로만 이야기를 하고, 프로젝트에 관련된 내용으로만 영상 회의를 해서 그런 것임을 알지만

슬픈 건 슬픈 것이다. ㅋㅋㅋㅋㅋㅋㅋ

오프라인 모임을 하고 이 부분이 해소되어서 정말 다행이라고 생각한다.

비단 이번 핵데이뿐만 아니라 모든 프로젝트에서의 첫 인상이 화난 것 같다. 무서웠다라는 얘기를 너무 많이 들어서 가치관에 혼란이 올 정도..ㅠㅠ

나는 키도 안 크고 그냥 찐따처럼 가만히 있는 사람인데..흑흑

마무리

솔직히 처음 보는 사람들과 프로젝트를 처음부터 개발하는 것은 재미있는 일이다.

그것이 레거시 코드의 유지보수가 아닌 처음부터 짜는 코드이기에 설계 과정부터 즐거워지기 때문이다.

다음에 핵데이를 하게 된다면 일주일동안 그냥 가둬줬으면 좋겠다. ㅋㅋㅋㅋ

학업과 병행하는 멘티도, 직장생활과 병행하는 멘토도 없이 풀타임으로 할 수 있다면 더 많은 걸 교류할 수 있지 않을까?

현실적이진 않지만 그냥 희망사항이다.