Automattic의 채용 과정

한 자바스크립트 엔지니어의 입사기

간단하게 결론부터 말하면 나는 지난 6월 27일자로 Automattic에 입사하여 현재까지 거의 6개월간 일했다. Automattic은 회사 이름보다는 워드프레스(WordPress)라는 제품으로 더 잘 알려져있는 기업이며, 대략 500여명 가량의 전 직원이 모두 리모트 워킹으로 일하는 것으로 유명하다. 어쩌다가 한국에서는 처음으로 이 회사에 입사하게 되었지만, 나도 적응하느라 시간이 필요했던데다가 나의 경험이 그리 특별하다 생각하지 않았기에 그 동안은 이에 대한 기록을 굳이 남겨야겠다는 생각이 없었다. 하지만 우리 회사에 입사하기를 원하는 몇몇 분들이 개인적으로 문의를 주셨고 그 질문에 비슷한 점이 있었기에 내가 전해줄 수 있는 부분에 대해서는 정리를 해두는 편이 좋겠다는 생각이 들었다.

면책 조항: 이 글은 내가 올해 초 자바스크립트 엔지니어로 지원하며 겪었던 채용 과정이므로 다른 직군, 다른 담당자에는 맞지 않을 수 있다. 어쩌면 같은 직군이라 해도 지원 시기마다 다른 방식으로 진행될 수도 있다.

결론

  • 채용 공고를 잘 살펴보자. 지원 시기, 지원 자격, 심지어 면접 질문까지 엿볼 수 있다.
  • 일을 할 때는 항상 “왜”를 생각하는 습관을 들이자.
  • 채용 과정이 꽤 오래 지속되므로 여유를 가지고 계획을 세워야 한다.

지원

나는 이미 10년쯤 워드프레스를 내 블로그로 사용해왔기에 Automattic이라는 이름 자체는 이미 알고 있었다. 그렇지만 지원할 회사로서 Automattic을 눈여겨 보게 된 건 아마 2년쯤 됐던 것 같다. 나는 당장 이직할 생각이 없더라도 다음에 이직할 회사 혹은 목표한 회사의 채용공고를 눈여겨 봐두고 그에 맞춰 공부를 해두는 것이 좋다는 말을 종종 하고 다녔는데, 나에게는 바로 그 목표 회사가 Automattic이었다. 당시 나는 Fancy라는 뉴욕 기반 스타트업에서 리모트 워킹으로 일하고 있었는데 리모트 워킹이라는 방식이 나에게 잘 맞았기 때문에 다음 회사도 리모트 워킹하는 회사이기를 바랐고, 그런 회사 중에는 Automattic이 가장 유명한 편이었으며 PHP 개발자에서 JS 개발자로 전향한 내 커리어에도 잘 맞았기 때문이었다. 참고로 또 다른 후보 중 하나로는 Buffer라는 곳이 있었다.

그렇게 지켜보고 있던 어느날, 정확히는 작년 11월경 Automattic에서 Calypso라는 프로젝트를 발표했다. Calypso는 간단히 말해 Node.js와 React 기술을 사용한 워드프레스의 새로운 관리자 인터페이스인데, 여기에 사용된 기술 스택 그러니까 Node.js, React, PHP는 내가 잘 사용하고 있었고, 그러한 사실을 충분히 증명할 수 있었다. 예를 들어, 나는 Node.js 재단 공식 한국어 팀의 일원이며, React Korea라는 페이스북 그룹의 운영진이었다. 게다가 다행히 Jindo 자바스크립트 프레임워크, 스마트 에디터, XpressEngine 등 내가 참여했던 프로젝트는 여전히 유지되고 있던 게 많았고, JS 관련 등록 특허도 2건이 존재했다. 채용 공고에서 자바스크립트 개발자에게 요구하는 기술 스택 또한 Calypso의 기술 스택과 일치했다. 워드프레스라는 오픈소스 프로젝트가 더 유명한 기업인만큼 오픈소스에 대한 애정(“A love of Open Source software”)이라는 자격도 채용 공고에 있었는데, Node.js 초창기에 몇 가지 확장 기능을 만들어 공개한 적도 있고 Atom 에디터에 기여해서 감사 패치를 받은 적도 있었으며 네이버에서 작업했던 여러 프로젝트 또한 오픈소스로 공개되어 있는 상태였기에 이 부분도 문제가 없겠다 싶었다.

채용 공고를 보고 알 수 있는 다른 사실은 채용하는 포지션이 거의 전부라 해도 좋을 정도로 많았다는 것이다. 기업이 덩치를 키울 때 주로 일어나는 일인데, 과거 네이버가 덩치를 키울 때 입사하고 2배 가량 인력이 늘어나는 걸 보아왔던 내 경험에 비추어 볼 때 이런 시기에는 아무래도 입사가 더 수월해지기 마련이다. 지금이 지원할 때라는 생각이 들어 부랴부랴 이력서를 정리해서 제출했다. 1월 중순 경이었다. 이력서와 함께 제출하는 메일에는 별로 대단한 말을 쓰지 않았다. 사실 외국 기업에 이런 방식으로 이력서를 제출해 본 게 처음이었기 때문에 어떤 말을 써야할지 잘 모르기도 했고, 채용 공고에도 이력서를 짧은 메일과 함께 보내라고 했으므로 그대로 따르기로 했다.

메일에 썼던 내용이라고는 내 이력서를 눈여겨 봐달라 정도의 간단한 문장과 날 뽑으면 이러이러한 이점이 있을 것이라며 짤막하게 불릿 포인트로 정리한 목록이 전부였다.

Automattic의 채용 과정에 관한 개요는 Automattic에서 일했던 분이 작성한 Automattic’s remote hiring process(링크)라는 글을 참고했다. 글의 앞 부분에는 어쩌면 현재와 맞지 않을 수 있다고 해놓았지만 내 경험도 그 글과 크게 다르지 않았으므로 이 글과 함께 읽기를 추천한다.

면접

지원 메일을 보낸지 3주가 지나서야 연락이 왔다. 그 사이 메일을 받기는 한 건지, 연락이 오기는 오는 건지 불안함도 있었지만 “늦더라도 반드시 답장은 준다”라고 했던 말을 믿고 기다렸다. 메일은 Nikolay라는 이로부터 왔는데 자신이 내 면접 담당으로 정해졌으며 괜찮은 시간을 잡아서 Slack에서 보자는 것이었다. 언제쯤 시간이 괜찮다고 보내고 다시 1주일이 지난 후에 인터뷰를 진행할 수 있었다.

Automattic의 모든 채용 과정은 텍스트로만 이루어지는데(예전엔 전화도 했었다고 함) 당연히 면접도 텍스트, 조금 더 자세히 말하면 Slack 챗으로 이루어졌다. 질문의 내용은 일반적인 면접과 비슷했다. 내 이력서를 보고 그 전에 했던 프로젝트에 관해 질문하고 프로젝트를 하면서 어떤 문제를 겪었는지 그리고 어떻게 해결했는지, 프론트엔드 개발의 주요 문제는 무엇인지 등이었다. 그 외 Automattic은 어떻게 알게 되었는지, 왜 지원하게 되었는지, 워드프레스는 사용해봤는지와 같은 일반적인 질문도 곁들여졌다. 조금 특별했던 질문이라면 리모트 환경에 익숙한지, 1년에 2개월은 여행을 다녀야할텐데 괜찮은지 정도였다.

여행 부분에 대해서는 조금 뒤에 얘기하기로 하고, 리모트 워킹 부분을 먼저 얘기해보자. Automattic은 분명 좋은 회사지만, 리모트 워킹 환경에 익숙하지 않은 사람 중 일부는 초기 몇 개월을 견디지 못하고 퇴사한다고 한다. 그래서 멘토, 팀 리드, 그 밖의 동료들로부터 가장 많이 들었던 질문 중 하나가 “리모트 워킹 환경에서 일하는 건 어때?”라는 거였다. 나는 Automattic에 지원하기 전 4년간 리모트 워킹으로 일했으며 리모트 워킹 환경때문에 Automattic에 지원했을만큼 잘 적응되어 있었으므로 이 부분을 강하게 어필했다. “벌써 4년이나 경험해봤고 나에겐 잘 맞는다”라고. 리모트 워킹을 경험해 본 적이 없다면 집에서 일하면 편하고 좋겠다고 막연하게 생각하기 쉽다. 나 역시 그랬지만 실제 경험한 리모트 워킹은 생각보다 편한 동시에 생각보다 어려운 점도 많았다. 스스로 자신의 스케줄을 온전히 전부 관리하거나 아무도 없는 공간에서 혼자 일한다는 건 의외로 힘들 수 있다. 따라서 지원하기 전에 이 부분에 관해 현실적으로 고민해보기를 추천한다.

나름 꾸준히 경력관리를 하며 살아온 덕인지 기술적인 부분에 관해서는 크게 질문이 없었다. 게다가 면접을 기다리는 동안 Calypso 프로젝트에 작은 Pull Request도 두 개 보내 둔 상태였다. 오픈소스로 공개된 Calypso에 관심을 보임으로써 내가 Automattic과 Open Source에 관심이 많다는 것을 동시에 어필할 수 있는 방법이었다. 그렇다고 공을 많이 들인 것도 아니었다. 모든 프로젝트가 그렇듯 Calypso 역시 초기엔 오타나 사소한 실수와 같은 고치기 쉬운 버그가 많았기 때문에 간단히 몇 번 사용해보고 문제점을 찾아서 개선했을 뿐이었다. 면접을 진행하는 동안 내 면접 담당인 Nikolay는 React.conf 2016에서 Calypso에 관해 발표했었는데 그 발표에서 Nikolay는 Calypso에 직원 아닌 사람들이 100개 이상의 PR(기억으로는 당시 101개 정도였던 듯)을 보냈다고 말했다. 이후 면접을 진행할 때 나는 그에게 너의 발표를 봤노라며 그 PR 숫자 중 2개는 내 거라고 어필했다.

그게 통했는지 어땠는지는 모르겠지만 적어도 내가 열정적인 지원자라는 점을 보여주는데는 도움이 되었으리라 짐작한다. Nikolay의 발표 정보는 Automattic 트위터 계정에서 본 것이었다. 어떤 회사에 지원한다면 그 회사가 현재 진행 중인 일에 관해서는 대충이라도 알아야 하겠다는 생각에 지원과 동시에 팔로잉을 하기 시작했는데 그게 도움이 되었던 것이다.

혹시 이 글을 읽는 분들 중 영어에 관해 걱정이 된다면 물론 기본적인 준비는 해두는 게 좋겠지만 너무 크게는 고민하지 않아도 된다고 말하고 싶다. 이 글을 쓰면서 지난 채팅 기록을 살펴봤더니 내 답변 역시 문법 실수가 군데군데 눈에 띄었다. 채팅하던 당시 상대를 너무 기다리게 하지 않아야 한다는 조급함에 급하게 답변을 쓰다보니 미처 점검하지 못했던 실수가 있었던 것이다. 때문에 “기술적인 기반은 훌륭한데, 영어 커뮤니케이션이 100% 클리어하진 않은 것 같다”는 평을 들었는데 그럼에도 다음 단계로 갈 수 있는 기회는 얻었으니 말이다.

코딩 테스트

면접 과정이 끝나면 그 다음에는 간단한 코딩 테스트가 있다. 나는 아주 오래 전에 유지보수가 중단된 워드프레스 플러그인 개선을 과제로 받았다. 해당 워드프레스 플러그인은 PHP로 작성해야 했는데 나는 자바스크립트 엔지니어로 지원했기 때문에 조금 의외였다. 면접 담당은 그에 대해 “익숙하지 않은 환경을 접했을 때 어떻게 개발하는지 보려고 그래”라고 설명해주었는데 다행히 나는 PHP에도 워드프레스 플러그인에도 익숙했다. 10년간 워드프레스 블로그를 운영하고 있으며 PHP 개발자이기도 했고(내 나름대로는 PHP를 꽤 잘했다고 생각한다) 가끔 내 블로그에 필요한 플러그인 정도는 만들어 썼기 때문에 코딩 테스트 삼아 일주일이 주어지는 과제 정도는 어렵지 않게 완성할 수 있었다.

그렇지만 마냥 쉬웠던 것은 아니다. Automattic의 PHP 코딩 스탠다드를 완전히 준수해야 했으므로 계속 점검해가며 코딩했었고, 플러그인을 어떻게 개선해야 할 지 전혀 알려주지 않았기 때문에 내가 스스로 기획해야 했으며, 널리 권장되는 방법대로 커밋을 가능하면 작은 단위로 쪼개서 하려고 했으며 동시에 편하지 않은 영어로 커밋 메시지를 문법적 오류없이 쓰느라 코딩 외적으로 소모되는 시간이 적잖았다. 앞서 말했듯 면접을 진행하는 동안 영어 커뮤니케이션에 관한 지적을 한 번 들었기 때문에 커밋 메시지 등에 더 신경쓸 수 밖에 없었다. 확신이 들 때까지 몇 번이나 고치고 점검하길 반복하곤 했다.

결과물을 완성한 후에는 기획 방향이나 구현 방법의 이유를 설명해야 했다. 당연히 영어로. 다행이라면 모든 질문과 답변이 텍스트로 이루어졌다는 점이었지만 그렇다 해도 이 정도 규모의 작은 작업은 직관에 의존해서 해오느라 “왜”라는 질문에 익숙하지 않던 나에게 질문에 답하는 건 쉽지 않았다. 아마 나뿐만 아니라 많은 한국 개발자들도 같은 어려움을 겪을 거라 생각한다.

내 경우 코딩 테스트는 1차까지만 있었는데 전에 검색했을 때 2차 코딩테스트도 있다는 글을 본 적이 있다. 앞서 말했듯 상세한 채용 과정은 직군마다 또는 담당자마다 다를 수 있다.

트라이얼

여기까지 통과하고 나면 몇 가지 계약서를 작성하고 트라이얼 프로젝트를 진행해야 한다. Automattic의 트라이얼 과정은 시급 $25를 주며 진행된다. 월말이 되면 자신이 인보이스(invoice)를 보내서 시급을 청구하고 Automattic이 이를 통장으로 보내주는 식이다. 시급은 직군에 상관없이 일괄 책정이며 이후 협상할 연봉과는 무관하다. 작업 시간을 측정하는 도구가 따로 있는 것은 아니기 때문에 자신이 스스로 작업 시간을 측정해서 청구하면 된다. 속이고 실제보다 더 많이 청구할 수도 있지 않냐라고 질문하는 분도 있었는데, 그렇다면 작업한 시간에 비해 효율이 떨어지는 꼴이 될테니 Automattic에 입사하고 싶은 사람이라면 작업 시간을 줄이면 줄였지 늘리진 않을 거라고 답한 적이 있다.

트라이얼은 대체로 한 달 동안 진행되는데, Automattic에 지원하는 사람 대부분은 다른 직업이 있는 상태로 지원하기 때문에 실제 작업 시간은 그리 많지 않다. 내 경우 한 달 정도 진행된 트라이얼 기간 동안 고작 45시간을 일했을 뿐이었다. 물론, 가능하다면 더 많이 작업할 수도 있었겠지만 이 때도 실제 작업 시간보다는 외적으로 소요되는 시간(예를 들면 영작…)이 더 많았다.

트라이얼에서 주어지는 프로젝트는 실제로 Automattic에서 진행 중인 프로젝트의 일부이기 때문에, 설득과 방어 스킬이 굉장히 많이 필요했다. 한 가지 기능을 만들어놓고 나면 이건 문제가 있을 수 있다거나 수정해야 한다는 의견들이 나오는데 토론을 통해 어떤 것은 받아들이고 또 어떤 것은 내 의지를 관철해야 했다. Automattic은 전 직원이 리모트로 일을 하며 “Communication is oxygen”이라는 사내 격언(?)이 있을 정도로 커뮤니케이션을 중시하는 회사이다. 따라서 어떤 의견이든 내가 충분히 고려했으며 그 결과 이러이러한 사유로 수용/조정/반려하기로 했다는 사실을 알려주어야 하며 혹시 답이 늦어질 것 같으면 중간중간 이 부분은 계속 살펴보고 있다, 언제까지 답을 주겠다는 표현을 해주는 게 좋다. 적어도 개발 능력과 커뮤니케이션에 관해서는 지적이 안 나오게 하는 게 중요하다.

앞서 내가 작성한 PR을 진행하는 동안 Calypso에도 많은 변화가 있었고 내가 그 후 채용이 되버리면서 팀 작업에 전념하느라 바빴던 덕분에 결국 내 PR은 Calypso 프로젝트에 반영되지 못하고 그대로 버려졌다. 하지만, 적어도 당시의 치열했던(?) 현장을 엿볼 수는 있을 거라는 생각에 애증의 PR #4821을 링크해본다.

최종 면접

여기까지 통과하고 나면 드디어 마지막 관문인 최종 면접이다. 앞서 링크한 채용 과정에 관한 글에 따르면 최종 면접 과정에 도달한 사람 중 93%가 통과하는, 그러니까 의례적인 과정이다. 하지만 반대로 말하면 7%는 떨어지기도 한다는 뜻이므로 긴장을 늦출 수는 없었다. 최종 면접은 CEO인 Matt Mullenweg가 직접 진행하는데, Matt의 초반 질문은 첫 번째 면접과 크게 다르지 않다. 어떻게 Automattic을 알게 되었는지, 왜 지원하게 되었는지, 트라이얼에서는 어떤 작업을 했는지, 그 트라이얼 작업은 왜 필요했던 건지, 뭐가 어려웠는지 등에 관한 질문을 했었다. 리모트 워킹 환경에 대해서도 질문을 하는데, 잘 적응할 수 있는지 경험이 있는지 경험이 있다면 어려운 점은 무엇인지, 시간 관리는 어떻게 하는지 등에 관해 질문했다.

그 모든 질문에 잘 통과했다면 가장 마지막 단계는 연봉 협상이다. 얼마를 받고 싶은지 말해보라는데 연봉협상은 대개 그렇듯 전에 받았던 급여가 기준이 된다. 나는 이미 전 직장이 미국 회사였기 때문에 크게 어려움이 없었는데, 한국 직장에 있다가 옮기는 분들이라면 연봉 협상 전에 반드시 고려해야 할 점이 몇 가지 있다.

  1. 국내 법인이 없으므로 세금 신고와 납부를 스스로 해야한다. 소득세 구간, 신고 방법 등을 꼼꼼히 조사해두어야 한다.
  2. 의료 보험, 국민 연금이 지역 가입자로 바뀌므로 금액을 더 많이 내야한다.
  3. 기존 직장에서 받던 여러 복지를 받을 수 없다.

따라서 위의 3가지까지 연봉에 포함시켜 보상을 받는 편이 좋다. 사실 이는 내가 처음 미국 회사에 입사시 협상할 때 썼던 방법인데 저런 부분을 고려하지 않았더라면 수입이 더 줄어 든 효과가 됐을 것이다. 연봉 협상과 근무일까지 정했다면 드디어 모든 입사 과정이 끝나고 입사 확정 메일을 기다리면 된다. 내 경우에는 맷과 채팅한 후 바로 다음날 메일이 왔었다.

입사 이후…

모든 직원은 입사 후 처음 3주간 고객 지원 업무를 경험한다. 해당 업무에 필요한 도구 사용법을 배우고 실제로 고객들을 사내 시스템과 실시간 채팅을 통해 만나고 문제를 해결해준다. 이를 통해 고객들이 실제로 겪는 문제가 무엇인지 확인하고 나중에 업무에도 충분히 반영하라는 뜻이다. 때문에 모든 직원은 최초 입사시에는 3주 그 후에는 1년에 1주일 정도 지원 업무를 경험해본다.

입사 후 겪는 Automattic은 지금껏 경험했던 그 어떤 기업과도 달랐다. 모든 체계가 리모트 워킹을 위해 최적화되어 있으며 독특한 문화가 존재했고 굉장히 자유분방하다. 일례로 휴가 일수가 따로 없는 자율 휴가제를 시행하고 있는데 정말 말 그대로 자율이라 누가 언제 휴가를 쓰든 특별한 일정과 겹치는 게 아니라면(예정된 team meetup 등) 묻지도 따지지도 않는다. 컨퍼런스에 참여하느라, meetup에 다녀오면서 시차 적응하느라, 딸의 보모가 오늘 휴가라, 아들의 독감이 심해서 내가 돌봐줘야 해서, 동생 가족을 만나러 가느라 혹은 그냥 휴가를 즐기고 싶어서 다양한 이유로 휴가를 사용할 수 있다.

문화에 관해 더 자세히 알고 싶다면 Automattic의 문화를 그려낸 The Year Without Pants를 읽어보길 추천한다. 인사팀에서 입사 선물로 보내줄만큼 Automattic 직원이라면 널리 읽는 책이기도 하다. 참고로 제이펍에서 출간한 “바지 벗고 일하면 안되나요?”라는 제목의 (번역서)도 있다.

마치며

여기까지가 내가 Automattic에 입사하게 된 과정이다. 앞서 말했듯 어쩌면 나에게만 해당하는 일반적이지 않은 경험일지도 모르겠다. 지금은 만족스러운 직장 생활을 하고 있지만, 처음 지원할 때만 해도 걱정이 많았다. 서류를 통과하기엔 충분할까 내 영어 실력으로 이들과 일한다는 게 가능할까 등 지원하지 말아야 할 여러 가지 이유가 떠올랐다. 그러다가 ‘떨어지면 뭐 어떤가. 다시 지원해도 된다던데. 그리고 그 과정에서 배우는 게 있겠지’라는 생각에 어쩌면 조금은 무모하게 도전을 해보았다.

지금 이 글을 읽는 분들에게 해주고 싶은 말도 그렇다. Automattic은 지금 채용 중입니다.

  1. 안녕하세요.
    블로그는 아주 오랜만에 들르는 것 같네요.
    mygony 사이트 시절 꽤 자주 들락거렸는데, 10년 전 네이버에서 개발자 행사할 때 스마트 에디터에 관해 잠깐 이야기 나누었던 기억이 납니다. 당시 h1, h2 같은 제목 태그 기능을 에디터에 넣는 건 어떻겠느냐고 얘기했던 것 같네요.

    아무튼 글이 매우 흥미로워서 정독했습니다.
    재택근무라는 게 어찌보면 편해 보이지만 한편으론 자기 관리도 해야 하고 당장 의견을 나눌 사람이 옆에 없는 불편함 등도 있겠죠. 지금은 입사한 지 1년이 넘었겠네요.

    저는 개발자를 그만둔 지 오래 되었습니다.
    가끔 예전에 알던 개발자들이 지금도 개발을 하고 있을까 궁금해서 검색해보곤 하는데 자바스크립트 개발자로 전향하셨었군요. 프론트엔드 전문가의 길이 그리 쉽진 않았을 것 같습니다만, 꾸준하고 열정적으로 개발하는 모습이 부럽습니다. 자바스크립트 정규표현식에 대한 글도 잘 봤습니다.

    때때로 내가 개발자를 계속했다면 어떻게 되었을까 싶긴 합니다.
    느린 듯하면서도 빠르게 변하는 웹이라서 뒤따라가느라 벅차진 않았을까 싶기도 하고요.
    그래도 인상적인 개발자들의 흔적을 이렇게 나마 볼 수 있어서 좋네요. 더운 여름 건강하시길 바랍니다.

댓글을 남겨주세요