아틀라시안 취업후기

채용의 시작

올해 초에 아틀라시안의 리크루터로부터 연락이 왔습니다. 당시에 프로젝트가 한참 진행중이었고 특별한 불만이 없었기에 평소처럼 거절하려고 했지만, 지금까지 근무했던 모든 회사들이 아틀라시안의 제품들을 사용했기 때문에 자연스럽게 어느 정도의 불씨는 조금 남겨두고 싶었습니다. 리크루터에게 프로젝트 런칭하고 다시 연락 하겠다고 말한 뒤 잠시 잊고 있었습니다. 6개월쯤 뒤에 프로젝트 런치가 다가오면서 문서화나 프로젝트 관리 작업에 집중하는 기간이 되었습니다. 역시 아틀라시안 제품을 주로 사용해서 관리를 하게 되니 자연스럽게 이전의 약속이 생각나더군요. 사용자 경험이 너무 좋아서 떠오르건 아니고 Jira의 이슈 렌더링 속도가 느리거나, Confluence 검색의 결과가 만족스럽지 못했던 경험 때문이었습니다. (입사해보니 어느정도 이해는 되는 문제지만 고객에게 변명이 되진 않겠지요)

지원한 포지션은 시니어 자바 개발자(요샌 이렇게 노골적으로 언어를 박는 경우는 없을 듯 하네요. 입사하고는 코틀린을 사용합니다.)이며 기술 면접 프로세스가 문제풀이에만 집중하는 실리콘 밸리 스타일 이라기 보다는 먼 옛날 네이버나 쿠팡, 라인에서 보았던 면접과 비슷했습니다. 합격을 위해선 당장 마이크로서비스 환경에서 JVM 언어로 개발 경험 여부가 중요할 것 같습니다. 여기서 언급하는 프로세스는 시드니 오피스의 채용 이야기이고 실리콘밸리의 채용은 다르다고 알고 있습니다.

리크루터와 탐색전

어찌 됐던 그렇게 가볍게 리크루터와 30분간의 탐색전을 가졌습니다. 회사가 어떤 방향으로 움직이고 있고 어떤 팀들이 존재하며 리로케이션과 비자 관련된 이야기를 나눴습니다. 아틀라시안의 주력 상품인 JIRA는 설치해서 사용하는 고객들이 주를 이루고 있지만 미래는 클라우드 서비스를 메인으로 하려 한다며 저와 같은 서비스 개발 경험 있는 사람들을 찾는다고 이야기 했습니다. 다른 기업에서는 내부 정보로 잘 공개하지 않는 내용들도 주저없이 다 이야기 해서 놀랐는데 면접 내내 Open company, no bullshit 라는 기업 가치를 제대로 느꼈습니다. 지켜야할 내용들 이외에는(고객 데이터등) 비밀이 많이 없는 회사입니다.

1차 면접

일반적으로 1차 면접 전에 코딩 테스트가 존재하지만 저는 리크루터로부터 연락이 직접 온 경우라 그런지 코딩 테스트는 생략 된 듯 합니다. 1차 면접은 한시간에 걸친 페어 프로그래밍이었는데 문제가 적힌 PDF와 스켈레톤 프로젝트를 면접 전에 전달받습니다. 면접자가 편한 IDE로 프로젝트를 열고 1번에서 5번까지 문제를 해결해야 합니다. 계속 면접 관과 이야기 해가며 어떤 방향으로 구현해야 하는지 이야기 해야 하는데 면접 시간에 비해 너무 큰 그림을 그리고 있으면 너가 생각하는 방법도 좋지만 조금 더 간단하게 풀어보라고도 합니다. 아마 실전 경험 많으신 분들에게는 LeetCode나 경진대회 스타일의 문제보다 수월하게 해결 가능한 문제들입니다. 반대로 이전회사와 아틀라시안의 기술 스택이 일치하는 않는다면 면접이 힘들어 집니다. TDD 나 멀티 쓰레딩, 자바코어등 실전 경험이 얼마나 있는지를 면접에서 보고 싶어하는 느낌이었습니다. 코딩으로 문제 해결하는게 주된 목적이기 때문에 커뮤니케이션이 많이 필요하지는 않았습니다.

1차 면접 뒤 다음날 바로 연락이 왔고, 여러가지 좋은 점과 개선할 점을 다 알려주었습니다. 이렇게 자세한 피드백 역시 Open company라는 기업 가치에 맞는 행동이었고 지원자로서는 굉장히 좋은 인상을 받았습니다.

2차 면접

2차 면접은 역시 페어 프로그래밍 약간과 개발관련 질문들 다수를 이루는 기술 면접입니다. 개발자 2명이 참석하며 한시간 가량은 컴퓨터 공학 관련이나 아키텍쳐에 관련된 질문들을 하고 나머지 30분 정도는 앞 단계 보다는 가벼운 코딩 테스트 입니다. 한시간에 걸쳐 받은 질문들은 대략 다음과 같습니다.

  • 프로젝트 구성이나 사용하는 기술들에 관해 설명, 면접관이 잘 아는 주제에 대해서 이야기 하면 더 깊은 질문이 들어옵니다.
  • 가장 선호하는 언어와 이유, 자바에 추가되면 좋을 것 같은 기능
  • 확장성 있는 서비스 어떻게 설계하나,
  • 데드락이 무엇이며 어떻게 방지하는가
  • 서버 느려 졌을 때 프로파일링 하는 방법
  • JVM 메모리 관련 튜닝 경험들, JVM 메모리 구조에 대해서 설명해보라
  • 시큐어 코딩하는 방법. XSS등 웹 보안 취약점 설명하고 어떻게 막을 수 있는지

한시간에 걸쳐서 대답하는데 이 역시 JVM 기반으로 마이크로 서비스 개발해본 경험이 있고 관련 주제들에 대해서 깊게 생각해본적이 있다면 대답하기 어려준 주제들은 아닙니다. 역시 문제는 영어.. 😞 합격 할 때 받은 피드백에는 몇몇 주제에 대해서 논리가 부족했다는 식으로 이야기가 나오는데 아는 질문이었지만 영어때문에 취객처럼 횡설수설한 것 같습니다. 그렇게 질문 공세 한시간이 지나면 뜬금없이 코딩 문제를 던져줍니다. 자바로된 라이브러리를 작성해보라고 하는데 1차 면접보다 꼼꼼하게 작성할 필요는 없고 수도 코드 수준에서 작성했던 것 같습니다.

이번에도 1차 면접과 마찬가지로 다음날 바로 합격 연락과 함께 피드백은 보내줍니다. 다시한번 언급하지만 면접 과정 내내 피드백 루프가 빠르게, 숨기는 것이 없이 움직이는 오픈 컴퍼니라는 인상을 주었습니다. 개발 회사 면접을 여러번 보았지만 아틀라시안 처럼 솔직하게 피드백을 해주고 회사의 분위기가 면접 과정에 그대로 들어나는 회사는 없었습니다. (합격한게 아틀라시안 밖에 없어서 그럴 겁니다 아마도. 😂 )

리크루터 찬스

아마 2차 면접까지 보고 났으니 리크루터 입장에서는 합격할 가능성이 높아졌다고 판단한 것 같습니다. 짧게 30분 정도 지금 까지 경과와 다음 단계 들은 어떻게 진행 되는지에 대해서 알려 줍니다. 특히 다음 면접에서 떨어지는 사람들이 많다고 절대로 방심하지 말라는 이야기를 합니다.

3차 면접

3차 면접은 매니져 2명과 한시간, 시니어 매니져 한명과 30분 동안의 면접입니다. 아틀라시안은 팀 협업 도구를 만드는 회사이기 때문에 팀으로 일할 수 있는 사람들을 뽑습니다. 기술 면접에 비하면 쉽게 보일 수도 있습니다. 네, 사실 어떻게 보면 가장 쉬운 단계 라고도 할 수 있습니다. 특히 관련 업계에서 애자일로 개발하셨던 분들은 몸에 체득하고 계실 거라 그저 하던 대로 이야기하면 술술 풀릴 수 도 있습니다. 다만 더 논리적으로 이야기 하기 위해 이론적인 지식을 어느 정도 가지는 것이 좋습니다. 아래 더 읽기 영역에 도움이 될 만한 링크들을 추가합니다. 그냥 회사에서 시키는 데로 좋아서 했다 보다는 업계에서 누구나 동의하는 이유를 대는 것이 훨씬 설득력이 있겠죠. 아참, 매니져들도 개발에 문외한이 아니라 전부 얼마전까지 개발 하던 사람들이라 기술 관련된 질문도 받게 됩니다.

저도 3차는 그냥 지나가는 라운드라고 생각했지만 3차에서 끝나지 않고 매니져 한명과 한시간 더 면접을 하게 됩니다. 이번 면접의 시니어 매니져는 제가 질문한 내용에 관해서 너무 열정적으로 대답해줘서 동기부여가 됐습니다.

3.5차 면접

현재의 매니져와 한시간 가량 더 면접을 보게 되었습니다. 여러가지 인성 질문들과 함께 주로 협업 능력을 알아보는 질문들을 많이 받았습니다. 다른 시니어 개발자들과 어떻게 커뮤니케이션 하는지, 새로운 기술들을 어떻게 배우고 도입하는지 등, 기본적으로는 3차 면접의 연장선에 있지만 30분쯤 지난 시점에 합격이라는 느낌을 받았습니다. 어느 정도 눈치로 합격이란 걸 알게 되서 좋았습니다. 조금 웃긴 사실은 공식적으로 합격이라는 메일을 그 뒤로도 받은 적은 없습니다. 꼭 그걸 말로 해야 아나? 하는 느낌입니다. 보통은 합격 통보까지 적게는 2-3일 많게는 이주까지 걸렸는데 아틀라시안은 빨리 알게 되어서 굉장히 스트레스가 적었습니다. (합격자들의 공통된 경험일까요?)

요구하는 영어 수준

당연하지만 잘하면 잘할 수록 좋습니다. 영어가 안되면 합격이 문제가 아니라 넘어와서 생활 자체가 전혀 즐겁지 않을 수 있습니다. 일단 저는 토플 점수 100점 언저리인데, 힘들게 살아야 하는 점수입니다. 다만 100점 정도면 인터뷰는 합격할 수 있는 레벨이라고 봐야겠지요.

보상 수준

글래스도어에서 검색해 보시면 얼추 맞습니다. 이건 사실 전세계 공통이지만 숫자가 커보인다고 해서 여유롭게 지낼 수 있는 금액은 아닙니다. 어느 곳이나 살기 좋은 도시들은 이민자들로 넘쳐납니다. 시드니도 마찬가지로 동양계 이민자들(반 이상은 중국계)이 많이 늘어나서 생활비 대비 집값이 엄청나게 증가했습니다. 하지만 여기서도 소프트웨어 엔지니어는 일반적으로 나쁘지 않은 생활 수준을 누릴 수 있습니다.

더읽기

아틀라시안 취업후기

애플 페이 SRE 인터뷰 후기

애플 페이 지원계기

애플 페이 SRE로 지원해서 결과가 나오기 까지 두달간의 결과를 정리한다. 애플이 조직별로 (애플 맵, 애플 페이 등등) 채용과정이나 HR정책등이 많이 다르다고 알려졌지만,, 참고용으로 정리해둔다.

링크드인에서 애플페이 채용공고를 보고 자세히 알아보게 되었다. 동경에서 일할 SRE를 찾고 있었는데 JD에는 스마트 카드 관련 우대사항은 적혀 있지 않았다. 아마 관련 경력을 가진 사람이 적어서 쓰지 않았던 것 같다.

전 회사에서 SRE조직과 일을 한적이 있었는데, 전체 시스템을 버드아이 뷰로 보는 장점이 있어서 관심을 가지고 있었다. 거기에 애플페이라니, 스마트 카드업계에 있을때는 선망의 대상이었기 때문에 망설임 없이 지원하게 되었다.  그럼에도 SRE관련 경력이 전혀 없었기 때문에 큰 기대는 하고 있지 않았는데 3일뒤에 코디네이터로 부터 연락이 와서 롯폰기로 와달라고 했다. 다른 소프트웨어 회사와는 다르게 애플은 일정도 물어보지 않고 날짜를 미리 지정해서 통보했다. 이때부터 다른 소프트웨어 회사와는 분위기가 많이 다를 수 있겠다고 생각을 했다.  보통 소프트웨어 엔지니어 면접 시에는 어떤 질문을 할건지 지침등을 알려주는데 예상 질문도 전혀 없이 “I would recommend you to read up about ApplePay technology.” 라는 답장만 왔다.

애플 페이 1차 면접

1차 면접은 롯폰기에 있는 모리타워에서 인터뷰어 2명과 총 3시간 동안 면접을 진행했다. 첫번째 면접관은 라쿠텐 출신의 주니어 경력을 가진 다른 SRE였다.

  • 앤서블 사용여부
  • 이전회사 릴리즈 프로세스
  • 스플렁크 써본 경험? 로그 어떻게 조회하나?
  • SSL에서 대해서 설명해봐
  • Two way SSL에 대해서 설명해봐 (디테일한 그림 그림)
  • TCP/UDP 차이점
  • 로드 밸런싱
  • 자바카드에 대해서 설명
  • 기타 등등..

일하게 될 팀의 가장 막내 SRE인것 같 같은데 사실 지식이 그렇게 깊어 보이진 않았다. 아마 인원이 소수이라 채용이 드물기 때문에 프로세스가 세련된 느낌은 받지 못했다. 중간 중간 질문을 하고 위키나 구글에 검색해서 확인해보는 모양이었다. 운영체제, 네트워크, 데브옵스 관련된 지식을 사전에 정리 해둔게 나름 도움이 되었다.

https://jvns.ca/zines/

https://blog.balthazar-rouberol.com/preparing-the-sre-interview

http://blog.marc-seeger.de/2015/05/01/sre-interviews-in-silicon-valley/

https://medium.com/netflix-techblog/netflix-at-velocity-2015-linux-performance-tools-51964ddb81cf

두번째 면접관은 중국계 매니져였다. 채용되면 boss가 될 사람이었는데 신기하게도 SK C&C를 잘 알고 있고 관련 사업들에 대해서도 궁금해 했다. 내 스마트 카드 관련 경력을 보고 자기가 적극 추천해서 진행하게 되었다는데, 그 말을 아 1차는 통과 하겠구나 라는 생각이 들었다. JD에는 써있지 않지만 스마트 카드 관련 개발을 해보았다면 애플 페이 조직은 집처럼 느껴질 것이라고 했다. 그외 질문들은 다음과 같다.

  • SRE는 업무 진행 중간에 인터럽트가 걸릴 수 있다 괜찮아?
  • 온콜에 대해서 어떻게 생각?
  • 지금 회사 뭐가 마음에 안듬?
  • SE를 사용한 모바일 월렛 거래를 그림으로 설명해 보시오
  • ISD가 다른 SD 영역에 접근할 수 있나? (스마트 카드 관련 질문)
  • 자바 해시맵 구현에 대해서 이야기 해봐
  • ECC 에 대해서 설명해봐

3시간의 인터뷰 였지만 사실 내가 예상 했던 것과는 달리 기술적인 질문들이 그렇게 전문적이진 않았다. 아마 SRE + 스마트 카드라는 특수한 조합 때문이라고 생각한다. 어쨌던 면접 본후 3일뒤 다음 면접 연락이 왔다.

애플페이 2차 면접

매니져 한명과 팀원이 2인 1조로 인터뷰를 가졌는데 매니져는 거의 대부분 인성 관련 질문을 했고 나머지 SRE는 본인도 입사한지 얼마 되지 않았다며 주로 이전 직장 관련 질문을 했다.

  • 배포 프로세스 설명해보라
  • 로그 저장, 처리에 대해서 설명해보라
  • 왜 컴퓨터 공학을 전공했나?
  • 첫번째 이직과 두번쨰 이직의 이유

몇일 뒤 미국의 시니어 매니져와 폰인터뷰를 가졌다. 번호가 표시되지 않는 페이스타임 음성 전화로 오전 9시에 40분 가량 이야기를 나눴다.

  • 여태까지 한일에 대해서 설명해봐
  • 압박을 받는 상황에서 어떻게 견디나
  • 배포나 모니터링할때 사용하는 툴에 대해서 설명해봐
  • ECC RSA의 차이점에 대해서 말해봐
  • CSR에 들어가는 제일 중요한 정보는?

전형적인 미국 쿨가이 였는데, 애플에 다니는 것이 얼마나 좋은지에 대해서 장황하게 설명했다. 애플 유니버시티가 있는데 그곳에서 노벨상 수상자의 강연을 듣기도 하고,, 여러가지 자랑(?)을 많이 했는데 확실히 동기부여가 되긴 했지만, 역시 일본지사와 미국본사의 차이는 어마어마 했음을 이때는 못느끼고 있었다. 이부분은 뒤에 후술함. 모든 기술적인 질문에 대답하지 못한건 없어서 나름 좋은 결과를 기대했다.

다음 주 화요일에 바로 응답이 왔는데 토요일날 면접을 본 시니어 매니져의 피드백이 전만큼 좋지 않다는 것이었다. (unfortunately, his feedback is not as positive as previous sessions).

하아, 당연히 합격이라고 생각하고 있었는데 이렇게 결과가 나오니 당황스러웠다. 하지만 아직 최종 결과가 나온건 아니라고 하니 불행중 다행이었지만 정말 면접은 아무도 모른다는 생각이 들었다.

애플 페이 3차 면접

그렇게 8일 정도가 지나니 갑자기 코디네이터 로부터 다음 면접에 대한 연락이 왔다. 하아, 애플,, 이렇게도 막무가내라니.. 그래도 연락이 온건 기쁜 일 이었기 때문에 다음 면접을 준비했다.

첫번째는 영국에 있는 SRE, 두번째는 미국에 있는 SRE 와 면접을 보았다. 관련 질문은 거의 첫번째 면접에서 물어봤던 기본적인 운영체제와 네트워킹 관련된 질문이 주를 이뤘고 개발철학, 쉘언어와 스크립트 언어중 선호도를 묻는 질문들이 이어졌다. 다분히 뭔가 정리되지 않은 느낌이 들었는데, 보통 3차 면접이면 임원이라고 생각하고 면접에 임했기 때문에 처음에는 약간 당황해서 헛발질을 했다. 영국이라 전화가 잘 들리지 않았기도 했고.. 어쩃던 각 40분씩 인터뷰를 2회 거치고 다음 연락을 기다리게 되었다.

애플페이 4차 마지막 면접

거의 20일이 지나서야 애플로 부터 연락이 왔는데 1차 면접에서 본 중국인 매니져와 다시한번 30분간 면접을 볼 수 있냐고 물어보았다. 여기까지 왔는데 안될게 있나.. 몇일 뒤 싱가폴 출장중의 중국인 매니져와 면접을 보았는데, 질문들이 조금 이상했다. 하청업체하고 일을 해야할 수도 있는데 일본어로 지시를 내릴 수 있을까? (일본어로 테스트 케이스를 작성해야 하는 이유에 대해서 설명.) 데이터 베이스 문제 해결방법, 스마트카드 관련 질문등.. 전혀 종잡을 수 없는 질문들을 물어보았다. 다른 인터뷰어들도 맘에 들어했다고 하는데, 한 미국인 매니져는 영어가 조금 부족한 것 같다는 피드백을 했다고 한다. 하지만 중국인 매니져의 영어도 그렇게 뛰어난 것은 아니었기 때문에 , 어차피 근무지가 미국도 아니고, 그래서 최종까지 보게 된 것 같았다.

결과

다시 20일(!) 정도가 지나서 결과를 받을 수 있었는데, 탈락이었다.  연락도 잘 안하던 리크루터가 그동안 애쓴것이 짠했는지 구구절절 이유를 설명해 주었다.  기술적 능력과 잠재력은 높이 평가했지만 최근에 해당 포지션의 JD가 바뀐것이 주된 이유였다. (Even though all members with whom you spoke very highly evaluated your technical skills and great potential, the JD had recently evolved into SRE+Project Manager+Quality Engineer hybrid role ).

결국 마지막에 프로젝트 관리와 관련된 질문은 그것 때문이었다.

총평

역시 실리콘밸리 회사도 아시아에서는 지사일뿐 이라고 느껴졌다. 특히 구글이나 아마존, MS처럼 자체 개발센터를 두지 않는 이상 일본이나 한국 오피스는 연락 사무소 정도 역할을 하게 되는 것 같다. 실리콘밸리 SRE가 프로젝트 관리나 QA까지 책임지지는 않을 터이니,, 복지나 연봉적인 측면에서도 차이가 분명히 있고 (그래도 일본애에서는 분명히 최상급 이었을테지만), 입사 후에 업무로 봤을떄도 확실히 미국 본사가 훨씩 핵심에 가까운 업무를 하고 있는 것 같았다. 물론 일본 애플도 통과 못한 실력으로 본사를 가긴 힘들겠지만,, 마지막에 JD가 바뀌어서 탈락했다는 사실은 그나마 작은 위안이 되어준다. 아직 프로젝트 관리나 QA업무를 하고 싶지는 않았기 때문에..

Aside

트랜스퍼와이즈 개발자 면접 후기

트랜스퍼와이즈의 싱가폴 IT 회사에 개발자 직군으로 면접을 보았다. 당분간 동경을 떠날 생각은 없었지만, 워낙 돌아가는 상황이 커리어적으로 도움이 되지 않았다. (참고, 개발자로서 6개월 살아본 일본생활 장단점 정리) 면접 연습겸 트랜스퍼와이즈 싱가포르 지사에 지원했는데 한달 간에 걸친 여정을 정리해 둔다.

트랜스퍼와이즈

트랜스퍼와이즈는 런던기반의 P2P 외화 송금 업체로 2011년 에스토니아 청년들이 창업했다. 핀테크 업체를 설명할 때 가장 자주 언급되는 회사중 하나이다.

(기사) 미래의 은행

(기사) 세계 최대 송금업체 트랜스퍼와이즈, 국내 핀테크 시장 진출

지원

글래스도어에서 검색 후 지원하는 곳의 사이트를 통해 이력서를 제출하였다. 참고로 전체적인 진행은 greenhouse.io 라는 Sass 서비스를 통해 이루어진다. 리크루터가 지원자를 관리하기 위해 사용하는 시스템인데, 이 덕분인지 프로세스가 전체적으로 굉장히 빠르고 피드백도 좋았다. (자동화 느낌이 나는건 어쩔 수 없다.) 2-3일 뒤에 트랜스퍼와이즈 리크루터로부터 연락이 왔고 스크리닝을 위한 짧은 면접 날짜가 잡혔다.

스크리닝

리크루터가 휴가라서 싱가폴 지사로 곧 옮기게 될 엔지니어 (우크라이나인)가 인터뷰를 진행했다. 다음 단계로 넘어가기 위해 말 그대로 한번 거르는 절차이다. 이 단계에서는 특별히 어려운 질문없이 자기소개와 현재 업무에 대해 질문받고 끝이났다. 싱가폴 쪽에서 직장을 구할 때는 일본어나 중국어 한국어를 할줄 아는게 나름 장점이된다고 느꼈다. (영어는 필수..) 엔지니어가 한국어와 일본어를 하는 엔지니어를 급하게 찾는다고 귀뜸을 받았다. 특히 일본은 연동 문서가 일본어로 되어있거나 일본 사이트 대상자가 영어를 못하는 경우가 많아 싱가폴에서 일본어 가능자를 찾는 경우를 꽤나 보았다. 자고 일어나니 바로 온라인 코딩 테스트를 위한 링크가 도착해 있었다.

온라인 코딩

해커랭크에서 출제된 문제를 한시간 반 안에 풀어야 한다. 객관식 20문제, 주관식 3문제, 온라인 코딩문제 3문제가 그것이다. 객관식,주관식을 다풀고 나니 40분정도가 지났다. ?코딩 문제는 leetcode에서 쉬움-보통을 드나드는 문제인데 평소에 자주 풀어보지 않았다면 검색해서 적는 것도 벅찰 것이다. 일단 문제 의도를 알고 있었기 때문에 기본 문제 풀이를 구글링 해서 찾은 다음 문제에 맞게 변경해서 정해진 시간내에 제출할 수 있었다. 제출된 문제는 다음과 같다.

  1. K-Difference
  2. Longest increasing subsequence
  3. Closest Great Vlaue in Bianry Tree

내가 몇점인지 확인할 수는 없지만 3번을 제외한 문제는 모두 정답이었 다고 생각한다. 그 다음날 기술면접이 언제 가능한지 묻는 메일이 왔다.

1차 기술

1차 기술은 한시간 반 동안 진행되었으며 두명의 엔지니어 (영국, 스페인 출신)가 참가했다. 초반 30분 정도는 자기소개 이후 다음과 같은 질문을 받았는데 조금 버벅거리긴 했지만 전부 제대로 대답했다고 생각한다.

  • MSA어떻게 하고 있냐
  • BST어떻게 동작하냐
  • POST와 PATCH 차이
  • REST설계 어떻게 하냐
  • 개인용 작은 블로그를 만든다면 어떻게 만들 것인가
  • 카프카나 큐를 써본적은 있는가
  • 언제 RDBMS를 쓰고 언제 NoSQL을 쓸 것인가
  • 해시셋과 트리셋의 차이

40분쯤 지난 시점에 문제를 내주는데 해커스 랭크의 온라인 코딩 툴로 접속해 문제를 풀게 된다.

여기서 접근을 조금 잘못 했는데, 알고리즘과 디자인의 혼합문제로 생각했어야 하지만 단순히 디자인 문제로만 접근을 시도하니 자꾸 인터뷰어와 어긋나기 시작하였다. 테스트 케이스를 먼저 작성하고 시작한 것은 좋은 점수를 받았지만, 자바의 작은 문법이나 디자인 패턴에 집중하는 사이에 가장 중요하다고 할 수 있는 효율적인 엘리베이터 배치에 대한 고려가 빠지게 되었다. 결과적으로 영어도 버벅이기 시작. ?실제 이문제를 한번이라도 경험해본 사람이 절대적으로 유리할 수 밖에 없는데 엘리베이터 알고리즘에 대해서 알고 있었더라면 이번 라운드로 기술 면접을 끝낼 수 있었을 것이다.

탈락할 수도 있겠다고 생각하던 차에 다음날에 바로 연락이 왔다. 한시간 짜리 기술면접을 다시 볼 수 있겠냐고. 피드백은 다음과 같이 굉장히 솔직했다.

Overall the team had some concerns regarding communication but wanted to give you another shot as they saw a lot of potential.

영어로 문제풀이를 하면서 엄청 버벅였던 것이 생각났다. 결국 잘 알지 못하는 것에 대해 어설프게 이야기 하다보니 허접한 영어가 나올 수 밖에 없었고 거기에 더해 행아웃을 통해 대화를 하기 때문에 더 잘들지 않았기 때문에 이런 피드백을 받은 것 같다.

2차 기술

1차에서 완벽하게 통과했다면 없을 과정이지만 한시간 정도 짧게 두명의 엔지니어 (스크리닝을 했던 우크라이나인, 시리아인)와 문제풀이를 진행하게 되었다.

이번에는 쓸데 없는 문법에 집중하지 않고 최대한 빨리 대략적인 구조를 잡은 후 ATM의 핵심이라고 할 수 있는 잔돈을 계산하는 방법에 대해 풀어 나갔다. 사실 이 문제도 어느정도 모범 답안이 존재하지만 짧은 시간내에 이것을 DP로 풀어내는 시도는 하지 못하고 굉장히 일차원적인 접근을 취할 수 밖에 없었는데 그럼에도 조금 씩 질문을 주고받으면서 한시간 내에 뭔가 동작하는 코드를 만들어 냈기 때문에 대략 80점 정도로 스스로에게 점수를 주고 합격할 것으로 예상 하였다.

프로덕트 인터뷰

싱가폴과 일본에 있는 마케팅 담당자 (일본인), 프로덕트 엔지니어 (중국계 미국인)와 면접을 보았는데, 주로 린 개발 방법론에 관한 것이었다. 쿠팡을 다니면서 많이 익숙해졌고 평소에 이 부분에 대해서는 뚜렷한 생각을 가지고 있었기 질문에 전부 답하고 합격을 예측 할 수 있었다. (본인의 대답과 인터뷰어의 반응을 종합해 보면 대충 답이 나온다. ) 물론 영어적으로 버벅거릴때도 있었지만 개발자로서 큰 흠이 될 만한 수준은 아니었다고 생각한다.

  • 기능 출시후에 어떤 메트릭으로 측정할것인가?
  • NPS는 떨어지고 Conversion rate는 올랐을 경우 어떻게 할것인가?
  • 특정기능을 이야기하고 그에 대한 MVP를 생각하기
  • 방금 대답한 것보다 조금 더 lean 한 방법은 없나?

바로 다음날 연락이 왔는데 (영국시간 9시에서 9시반 사이, 항상 이시간에 합격 연락이 와서, 한국시간 5시가 되면 항상 긴장하게 되었다.) 다음과 같은 피드백 이었다.

Overall the feedback has remained positive. People really like your motivation and passion for xxxxxxx, and although we think that we may have seen some slightly more technically strong candidates we do feel that you could pick stuff up well from the interviews so far.

Therefore we would love to set up the next step in the process which would be a 1-hour interview ideally on Google Hangouts. This would be xxxxxxxxxx and xxxxxxxxx, the VP of xxxx and one of the xxxx Leads.

기술쪽이 조금 불만족 하긴 하지만 사실 최종 이라고 해서 그냥 CTO하고 안면 트는 정도로 예상했지만 정말 설명 그대로 tough한 인터뷰가 기다리고 있었다.

최종 인터뷰

사실 인도인 VP가 들어왔어야 하는데 10분 늦게 영국인 엔지니어 리드만 입장 하였다. 사실 좀 알아 듣기가 힘들었는데, 인터뷰어가 굉장히 피곤해 보였으며, 끊임없이 컴퓨터로 메신져가 오는 와중에 그의 동공은 흔들리고 있었다. 집중하지 않고 있다는 인상이어서 조금 짜증이 났다. 한시간 넘는 기간 동안 다양한 질문들을 했는데, 몇가지 질문들은 전혀 이해할 수가 없어서 계속 Come again? 을 연발해야 했다.

  • 쿠팡에서 라쿠텐으로 왜 옮겼냐
  • 왜옮기려고 하냐
  • 우리 프로덕트 써봤냐
  • 뭐를 개선 시킬 수 있냐
  • 성공한걸 어떻게 측정할 거냐
  • 입사하자 마자 아무도 없으면 뭐할래?
  • 정렬된 배열은 어떻게 검색할꺼냐
  • 바이너리 서치, 왜 바이너리 서치가 제일 빠른가?
  • 정렬되지 않은 배열은 어떻게 검색할꺼냐
  • 기수 정렬이야기 했더니 기수정렬에 대해서 설명해보라,
  • 퀵소트에 대해 이야기 하니 더 자세히 설명해 보라..
  • 셀렉션 소트에 대해서 더 자세히 설명해 보라
  • 이체스 게임 디자인 질문(?),
  • 관련해서 이어지는 질문,,P2P, Server-Client 비교하고

사실 CTO면접으로 생각해 거의 Behavior 질문들에 대해서만 준비해 갔는데 기술적인 질문들만 집중적으로 받았다. 아마도 기술 면접에서의 피드백이 족쇄처럼 따라왔기 때문인 것 같다. 대부분 대답은 했지만 역시 중간에 질문을 잘 알아듣지 못해 커뮤니케이션이 끊긴 부분은 지금 생각해도 아찔하다.

이것으로 면접은 끝을 맺었는데, 개인적으로는 굉장히 뿌듯함을 느꼈다. 꾸역꾸역 배운 영어로 해외 엔지니어들과 대화해 최종 면접까지 보았다는 것은 나름 자심감을 가질만한 일이라고 생각한다. 실제 입사를 하게 될지는 모르겠지만 아, 이렇게 준비하면 원하는 곳을 갈 수 있겠구나 하는 느낌이 든다.

부족하다고 느낀 것

영어는 진짜 평생 공부해야 한다. 외국에서 살면서 좀 읽고 말할 수 있다고 착각했더니 실제 당황하거나 경험해보지 않은 것에 대해서 설명할 때 두배로 무식해 보이는 것 같다. 기술적인 지적들도 영어 때문에 더욱 도드라져 보였던 것은 많이 아쉽다.

물론 알고리즘과 문제풀이도 병행해야 한다. 다양한 경험이 정말 중요한게, 엘리베이터나 동전 교환 같은 문제는 따로 한번 풀어 봤다면 훨씬 좋은 기술 평가를 받을 수 있었을 것이다.

Aside