미국 스타트업에서 풀타임 개발자로 5년 이상 근무한 사람의 글을 보고 

내가 과연 영어를 쓰면서 생활을 하고 싶다고 해서 무작정 해외 취업을 노리는 게 맞을지에 대해 한번 판단해보려고 한다.

각각의 장점과 단점을 적어보고, 각각에 점수를 매겨 총점이 높은 것을 골라보자.

 

전제는 미국에선 실리콘 밸리에서 일한다는 것. 한국에선 서울.

 

  • 같이 일하고 경쟁하는 사람들

  • 미국에서 취업을 할 경우에는 그들이 우리보다 영어에서 훨씬 우위에 있다는 것을 알아야 한다.

  • 그들은 더 많은 정보를 가지고 있고 더 빠른 독해력을 가지고 있다.

  • 면접에 있어서도 그들이 유리한 건 사실이다.

 

  • 생활

  • 미국 대학교나 대학원을 준비하고 그 몇 년의 시간을 보내야 할 수도 있다.

  • 경우에 따라서는 채 30%도 안 되는 비자 확률에 매년 기대야 할 수도 있다. 

  • 한국에 사는 사람들을 장기간 만날 수 없다.

  • 보장된 것이 없다. 취업에 실패할 수도 있다.

 Tip

  •  가면 좋고 아니면 말고가 아니다. 리스크가 굉장히 큰 ‘투자’로 봐야 한다.

  • 가고 싶은 나라나 지역, 생활과 개발 문화가 어떤지, 또 그곳에 사는 사람들의 생각은 무엇인지, 꼭 가야만 하는 이유가 무엇인지에 대해 생각해봐야 한다.

 

  • 경제

  • 미국에서 돈을 더 많이 벌긴 하지만 1년 차 때는 한국의 대기업과 큰 차이가 없다.

  • 실리콘 밸리를 기준으로 원룸 1달 렌트비는 200~300만 원 정도이다.

  • 미국에서 차량은 1500만 원이면 중고 세단을 살 수 있다.

  • 기름값은 리터당 가격이 두 배 정도 비싸다.

  • 음식의 경우 집에서 해 먹으면 미국이 훨씬 싸지만 외식은 비교 안 되게 비싸다.

  • 보험와 연금 비용이 매우 비싸다.

  • 초고속 인터넷 비용은 월 10만 원 정도다.

-> 여기까지 보면 외식, 세금, 사람을 불러야 하는 일은 미국이 훨씬 비싸다.

-> 다만 밥이나 술값, 카페 비용은 한국이 더 비싸다.

-> 결론적으로 지출폭을 줄이는 것에 대해 미국에서는 많은 이득을 볼 수 있지만 한국에서는 그렇지만은 않다.

-> 렌트 비용은 다음 사이트에서 확인할 수 있다.

: sfbay.craiglist.org/search/pen/apa

: zillow.com

 

  • 문화

  • 한국에서는 외식이 상대적으로 저렴하고 세련된 문화가 있다는 점이 좋다.

  • 가족과 친구가 근처에 있어 익숙한 그 문화를 공유하며 살 수 있다는 장점이 있다.

  • 하지만 미국에서 다양한 문화권에서 온 사람들과 지내는 것을 즐긴다면 미국이 더 좋을 수도 있다.

  • 커리어

  • 실리콘 밸리는 내가 어느 정도의 연봉을 받고 워라밸을 추구하며 사는 것과, 매일 야근하여 폭풍 승진을 하는것을 선택할 수 있다.

  • 주니어 개발자들에게 있어서 성장 측면에서는 실리콘 밸리가 확실히 더 낫다.

  • 커리어가 가장 중요한 요건이라면 해외 취업을 추천.

  • 그 이유는 1. 컴퓨터 사이언스와 관련된 기술이 실리콘 밸리에서 나오는 경우가 많다
    + 또한 주변 사람들도 기술에 대한 이해 수준이 매우 높아서 기술 토론의 기회가 많다.
    + 매니저와 엔지니어 트랙이 따로 있다.
    <-> 반대로 한국에서도 블록체인의 경우에는 꽤 높은 기술 커뮤니티가 있기 때문에 그런 분위기에 있는 사람들이라면 크게 다르게 느끼지 않을 수 있다.

 

2. 성장에 대한 설계가 대부분의 기업에서 매우 잘 정의되어 있다.
- 한국처럼 회사의 목표 > 개인의 목표 같은 분위기가 아니라 회사가 성장하면서 개인도 좋은 개발자로 성장할 수 있게 많은 신경을 쓴다.
+ 테크 회사들은 ‘성장 가능성’이 연봉 같은 물리적인 보상에 버금가는 지표라고 믿고 있다.
+ 한국이  short-term business goal 을 추구하여 시니어가 코어 디자인을 한 뒤에 주니어가 유지 보수를 하는 경우가 많았다면 미국에서는 그와 반대로 중요한 기능도 주니어 엔지니어가 디자인을 할 수 있고 그에 대해 시니어가 반박하는 형식으로 이루어질 수 있다.
+ 만약 본인이 성장에 대한 욕심이 있고 빠르게 배운다면 회사에서도 전폭적으로 지지해 줄 것이고, 경력2~3년 차에 시니어급 실무와 대우를 받을 수 있다. 아래 링크에서 미국 테크기업의 인턴 생활에 대하여 어느정도 확인할 수 있다. 해당 글에서 가장 기억에 남는 말은 ‘갓 학교를 졸업하고 안정을 찾는 건 바람직하지 못한 것 같다. 테크 회사 쪽으로 커리어를 시작하면 말이다.’이다. 경험의 다양성과 배움의 방대함에 대한 강조가 와닿았다. 또한 ‘변화 무쌍한 지금의 세상에서 가장 위험한 것은, 아마 위험을 무릎 쓰고 도전을 안 하는것’이라는 말 또한 인상깊었다.
링크 : https://medium.com/@sungcheulhong/%EC%8B%A4%EB%A6%AC%EC%BD%98-%EB%B0%B8%EB%A6%AC%EC%97%90%EC%84%9C-%EC%9D%B8%ED%84%B4%EC%89%BD%EC%9D%84-%ED%95%98%EB%A9%B4%EC%84%9C-%EC%96%BB%EC%9D%80-6%EA%B0%80%EC%A7%80-%EA%B5%90%ED%9B%88-fa4e91c88e97

 

3. 마지막으로 네트워크. 
- 회사를 2-3년 주기로 옮기고 스타트업이 매일 생겨나고 없어지기 때문에 같이 일하는 동료가 나중에 끌어주거나 자기의 스타트업을 소개해주는 경우가 많다.
+ 나와 비슷한 경력/나이의 친구들과 같이 일하다 보면 자극도 많이 받는다.
+ 이직이나 해고 또한 자유로워서 네트워크는 필수다.

Tip :  스타트업에 관심이 많다면 다음 사이트로.   스타트업의 비즈니스, 최근 투자 뉴스를 볼 수 있다. - www.crunchbase.com

  • 비자

    1.  H1B (전문직 비자)
    - 외국에서 직장에 취업을 하면 받는 비자가 전문직 취업 비자이다.
    - 일반적으로 취업 비자는 이 비자를 의미한다.
    - 개발자를 우대하는 대부분의 나라에서는 이 비자가 신청하면 바로 나온다.
    - 그러나 미국은 그렇지 않다.
    - 매년 4월 1일에 맞춰서 약 20만 개의 비자 신청서가 접수된다.
    - 전문직 취업 비자의 개수는 85,000개이다.
    - 이 말인 즉 약 3 : 1의 경쟁률을 뚫어야 비자를 받을 수 있다는 말이 된다.
    - 4월 1일 전에 취업해서 4월 1일에 신청하고 비자를 받아도 10월 1일부터 일을 할 수 있다.
    - 85,000개 중 20,000개는 미국 내 대학에서 석사학위 이상을 받은 사람들에게 돌아간다.
    - 나머지는 미국 내/외의 학사 학위 이상 소지자만 가능하다.
    - 순전히 운에 맡겨야 한다.

    2.  F1(학생비자) -  OPT(Optional Practical Training)
    - 학생 비자는 학생이 학업을 수행할 목적으로 내어주는 비자다.
    - F1비자로 유학을 마친 학생의 경우 졸업하고 본국에 돌아가기 전에 현장 취업 실습 제도(OPT)를 1년 동안이용할 수 있다.
    - 1년 동안 취업비자와 같은 효력을 갖게 해주는 프로그램으로, 신분은 학생이지만 1년 동안 취업 활동을 할수 있다.
    - 이공계 학생은 딱 1번 연장할 수 있고, 그 기간은 2년이다. (총 3년)
    - H1B로의 전환에 매우 유리하다.
    - 졸업 직후 바로 신청해야 한다. 신청 기간이 졸업 전 90 ~ 졸업 후 60일이다.
    - 행정이 느리니 졸업 전에 하는 것이 좋다.
    - 최소한 2학기 이상은 다녀야 신청 자격이 생긴다.
    - opt상태에서의 미국발 출국은 매우 좋지 않게 보기 때문에 최대한 안 나가는 게 좋다.
    - 최대한 여름 방학 때 인턴십을 활용하자.

  • 면접 준비하기

    - 실제 면접 시간은 약 45분 정도.

  1. 자료구조

    - 표준 면접 문제는 알고리즘 문제이다.
    - 자료구조부터 시작해 기술적인 문제를 해결하는 데 필요한 상식적인 부분을 물어본다.
    - Array(Vector), Linked list, Queue, Stack, Binary Search Tree, trie, Heap, Hash, map 정도의 개념은 기본.
    - 해당 구조가 자신이 쓰는 언어의 표준 라이브러리에서 어떤 것과 맵핑이 되는지 알면 좋다.
    - 예를 들어 c++이면 array는 std::vector, Binary search tree는 std::map
    - 또한 그것에 대해 직접 구현할 필요는 없어도 내부적으로 어떻게 구현되어 돌아가는지에 대해 자기 나름대로 설명할 수 있으면 좋다. 매일매일 쓰이는 데이터 구조를 잘 아는 게 유리하다.
    - 고급 데이터 구조에 대해서는 잘 물어보지 않는다.
    - 예를 들어 AVL tree나 Binary indexed Tree같은 구조 말이다.
    - 시간이 많으면 고급 데이터 구조를 리뷰할 수도 있다고 생각한다.
    - Binary Tree와  Hash Map이 가장 중요하다고 한다.
    - 다양한 트리 탐색 기법을 알아두는 것도 좋다.

  2. 알고리즘

    - Backtraking, DP
    - Greedy, Divide and Conquer,
    - Graph Traverse - Basic DFS/BFS + Shortest Path and Union Found 등
    - NP complete는 깊게 공부할 필요 없다.
    - 예를 들어 레드블랙 트리나 AVL트리, A* Search같은 알고리즘은 시간이 없으면 리뷰하지 않아도 된다.
    - 다만 AVL Tree가 Self-balancing 되는 BST라는 것 정도만 알아두면 좋다.
    - KMP/Rabin-Karp Hashing도 마찬가지
    - 위에 걸 할 바에 Brute Force를 제대로 익히자.

 

  • 문제 푸는 연습은 어떻게 하는 것이 좋은가.


    1. 메모장으로도 코딩할 수 있을 정도로 bracket이나  padding에 대한 습관을 잘 들인다.
    2. 쉬운 난이도의 여러 유형의 문제를 많이 풀어보는 것이 좋다.
    - Leetcode에서 나오는 Easy난이도 문제를 풀면서 모르는 알고리즘이 나오면 그때그때 정리하면서 푼다면많은 문제를 풀면서 자신감이 오를 것이다.
    3. 쉬운 문제를 풀면서 어느 정도 자신감이 붙었다면 중간 난이도의 문제를 풀어보면서 실제로 내가 어떤 문제에 약한지를 알고 그 부분을 공략한다.

  • 현재 인터뷰 문제와 그 트렌드.

     

- 과거에는 코끼리를 냉장고 안에 넣는 방법을 물어보는 문제들이 있었다지만 그것과 성과는 큰 관련성이 없다는 것이 밝혀지면서 트렌드가 다시 알고리즘 문제로 돌아섰다고 한다.
- 그러나 구글에 다르면 인터뷰에서 좋은 성적을 거둔 사람이 일을 잘하는 사람이 되는 것과는 큰 상관이 없다는 것이 밝혀졌다고 한다.
- 그러나 차악의 방법은 여전히 코딩 인터뷰로 사람을 검증하는 것이다.
- 현재 트렌드는 너무 어려운 것을 물어보지 않는 것. 훌륭한 엔지니어나 답을 미리 공부해 온 사람들에게 유리하게 작용할 것이기 때문이다.
- 온라인 문제를 그대로 물어보지 않는다. Tree traverse문제를 내고 해당 Tree를 Thread - Safe하게 하려면어떻게 해야 하냐고 묻거나 여기서 Insert가 많이 일어나게 하려면 어떤 캐시 구조를 함께 쓰는 게 좋은지 물어본다.
- 문제 답안을 적절하게 도출하는 것도 중요하지만 그에 못지않게 과정이 중요하다. 커뮤니케이션은 어떤지, 어떤 과정 대문에 이런 생각/방법을 도출하게 되었는지 물어본다.
- Design Discussion의 빈도를 늘린다. 옛날에는 순수하게 코딩 인터뷰 문제만을 물어봤다면, 요즘은 해당문제를 풀 때 다른 조건이나 가정이 들어왔을 때 다른 어떤 방식으로 푸는 것이 왜 좋은지 혹은 나쁜지 설명하라고 묻기도 한다. 

 

Tip. 인터뷰에서 알고리즘 문제에 대한 대응 능력도 중요하지만, 영어로 대답을 잘 할 수 있도록 연습하는 것 또한그에 못지않게 중요하다.
해당 글은 https://brunch.co.kr/@junyong 님의 글에서 읽은 정보를 바탕으로 하였습니다

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom