Skip to main content

on-site 인터뷰 개인적인 노하우

on-site 인터뷰 개인적인 노하우

작년에 포스팅한 글을 보고 조언을 구하시는 분이 있어 제 개인적인 생각을 이렇게 다시 포스팅해 드립니다.

조언을 구하신 내용이 "어떻게 해야 기본이 탄탄해지고 개발자 다운 모습이 갖춰지는 지를 알고싶습니다."인데 이에 대한 답변을 제가 할 수 있는 입장인지는 잘 모르겠습니다. 그 이유는 제 비전인 "작가가 글을 쓰듯 코딩을 하고 그 보수를 받으면서 70세가 될 때까지 일을 하는 것"을 이루기 위해서 추구하는 방향이 좀 일반적이지는 않을 수 있기 때문입니다.
제가 좋아하는 것은 만들고 싶은 것을(아이디어를) 만들어 동작하는 것을 보는 것 입니다. 그렇게 하기 위해서 필요한 요소 기술들을 갖추어 가고 있습니다. back-end에 os(linux, unix, AWS ...), Database, storage, Webserver / WAS 등등, front-end에 RIA, javascript, jsp, css, android 등 앱이 동작할 때 필요한 기술을 이것 저것하면서 제 관심과 열정이 생기는 대로 공부를 해 가고 있습니다. 물론 기술 트랜드를 고려하면서요.

기본이 탄탄해 지려면 학술적으로 깊이있게 공부해야 한다고 일반적으로 생각하지만 저는 특정분야에 깊이 있게 공부하는 것을 좋아하지 않습니다. 책을 잘 읽지도 않죠.
오히려 트랜드에 기민하게 따라가는 것에 익숙하고 잘하는 편입니다. 다양한 분야에서 필요한 만큼(깊이가 있을 수도 있지만 대부분은 얇게) 공부하고 적용합니다. 적용하지 않는 공부는 거의 하지 않는다고 보시면 됩니다.

70세 까지 엔지니어로 살기 위해서 어떤 전략적인 선택을 해야 할지는 저에게도 아직 숙제입니다만 중요한 것은 이론적인 것만 가지고 솔루션을 제공하는 것(컨설팅, 이미 오랫동안 회사업무로 해오던 것이라)을 좋아 하지 않으며 hands-on 스킬을 이용해서 실질적인 것을 구현해야 제가 즐겁다는 것은 확실합니다.

다만 이렇게 다양한 기술에 대해서 지속적으로 활용할 수 있는 능력을 갖추기 위해서 활용했던 방법은 다음과 같습니다.
- SI 프로젝트에서 기술적으로 리딩합니다.
  필요한 기술 또는 관심있는 기술을 프로젝트에서 직접 적용합니다. 누가 요구하지 않더라도 제가 도입을 주도합니다.
  공부가 일이 되도록 조정합니다. (위험해 보이기도 하지만 이곳 실리콘밸리에서도 많이 볼 수 있다고 합니다.)
- stack별로 레퍼런스 앱을 정리해 둡니다.
  플젝이 끝나면 반드시 중요한 기능으로 구성된 앱을 정리해서 나만의 공간(SVN, git)에 저장하고, 필요하면 항시 참조할 수 있도록 실행시켜 둡니다.
- 검색이 쉽도록 준비해 둡니다. (과거에는 데스크탑 검색엔진을 쓰다고 지금은 클라우드를 씁니다.)
  - 소스: 이클립스에서 search > file search > searched resources (저는 다른 검색 기능을 죽여놓습니다.) 를 통해서 검색
  - 문서: 본문검색을 지원하는 구글독에 문서 정리 (적용해 본 기술은 반드시 분야별로 구글독에 정리해 둡니다.)

기억력이 좋지 않은 관계로 메소드명 조차 잘 기억 못하지만 어떤 연관된 것들을 사용했었다는 힌트만으로 검색을 해서 바로 적용할 수 있도록 했습니다.
정리할 때에는 구구절절한 내용보다는 바로 적용할 수 있는 command나 설정만을 기술하고, 깊이 있는 내용은 관련 링크를 걸어두었습니다.
결국 기억력이 떨어지는 제가 다양한 분야에서 hands-on한 기술을 갖는 방법은 검색이라고 생각합니다.

경험상 비전공자인 제가 면접 준비를 하는 과정에서 스터디를 하고 예제 문제를 풀면서 느낀 것은 기본기가 정리된 것도 사실 입니다만, 경우에 따라서
미국에서의 기술면접에서 알고리즘(코딩 문제)를 강조하는 이유는 짧은 시간동안 개발자를 파악할 수 있는 방법이 제한적이기 때문이라고 생각합니다.

on-site 인터뷰를 하기 위한 접근 방법이라면 다음과 같이 진행했습니다.
1. 한글판으로 구해서 공부 Cracking the Coding Interview with Author Gayle Laakmann McDowell
- 너무 어려운 것은 스킵했습니다.
2. 기술 문제은행 검색 (ex. Spring (Java) Interview Questions, Java Interview Questions)
3. 나만의 문제 은행 작성 (내가 작성한 것은 거의 외울 정도로 반복적으로 문제 풀기)
real interview source and examples
4. white board 인터뷰 준비
5. behavioral 인터뷰 준비
본인만의 문답지를 작성하여 외움 (거의 외우게 됨)

사람마다 생각하는 방향과 좋아하는 방법이 다르며, 해외 채용에 대한 정답을 제가 가지고 있는 것 아니기 때문에 제 경험이 단지 도움이 되었으면 합니다.



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...