2020년 회고
2020년을 되돌아보면, 코로나로 일상 생활에 변화가 많았습니다. 제 생활에 가장 큰 변화라면, 퀸 내한공연 이후로 밴드들 공연을 현장에서 못 봤던 것, 축구 경기 직관을 제대로 못 했던 것, 오프라인 컨퍼런스나 국외 출장들이 모두 취소된 것을 들 수 있겠네요. 이외에도 여러가지 일들이 있었는데, 한 번 뒤돌아 보는 시간을 가져보려고 합니다.
다른 사람들 앞에 서는 일
오프라인 컨퍼런스나 모임들이 많이 취소되었습니다. 그래서 온라인 모임이나 컨퍼런스에서 발표했던 적이 있었는데요. 아직 공개되지 않은 것들을 제외하고 말씀드리면, 두 번 발표를 진행했습니다.
AWSKRUG 컨테이너 소모임
주제는 ECS+Locust를 활용하여 부하 테스트 환경 구성하기 였습니다. 예전에 같은 회사에서 일하셨던 분과 이야기하다가 발표까지 하게 되었네요. 준비하는 과정은 크게 부담은 없었구요. 발표 전에 피드백을 받고 발표 내용을 좀 보강했습니다. 그러다가 잘못 설명한 내용이 있어서 거의 발표 직전까지 수정을 하게 되었습니다.
발표할 때 얼굴을 내놓고 하는 건 좀 부끄러워서 컴퓨터 화면을 켜놓고 진행했습니다. 채팅으로 바로 피드백을 얻을 수 있어서 재미있었구요. 생각보다 긍정적으로 봐 주셔서 감사했습니다. 거기에 AWSKRUG 슬랙에서는 다른 분께서 Kubernetes와 Locust를 활용해서 부하 테스트 환경을 구축하는 사례를 소개해 주셔서 많은 도움이 되었습니다.
발표자료는 링크를 누르시면 보실 수 있습니다.
e-Learning Korea
전 직장에서 같이 일하셨던 분께서 제안해 주셔서 참여하게 되었습니다. 지금 하는 업무와 관련하여 Caliper Analytics라는 학습 데이터 구성 표준에 대해 발표했습니다. (2018년 PyCon에서 발표한 내용과 같은 주제입니다.)
준비는 어떻게 했는데, 저에게 배정된 시간보다 짧아서 내용을 좀 더 보강해야 하는지에 대해 고민했습니다. 결국 그대로 진행은 했는데요.
실제 발표 날에는 가산디지털단지에 있는 어느 스튜디오에서 촬영을 하게 되었습니다. 생방송이었고, 대본을 볼 수 없는 상태로 이야기를 해야 해서 엄청 긴장한 상태로 촬영했습니다. 영상을 보시면 확인하실 수 있습니다.
발표 자료는 링크의 아래로 내려가시면 받으실 수 있습니다.
일하면서 얻은 것들
올해 진행했었던 것들 중 가장 큰 프로젝트는 AI 튜터였다고 생각합니다. 링크한 페이지에 나온 것과 같이, 네이버 클로바와 함께 진행한 프로젝트입니다.
지금까지 구성된 대외 서비스와는 다르게, 네이버 클로바 엔진과 연동하는 부분은 AWS의 서버리스 서비스들을 적극적으로 활용했습니다. 일을 하다 보니 예전에 Firehose Stream과 Lambda를 연동해서 썼던 경험과는 좀 더 다른 느낌이었습니다.
간단한 로직의 대외 서비스라면 서버리스로 구성해도 큰 지장은 없겠다는 생각이 들었습니다. 다만 Django나 Flask를 서버리스 환경에 올릴 수 있는 Zappa를 나중에 알게 되어서, 크게 개선이 필요할 때는 Zappa와 웹 프레임워크를 연동해서 쓰는 것도 괜찮겠다는 생각이 들었습니다.
기술적인 측면에서 보완하고 싶은 것들
다른 회사나 팀에서 일하시는 개발자들의 이야기를 들어보면, 저에게 어떤 부분이 부족한지에 대해 고민해 보게 됩니다.
사실 저희 팀에서는 AWS의 매니지드 서비스를 많이 활용하고 있는데요. 모든 회사가 AWS를 쓰지는 않을테니 지금까지 했던 것들을 다르게 구축하는 방법에 대해 고민해 보고 있습니다. 지금은 데이터 수집/저장 단계를 바닥부터 구성해 보는 연습을 해 보고 있습니다. (GitHub Repository 참고) 앞으로는 데이터 분석과 관련된 환경을 바닥부터 구성해 보는 연습도 진행하려고 합니다.
한 편으로는 코딩하면서 놓치고 있는 부분들을 조금씩 정리하려고 하고 있습니다. 예를 들면, 기본적인 내장 함수나 모듈을 사용할 때 자주 찾아보는 것들, 기본적으로 지원하기 때문에 굳이 새로 구축할 필요가 없는 것들, 자주 쓰지만 ‘이런 경우에도 쓸 수 있나?‘라고 생각했던 것들을 정리하고 있습니다. 블로그에 올리거나 제 Notion에 TIL(Today I Learned)이라는 이름으로 정리하고 있습니다.
사실, TIL에는 코딩관련 내용 말고도 여러가지 내용을 정리하는데, 최근에 정리한 것들은 다음과 같습니다.
- Python의 enumerate()
- Python에서 AES 암호화/복호화 방법 (PyCryptodome 라이브러리 이용)
- 쉘 스크립트 관련: 문자 나누고 n번째 요소 가져오기, 쉘에서 계산하기, 비교 연산자 종류
- Docker volume vs. bind mounts
- Python의 random 모듈과 Numpy의 random permutation
AWS Solutions Architect - Associate 자격증 취득
올해 4월에는 AWS의 Solutions Architect - Associate 자격증을 취득하였습니다. 준비 과정은 다음과 같습니다.
- Udemy에서 A Cloud Guru의 강의 수강: 개인적으로는 서비스별 정리가 잘 되어있다고 생각하구요. 다만 영어로 설명을 하고 영어 자막까지만 지원합니다. 연습문제는 출제 경향과는 달라서 그냥 건너뛰셔도 될 것 같습니다.
- AWS에서 연습 시험 응시: 현재 Pearson Vue 기준으로 22,800원입니다. 이 정도는 투자할 수 있겠다 싶어서 응시해 봤습니다. 연습 시험을 응시했을 때 커트라인보다 점수가 낮게 나와서 다른 참고자료를 봐야겠다고 생각했는데요.
- AWS Well-Architected Framework: 여기 나오는 5대 원칙을 읽어보면 좋습니다. 요즘에는 한국어로도 나와 있고, Kindle이 있어서 Kindle용으로 받아두고 읽어봤습니다. (Kindle용 전자책은 영어로 되어 있습니다)
- 시험은 종로의 솔데스크에서 쳤는데, 시험 환경 자체는 무난했습니다. 시험이 끝나면 바로 결과를 확인하실 수 있습니다.
- 한국어로 시험을 보실 수 있는데요. 번역이 애매할 때는 영어로 원문을 봤다가 다시 돌아오실 수도 있습니다.
시험에 대한 전반적인 느낌은 다음과 같습니다.
- 어떤 상황이 주어졌을 때, 어떻게 해결하는 것이 좋을까를 물어봅니다.
- 다만 문제에서 비용 효율적인 방법을 원하는지, 아니면 성능 효율적인 방법을 원하는지에 따라 답이 달라지는 경우가 있습니다. 어떤 시험이든 마찬가지겠지만, 문제를 잘 읽어보셔야 합니다.
- 주로 나오는 서비스들은 거의 정해져 있다시피 하지만, 이러한 서비스들도 매년 새로운 기능이 추가됩니다. 강의를 들으실 때는 되도록이면 최신의 강의를 들으면서 정리를 하시는 것이 좋습니다.
- 실제로 서비스를 구성하고 써 보는 경험이 중요합니다. 회사에서 허용한다면, 회사 계정으로 조금씩 테스트 해 보시는 것이 좋습니다. 아니면 프리티어나 크레딧을 얻어서 테스트하는 방법도 있겠습니다.
- 아니면 AWS에서 제공하는 온라인 세미나에 참석하시는 것도 좋겠습니다. 링크에서 100, 200 교육을 위주로 들어보시면 도움이 될 것 같습니다.
기타 등등
운동을 좀 더 규칙적으로 나가게 되었습니다. 사회적 거리두기 단계가 올라가면서 쉬는 경우도 있었지만, 거의 9kg 정도 뺐고, 현재는 유지하려고 노력하고 있습니다. 집에서 운동할 때는 Nike Training Club 앱을 이용합니다. 조깅할 때는 노키아 폰을 쓰던 때부터 사용하던 Sports Tracker라는 앱을 이용합니다. 미밴드 2를 쓰다가 Apple Watch SE로 바꿨는데, 운동 기록을 기록할 때 두 앱 모두 Apple Watch와 연동이 가능해서 좋습니다.
결론
이제 재직중인 회사에서 근무한 지 딱 3년이 되었습니다. 지금까지 다닌 회사 중에서 가장 오랫동안 근무한 회사가 되었네요. 내년에는 어떤 일들이 벌어질 지 모르겠지만, 할 수 있는 한 열심히 하려고 합니다.
한편, 멘탈 관리가 중요하다는 것을 계속해서 느끼고 있습니다. 인터넷의 어딘가에서 우연히 봤던 글귀처럼, 저는 제 자신을 먹여살리는 데 좀 더 집중하려고 합니다. 내년에는 제 자신에게 좀 더 신경쓰는 한 해가 되어야겠습니다.