brunch

You can make anything
by writing

C.S.Lewis

by 조인석 chris Mar 22. 2022

'20년~'21년 회고

지난 두 해를 돌아보면서


시작하면서

정말 오랜만에 브런치에 글을 쓴다.

작가의 서랍에 가보니, 쓰다 만 작년 회고 글이 있어서 그냥 버리려다가,

작년 시작하는 시점에 준비하던 일이 잘 풀리지 않아서 홧김에 글을 방치한 탓이 컸기에

이번에는 2년을 모아서 회고를 한번 해볼까 싶어 그대로 이어 쓴다.

실은 팬데믹 덕분에 해가 바뀌지 않은 것과 비슷한 효과가 있었던 것 같다.


한동안 글을 너무 쓰지 않았다는 죄책감이 들었으나,

무언가를 적는 행위는 꾸준히 해왔었다.

작년에는 600페이지가 넘는 파이썬 중급서 번역을 마무리하여 출간했고,

회사에서는 동료들에게 기술적 가이드가 될 수 있는 여러 형태의 글을 작성하고 있으며,

업무적으로 매일매일 작성하는 상당한 분량의 메일도 글이면 글일 것이다.

또한, 코드를 작성하면서 적당한 변수나 함수 이름을 찾고,

간단하면서도 명료한 커밋 로그를 적는 것도 글이면 글일 것이다.

 

하지만, 지난 몇 년간 나를 제대로 돌아보는 글을 쓸 기회는 별로 없었던 것 같다.

글을 쓰는 행위 자체가 조용하 나를 마주하는 귀한 의식임에도 불구하고,

나를 들어내는 글을 쓰는 것 자체가 언제부터인가 부담스러워지기 시작했다.

시간도 없었다는 것은 구차한 핑계지 않을까.


오늘 이렇게 '회고' 글을 쓰는 것 자체가 나에게는 큰 의미가 있고, 

미래의 나에게 큰 선물이 될 것이라 믿는다.

올해는 2020년~2021년 두 해를 돌아본다.


Principal Engineer로 진급

지난 4년간 회고를 작성하면서, 단순히 개인적인 넋두리를 풀어 넣기보다는 내가 한 해동안 배운 점을 공유하는 글을 쓰고 싶었다. 그리고 그 내용이 누군가에는 도움이 되었으면 했다. 지난 회고를 읽어보니 내가 근무하고 있는 외국계 회사에서 진급을 하기 위해서 필요한 마음가짐이나 업무 처리 방식을 국내 대기업 근무 경험과 비교하여 큰 의도 없이 적어 봤는데, 우연인지 필연인지 Senior 직급에서 Principal 직급으로 진급을 하게 되었다. Principal이면 국내에서는 '수석' 정도로 생각하면 되지만, 아시아 지역에 나를 포함하여 두 명 밖에 없고, 전체 조직에 약 5% 정도 상위 레벨이다 보니, 생각보다는 높은 위치다. 참고로, 팀을 미국으로 이동하면서 현재 아시아에는 해당 레벨 직원이 없다.


가만히 생각해보면, 17년도에 여러 외국계 회사에 지원을 했을 때는 Senior 레벨이면 충분히 의미 있는 위치고 오랜 기간 동안 같은 직급을 유지하거나, 이 레벨에서 은퇴(?)를 해도 전혀 문제가 없다고 생각했었다. 그 당시 회사에는 Senior 레벨의 경력이 많은 엔지니어들도 많았고, 그중에는 내가 본받고 싶은 롤 모델도 여러 명 있었다. 나와 비슷한 연차의 엔지니어들이 외국계 회사에 입사를 할 때 보통 Senior 바로 아래 직급에서 시작을 하여 인정을 받으면 Senior로 올라가는 분위기였다. 물론, 비슷한 경력에 Principal 위치에 있던 친구도 있었다. 나 같은 경우는 입사 시점에 수습 기간이 끝나자마자 바로 Senior로 직급이 정해졌고, 그 뒤로 2년 반 후에 Principal로 진급을 하게 된 것이다. 어떻게 보면 나의 업무 성과를 제대로 인정해준 거라 무척 기분이 좋았다.


Elastic이 나에게 Principal 레벨의 직급을 준 이유를 고민해봤다. 잊지 않기 위해 몇 가지 적어 본다.


Technical Leadership을 발휘해야 한다.

회사가 추구하는 가치에 잘 부합되는 인물이어야 한다.

업무 프로세스를 잘 이해하며, 끊임없이 개선하는 노력이 필요하다. 

팀 외부와 커뮤니케이션을 할 때 팀을 대변할 수 있어야 한다.

주니어/시니어에게 주어진 역할과 책임을 잘 이해하고 의사 결정을 하기 위한 본보기기되어야 한다.

스스로 크고 작은 과제를 새롭게 정의하고, 리딩하여 마무리할 수 있어야 한다.

모든 업무는 투명하고 공개적으로 진행하며, 팀 방향성을 따르는 의사 결정을 독립적으로 할 수 있어야 한다.


한 가지 가장 기억하고 싶은 것은 그동안 여러 회사를 거치면서 얻은 지식과 경험이 어떤 식으로든 큰 도움이 된다는 것이다. 어떻게 보면 당연한 것이 아닌가 하는 생각도 들지만, 그동안 한국 전통 기업에서 겪은 다소 불합리적이거나 비효율적이라고 생각했던 업무 프로세스나 시스템에서 얻은 지식들도, 한 편으로는 IPO로 상장한 글로벌 기업이 더 성장하기 위해 필요한 것들을 알려주는 일종의 나침반 역할을 하기도 한다는 것이다. 다르게 표현해보자면, 지금 당장 의미가 없을 것 같다고 생각했던 일들도 결국 훗날 도움이 될 수 있기 때문에, 주어진 업무를 섣불리 판단하여 나에게 도움이 되지 않을 것이라고 생각하는 것은 어느 누구에게도 도움이 되지 않는다. 어떤 조직이든 나에게 주어질 업무를 정확하게 예측하는 것은 거의 불가능하기 때문에 이런 마음가짐이 항상 필요해 보인다. 본인을 위해서라도 말이다.


예전 회사에서 나는 오랜 시간 굳어져 버린 것들을 깨트리고 새롭고 도전하는 역할을 주로 했다면, 지금 회사에서는 여기저기 어지럽게 흩어져 있는 것들을 하나로 모으고 표준을 잡는 역할을 하려고 노력하고 있다. 워낙 다양한 배경과 문화의 동료들과 일하고 있다 보니, 단일 민족끼리 일하던 예전 조직과는 완전히 다른 경험을 하고 있다. Elastic에 합류한 지 4년 반이 지났지만, 매일매일 새로운 것을 배우고 있고, 그 과정이 무척 즐겁다.


Solution Tech Lead 프로젝트 리딩

솔루션 테크 리드일은 내가 처음 예상했던 것과는 다소 다른 방향으로 흘러갔다. 개인적으로는 기술적으로 깊이가 있는 테크니컬 리더십을 발휘할 기회가 많을 것이라고 생각했지만, 오히려 전략적으로 팀이 어떻게 성장해야 나가야 하는지 고민하는 자리에 더 가까웠다. 다소 생소한 솔루션의 기술 내재화를 위해 콘텐츠를 만들어내는 주체가 되기보다는, 현재 조직이 가지고 있는 취약점을 찾고 이를 개선하기 위한 방안을 제품 관리팀과 개발팀과 함께 협의하여 방안을 수립하고 구현하는 것이 가장 주된 업무로 자리가 잡혔다. 그러다 보니, 알게 모르게 쌓여 있는 데이터를 가공하여 시각화하여 얻은 통찰로 의사 결정을 하는 전반적인 프로젝트에 깊이 관여하였다. 


Google BigQuery에 쌓여 있는 raw 데이터를 추출하여 가공하는 SQL을 작성하고 Kibana의 CanvasDashboard를 그려서 제공하는 프로젝트의 구현을 일부 담당했다. Spring Data를 적용한 JPA로 넘어온 뒤로 SQL을 직접 작성한 지가 오래되었는데, 오랜만에 SQL을 작성하고 스크립트를 작성하니 감회가 새로웠다. 빅쿼리를 사용해본 적은 없었지만, ANSI SQL을 그대로 사용할 수 있었고, 빅쿼리에서 제공하는 다양한 함수들을 잘 작성된 레퍼런스를 참고하면서 활용할 수 있었다. 글로벌 표준을 지키면서, 자체 기능에 대한 레퍼런스 문서를 잘 제공하는 도구는 항상 익히는 과정이 즐겁다. 


Cavnas는 현재 한 화면을 그릴 때 사용하는 각각의 컴포넌트의 데이터 셋이 모두 분리되어 있다. 즉, 한 화면에 10개의 컴포넌트가 있으면, 동일한 쿼리라도 쿼리가 10번 실행되는 구조인 것이다. 기능 개선 요청을 했으나, 언제쯤 구현될지는 모르겠다. 쿼리를 호출하는 횟수를 줄일 수는 없었지만, 각 컴포넌트들이 사용하는 쿼리를 재사용 가능한 변수로 변경하여 수정 사항을 전체 컴포넌트에 한 번에 반영할 수 있게 구조를 변경하였다. 이외에 여러 제약사항이 있었지만, 모든 제품과 솔루션의 케이스 주요 지표를 표현하는 캔버스를 완성했고, 현재 매달 회사 전체에 공유되고 있다. 캔버스를 작성하면서 얻은 지식을 팀에 공유하였고, 관련 케이스를 다루는데 활용되고 있다.


본래 개발 조직이 아니기 때문에 간과하기 쉬운 코딩 표준이나 버전 관리, 자동화 배포 등도 적용하면서 즐겁게 작업했다. 물론, 동작하는 코드와는 상관없는 작업에 시간을 소비하는 것에 공감하지 못하는 인력도 있었지만, 적절한 합의점을 찾아서 진행하는 과정이 그리 낯설지 않았다. 돌아가는 코드인데 머가 문제냐라고 말하는 사람은 어딜 가도 있는 것 같다. 여전히 읽기 힘든 수백 줄짜리 SQL/스크립트는 골칫덩어리이다. 사실상 표준으로 자리 잡은 관습들을 지키지 않는 것은 이해할 수 있다. 하지만, 동일한 사람이 작성한 동일한 코드에 서로 다른 스타일이 섞여 있는 것은 도저히 그냥 지나칠 수가 없는 것 아닌가. 다행히 개발이 주 업무가 아닌 조직에서나 간혹 나오는 상황이니 다행이다. 올해는 제품 개발이 아닌 코드에도 품질이 있고, 품격이 있다는 것을 알리는데 조금 더 노력할 계획이다.


최근에는 기술 지원 조직이 개발 및 제품 조직에 제안하는 사안들 중 우선순위가 높은 것을 케이스 데이터 기반으로 자동 추출하는 프로젝트를 진행하고 있다. 하다 보니 자연스럽게 자연어 처리하는 부분을 고민하고 있는데, Elasticsearch Text analysis의 여러 기능을 더 깊이 들여다보고 현재 제공하지 않는 부분을 어떻게 처리할지 고민 중이다. 좋은 결과가 도출되어 팀 전체가 사용할 수 있는 표준 도구가 되면 좋겠다 ;)


새로운 홈 오피스

작은 아이가 있는 집에서 일하는 것은 생각보다 쉽지 않았다. 작은 방에서 일하는 게 싫어서 거실에 업무 공간을 마련했는데, 파티션도 없고 개발되어 있다 보니 긴 시간 집중하는 것이 쉽지 않았다. 이렇게 말이다.

갑자기 쳐들어온 막내

해서 결국 오산목재에서 DIY 파티션을 구매하여 사포질 및 마감 처리를 한 다음에 파티션을 ㄱ자로 세우고, 1200 길이의 루나랩 전동 높이 조절 책상을 구매하였다. 2020년 6월경부터 취미로 시작했던 어항을 책상 옆으로 옮기고, 책상 뒤에 낮은 책장 여러 개를 구매하여 필요한 책을 모두 모았다. 가끔 거실에서 애들한테 빔으로 영화를 틀어주곤 했는데, 책상에서 거실 벽 쪽으로 영상이 나가게 세팅을 하니, 아이들이 영화를 보는 상황에서도 일을 하는데 크게 어려움이 없었다. 물론, 귀는 틀어막아야 한다. 이렇게 세팅하고 나니, 그럴싸한 홈 오피스가 되었다.

2021년 홈 오피스

나는 보통 노트북을 3개를 사용하고 있다. 하나는 주 업무용 맥북, 두 번째는 업무와 상관없는 사이드 프로젝트 코딩용 맥북, 나머지는 집필과 자잘한 국내 웹 사이트 접속을 위한 윈도 노트북이다. 책상이 좁을 때는 상황에 따라 노트북을 교체했는데, 이게 여간 불편한 게 아니다. 키보드/마우스도 매번 연결을 변경하는 게 귀찮아서, 각 노트북에 페어링을 한 키보드/마우스를 따로 사용했는데, 자리도 많이 차지하고 매번 이게 뭐하는 짓인가 하는 생각이 들었었다. 기계식 키보드와 맥북 번들 키보드를 교체해가면서 썼었는데, 나한테는 기계식 키보드 느낌보다 노트북 키보드 느낌이 더 잘 맞아서 키보드를 찾아보다가 로지텍 MX Keys를 만나게 되었다. 원하는 키감을 찾은 것도 좋았지만, 이 녀석은 3대의 노트북과 연결이 가능하고, 버튼을 누를 때마다 노트북을 변경할 수 있었으며, 심지어 클립보드를 기계간에 공유하는 기능도 가지고 있었다. 이 녀석 하나로 키보드 한대에 노트북을 3대까지 올려놓고 동시에 사용이 가능해졌다. 개인 업무 효율을 극대화해주는 훌륭한 녀석이다. 물론, 맥과 윈도 단축키의 차이로 컨택스트 스위칭하는 기술을 살짝 훈련이 필요하다.


집필 및 유튜브 채널 시작

터닝포인트사와 작업했던 "초보자도 간단히 단숨에 배우는 파이썬" 초급서가 2020년 4월에 출간되었다. 이번 책은 예전 책과는 다르게 데이터 분석을 하는 다양한 필드의 비전공자 인력들이 파이썬을 쉽게 배우면서도 반드시 알아야 할 내용을 담으려고 노력했고, 유튜브 동영상 강의를 처음으로 시도해 봤다. 생각보다 영상을 촬영하는 기법에 대해서 알아야 할 것이 많았고, 굉장히 많은 시간을 할애해야 짧은 동영상 한편이 나온다는 것을 알게 되었다. 10분짜리 영상이면, 촬영에서 편집까지 최소 1시간 30분~2시간은 소요되는 것 같았다. 물론 초보라 그러겠지만, 전체 책의 동영상을 촬영하는 내내 마땅한 촬영 장소가 없었던 집에서 힘들게 작업하여 마무리를 지었다. 동영상 강의 이외에도 재택근무 관련 영상이나 발표 영상들을 링크 걸어 두었으니 관심 있다면 방문해도 좋다 ;) https://www.youtube.com/PythonMento

동영상 업로드를 한지 좀 됐지만, 현재 구상하고 있는 프로젝트가 있으니, 곧 시즌2를 시작할까 한다.


2021년 5월에는 파이썬 중급 역서인 "파이썬 스킬업(길벗)"을 출간하였다. 번역은 지양하려고 했으나, 원서 내용이 워낙 괜찮고 학습하고 싶은 내용이 많아서 진행을 했었다. 역시, 번역은 어렵고 고통스러운 시간이 많았지만, 무사히 탈고하여 시중에서 팔리고 있다. 파이썬 중/고급 기술 중 제대로 이해하지 못한 기술들을 다시 돌아보고 이해하는 계기가 되었고, 회사 업무에도 도움이 많이 되었다. 특히, 정규표현식 트러블슈팅이나, 수작업으로 특정 케이스 증상 판단 및 해결 방안 도출을 파이썬 스크립트로 자동화하는 데 깊이 활용하였다.


현재는 다시 한번 대학 교재 쪽으로 눈으로 돌려서 작업을 시작했다. 올해 말에 마무리할 수 있으면 좋겠다.


마무리

2021년에 가장 큰 변화라고 한다면, 가족 모두와 함께 삶의 터전을 옮긴 일이다. 작년 11월에 하와이로 넘어왔고, 현재는 오아후 섬의 동남쪽에 위치한 하와이 카이 지역에 정착하였다. 동일 회사의 미국 본사 소속으로 이동하였지만, 업무 내용은 그대로 유지하게 되었다. 대신 업무 시간대를 변경하면서 미국 동료들과 일할 시간이 더욱 많아졌고, 한국 시간대에 있어서 놓치는 것들을 챙길 수 있는 기회가 더 많아졌다.


올해는 조직 변경이 많아서 업무 방식에도 큰 변화가 생길 조짐이다. 예상대로 흘러간다면, 팀 전체에 더 큰 영향을 줄 수 있는 프로젝트에 더 깊이 관여할 수 있을 것으로 보인다. 어떤 식으로 반영할지에 대해서는 조금 더 고민해봐야겠다.


올해 1사 분기가 벌써 마무리되려고 하고 있다. 아이들은 학교에 어느 정도 적응했고, 벌써 삶의 터전에 익숙해지려고 하고 있다. 한국에서는 해보지 못한 워터 스포츠에 관심이 많아서 이것저것 체험해보고 있다. 지금은 SUP 보드에 관심이 많다. 서핑도 하는 날이 곧 오지 않을까.


막내의 끊임없는 방해에 이 글을 마무리하는데도 며칠이 걸렸다. 하지만 쓰고 나니 지난 2년 동안 어떤 일을 했는지 돌아보고 앞으로 나아갈 방향성을 잡는데 좋은 길라잡이가 되는 것을 다시 한번 깨닫는다. 내년 회고는 늦지 않게 작성해야겠다.


끝!


집 근처 바닷가에서 찍은 석양


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari