Skip to main content

실리콘밸리 구직 체험기2_201505 - 3. 새로운 위기


실리콘밸리 구직 체험기2_201505 - 3. 새로운 위기

우리는 지난 1년간 lockscreen app과 messenger app을 만들었습니다.
나는 backend restful API를 만들고 cms를 node.js, angular.js로 만들었다. 또한 AWS 인스턴스를 관리했습니다.

마지막 몇달 동안 기존 lockscreen 앱과 CMS 관리 대신에 메신저 앱에 집중했습니다.
한국에서는 매출과 이익을 내지 않으면 투자를 받을 수 없는 환경이지만 매출 없이 유저수 증가에만 집중하는 모습이 참 생소했습니다.

우리는 사용자의 행태를 확인하기 위해서 BI툴을 이용해서 사용자 수와 retention rate 등을 추적하고
새로운 기능에 대해 사용자의 반응을 점검하면서 기획을 수시로 바꿨습니다.
많은 기능을 새로 만들고 ab test를 통해서 또 많이 폐기 했다. 실제 만든 기능 중에 절반 이상은 버려 졌습니다.


locket앱은 2014년 google store의 베스트 앱으로 선정되기도 했다. 그러나 사실 이 시점에 이미 우리는 메신저 앱에 올인 하고 있었습니다.



우리가 만든 메신저 앱은 초반의 반응이 워낙 좋아서 정체되었던 lockscreen 유저수를 단번에 따라 잡았습니다.
특히 Retention Rate 이 좋아서 사용자들의 제대로 사용하고 있다고 생각했습니다.
잠깐이지만 google play 에 featured 되고, 인도에 가입 지원을 했을 때 사용자 수가 급증하기도 했습니다.

https://www.facebook.com/photo.php?fbid=10204901853057587&set=a.2225490048257.118046.1577949323&type=1

그 시점에서 안드로이드 개발자 1명과 co-founder 한명이 회사에 대한 비전 차이로 떠나고 그 이후 갑자기 상황이 바뀌게 되었습니다.
더욱이 와이프는 믿음이 안생긴다고 교회를 안가겠다고 했습니다. 한국에서 그랬듯이 나는 아이들만 데리고 교회에 나갔습니다.
회사는 seed money를 소진하기 전에 투자를 받기 위해 노력했으나 투자 유치에 실패했고
다른 회사에 selling하기 위해서 준비를 했습니다. 나를 포함한 4명의 엔지니어들이 인수기업에 가서 인터뷰를 봐야 했습니다.
우리는 꽤 많은 시간과 노력을 들여서 체계적으로 인터뷰 준비를 했습니다.
내부 스터디이외에 회사를 지원해온 advisor와 유명한 저자(Gayle Laakmann McDowell)를 초빙 알고리즘 스터디를 진행했습니다.


- computer science 준비
특히나 datastructure에 대해서 반드시 암기해야 하며, 복잡도에 대한 대답을 할 수 있어야 합니다.


2015-04-15 Spring (Java) Interview Questions


2015-03-13 Java Interview Questions


Groupon


Interview questions(google, Questions, Facebook, Dropbox, Square, Yelp, Zynga, Twitter...)


기술면접 준비


real interview source and examples
on-site 또는 on-line, on-site 리허셜 때 풀었던 문제 들로 보통은 알려진 회사들 또는 startup의 코딩 문제가 어렵고, 중견회사의 문제는 무난하다고 알려져 있습니다. 적어도 queue, stack, DFS, BFS, BST, bubble sort는 기본으로 외우고 있어야 했습니다.


- behavioral 인터뷰 준비


- white board 인터뷰 준비
반드시 연습장이 아니라 화이트 보드에 문제를 푸는 연습을 따로 해야 합니다. on-site에서 어떤 식으로 질문을 인식하고 풀어가야 하는지 시뮬레이션이 되어 있어야 합니다.
내가 리허설을 통해서 교육받고 경험한 on-site코딩에 대한 흐름은 다음과 같습니다.
  1. interviewer가 질문을 하면
  2. 가능한한 간단한 example input과 output 값을 먼저 기술하고 interviewer에게 확인 받는다.
  3. interviewer가 동의하면 어떤 알고리즘으로 구현할 지 간단히 설명한다.
  4. 적절한 메소드의 시그니쳐(메소드명, input과 output)을 기술한다.
  5. 그 이후 로직을 구현하고 마지막에 example 데이터를 흘려 검증한다.
  6. 보통 복잡도에 대한 질문을 받게 된다.
이 과정에서 interviewer과 소통을 하는 것이 일반적이지만 소통이 힘들면 차라리 초반에 간단히 접근 방법만 설명하고 코딩에 집중합니다.




- Gayle 인터뷰 준비
Cracking the Coding Interview with Author Gayle Laakmann McDowell


나는 그루폰과 엘프, 스퀘어 온사이트 인터뷰에 참여했는데 결과는 모두 실패였습니다.
인터뷰한 느낌은 제안 발표하려 가는 것보다는 덜 긴장되었습니다.
영어가 미숙하니까 이 정도면 봐 줄만한 것이 아닌가라고 스스로 핑계를 만들었습니다.
사실 이런 핑계 또는 영어실력 때문에 실제 할 수 있는 것보다 절반도 못보여 주었습니다.
영어가 미숙한 개발자, 아키텍트들은 본인의 역량을 반도 펼치기도 쉽지 않다고 생각했습니다.


CEO는 팀 전원을 넘기기를 원했지만 우리는 어린 친구의 경험과 전공 문제, 나의 커뮤니케이션 문제로 회사를 selling에 번번히 실패했습니다.
내부적으로 체계적으로 준비했기에 낙관했으나 여러 번의 실패 이후 나는 ceo에게 나의 입장을 얘기했습니다.
회사 입장에서 인수 회사가 인정할 만큼의 매력적인 senior 엔지니어로 평가받지 못한 내가 부담이 될 수 있었습니다.
가족까지 데리고 온 나로서도 어짜피 working status가 중요했고, visa transfer 지원해 줄 회사를 찾아야 했습니다.
나는 바로 severance pay를 약속받고 퇴사를 했습니다.


2013년 4월 1일 만우절 날 출근 전철안에서 갑자기 문뜩 나 답지 않게 "나 SF로 간다..."라고 만우절 거짓말을 페북에 올렸었는데  그리고 2014년 4월 1일에 SF행 비자 lottery를 받을 수 있는 sponsor를 구했습니다.
그리곤 2014년 9월 22일에 가족을 데리고 진짜 SF에 들어왔습니다.
그런데 6개월만에 또 다른 변화가 만우절에 일어났습니다.
정말 거짓말 같지만 나는 미국에서의 첫번째 회사를 6개월만에 관두었습니다. (2014년 2월부터 9월까지는 원격근무를 했으니 실제 미국에서의 근무는 6개월밖에 안된 시점이였습니다.)
나의 카톡 타이틀 처럼 나는 다시 여행을 떠나게 된 것이다. "인생은 멈출수 없는 긴 항해!"
참 다이나믹 하지만 그분이 시작하신 것이고, 나도 그분이 원하시는 바를 찾아 가야 한다고 생각을 했습니다.
고생이라 생각하지 않고 또 다른 항해를 시작한다고 생각하려고 노력했습니다.


Comments

Popular posts from this blog

Install CoreOs on linode without VM

Install CoreOs on linode without VM 1. Add a Linode 2. Create a new Disk   CoreOS 3. Rescue > Reboot into Rescue Mode 4. Remote Access   Launch Lish Console 5. make an install script cat <<'EOF1' > install.sh # add needed package sudo apt-get update sudo apt-get install -y curl wget whois sudo apt-get install -y ca-certificates #sudo apt-get install gawk -y # get discovery url discoveryUrl=`curl https://discovery.etcd.io/new` # write cloud-config.yml cat <<EOF2 > cloud-config.yml #cloud-config users:   - name: core     groups:       - sudo       - docker coreos:   etcd:     name: node01     discovery: $discoveryUrl hostname: node01 EOF2 # get the coreos installation script #wget https://raw.github.com/coreos/init/master/bin/coreos-install wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install # run installation chmod 75...

실리콘밸리 구직 체험기_201404(1) - 1. 이민 결정 과정

1. 이민 결정 과정 작년 만우절 거짓말로 "나 미국으로 이민간다"라고 페북에 올린 글이 실현되었습니다. 물론 비자 lottery 결과가 나와야 겠지만 결과가 나오기 전에 그간의 여정을 정리해야 할 사명이 있어 정리를 하고자 합니다. 비자 결과가 나온 후에 올리는 것이 제 개인적으로도 훨씬 좋겠으나 제가 큰 약속을 지켜야 하기에 이렇게 글을 올립니다. 15년 이상 IT 서비스 회사에 있으면서 당연히 개발을 해왔고 지금도 하고 있지만 설계도 하고, pre-sales도 수년간 했고 10억 정도 규모의 몇개의 프로젝트에서 PM도 해봤습니다. 설계, 영업, PM을 하면서도 40이 넘어서도 여전히 개발이 재미있고 앞으로도 계속 하고 싶다는 마음이 켰습니다. 몇년전 LGCNS 차장 승진 발표 때에도 이제는 관리를 해야 하는 것 아니냐는 팀장님들의 질문에 저같은 사람도 조직에서 계속 기여할 수 있지 않겠냐고 고집했었죠. 좀더 지나서 굳어지는 개인적인 비전은 70세가 넘어서도 개발을 하고 싶다는 것. 전 어렸을 떄 부터 비전은 보이는 그림 같은 것이라고 생각해 왔는데, 제 지금의 비전은 호수를 앞마당으로 하는 집에서 밖을 보면서 작가가 글을 쓰듯 코딩을 하고 그 보수를 받으면서 70세가 될 떄까지 일을 하는 것입니다. 이런 제 비전이 실현되기 위해서는 엔지니어가 대접 받는 곳에서의 경험이 제일 중요하다는 판단을 했죠. 그곳이 실리콘밸리 든, 호주 든, 싱가포르 든 상관 없이, 그런데 그렇게 대접받는 곳에서 일을 하려면 영어로 일을 해야 하고 가능한 한 기술 트랜드를 리드하는 실리콘밸리에서 시작하는 것이 맞다고 생각했습니다. 저는 2014/01/02에 실리콘밸리로 와서 오늘 2014/04/01까지 딱 무비자 3개월 미국에 있고 내일 한국으로 돌아 갑니다. 그간 어떤 준비를 통해서 어떻게 비자 스폰서를 받았는지 다음의 글 순서로 정리하고자 합니다. 실리콘밸리 구직 체험기_201404(1) - 1. 이민 결정 과정 실리콘밸리...

실리콘밸리 구직 체험기3_201704 - 아직도 진행 중...

혼돈의 시간을 보내고 이제야 안정을 찾게 되었습니다. 3주전 팀장이 회사를 나가고 디렉터는 revenue를 갉아 먹던 우리팀을 정리할 절호의 기회를 잡았다는 듯이 팀원들에게 4주의 시간을 줄 테니 다른 곳을 알아보라고 통보했습니다. 그 얘기를 듣고 며칠 안되서 시민권이 있는 다른 팀원들은 호기롭게도(? 아무런 걱정도 없이) 휴가를 내고 자리를 비웠습니다. 저만 남아서 사내 다른 팀으로 transfer할 수 있는지 알아보고 linkedIn에도 구직상태로 변경했습니다. 디렉터도 제 상황을 알기 때문에 영주권 진행에 문제가 덜 발생할 만한 규모 있는 회사를 알아보라는 조언을 했고 그 조언을 따라 규모가 큰 회사를 대상으로 apply했습니다. 이번에는 링크드인으로만 apply를 하고 메일을 보냈는데도 연락이 참 많이 왔습니다. (apply한 회사 중에서 연락이 없던 곳은 facebook, uber 정도를 빼고는 다 통화를 했네요.) 한국에서 왔을 때와 스타트업에서 옮길 때와는 또 다른 반응이였습니다. 아마도 규모 있는 현 회사에서 구직을 해기 때문에 상황이 바뀐 것 같았습니다. 그런데 그렇게 많이 연락을 받았는데도 기술 인터뷰를 통과하지 못한 나를 보면서 속이 타들어갔습니다. 사내 팀에서도 코딩인터뷰를 했었는데 비교적 쉬운 것도 풀지 못하고, 게다가 그 자리가 principal 자리인 지라 저를 인터뷰하는 개발자가 어처구니 없다는 듯이 돌아설 때에는 정말 초라하고 답답한 마음이 밀려 왔습니다. 제게 이번 경험의 특징은 크게 2가지 입니다. 1. on-site coding / assignment on-site coding 또는 assignment 가 많았다는 것인데 준비가 제대로 되지 않은 저는 한 군데도 통과를 하지 못했습니다. linkedIn -> on-line coding citrix -> on-line coding vmware -> on-line coding (quiz) Salesforce -> on-line coding S...