피플펀드의 자랑 ‘테크 스터디’

피플펀드에 합류한지 이제 4개월이 지난 백엔드 개발자 유가희라고 합니다. 지난 3개월간 열심히 참여했던 피플펀드의 자랑!(그렇게 믿고 있어요) 테크스터디 1기 후기를 공유해보려 합니다.

테스스터디 진행방식

  1. 매일 컴퓨터 전공 관련 인강 혹은 책 공부하고 TIL(Today I Learned)작성, 알고리즘 1문제
  2. 매주 월요일 라이트닝 토크 시간에 일주일간 공부했던 내용 발표
  3. 마지막 분기 오픈소스 기여하기

더 자세한 내용이 궁금하신 분들은 이곳을 참고해주세요.

Daily Mission - TIL, 알고리즘

TIL

강의 선택 당시 Coursera, Udacity, 그 외에도 다양한 MOOC 사이트가 있어서 선택 장애가 왔었습니다. 그 중 실무에서 가장 필요한 부분 을 중점으로 데이터베이스, 네트워크 강의를 선택하여 TIL 작성했습니다. 데이터베이스 강의는 Udacity에 있는 Database Systems Concepts & Design 강의를 들었는데, 영어로 진행되다 보니 모르는 개념을 배울 땐 바로바로 이해되지 않는 경우도 있었습니다. 그래도 수업 중간중간 퀴즈형식으로 이해도를 높일 수 있어서 좋았습니다. 두 번째 강의는 KMOOC에 있는 컴퓨터 네트워킹(유영환 교수님) 수업을 들었습니다. 한국어로 진행되는 것이 가장 큰 장점이었고, 모르는 부분을 해당 강의 조교님들께 질문 할 수 있었던 것 역시 좋았습니다.

[참고] 한국 MOOC 사이트

[참고] 테크스터디 Git Repository

알고리즘

데일리 미션 중 또 다른 하나는 난이도에 상관없이 알고리즘 문제 1개를 푸는 것이 있습니다. 알고리즘 사이트 역시 여러 곳이 있었지만, 단순한 이유로 HackerRank를 선택했습니다. (Github 초록불처럼 불이 들어오는 것이 좋아서…) 처음에는 ‘이걸 1개로 인정해도 되나?’ 싶을 정도로 난이도가 쉬웠습니다. (‘이렇게만 하면 난 알고리즘 신이 될 거야!!’라고 착각했던 1인) 그러나 가면 갈수록 독해가 어려워서 못 푸는 문제들이 속출하기 시작했고, 시간에 쫓기는 경우도 많았습니다. 그래도 몇 시간 잡고 있다가 해결하면 느낄 수 있는 그 희열이 알고리즘을 계속해서 풀게 하는 원동력인 것 같습니다. TIP! 문제가 너무 어려워 낮아진 자존감을 높이고 싶다면 30 Days of Code 문제를 풀어봅시다.(저기~ 밑에 있던 자존감을 조금이나마 높일 수 있습니다.)

Weekly Mission - 라이트닝 토크

라이트닝 토크란 컨퍼런스나 포럼 등에서 5분이란 짧은 시간동안 진행하는 프레젠테이션 을 의미합니다.

매주 월요일에 일주일 동안 공부했던 내용을 5분 이내에 발표하는 라이트닝 토크가 있습니다. 라이트닝 토크는 세 가지 측면에 제게 큰 도움이 되었습니다.

첫째, 데일리 미션은 단순히 강의를 정리하는 데서 끝났다면, 라이트닝 토크는 스터디원들에게 배운 내용을 전달하기 위해 더 자세히 공부하며 정리하는 시간이었습니다. 공부했던 내용을 완벽하게 이해하지 못한 경우, 설명하는 것 역시 어렵웠습니다. 그래서 모르는 것을 차근차근 이해하려고 노력하고 조금 더 쉽게 설명하는 방법에 대해서도 고민했었습니다. 결과적으로 배웠던 것들을 복습하는 시간이기도 했으며, 완벽히 제 것으로 만드는 과정이었습니다.

둘째, 다른 분들의 발표를 통해 놓치고 있던 것을 알게 되고 몰랐던 지식을 얻어갈 수 있는 유익한 시간이었습니다. 각자 다른 과목을 공부했기 때문에 매주 네트워크, 알고리즘, 운영체제 등 다양한 내용들을 발표해주셨습니다. 심지어 같은 내용을 준비해도 중점을 두는 부분이 달랐기 때문에 비교하며 듣는 재미도 있었습니다.

마지막으로 CTO이신 섬기님의 꿀팁을 들을 수 있는 시간이었습니다. 학습한 지식이 회사에서 어떻게 사용되고 있고, 혹은 앞으로 이런 부분을 적용해보면 어떨까에 대해 의논할 수 있었습니다.

그동안 발표했던 자료가 궁금하신 분들은 이곳을 참고해주세요.

Last Mission - 오픈소스 기여하기

스터디 미션 중 제게는 가장 어려웠던 오픈소스 기여하기! 어떤 프로젝트를 선택할 것인지 부터가 난항이었습니다. 여러 글을 참고하여 초보자들이 도전할 수 있는 이슈가 무엇인지에 대해 알게 되었습니다.

  1. good first issue 와 같은 라벨이 붙은 이슈들을 찾아봅니다.
  2. 한국어 번역이 필요한 공식 문서들을 알아봅시다.
  3. 선택한 오픈소스 프로젝트가 살아있는지 확인하세요.(열심히 해서 PR을 보내도 응답이 없는 경우가 있습니다)

그중 저는 초보자들이 쉽게 도전할 수 있는 파이썬 공식 문서 번역 을 선택했습니다. 처음엔 근거없는 자신감을 가지고 공식문서에서 긴 파트를 선택했습니다. 그러나 완벽하게 이해되지 않은 부분을 말로 설명하는 것도 어려운데 번역을 하는 건 더욱더 힘든 일이라는 것을 깨닫고, 제가 완벽하게 이해하고 있는 주제로 변경하여 진행했습니다. 오픈소스 기여하기에서 가장 중요한 것은 오픈소스의 룰 에 맞춰 진행해야 하는 것입니다. 예로 저는 ‘깊은 복사, 얕은 복사’라고 번역을 했는데 복사의 결과물은 사본이라고 지칭한다거나 그 외에도 이미 정리해놓은 용어집이 있었습니다. 따라서 번역을 하기 전에 어떤 규칙들이 있는지 알아봐야합니다. 사실 번역은 선택한 문서가 길지 않았기 때문에 오래 걸리지 않았으나, PR을 보내고 Merge 하는 과정에서 많은 시간이 필요했습니다. 파이썬 공식 문서 번역 프로젝트의 경우 관리하시는 분께서 정말 꼼꼼하게 피드백을 주셔서 놓쳤던 부분을 고치고 확인하는 과정을 반복하여 최종적으로 컨트리뷰터가 될 수 있었습니다!

오픈소스 기여하기 결과물 비록 컨트리뷰터가 되는건 너무 힘들었지만, 제 이름을 볼때마다 뿌듯함은 말로 표현이 안됩니다

테크스터디 1기를 마치며.

테크스터디 시작 할 때만 해도 ‘매일 1시간씩 퇴근 후 공부하는게 뭐가 어렵다고~’ 라는 당찬 포부를 가지고 있었습니다. 그러나 점점 밀리기 시작하는 TIL과 알고리즘 문제들.. 그럼에도 불구하고 무사히 1기를 마칠 수 있었던 것은 정말 열심히 참여하신 동료분들과 함께했기 때문입니다. 다들 바쁘신 와중에도 성실하게 준비하시고 열의 있는 모습은 제게도 큰 자극제였던 것 같습니다. 물론 알고리즘 문제를 매일 풀어야 해서 난이도가 쉬운 문제만 푼다든지, 다른 분들의 발표를 그저 듣는 거로 끝내는 아쉬운 점들도 있었습니다. 그래서 2기 때는 이러한 부족한 점들을 보완하면서 다시 3개월을 달려보려고 합니다. 누구나 참여가능한 피플펀드의 테크스터디 2기 때도 성공해서 후기 남기겠습니다!