Today I Learned (TIL 2018)

by Minho Lee — on

cover-image

6/1부터 회사에서 진행하는 100일 프로젝트 중 하나인 1일 1커밋 (Today I Learned, 이하 TIL) 프로젝트에 참가하고 있다. 이제 전체 100일 중 80% 지점을 지나고 있는 시점에서 한 번쯤 정리해보고 싶어서 글을 적게 되었다.

Today I Learned

무엇이든지 매일매일 꾸준히 한다는 것은 어렵다는 걸 잘 안다. 그래서 사실 참가하지 않으려고 했었다. TF 업무가 많아지던 시점이기도 했고, 진행하고 있던 스터디나 프로젝트는 마무리 되지 않은 상태였다. 그런 상태에서 매일매일 공부하고, 정리하는 것이 가능할까? 솔직히 어렵다고 생각했다.

그러다가 참가자 모집 마감이 얼마 남지 않은 시점에 야근을 하게 되었는데, 야근이 끝나고 집에 가기 직전쯤에 무언가 홀린듯 신청을 하게 되었다. 뭐.. 몇 가지 이유가 있긴 했다. 회사에서 (이름만 알고 있어서) 친해지고 싶었던 개발자 분이 진행을 하시는 프로젝트였고, 회사 안의 친한 지인들이 많이 참가하고 있었다. 또, 올해는 내 공부, 내 작업을 할거라고 입버릇처럼 얘기했지만 그러지 못하고 있었다. 슬럼프가 오고 있는 것 같았다. 변화하려면 무엇인가 해야 한다고 생각했다.

잠시 다 건너뛰고 결론부터 이야기해보면, 여러 가지 이유로 올해 가장 잘 한 일이라고 생각한다. 이 글을 읽고 있는 여러분도 꼭 해보시라고 권하고 싶다.

진행방식

지금 하고 있는 TIL 프로젝트를 리드해주시는 아리아님이 브런치에 올려주신 글이 있다. https://brunch.co.kr/@aria-grande/27 자세한 진행방식이나 준비과정에서 겪은 고민들은 아리아님의 글을 읽어보시면 좋겠다.

기본

현재 프로젝트는 기본적으로 다음과 같은 방식으로 운영되고 있다.

  • 프로젝트 시작 전에 참가비 10만원을 낸다
    • 1일 커밋에 실패하면 1000원 차감된다
    • 현재는 룰이 한 번 변경되어서, 예고불참시 1000원 무단불참시 2000원이 차감된다
    • 100일이 지나면 남은 참가비를 돌려받는다
    • 적립된 금액의 40%는 기부하고, 나머지는 쫑파티 비용으로 사용한다
  • 일일매니저가 있다
    • 참가자들이 매일 돌아가면서 일일매니저를 한다
    • 슬랙에 인증 스레드를 올리고, 커밋을 독려하는 역할을 한다
  • 슬랙을 통해 커밋을 인증한다
    • 매일매일 올라오는 인증 스레드에 오늘의 커밋 결과를 인증한다
    • 참석이 힘들 경우 해당 스레드에 불참예고를 한다 (링크없이 멘트만)
    • 매일 자정이 지나면 슬랙 봇이 해당 스레드를 읽어서 출결을 정리한다

이벤트

커밋만 하게되면 사실 참가자들끼리 서로 얼굴 볼 일이 없다. 프로젝트 시작 전에 사전 미팅이 한 번 있기는 했지만, 사실 한 번 스치듯 만나는 것으로는 서로에 대해 알기가 어렵다. 각자 커밋한 내용을 하나의 스레드에 올리지만 내용을 잘 모르니 점점 남의 커밋에는 관심을 가지지 않게 되었다.

그러다가 30일이 지난 시점부터는 프로젝트 내부 세미나를 추가로 진행하게 되었다. 사전에 설문을 받아서 관심있는 주제를 조사하고 발표자 추천을 받았다. TIL 대장님인 아리아가 설문 결과를 취합하고, 발표자를 섭외하여 매주 한 번씩 지식 공유회를 진행하고 있다.

현재까지 진행된 세미나 주제는 다음과 같다

  • Clojure 기초 맛보기
  • Problem Solving 문제 풀어보기
  • 베이지안 통계 기초
  • 딥러닝과 강화학습 소개
  • Tensorflow로 타이타닉 생존자 예측하기
  • RxJava : Reactive Programming 소개

아직 8월에 예정인 세미나가 2개 더 있으며, 프로젝트가 끝나는 9월에도 세미나가 진행될 예정이다.

세미나에 계속 참가하면서 좋았던 점은, 다른 사람들이 공부하는 내용을 조금이나마 이해할 수 있게 되었다는 것이다. TIL 초반에는 다른 사람들의 커밋에 관심을 가졌다가도, 해당 내용을 잘 모르기 때문에 자연스럽게 관심에서 멀어졌다. 하지만 세미나를 통해 내가 잘 모르는 다른 분야에 대한 정보를 얻게 되면서 관심도 갖게 되고, 공부에 대한 의욕도 다시 차오르는 긍정적인 효과가 생기는 것 같다. 또, 7월에 발표를 하게 되어서 준비하느라 꽤 시간을 많이 들였는데 이 과정이 기본적인 내용을 다시 정리하는 계기가 되었다. 역시 발표를 하면 가장 많이 배우는 사람은 발표자라고……

세미나는 점심에 진행하는 경우도 있었고, 저녁에 진행하기도 했다. 철저히 발표자 취향에 따라서 점심/저녁 여부를 선택한다. 점심에 진행할 경우 사전에 도시락 등을 주문해두고 같이 밥을 먹으면서 세미나를 수강한다. 저녁에 하게 되면 뒤풀이까지 가게 되었는데, 음… 맨날 보게되는 뒤풀이 참석 멤버들이 모일 경우 12시 전에 들어간 적이 없는 것 같다. 물론 이런 날에도 커밋을 해야 하기 때문에, 세미나를 들으면서 받아적는 내용들을 커밋하는 경우도 많았다.

세미나와 뒤풀이를 통해 TIL을 함께하는 사람들과 더 가까워지게 되었다. 뒤풀이를 함께하는 분들과는 더 친밀해지고, 세미나를 함께하는 분들의 업무와 스킬셋을 조금이나마 더 이해할 수 있게 되었다. 회사에서 목말라 있던 여러 가지 부분들이 잠시나마 TIL을 통해 많이 해소되었다.

내 공부

Repository

현재 개인 깃헙 계정에 TIL 전용 레포지토리를 만들어두고 진행하고 있다. https://github.com/lumiamitie/TIL

사람마다 스타일은 조금 다른데 TIL 용으로 레포지토리를 만들어서 진행을 하기도 하고, 그때그때 작업하는 레포지토리의 결과물 링크만 인증하기도 한다. 개인적으로는 결과물을 한데 모아서 볼 수 있다는 점 때문에 TIL 레포지토리 방식을 선택했고, 만족스럽게 진행하고 있다. 확실히 뭔가 쌓인다는 느낌이 들어서 좋다. 그게 블로그가 아니라는 건 아쉽지만.

주제

TIL 레포지토리 페이지 README에 현재까지 진행한 주요 작업물 결과를 정리해두었다.

주제별로 나누어보면, 크게 다음과 같은 주제를 다루고 있다

  • 베이지안 통계 (Stan, PyMC3)
  • 전반적인 데이터 과학 내용 정리
  • R, Python
  • 시각화

처음에는 사두고 잘 보지 않던 책의 주요 내용들을 정리하는데서 시작했다. 하지만 그러다보니 커밋을 위해 노트북에 책까지 챙겨야 한다는 것이 너무 귀찮아져서, 최근에는 쌓아만 두고 안보던 포스팅 중에서 꼭 정리해보고 싶었던 것들을 꺼내다가 공부하고 있다. Bayesian Methods for Hackers 책과, Stan 공부는 생각만 했던 것들인데 이번 기회를 통해 진행할 수 있었다.

마무리

사실 1일 1커밋이라는거, 들어본적 있지만 못하고 있던 사람들도 많을거다. 나도 그랬고. 혼자서 진행한다는 것은 생각보다 더 어려운 것 같다. 타협하기도 쉽고, 강제성을 부여하기도 어렵다. 하지만 함께하는 것은 다르다. 내가 잘 모르는 다른 분야를 공부하는 사람들이 함께한다. (원래 내 전공, 내 일 빼곤 다 재밌다) 격려해주는 사람들이 함께한다. 쪼…임을 당하기도 한다. 일기처럼 막 적다가도 누군가 본다는 자각이 들면 열심히 정리하게 된다. TIL을 통해 새롭게 알게 된 분들과 교류하며 도움을 주고받기도 한다.

그렇게 여기서 얻어가는 것은 습관사람인 것 같다.

80일쯤 진행하다보니 공부할 시간이 없으면 뭐 하나라도 더 구글링해서 알아보고 정리하는 것이 습관이 되었다. 유익한 포스팅을 발견하면 예전에는 슥 보고 포켓에 담아두었지만, 이제는 커밋때 한 줄이라도 정리해서 올려둔다. TIL 전에는 혼자 공부를 못하니 스터디를 해야 한다고 생각했지만, 이제는 혼자서도 꾸준히 공부할 수 있다. 공부하다가 욕심히 생겼을 때 스터디를 고민하면 된다.

그리고, 너무 좋은 사람들을 많이 알게 되었다. 이들과 함께하기에 덜 지치고, 멀리까지 나아갈 수 있다.

아직도 고민되는 사람들이 있다면 다시 말해주고 싶다. 일단은 시작해보시라.

Comments