만 2년의 경력, 네 번째 회사

the unexpected is the only hope

Jun
9 min readJul 10, 2022
Photo by Steve Johnson on Unsplash

Introduction

개발에 딥 다이브를 시작한 것은 2020년 5월이었다. 이 블로그의 첫 글인 다시 시작하는 개발 이야기를 포스팅 한 지 2년 2개월이 넘었고, 위코드에서 일을 시작한 2020년 8월을 기준으로 개발자라는 타이틀로 일한 지는 곧 만 2년이 된다.

커리어의 변경은 곧 내 삶의 수많은 변화를 의미했다. 나의 중심을 이루는 핵심 가치는 그대로지만 이것을 발현시키고 사용하는 방향이 바뀌었다고 생각한다. 이전에는 굉장히 천진난만한 태도로 삶을 낙관적으로 바라보았다면, 지금도 여전히 천진난만함이 내 안에 있지만 그것을 행동함으로써 실현 시킬 수 있는 어른이 되어가고 있다. 내 안의 어린아이와 어른이 팽팽하게 줄다리기를 하며 균형을 맞춰가고 있다. 어느 한쪽이 힘이 빠져 줄을 놓아 버리지 않도록 훈련하는 것이 2년간 일을 하며 배운 교훈이 아닐까 싶다.

이 교훈을 얻게 해 준 환경에 대해 글을 써보고자 한다. 점점 나이가 들어갈수록 환경은 나를 형성하는 여러 요인 중 큰 역할을 한다는 것을 깨닫는다. 지금의 나는 내가 지나온 환경 없이는 서술할 수 없다.

지난 2년간 세 개의 다른 조직을 거쳤고, 2022.07.11(월)부터 네 번째 새로운 조직인 Ciety에 몸을 담기로 결정했다. 주기가 짧은 잦은 이직이지만, 매번 누군가에게 내 이직을 정당화하지 않아도 될 이유가 있었고, 나는 나의 직관을 따라 나아갔다.

이 경험이 누군가에게 용기와 가능성이라는 가치로 전환이 되었으면 한다.

wecode

6개월. 짧지만 강렬했던 경험이었다. 위코드 수강생으로서 두 달의 생활 후 위코드의 멤버로 멘토링과 개발에 참여하자는 제안을 받았다. 지금 생각해 보면 아무것도 모르던 나는 덥석 제안을 받아들였다. 결과적으로 보면 이 선택이 다행이자 불행이기도 하다. 아무것도 모르는 나는 Node.js 커리큘럼을 빌딩 할 수 있는 기회를 얻었고, 동시에 아무것도 모르는 나는 멘토링을 했다. 다행인 점은 가르치기 위해서 더 깊게 기술을 파고든 것이고, 불행인 점은 개발 프로세스 경험이 거의 제로에 가까웠다.

위코드의 비즈니스 모델이 교육이라는 것을 간과한 채 선택한 결과였다. 나의 선택에 따른 책임은 항상 무거운 법인데, 이때도 여전했다. 제품을 만들어 나가는 개발 프로세스를 경험하지 못한 채 멘토링을 이어나가던 나는 위기감을 느꼈다. 아무것도 모르는 바보가 되어가는 것 같았다. 당시에 내가 멘토링 한 수강생들이 더 앞서나가는 것 같아 자존감이 바닥을 쳤다.

이직을 결심했다. 좀 더 큰 조직에서 제품에 기여하는 개발자가 되고 싶었다. 또한 개발자 구인구직 시장에서 나의 가치가 어느 정도 되는지 객관적인 판단이 필요했다. 위코드를 퇴사하고 2개월간 토끼와 거북이라는 프로젝트를 진행했다. 평소 관심이 깊었던 TypeScript, Nest.js, Prisma, GraphQL, Lambda, Socket 기술 스택을 활용했다. 그리고 동시에 유인동님의 자바스크립트 함수형 프로그래밍 강의를 들으며 함수형 프로그래밍적 사고에 눈을 뜬 나는 함수형 프로그래밍으로 알고리즘 문제를 풀었다.

돌이켜보면 이 에너지의 원천은 결국 성장하고자 했던 욕망. 바닥을 친 자존감에 기반한 오기였다. 하지만, 위코드는 내게 불안과 욕망을 심어 준 동시에 여러 가르침을 주었다. 멘토링을 하며 기술을 쉽게 풀어낼 수 있는 능력, 어려운 내용을 문서로 정리할 수 있는 능력, 대화하는 능력, 스타트업에서 일을 찾아가는 능력.. 등 다른 개발자들과 차별성을 둘 수 있는 소프트 스킬을 얻었다.

Yanolja

그리고, 운이 좋게도 2021년 5월 야놀자 광고 개발팀에 합류했다. 3년 이상의 경력만 뽑는 포지션이었는데, 상관없다는 마인드로 서류를 넣었다. 서류 합격의 메일을 받고 코딩 테스트를 봤다. 운이 좋게도 평소에 즐겨 풀었던 문자열, 그래프 이론에 기반한 문제가 나왔다. 그리고 또 운이 좋게 1차 실무진 면접에 들어온 팀장님은 나의 가능성을 봐 주셨고, 면접에 들어온 다른 개발자분은 내 블로그 포스팅을 거의 다 읽고 오셨다. 1차 합격을 받고 2차 면접도 운이 좋게 합격했다. 운이 나를 이곳으로 이끌었다 해도 과언이 아니다.

내 포지션은 광고 개발팀에서 통계와 관련된 모든 제품을 담당하는 것이었는데, 로그 설계, 데이터 분석, 데이터 ETL 로직 개발, 통계 테이블 설계, 통계 데이터 서빙 API 개발, 광고 노출 API 개발 등 내 연차에서 해 볼 수 없는 다양한 경험을 했다. 앞서 서술한 여러 가지 태스크를 할 때에는 내가 왜 이렇게까지 해야 하지?라는 불만 아닌 불만을 품었다.

내 커리어에 있어서 야놀자에서의 경험은 큰 자산이 되었다. 지금도 내가 왜 뽑혔는지 의문이지만 나의 가능성을 봐 주신 덕분에 내가 가진 역량이 현실의 문제해결 능력으로 발현될 수 있도록 기회를 얻었다.

내가 야놀자에서 성장할 수 있었던 큰 기반은 나를 믿고 맡겨주신 훌륭한 팀장님 덕분이었다고 생각한다. 비즈니스의 성장뿐만 아니라 나의 성장에도 깊은 관심을 보여주셨다. 제품에 다양한 기술을 녹여내고 싶어 했는데 (ex. 함수형 프로그래밍, Dependency Injection) 충분한 이유가 있으면 말리지(?) 않으셨다. 덕분에 인수인계 문서작성과 세션을 빡세게 진행해야 했지만, 내 선택에 대한 의무였다.

내 성장에 기여한 요인을 한 가지 더 꼽자면, 훌륭한 동료들이 있었다는 것이다. 나의 업무 특성상 같은 팀 기획자들 그리고 데이터를 다루는 조직과 협업할 일이 많았다. 동료들이 슬랙 스레드로 소통하는 방법, 회의에서 요점을 정리하는 방법, 데이터에 기반해 의사결정하는 방법, 문서의 히스토리를 관리하는 방법.. 등 어깨너머로 흔히 말하는 일잘러들의 스킬을 흡수했다. 어느 시점에서는 코드를 작성하는 시간보다 소통하고, 기획하고, 트러블 슈팅하고, 해결책을 도출하는 과정에 쏟는 시간이 더 많아졌다. 덕분에, 개발뿐만 아니라 제품이 만들어지는 과정에 필요한 역량을 키울 수 있었다.

KakaoStyle

위에서 서술한 내 커리어의 도약에 도움을 준 야놀자에서 가깝지만 조금 먼 미래를 생각해 봤을 때, 주니어 시절에 더 다양한 경험을 해봐야겠다는 판단을 했다. 왜냐하면 나 스스로 안일해지고 있었기 때문이다.

이직을 결심했다기 보다 나의 안일함에 위기감을 느끼고 있던 찰나에 기회가 찾아왔다. 동네에 사는 친구가 카카오스타일에서 FE로 근무하고 있었는데, 카카오스타일에서 진행하고 있던 채용 명함 이벤트에 나의 명함을 넣었다. 올해 4월 HR팀에서 연락이 왔고, 두 번의 면접을 통해 합격 메일을 받았다. 이 채용 과정에서 나는 확신할 수 있었다. 이제는 순전히 운에 나의 커리어를 맡길 수 없겠구나. 카카오스타일에서 일할 기회를 얻게 된 것은 내가 쌓아온 시간(경력) 때문이었다.

기대감을 안고 카카오스타일에 출근했다. 기대가 큰 만큼 여러 가지 실망할 포인트들이 있었다. 지그재그로 출범해서 작년에 카카오에 인수합병되고 과도기를 겪고 있는 조직이다. 따라서, 몸만 커진 스타트업인 느낌이었다. 내가 속한 팀에서는 병렬적으로 다양한 프로젝트를 진행하고 있었는데, 리소스 부족과 이렇다 할 체계가 자리 잡지 못 한 개발과정의 부담과 짐을 모두가 지고 있었다. 모두가 바쁘게 일을 하는데도 불구하고 여유가 없는 조직이었다.

회사에서는 이런 과정에서도 역량을 발휘하도록 경력직을 뽑는다. 따라서, 나는 신규 크루로서 기존의 크루가 느끼지 못하는 불편한 점을 정리하고, 부족한 리소스를 잘 활용할 수 있는 대안을 제시하는 일을 해봐야겠다고 생각했다. 자연스럽게 일을 하는 체계가 관심사가 되었다. 정확히는 내게 주어진 개발 태스크만이 내가 할 일이 아니라는 깨달음을 얻었다.

안 좋은 점만 늘어놓은 것 같지만, 실은 개발자로서는 많이 배울 수 있는 조직이다. SRE 팀에서 EKS, Git Action, Argo CI/CD를 활용해서 멋진 무중단 배포 파이프라인을 구축해 놓았고, 팀 내부적으로는 Kotlin/Spring 을 잘 활용할 수 있는 아키텍처, 고차 함수 프랙티스가 적용되어 있었다.

따라서, 체계가 완전히 자리 잡지 않은 이 조직에서 내가 하는 만큼 성장할 수 있다는 확신이 들었고, 다이브 인을 준비하고 있었다. 그리고, 입사 한 지 4주 차 즈음에 유인동 님께 연락이 왔다.

Ciety

Github에 올려놓은 한 프로젝트의 코드를 보시고 연락이 왔다. 2년 전 아무것도 모르는 사람들이 모여서 주먹구구식으로 만든 서비스의 리팩토링 코드가 담겨있는 레포지토리였다. 이 레포지토리에는 유인동 님의 함수형 프로그래밍 철학에 감명을 받아 작성한 코드가 담겨있다. 유인동 님이 속한 마플에서 개발한 Fx.js 라이브러리를 활용해 서비스 로직을 개발했다.

코드를 보고 내 이력서를 찾아서 연락을 주셨다고 하는데 믿기질 않았다. 내가 평소에 존경하던 개발자고 함께 일해보고 싶던 조직에서 연락이 왔다. NFT DAO와 관련된 새로운 서비스를 빌딩하고 있다고 하셨다.

블록체인과 NFT는 주변 개발자들로부터 익히 들었지만 흘려들었던 키워드다. 언젠가 깊이 알아봐야겠다고만 생각했다. 여러 이유로 이 일을 미뤘던 나에게 유인동 님은 자본주의 금융시장의 대안인 프로토콜(약속)에 기반한 탈 중앙화 금융 모델을 소개하는 영상 링크를 보내주셨다.

20대 초반부터 부의 분배, 불공정, 불공평함에 대해 관심이 있었던 나는 자본주의 시장의 모델에 대한 한계를 생각했다. 그리고 노동자로서 일을 하며 그 한계에 더욱 뼛속 깊이 체화되고 있었다. 어쩔 수 없는 또는 암묵적으로 동의된 피라미드 구조 속에 나의 위치를 찾아가고 있었다.

해당 영상을 보고 새로운 금융 모델이 있다는 사실과 함께 이미 내가 모르는 사이에 구축되고 있다는 것을 깨달았다. 그 증거가 블록체인 프로토콜에 기반한 NFT DAO다. 사실 아직도 어떻게 이 조직이 운영되는지 경험하지 못했기 때문에 충분히 이해했다고 하기 어렵다. 그래서, 더 알고 싶어서 이 조직에 몸을 담기로 선택했다.

한 가지 더 서술하면, 내가 긴 시간을 보내는 일터를 만나는 것 또한 운명적인 만남이라고 생각한다. 사랑하는 상대를 찾는 여정과 비슷하게 내가 애정을 담을 수 있는 일터를 항상 그려오고 찾는 과정에 있다고 믿었다. 이번 유인동 님의 제안은 인생에서 쉽게 찾아오지 않는 운명 또는 기회라고 생각하기에 주저 없이 Ciety에 합류를 선택했다.

Wrap Up

내 삶은 나의 선택이기도 하지만 역설적이게도 내 선택이 아니기도 하다. 내가 존경하고 사랑하는 친구가 이런 말을 해 준 적이 있다.

"Jun, the unexpected is the only hope."

예상치 못한 것만이 유일한 희망이다. 20대 후반에 친구가 해 준 이 말을 곱씹어 보아도 내 삶의 철학으로 들이는 것은 어려웠다.

30대에 들어서 삶이 무너지는 경험을 했고, 개발자로서 커리어를 시작했다. 이때부터 내 삶은 오로지 the unexpected로 채워진 삶이었다. 따라서, 나는 내 삶에 대해 회의보다 희망을 품을 수 있게 되었다.

나는 오늘도 또 다른 예상치 못한 것을 마주할 준비를 한다.

--

--