1001 days commit Q&A (1)

  • 2019년 11월 9일부터 기록된 일일커밋이 2022년 8월 5일자로 1001일을 달성했습니다.
  • 스스로 조금 뿌듯해서 관련된 기록을 남겨보고 싶었습니다.
  • 커뮤니티 등을 통해 47분에게 받은 응답을 가상 인터뷰 형식으로 정리합니다.

1.천일커밋

Pega: github
craiyon.com: DALL.E mini

Created by DALL.E mini @Huggingface

  • Q1. 커밋은 언제부터 시작했습니까?
  • A1. 공식적으로 2019년 11월 9일입니다.

https://github.com/jehyunlee/
네이버 날짜 계산기

  • Q2. 천일커밋을 하게 된 계기는 무엇입니까?
    tapecopyman, 김둘기, 김택완, 목승찬, 손성민, 안세홋, 우왕, 이상원, 이정원, 이준형, 최우성, 페가님 발뒤꿈치도 못따라가는 개발자 🥲
  • A2. PyCon KR 2019에서 두 분의 발표를 듣고 시작했습니다.

    2017년까지 삼성전자 반도체연구소에서 근무하다 2018년 현재의 한국에너지기술연구원으로 이직했습니다.
    2016~2017 2년간 관리자(파트장)로 살다가 실무 역량을 기르겠다고 이직을 했는데,
    과제제안서와 발표자료 등을 만들다 보면 2주간 코딩 한 줄을 안하기도 했습니다.
    게다가 당시 매우 어린 아이들까지 돌보다 보니 이래서 나이가 들면 실무 안하고 관리를 해야되나 생각까지 했습니다.

    당시 심경을 담은 슬라이드

    그러던 차에 공부를 해보겠다고 PyCon KR에 참석했다가 여러 분들의 발표를 들으며 한껏 고무되었습니다.
    특히 라이트닝토크에서 들었던 두 분의 발표가 제 방향을 완전히 바꾸었습니다.
    아들 둘의 어머니인 박조은님과 군대에서 코딩하는 이준영님이었습니다.
    군대 사지방에 개발 환경을 구축하시고 당일도 휴가를 내고 파이콘에 참석하신 이준영님도 대단하셨고,
    경단녀로서 육아를 하며 (거의) 매일 잔디를 심고 유튜브를 찍어 올리신 박조은님을 보고 핑계가 없다고 느꼈습니다.

    터닝포인트를 제공해주신 두 분

    마침 github에 잔디를 간간이 심기 시작한 직후라 그 날부터 일일커밋을 시작했습니다.
    그 날이 2019년 8월 17일이었습니다.
    위 이야기를 PyCon KR 2020 라이트닝토크 영상으로 제출했습니다. 온라인이라 아쉬웠습니다.

    그런데 일일커밋 시작 날짜가 기록이 시작된 2019년 11월 9일과는 석달쯤 차이가 있습니다.
    200일쯤 연속커밋을 했던 날 더 이상 필요없는 레포를 지웠다가 11월 8일까지 구멍이 여러 개 생겼습니다.
    1001일 중 가장 멘탈이 흔들렸던 날입니다.
    억지로 커밋 날짜를 바꾸어 잔디를 메우기보다 100일쯤 손해를 보더라도 기준일을 바꾸기로 했습니다.

PyCon KR 2019: 박조은님 라이트닝토크 영상
PyCon KR 2019: 이준영님 라이트닝토크 영상
PyCon KR 2020: 이제현 라이트닝토크 영상

  • Q3. 주제가 어떤 것들이었나요? 커밋하는 코드의 수준은?
    iilii, 우왕, 코쟁이, 목승찬, 손성민, 이형도
  • A3. 현업과 개인 공부를 가리지 않았습니다. (적어도 초기에는) 코드 수준이 높다고 보기 힘듭니다.

    목적이 하루에 한 줄이라도 매일 코딩하는 것이었습니다.
    업무를 하면서 발생하는 코드도 커밋을 했고 (다행히 github에 올리지 말라는 규정이 없습니다. private으로 올렸습니다)
    업무상 코딩할 일이 없는 날은 일부러 거리를 만들어서라도 커밋을 했습니다.
    당시 제가 하던 커밋은 CLI 환경에서 git commit 명령어를 실행하는 방식이 아니었습니다.
    git 자체도 낯선 수준이었기 때문에 로컬에서 작업한 파일을 github 웹페이지에 올렸습니다.
    자주 검색하는 코드를 정리해서 만든 code snippet을 올리는 것으로 시작했습니다.

    https://github.com/jehyunlee/code-snippet

    PyCon에서 전상환님께 배운 geopandas tutorial도 정리했고,
    pandas를 사용하면서 알게 된 팁, Matplotlib 명령어 등도 정리했습니다.

    이후 코드가 조금씩 손가락 근육에 스며들면서 private에 있는 업무 코드의 수준이 조금씩 좋아짐을 느낍니다.
    2019년 12월 깃헙 블로그를 시작한 이후 블로그 글도 커밋의 소재가 되었습니다.
    코드를 정리하는 tech blog라 다행히 일일코딩 원칙에는 위배되지 않습니다.
    오늘처럼 코드가 없는 글을 올리는 날도 있지만 Colab이나 내부 서버 등에서 코딩을 합니다.

    seaborn countplot clone coding (작업중)

Pega Devlog

  • Q4. 공개 가능한지?
    iilii

  • A4. 공개 가능한 코드는 주로 블로그 형태로 공개합니다. 업무 관련은 적어도 당장은 불가합니다.

    2020년 12월부터 시행되는 소프트웨어 진흥법 25조에 의거,
    국가연구개발사업을 하는 경우 공개소프트웨어 방식으로 개발하고 결과물을 배포해야 맞습니다.
    그러나 공개 대상인 분석 코드 및 모델링과 공개가 어려운 데이터가 뒤섞여 있어 정리가 필요합니다.
    ETRI 오픈 소스 센터에서 중심이 되어 출연연 오픈소스 협의체가 발족했습니다.
    출연연이 함께 사용할 수 있는플랫폼을 개발중이라고 하니 쓸만한 코드를 머잖아 공개할 수 있게 될 듯 합니다.


  • Q5. 의무적인 코딩이 유익했다 보는가? 천일커밋 전과 현재를 비교했을 때 달라진 점?
    tapecopyman, 바로잡기, 안세홋, 쏘군

  • A5. 매우 그렇습니다. 커뮤니티에서 받는 응원과 자신감이 가장 큰 자산입니다.

    일일커밋을 하지 않던 시절 내가 짠 코드를 3일, 일주일, 보름만에 다시 보는 것이 일상이었습니다.
    내 새끼도 못알아보는 지경인데 더 나은 새끼를 낳을 수 있을 리가 없습니다.
    일일코딩 전까지는 어떻게든 굴러가는 코드를 짰다면, 지금은 생각이라는 걸 조금 할 수 있게 되었습니다.
    물론 아직 갈 길이 멉니다.

    무엇보다 회의, 전화, 버그랑 씨름하느라 생산적인 일은 하나도 못했다는 날도 많습니다.
    그런 날조차 오늘도 커밋을 했다는 사실은 자기효능감을 지켜줍니다.

    천일커밋을 시작하던 시점, 저는 도메인에만 있다가 IT 관련 필드에 발을 디딘지 1년이 넘게 뭘 할지 모르는 상황이었습니다.
    어찌 보면 파티에 어울리지 못하고 구석에서 혼자 과자나 주워 먹는 외톨이 느낌이 강했습니다.
    그런데 커밋이 100일을 넘어 수백일, 천일에 이르는 동안 간간이 커밋 소식에 관심을 보여주시는 분들이 생겼습니다.
    여러분들의 응원이 작아보일지 몰라도 큰 위안이 됩니다.
    이 자리를 빌어 감사 말씀을 드립니다.


  • Q6. 여행이나 주말, 명절에는 어떻게 커밋을 했나? 너무 하기 싫은 날도 있었을텐데? 번아웃은 없나? 포기하고 싶을 때 마음은 어떻게 잡는지?
    마민정, 목승찬, 손성민, 쏘군, 안세홋, 이땡땡, 이형도, 츄로오스, 커밋은습관, 한우철

  • A6. 낮에 어려우면 새벽에 합니다.

    일일커밋의 자기효능감을 맛본 입장에서, 이걸 깨트리기는 정말 싫습니다.
    어려서 같은 반 여자애들이 기른 머리 자르기 아깝다는 말을 하더군요.
    당시엔 여기에 담긴 감정을 몰랐는데 이제는 조금 이해하게 된 것 같습니다.
    가족이 있는 입장에서 명절과 주말은 위기인 것이 사실이지만, 2년 넘게 새벽 기상을 하고 있습니다.

    https://www.instagram.com/jehyunlee20/ (비공개 계정)
    모두 자고 있는 새벽은 누구에게도 방해받지 않는 시간입니다.
    이 시간이라면 주말이나 명절에도 코딩을 하고, 커밋을 할 수 있습니다.
    커밋 후에 자전거도 한 바퀴 타고 올 여유가 됩니다.

    아내와의 카톡 대화 일부

    번아웃은 아쉽게도 몇 년째 지속되고 있는 것 같습니다.
    간혹 무기력하고 이거 해서 뭐하나 싶을 때가 분명히 있지만 그냥 합니다.
    경험상, 생각을 하면 핑계만 만들게 됩니다.


  • Q7. 급한 일이 들어왔을 때 연속 커밋이 깨진다. 컨트롤하는 방법은? 일일커밋에 도전하는 후배들에게 주고 싶은 팁?
    iilii, 게으른파이썬, 안세홋, 이땡땡, 이준형

  • A7. 아침에 일어나면 커밋부터 합니다.

    저는 아침에 일어나면 책상에서 휴대폰을 집어들고 부엌으로 갑니다.
    찬물을 한 컵 마시고, 창 밖 사진을 찍고, 인스타에 인증하고, 그 다음에 세수를 합니다.
    그리고 주말이라면 방에 앉아서 시간이 허락하는 대로 코딩을 하고 커밋을 합니다.
    주중이라면 출근을 하고 커밋을 합니다.


  • Q8. 애초의 목표는 연속 며칠이었습니까?
    이정원

  • A8. 100일이었습니다.

    그런데 막상 100일이 금방 오더군요. 달성이 쉬웠던 만큼 감흥이 없었고 현타만 왔습니다.
    그만 둘까하는 생각이 없지 않았지만 일단 계속 가 보기로 했습니다.


  • Q9. 가족들의 반응은? 300일, 600일, 900일 되었을 때 주변 반응은?
    이정도, 커밋은습관

  • A9. “대단하다”는 말씀을 주십니다.

    사실 일일커밋은 IT 관련자가 아니면 잘 모르는 것이 정상입니다.
    학창시절 commit이란 단어는 commit suicide (자살하다)로 배운 게 전부입니다.
    아이들은 아빠가 뭘 하는지 이해하기엔 어리고 (아빠 직업을 화가로 아는 것 같습니다),
    아내에게는 응원을 받습니다. 뭐가 되었건 꾸준하게 오래 하는 것을 대견하게 여겨주는 듯 해서 감사합니다.
    같은 직장에 다니는 분들께는 일일 커밋을 알린 적이 없습니다.
    이번을 계기로 알리게 될 것 같습니다.

to be continued…

  • 생각보다 질문을 많이 주셨습니다. 관심에 감사드립니다. :)
  • 데이터 분석 관련된 질문과 커리어, 생활에 대한 질문이 있습니다.
  • 다음 글에서 이어서 답변을 드리겠습니다.


도움이 되셨나요? 카페인을 투입하시면 다음 포스팅으로 변환됩니다

Share