Search

팀블라인드에 입사하기까지…

팀블라인드를 알게 된 계기

팀블라인드로 옮기기 전에 근무했던 회사에서는 Spring boot, Vue를 이용한 작업을 주로 맡게 되었는데 그중 Vue 작업을 많이 하게 됐다. 그러다 보니 자바스크립트를 많이 공부하게 되었다. 프로젝트를 진행하면서 서버가 Node.js로 구성된 프로젝트도 맡았었다. 팀에서 담당하는 프로젝트를 문맥 교환이 자연스러울 정도로 익숙해져야 한다는 정책에 따라 나는 거의 3개월 주기로 다른 성격의 프로젝트를 접하게 되었다. 그런데 기술 스택이 조금씩 차이가 있었다. 백엔드는 Spring을 쓰는 프로젝트도 있었지만 Node.js 기반의 프로젝트도 있었다. 두 가지 영역을 왔다갔다 하면서 작업해야 하니 Java까지 사용해서 두 개의 언어를 다루는 것보다는 하나의 언어를 다룰 수 있는 Javascript 진영에 마음이 끌렸다. 백과 프런트 둘 다 구현하면서 한 가지 언어만 신경쓰면 되니까!
당시 근무했던 SI 회사 분위기
그런데 SI 업무 특성상 갑작스러운 신규 프로젝트를 팀에서 담당하게 되고 내가 담당하진 않았지만, 인원이 모자라게 되면서 급하게 투입되었다. 그리고 주말에도 불려나가게 되었다. 회로를 불태우는 평일을 위해 주말엔 쉬고 싶었는데 마음대로 안 나갈 수 있는 상황은 아니었다. 회사에서는 불가피한 업무에 양해를 구한다는 느낌보다는 필요하다면 당연히 나올 것처럼 생각했다. 그리고 격무에 시달리는 동료들의 코드 품질이 나날이 하락하는 것을 체감했다.
function something() { for(/* ... */) { for(/* ... */) { for(/* ... */) { for(/* ... */) { 배열.forEach(item => { /* 어떤 문제를 해결하기 위해 작성했던 것인지는 기억나지 않는다*/ } } } } } }
JavaScript
복사
아직까지도 이 이후로 5중으로 둘러싸인 반복문을 본 적은 없었다. 당시에는 내 두 눈을 의심했다. 얼마나 프로젝트 기한이 촉박했으면 이런 선택을 할 수밖에 없었을까? 그런데 당시에는 내가 신입사원이니까 5중 반복문을 하나의 덩어리로 인식하는 데 훈련이 필요하지 않은 걸까? 하는 생각까지 해봤다. 지금 시점에서 생각하면 얼마나 우스운 일인지… 이때부터 커리어에 대한 진지한 고민을 시작했다. 이 프로젝트가 마무리되더라도 똑같은 일이 반복될 것 같았다. 그렇다면, 성장할 수 없는 데다가 코드를 리팩터링하지 않고 만드는 것에만 급급한 습관이 내 몸에 스며들 것 같았다.
사람 일은 어떻게 될지 모른다는 불안감에 틈틈이 개발자 시장 상황을 살피던 중 우연히도 팀블라인드 회사를 알게 되었다. 당시 근무하던 회사와 비슷한 기술 스택을 사용하고 있었다. Vue.js를 사용하고 Node.js 기반으로 작업하고 있으니 이직하더라도 도메인 학습만 된다면 바로 업무를 할 수 있을 것 같다는 기대감이 들었다. 그리고 회사가 만들고 키우는 서비스를 보면서 ‘나도 서비스에 애착을 가지면서 성장할 수 있지 않을까?’ 하는 기대를 품게 되었다. 결국 나는 팀블라인드에 서버 개발자(Node.js)로 지원하여 입사하게 되었다.

팀블라인드에 합류하기로 한 이유

 직장 문화 현대화를 위한 사명에 동참

블라인드 커뮤니티에서는 내가 소속한 회사가 보이고 익명 사용자로서 소통할 수 있는 공간을 제공해 준다. 이 공간에서 사내 부조리한 일들이 어떻게 벌어졌는지 공론의 장이 된다. 그중 몇몇 충격적인 사건은 몇 번 방송을 타거나 뉴스 기사로 올라오기도 한다. 파급력이 커지면서 회사원이라면 대개 이 커뮤니티에 가입할 것이다. 나는 공직자로 생활한 적이 있는데 2010년대에도 고위직 공무원들이 “관습”을 핑계로 부조리한 일을 저지르는 것을 봤다. 1980년대에 머물러 있는 퇴폐적 직장 문화가 현대화되길 바라는 마음이 있었던 것 같다. 그래서인지 이 회사가 계속해서 눈에 밟혔고 내가 구성원으로 합류하게 된다면 좀 더 나은 사회를 만드는 데 기여할 수 있을 것 같았다. 물론 혹자는 익명이라고는 하지만, 지켜질지에 의문을 품는 사람들도 있을 거다. 나도 그런 생각을 품었던 적이 있다. 실제로 공직에서는 익명으로 설문을 진행하지만, 사실 추적하면 다 나온다는 우스갯소리가 돌기도 했다. 그만큼 익명성이 지켜지기 힘들기는 했다. 이런 구시대적 사회를 경험하고 나온바, 나도 그 부분이 걱정됐다. 하지만 블라인드는 “잃어버리면 안 되는 것은 가지고 있지 않는다.”는 보안 철학을 가지고 있었는데 그걸 믿어보기로 했다. 경험해 보니 실제로도 그랬다.

 나에 대한 뜨거운 관심

정말 신기한 것은 2021년까지 나에게 가장 많은 관심을 보여주었던 회사였다. 인터뷰에서는 같이 일하게 될 팀원 분들이 들어오셔서 이런 저런 물음을 주셨다. 나의 이력서에 밑줄까지 쳐 오시고 궁금한 점을 하나 하나 물어 주셨다. 누군가는 “그게 뭐 대수라고”라고 생각할 수도 있다. 하지만, 내가 공무원을 했다가 때려 치우고 첫 커리어를 내딛기 위해 개발자로서 면접장에 들어섰는데도 이걸 안 물어보는 회사도 있었다. 서로의 관심이라는 것을 중요하게 느꼈던 터라 팀블라인드에서도 내게 관심을 가져주지 않으면 어떡할까 하는 걱정도 있었다. 그런 걱정이 무색하게도 인터뷰에서는 블로그에 쓴 글까지 꺼내 질문해 주셨는데 사람을 뽑는 것에 진심이라는 것이 느껴졌다. 심지어 블로그에 왜 글이 안 올라오냐는 질문까지 받았다. 지원자일 뿐인데도 이렇게 많은 준비를 해 오신 것이 인터뷰 자리에서 보였다. 긍정적으로든 부정적으로든 일을 하는 데 동료가 영향을 가장 많이 끼친다고 생각했는데 팀블라인드 동료와 함께라면 일상이 즐거울 것 같았다. 실제로도 그랬다.

입사 첫 날의 감동과 기대했던 점

그동안 일방적인 합격 통보 메일과 입사 안내 메일은 받아봤어도 이렇게 회사 구성원 한 분으로부터 한 사람을 대한다는 느낌을 받아 본 경우는 처음이다. 오퍼 수락 후 친절하게 챙겨주시는 직원분의 따뜻한 메일에 입사하기로 나의 결정은 공고해져 간 채 입사 첫 날이 다가오게 되는데…

 태어나서 처음으로 경험한 맥북

“M1이 뭐예요?” 실제로 내가 한 말이다. 애플 제품은 워낙 고가의 제품이기 때문에 귀여운 내 월급으로는 엄두가 안 났다. 하다못해 그 폐쇄적인 생태계를 비집고 들어가려면 맥북뿐 아니라 아이패드, 아이폰까지 우르르 장만하게 될 것 같아서 일단 쳐다도 안 봤다. 그래서 스타트업에서는 맥북 장비를 지급하는 것은 알고 있었지만, 실제로 내가 맥북을 사용하게 될 줄은 꿈에도 몰랐다. 물론 리눅스 운영체제는 많이 다뤄봤으니 적응하는 데는 그다지 어렵지는 않았지만, 당시 애플 칩이 나올 초창기여서 호환성 이슈가 좀 있었다.
난생 처음으로 맥북 상자를 들어봤다.

 재택근무를 기반으로 운영되는 개발 조직

2021년 감염병의 위험이 커져 지금은 상상조차 할 수 없는 일이었던 “O명 이상 집합 금지”. 감염병의 확산 방지를 이유로 헬스장이 강제로 임시폐쇄되고 접종자만 출입할 수 있는 시기가 있었다. 다행히도 지금은 코로나 사태가 종식되었지만, 당시만 하더라도 출퇴근할 때 혹시 바이러스에 감염되는 것은 아닐까? 하는 께름한 면도 있었다. 이전의 회사에서는 옆자리에 있더라도 메신저로 소통하는 경우도 일반적이었는데 글로 서로의 의도만 잘 전달된다고 하면 굳이 사무실에 출근할 필요가 있는지에 관한 의문도 있었다. 그래서 더욱 재택을 강조하는 팀블라인드의 기조에 격하게 공감했다. 항상 재택이 효과적인 업무 효율을 발휘하는 것은 아니었지만, 상당한 장점이 있었다고 생각한다. 특히, 침대 앞 독서실 책상에 앉아 하루 10시간가량 꼬박 공부했던 내게는 자취방에 마련한 책상 위에 앉아 일거리를 쳐 내는 일은 그저 평범한 일이었다.

다양한 팀원과의 협업

기존에는 기획자가 기획, 디자인, QA, 배포 감독까지 맡는 구조였다. 그런데 블라인드 조직에서는 PM, QA 엔지니어, 퍼블리셔, 모바일 앱 개발자, 데이터 엔지니어 분들과 협업할 수 있는 기회가 있었다. 서비스 하나를 개발하고 유지하고 고도화하기 위해서 다양한 인력이 필요하다는 것을 이곳에서 실감했다. 다양한 분야의 사람과 만나면서 어떻게 이야기하면 보다 나의 생각을 고스란히 전달할 수 있을지, 잘못 이해하게 되는 여지는 어떻게 줄일 수 있는지 고민할 수 있었던 자리였다.

 다채로운 개성과 역량을 지닌 동료

보통 단순한 게시판 서비스는 백엔드, 프런트엔드, 1개의 데이터베이스 이렇게 3가지로 구성된다. 한국, 미국 통틀어 800만 명 이상의 직장인이 사용하는 ‘블라인드’ 서비스는 단순한 게시판과 인프라가 동일할까? 당연히 아니었다. 관리자페이지에서 실제 서버 게시글을 모니터링해야 하는 경우가 있었다. 작업을 하는 도중 새로고침하면 내가 이전에 봤던 게시글은 다음 페이지로 글이 몇 초 만에도 밀려난 경우도 있다. 이러한 트래픽에도 안전하게 서비스를 지탱하기 위해서는 관계형 데이터베이스, 검색을 최적화하기 위한 ElasticSearch, 읽기 성능 증대를 위해 사용하는 인-메모리 데이터베이스 Redis, Couchbase, 실시간 데이터 스트리밍을 위한 Kafka 등등.. 정말 많은 플랫폼을 이용해야 한다. 이런 플랫폼을 각각 잘 다루시는 동료분들이 협업하는 형태로 업무가 진행됐다. 특히, 하나의 이슈를 쳐 내려면 여러 개의 플랫폼에 대한 학습이 필요한데 이때 검색으로 해결되지 않는 정보는 서버팀 여러 동료분들께 문의드리면서 차분히 업무를 진행할 수 있었다.

550만 명이 이용하는 서비스에 대한 자부심

내가 블라인드 앱 서비스를 처음부터 기획하고 개발한 것이 절대 아닌데!!!도 불구하고 소속감을 느낄 수 있다. 많은 이용자가 내가 몸을 담고 있는 회사의 서비스를 이용한다는 것 자체에서 자부심을 느끼게 된다. 당시만 하더라도 550만 이용자라고 했는데 2023년인 지금은 800만이 이용한다고 한다.
2022년 1월, 팀블라인드 대표님이 유퀴즈에 나오신 적이 있다. 시니어 동료분들은 긴장하는 눈치셨다. 아니나 다를까 방송을 타자마자 우리 회사가 소개되었고 빠르게 앱의 이용률이 증가하는 것을 CloudWatch로 실시간 눈팅할 수 있었다. 트래픽도 증가할 뿐만 아니라 가입자가 증가하는 광경도 목격할 수 있었다. 심지어, 트래픽이 늘어나면서 비효율적으로 작동하는 코드에 관해서도 살필 수 있었고 그러한 부분들 역시 시니어 개발자분들이 빠르게 대응하시는 모습을 슬랙 메신저 모니터링을 통해 확인할 수 있었다.

 사용자의 빠른 피드백 경험

내가 던진 농구공이 골대에 들어갔는지 한 달 뒤에 결과를 알 수 있다면 빠르게 농구 실력을 올릴 수 있을까? TDD는 빠른 주기로 피드백 받고 리팩터링하며 점진적인 코드를 개선하는 작업이다. 마찬가지로, 기획대로 서비스를 개발하여 배포하면 사용자의 빠른 피드백을 확인할 수 있는 것이 팀블라인드만의 장점이었다. 그래서 버그가 있을 때나 불편한 점이 게시글로 올라오는 상황을 목격한 경우도 있었다. 이러한 불편한 점을 개선하는 작업을 맡았는데 배포한 뒤에 이러한 개선점을 사용자에게 빠르게 피드백을 받았을 때 보람을 느낄 수 있어서 좋았다.

 학습하기 쉬운 친숙한 도메인

이전 회사에서 만드는 웹 프로젝트는 통신사 임직원이 사용하는 프로그램이었다. 그래서 도메인을 일부 학습하기는 했었는데 정말 결괏값을 뽑아내기 위한 학습이었지, 어떠한 연유에서 이러한 결괏값이 나오는지는 알 수 없었다. 하지만, 블라인드 서비스는 내가 사용자로서 앱을 이용하면서도 도메인을 어느 정도 학습할 수 있다는 장점이 있다. 물어보는 것에 두려움이 많은 나로서는 굉장한 장점이었다. 또한, 상식선 상에서 고민하더라도 내가 이용할 때 나타난 결괏값이 버그인지 아닌지 판단하는 것도 수월했다. 커뮤니티를 개발하는 개발자로서, 이용하는 고객의 입장을 드나들며 도메인을 학습할 수 있다는 것은 내게 가장 큰 장점이었다.

마치며

SI회사에서 팀블라인드로 넘어오면서 많은 경험을 하게 된 회사였다. 팀블라인드에서 대규모 서비스를 경험하면서 시야의 폭을 넓히게 된 계기였다. 특히, 다양한 직무에 종사하는 동료들과 소통하면서 협업을 어떻게 하면 좋을지에 관해서도 고민할 수 있었다. 게다가 개발자 조직은 재택 기반으로 운영되다 보니 소통은 회의를 제외하면 주로 문자로만 이루어지는 상황에서 소통은 굉장히 중요한 부분이었다. 경험했던 내용을 기반으로 팀블라인드 회사에서 경험한 짤막한 에피소드를 다뤄 볼 예정이다.