기쁨, 의심, 성장의 시간들
데이터 엔지니어로서 3년간 크고 작은 회사에서 일하는 경험을 쌓았던 시간들을 회고해 봤습니다.
- 이전에는 시리즈 C 정도의 재능거래 스타트업 신사업 팀에서 데이터 관련된 일을 맡았었다. 데이터 분석을 하려고 간 것이었지만 신사업 팀인 만큼 여러가지 일을 동시에 해야했던 시기.
- 이때 진행했던 일 중 하나가 고객 행동 분석 로그를 심고 행동 패턴을 분석하려는 일이었고, 데이터는 저절로 생겨나는 게 아니라는 깨달음을 얻었다. 로그 데이터를 심어줄 수 있는 개발자가 없어서 어쩔 수 없이 직접 자바스크립트 (자바스크립트라는 언어가 있고 이 언어로 우리 서비스가 개발되었다는 사실을 이 때 알았다.) 코드 뒤져가면서 파이어베이스 애널리틱스 API 심었었다.
- 데이터를 다루는 것도 중요하지만 다룰 수 있는 데이터를 만들 수 있는 능력도 중요하다는 생각이 점점 자리 잡았었다. 데이터를 다루는 전체 흐름을 직접 경험하고 싶었다. 나중에 신사업 조직에 혼자 배정되더라도 데이터 파이프라인 인프라 개발부터 데이터에서 인사이트를 만들어내는 모든 과정을 내 힘으로 셋업할 수 있게 만들고 싶었다. 혹시 나중에 만들고 싶은 서비스가 생기면 직접 만들어볼 수 있다면 더 좋을 것 같았고.
- 마침 코로나가 찾아오면서 신사업이 축소되었고, 부서가 변경되면서 퇴사를 고민하며 본격적으로 개발자 전환을 준비하기 시작.
- 백수생활을 3개월 정도 하던 즈음, 이전 회사에서 같이 일했던 분이 데이터 팀을 빌딩하고 있다고 같이 하자고 제안 주셨고 키즈 관련 콘텐츠를 만드는 스타트업(7~80명 규모)에 데이터 엔지니어로 합류하게 되었다. 데이터 팀은 나와 리드를 하시던 분 이렇게 두 명이었다.
- 개발 경험은 없었지만 이전에 같이 일하던 동료 분의 도움으로 개발을 하나씩 익히면서 시작했다. SQL은 원래부터 다루던 언어라 다행히 부담이 적었고, 그 외에 Git 사용법, 리눅스 커맨드 다루기, IDE 사용법, 클라우드 사용 경험, 도커, CI/CD까지 데이터 플랫폼을 작게 구축하는 데에 사용되는 기술 스택들을 하나씩 익혀나갔다.
- 처음에는 대시보드 만드는 일을 많이 했었다. AWS Quick Sight를 대시보드 툴로 사용하고 있었는데, 퀵사이트가 바라보는 DW인 AWS 분석용 DB 레드시프트를 같이 다루면서 데이터와 배치개발을 동시에 하곤 했었다. 데이터 정제는 SQL과 Python pandas로, 배치는 AWS 리눅스 서버에서 관리하던 시기. 대시보드 그 자체를 만드는 쪽이라기보다는 데이터 갱신과 새로운 테이블을 개발하는 쪽에 가까웠기 때문에 분석과 개발 사이에 살짝 걸쳐있었던 때가 아닌가 싶다.
- 그러던 와중에 입사 6개월 차쯤에 같이 일하던 데이터 팀 리드이자 동료분이 더 큰 회사로 이직하게 되었다는 소식을 들었다. (같이 데이터 팀 만들자면서요... 어디가......!!!)
- 아무리 작은 규모의 회사라지만 7~80명 규모의 회사의 데이터 플랫폼을 혼자서 운영하려니 눈앞이 살짝 캄캄하긴 했었다. 그래도 어찌어찌할 수 있겠지 하는 마음으로 일을 쳐내던 시기.
- 일은 어떻게든 쳐냈었지만 늘 이렇게 하는 게 맞는지? 최선의 방법인지? 등 고민이 남았었다. 결정적으로 같은 분야에 대한 고민을 나눌 사람이 없었다. 1년 차이기도 했고 아직 배울 것은 많았지만 오히려 그랬기 때문에 데이터 조직이 있는 회사로의 이직을 알아보기 시작.
- 때가 그래도 맞았었다. 코로나로 한창 개발자 이직이 활발하던 시기라 채용 건들 이 많이 오픈되던 시기였고 그중 회사규모가 꽤 큰 조직의 데이터 엔지니어팀으로 이직하게 되어 스타트업 생활을 마무리.
- 개별 업무가 분화된 큰 회사에서 협업하기 위해서 어떻게 해야 하는지 고민하고 적응해 나가는 시기. 지금도 계속해나가고 있다.
- 이미 구현된 큰 시스템에서 개발을 할 때 신경 써야 하는 부분들을 하나씩 깨달을 수 있었다. 사전 영향도 파악하기, 작업 계획 수립하기, 검증하기, 다른 부서와 협업하기 등등.
- 특히 이 작업 계획 수립하는 부분이 내가 약했다는 것을 2-3년 차 때 깨달았던 것 같다. 스타트업에서는 타 팀과 협업할 일이 없었기 때문에 테이블 생성이 필요하면 직접 하면 됐다. 하지만 DBA팀이 별도로 나눠져 있고 테이블 하나 생성할 때도 협업을 해야 하는 상황이라면 나 혼자서 편한 시간에 일할 수는 없다. 테이블 하나를 삭제하더라도 유관 부서에서 해당 테이블을 사용하고 있지는 않은지 영향도를 전부 확인한 후에야 삭제해야 안전하기 때문에 모든 작업들은 작업 흐름을 사전에 잡아야 한다. 그리고 작업계획을 잡고 어떻게 진행할지 유관자들에게 소통하고 이를 지키며 진행해야 원활하게 돌아간다. 당연한 얘기인데 이걸 직접 경험하기 전 까지는 깨닫지 못했었다.
- 일단 개발을 시작하고 제품을 내놓은 뒤에 문제가 발생하면 대응하여 수정해 나가는 에자일 방식과 다르게 이미 디펜던시가 많이 설정되어 있는 커다란 시스템 안에서는 작은 부분 하나를 수정하더라도 이 변경이 영향을 미칠 부분까지 사전에 고려가 되어야 한다. 그렇기에 미리 사전에 디펜던시 파악을 하는 것이고 사전 영향도 파악 후 적절한 방법을 선택하는 역량이 필요한 것을 몸으로 절감하고 있다.
- 배치 사이즈가 커지면서 배치의 종류도 일배치, 시배치, 월배치 등등으로 나뉘고 이 배치들 간의 디펜던시를 설정하는 부분에서의 고민이 필요하다. 배치 모니터링도 중요하다. 온콜을 담당하기도 하면서 배치를 정상 운영하는 경험이 쌓여가고 있다.
- [문제 상황 인지 > 해결책 수립 > 실제 대응 > 해결]을 하는 경험을 많이 쌓아나가다 보면 그게 결국 내공이 되는 것 같다. 실제로 대응을 많이 해 본 엔지니어들의 경우 이 과정이 눈에 띄게 빠르다. 이런 부분들이 주니어와 시니어를 가르는 차이중 하나인 것 같은데 이런 경험은 실전에서 밖에 해볼 수 없는 것 같다.
- 경력직 공고에서 왜 3년을 기준으로 자격요건을 두는지 어렴풋이 이해가 되는 것 같다. 내 경우에는 업무를 맡게 되었을 때 어느 정도 혼자서 진행해 나갈 수 있다는 느낌이 들기 시작한 게 3년 차 전후 즈음이었기 때문이다. 내 주관적인 성장 곡선은 서서히 우상향 하는 직선이 아니라 어느 순간 상승하는 계단식 곡선처럼 느껴졌다.
- 3년 차 개발자가 된 시간들을 돌아보니 마치 무협지 같은 곳에서 등장하는 흑마법을 몸으로 받아낸 느낌이다. 물론 SQL은 이미 다룰 줄 알았지만 선행된 개발 공부 없이 일을 먼저 시작하고 그때그때 필요한 지식들을 속성으로 매번 흡수하면서 넘어올 때마다 수명이 줄어드는 기분을 느꼈기 때문이다..
- 주변의 기대치와 내 실제 역량 간의 차이에서 오는 기분을 견디는 것도 개인적으로는 좀 힘들었다. 전체 연차는 5년차로 이제 좀 쌓였지만 개발 업무를 시작한 지는 이제 2년차를 지나고 있었기 때문에 주어지는 업무들을 제대로 쳐내지 못하는 것 같은 느낌을 받을 때 그랬다. 여기에다가 기존에 경험했던 스타트업 업무 문화와 대기업식 업무문화가 다른 것에서 오는 차이도 한 몫했다.
- 근데 스스로도 이건 뾰족한 해결책이 없다는 것을 알고 있긴 했다. 그냥 내공을 쌓는 시간이 쌓여야만 해결되는 문제인걸 알았고, 그 시간이 쌓이기 전까지는 이런 기분과 같이 갈 수밖에 없겠구나. 하는 것을 받아들이고 멈추지 않고 어느 지점을 성장시켜야 하는지 의식적으로 집중하면서 그냥 꾸역꾸역 하는 방법 밖에 없었다. 무작정 시간을 쌓는 것만으로는 안되고 모르는 기술에 대해 호기심을 유지하고 조금씩 내 걸로 만드는 작업을 계속해야 한다.
- 그래서 이 2-3년 차는 나에게 흑마법의 시간이었다. 주화입마에 빠지지 않고.. 버텨야 하는 시간인 것을 스스로 알면서 실력을 키웠던 시간들이었다. 일단 일하면서 성장하는 방식의 흑마법이 아니었다면 3년 만에 지금 만큼의 개발실력을 키우기에는 아마 불가능했을 것이다. 지금도 챌린지는 계속되고 있다는 것을 알고 있고 이 일을 하는 동안은 그건 계속될 것 같긴 하다. 그래도 스스로는 저번달보다는 더 나아진 걸 느끼고 있고 작년보다 올해 더 나아졌다는 것을 인지하고 있다. 이건 결국 시간이 쌓여야 하는 문제이기 때문에 버티는 시간을 현명하게 보내는 방법뿐인 것 같다.
요즘 들어 가장 아쉬운 것은, 취업, 결혼, 출산 등을 기점으로 커리어적인 목표나 발전을 얘기하는 주변 사람들이 계속해서 사라져 가고 있다는 점이다. 인생을 100세까지 산다고 생각해 봤을 때, 혹은 최소한 커리어를 50대까지는 지속할 거라고 기대해 봤을 때 여전히 다음 10~20년은 일하고 발전해야 하는 시기이고 도전을 맞이해야 하는 시기가 아닐까 한다. 내가 지켜야 할 가족이 생기더라도 경제적으로 가족을 지키기 위해서는 커리어가 튼튼하게 주춧돌 역할을 해야 한다고 생각하는데 그러기 위해서 적어도 스스로에게는 커리어를 더 튼튼하게 할 수 있는 탐험에 시간을 쓰는 일을 멈추지 않았으면 싶다.
P.S
이번 대문 사진은 이번 23.10월 샌프란시스코 여행 때 찍은 금문교