2018-retrospective

데이터 엔지니어의 2018년 회고

2017년 12월 31일에 신입 엔지니어 회고를 작성한 것이 엊그제 같은데 벌써 또 1년이라는 시간이 지났습니다. 지난 회고 때 나름대로 2018년 계획을 세웠는데, 작성하고 보니 목표를 잘 지킨 부분도 있고 또 그렇지 못한 부분도 있는 게 눈에 보이네요. 올 한해 작성해두었던 문서의 날짜를 더듬으면서 회고, 반성 및 내년 계획을 또 세워보려고 합니다. 역시 계획은 우선 세워야 제맛이니까요 ^^ㅎ 작년에는 월별로 기억을 더듬었었는데 올해는 분기별로 어떤 일을 했고, 반성해야 할지 작성하려고 합니다.

회고

2018년 To-do list

  •  Information retrieval 도메인 지식 공부
  •  기초 수학 다시 공부
  •  Scala, Spark 기술 Stack

크게 3개의 계획을 세웠는데, 기초 수학 공부 외에는 나름대로 열심히 짬을 내어 공부한 것 같네요. 전반적으로 점수를 준다면 10점 만점에 6점 정도 주고 싶어요. IR은 회사 내의 동료분들과 MOOC을 통해서 매주 공부 및 공유를 해서 전반적인 과정을 잘 알 수 있게 되었습니다. 기초 수학 공부는 계획이 두루뭉술하다 싶더니 역시나 지키기 어려웠어요. 사실 돌이켜 생각해보니 선형대수학, 통계학책 한 권을 잡고 하는 것과 모르는 것이 나오면 그때그때 찾는 것에서 갈팡질팡하다가 올해는 계획을 잘 지키지 못했습니다. 마지막으로 Scala나 Spark는 여러 도서를 참고하면서 조금 더 유연하게 사용할 수 있게 되었습니다.

1분기

이전 회고에도 언급했던 것처럼 2017년 약 1년 동안 제가 팀에 적응하고 1인분(?)을 할 수 있게 도와주신 사수가 떠났기 때문에, 제가 Sub로 운영하던 랭킹 관련 파이프라인을 메인으로 유지보수를 하게 되었습니다. 해당 파이프라인 중 일부를 조금 개선하고 유지보수하면서 Scala 및 Spark 사용에 조금 더 자신감이 붙은 시기였던 것 같네요. 유지보수 외에는 고객의 Review를 분석하는 프로젝트를 진행하였는데요. 이 과정에서 NLP나 Search Engine에 대해서 좀 부족한 부분이 있다는 것을 자각하게 되었습니다. 여러 가지 이유가 있었지만, 결과적으로는 해당 프로젝트는 A/B test까지는 적용하지 못하고 Backlog로 들어가게 되었습니다. 제가 조금 더 Business 관련 담당자분과 많은 커뮤니케이션을 하고, 준비를 빨리빨리 했다면 하는 아쉬움이 남았습니다. 그 외에 데이터 및 Machine learning에 관심 있는 사내 동료분들과 ISLR 스터디를 진행했습니다. 다시 보니까 새로운 내용(?)이 많이 보이더라고요. 역시 인간은 망각의 동물이라는 것을 다시 느낄 수 있었습니다.

2분기

아시는 분은 아시겠지만, 저는 현재 전문연구 요원으로 병역의 의무를 대체하고 있습니다. 하지만 전문연구 요원도 4주간의 기초군사훈련은 피할 수가 없었는데요. 나름대로 머리를 굴려서 그렇게 춥지 않고 덥지도 않은 4월에 훈련소로 입소하여 국방부 퀘스트를 무사히 받고 돌아왔습니다. 기억을 더듬어보니 그때 잘랐던 머리가 약 5개월 만에 복구되더군요 ㅠ_ㅠ 비록 4주간의 짧은 훈련소였지만 그동안 회사일 외에 여러 가지 많은 생각 및 정리를 할 수 있었고, 현역으로 다녀오시는 군인분들에게 더 감사한 마음을 가질 수 있었습니다. 2분기 동안 2018년의 계획 중 하나였던 Information retrieval 스터디를 팀 내 동료분들과 했습니다. Cousera의 MOOC을 활용해 매주 공부 후 발표 및 토론하는 방식으로 했었는데요. 역시 혼자 하는 것보다는 확실히 환경이 조성되니 더 좋은 효과가 있었던 것 같습니다. 그 외 회사에서는 Query classification 관련 연구 및 프로젝트를 제안하고 진행하게 되었습니다.

3분기

3분기에는 2분기에 하던 Query classification 관련 업무를 계속했습니다. 이 과정에서 기술이나 일 외적으로 조금 마음이 안 좋은 일이 있었는데요. 지나고 나니 또 상대방의 처지를 생각해보면 그럴 수 있겠구나 하고 이해하게 되었습니다. 3분기 내내 해당 컴포넌트의 성능 평가 및 A/B test의 반복으로 조금 지치기도 한 시기였습니다. 회사 업무 외에는 한글 및 한국어 정보처리 학회에 다녀와서 또 건전한 자극을 많이 받을 수 있었습니다. 그리고 다녀와 보니 한국어 자연 언어처리를 직간접적으로 하는 엔지니어는 무조건 가보시길 추천합니다. 그 외에 회사 내외적으로 받는 스트레스를 해소해보려고, 일부러라도 시간을 내서 자기계발이나 소설책을 많이 읽었던 시기였습니다. 독서는 시간을 내서라도 꼭 하는 게 좋다고 느꼈고, 약간의 우울증 해결 및 자신감 함양에 확실히 도움이 됐습니다. 혹시 비슷한 증상이 있는 독자분들은 하루에 30분이나 1시간씩이라도 꼭 시간을 내서 책을 읽는 것을 추천합니다.

4분기

4분기에는 그동안 하던 Query classification 관련 프로젝트가 아닌 조금 다른 주제를 건드리게 되었습니다. User intent를 찾는 프로젝트를 진행하였는데요. 그동안은 사실 해당 프로젝트가 실제로 Production에 적용될 수 있는 실험을 주로 했다면, 이번 분기에는 선행 연구 또는 Foundation을 위한 프로젝트였기 때문에 Industry보다는 정말 Research에 가까운 일을 했다고 생각합니다. 그동안 앞단의 데이터 엔지니어링 부분인 ETL과 뒷단의 Modelling을 혼자서 했었는데, 이번에는 마음이 맞는 동료 분(혹시 저만 그렇게 생각한 것은 아니겠죠?)과 데이터 엔지니어링/데이터 모델링 부분을 명확히 나눠서 즐겁게 일 할 수 있었습니다. 많은 대화 및 토론을 통해서 좋은 결과를 얻을 수 있었고, 해당 데이터 결과를 기반으로 내년에 많은 일을 할 수 있을 것 같아 뿌듯한 3달이었습니다. 아 그리고 회사 외적으로는 변성윤 님과 여러 퍼실분들이 진행하시는 글또 모임에 참여하게 되었습니다. 다른 분들이 작성하는 글을 보면서 좋은 자극을 받을 수 있었습니다.

2019년 계획

작년에도 큰 목표 3개로 계획했기 때문에 올해도 너무 욕심내지 않고 3개 정도의 계획을 세웠습니다.

사실 3개도 제대로 하려면 꽤 버겁기도 하고요... 저만 그런가요?

Machine learning

너무나 발전속도가 빠른 Machine Learning (특히 deep learning)입니다. 사실 공부를 하면 할수록 끝이 없고, 내가 너무 모르는 게 많다고 느끼게 되고요. 전반적인 산업 쪽의 기조 역시 통계학과 Machine learning을 적절하게 잘 활용하자는 추세이기 때문에 2019년에 Machine learning을 다시 정리하고 공부하려고 합니다. 사실 Deep learning을 실제 Production에 적용하기는 여전히 쉽지 않고, 또 고전적인 Machine learning 기법 역시 여전히 중요하다고 생각하기 때문에 PRML 또는 ESL 책 중 하나를 보려고 합니다. 두 권 다 모두 온라인에 무료로 공개되어 있기도 하고요. 2018년 계획이었던 기초 수학 공부는 PRML이나 ESL을 보면서 부족한 부분을 메꾸다 보면 어느 정도 될 것 같습니다. 사내에서 동료분들과 스터디를 할 계획이지만, 혹시 관심 있으신 분이 있다면 온라인이나 오프라인 모임으로 확장할 계획도 있습니다. 연락해주세요! ㅎㅎ

Search Engine

작년에 Information retrieval의 이론적인 부분은 그래도 공부를 하면서 많이 배울 수 있었습니다. 하지만 이론은 이론이고 그걸 실무에서 잘 써먹는 것은 조금 안일하게 생각했던 것 같습니다. 2018년을 돌아보니 제가 생각보다 검색 엔진의 내부를 잘 모르고 있었다는 것을 알았습니다. 사실 내부에서 쓰는 검색 엔진은 나름대로 프레임워크화가 잘되어있기 때문에 데이터 엔지니어나 데이터 사이언티스트가 End-to-End로 다 잘 알기는 힘들지만, 그래도 답답함과 불안함이 생기는 것은 어쩔 수 없더라고요. 그래서 올 한해 중 일부 시간을 내어 Lucene이나 그것을 Wrapping한 Solr/ElasticSearch를 좀 공부하려고 합니다. 공부한 내용은 공유할 수 있으면 더 좋겠네요!

Paper review

Data engineer지만 Modelling 업무도 같이 하고 있는 상황이기 때문에, 최근 E-commerce에서 어떤 연구를 하고 우리가 적용할 수 있는지 tracking 하는 데는 사실 논문만한 게 없었습니다. 특히 2018년에 읽은 논문 중 WalmartLabs나 Amazon에서 발표한 논문들은 우리 환경에 맞게 조금씩 변형해서 테스트 해보고 결과를 보는 등 많은 영감을 주었는데요. 2019년에도 계속 논문을 읽고 회사에 맞게 적용해보려고 합니다. 조금 달라진 것이 있다면, 사내 Journal club에만 공유하는 것이 아니라 개인 Blog에도 내용을 좀 더 다듬어서 공유해보려고 합니다.