게임개발자 북미취업 가이드 3편: 취업을 위한 필수/선택요건 - 면접절차

김포프 2010-07-28

드디어 전자책이 나왔습니다. 전자책 구매 방법은 연두미디어의 홈피를 참조해주세요

book cover

게임개발자 북미취업 가이드 시리즈 목차


안녕하세요. 포프입니다. 이제서야 좀 본격적인 내용으로 들어가게 되서 다행이고 그동안 기다려 주셔서 고맙습니다. ^^ 이번 편을 읽으실 때 아래의 교훈(?)을 반드시 기억하시기 바랍니다. 이것이 이 편의 중심 주제입니다.

성공하는 유일한 방법은 중요한 소수의 것에 한정된 자원(시간, 돈, 노력 등)을 집중적으로 쏟아붇는 것입니다.

누구 말을 인용한 것이 아니라 제 스스로의 생각을 담은 것입니다. 북미에 게임개발자로서 취업을 하기 위해 갖춰야 할 요건들이 꽤 됩니다. 하지만 그 많은 요건들이 모두 다 동일하게 중요하진 않습니다. 따라서 정말 중요한 것에 집중하는 대신, 모든 요건 전부를 대충 수박 겉핥듯이 갖추려고 하면 절대 성공하지 못합니다. 언제나 중요한 요건을 갖추기 위해 최대한의 노력/시간/돈/인생을 투자하시고 나머지 것은 대충 중간정도만 맞추시길 바랍니다.

그렇다면 북미에서 취업을 할 수 있을 정도의 훌륭한 개발자가 되려면 어떤 요건들을 갖춰야 할까요? 우선 북미의 면접(interview) 절차에 대해 알아보도록 하죠. 각 면접 단계에서 어떤 요건/자질 등이 중요한지를 알면 전체적으로 어떤 요건들을 준비해야 하는지가 보이거든요. ^^

(일반적인) 북미 게임개발자 면접절차

일반적이라고 한 이유는 회사 따라 기술면접 및 대인면접의 횟수나 시간이 조금씩 다르기 때문입니다. 그래도 큰 차이는 없습니다.

1. 구인공고를 읽은 뒤 지원

구인공고는 보통 회사 웹사이트에 올라옵니다. 가마수트라 구인공고란도 유용합니다. 지원은 이메일이나 웹폼으로 합니다.
이 단계에서 필요한 자질은 ‘끈기’와 ‘노력’입니다.

2. 인사부(HR)의 추리기(Screening)

HR은 개발을 잘 모릅니다. HR이 봐도 “실력 있어 보인다”는 느낌을 주는 이력서/증거가 필요합니다.
경력과 출시 타이틀, 개인 프로젝트 포트폴리오, 전공 증명 등이 도움이 됩니다. 아무 증거가 없으면 여기서 걸러집니다.

3. 인사부 직원과의 전화면접

15~30분. 이력서 진실성 확인과 인성(people skills) 확인이 목적입니다. 과거 문제 상황과 대처, 강점/단점 등을 묻습니다.
핵심은 인성/대인관계 능력입니다.

4. 개발자들과의 전화면접

1시간 정도. 전반적 기술 이해도를 확인합니다. 예: 추상 함수, 행렬과 용도, 쿼터니언 등.
핵심은 기술 실력입니다.

5. 개발자들과의 대인면접(온사이트)

회사에서 항공/숙박을 보통 지원합니다. 2~3세션×각 1시간(총 2~3시간).
이력서 기반 질의 후 화이트보드 코딩. C/C++ 기초를 많이 묻습니다.

  • C 관련: 포인터, 비트 연산자
  • C++ 관련: virtual, 다형성, 상속, 추상 클래스, static/const, 포인터 vs reference, malloc/free vs new/delete
  • 일반: 2진수 다루기, 논리력
  • 직무 관련: 해당 포지션 특화 문제

모르는 문제가 나와도 과정과 커뮤니케이션을 보여주는 것이 중요합니다.

6. 추천인 체크와 채용

추천인 3명 내외(동료/친구/교수 등). 체크 후 오퍼 메일. 시작일과 연봉 등은 협상 가능합니다.

7. 그 외

한국 정리, 취업비자 등 절차. 보통 회사와 대사관 안내로 충분히 처리 가능합니다.
비자는 면접 통과에 비하면 어렵지 않습니다.

취업을 위해 갖춰야 할 필수요건 / 선택요건 (중요도 순)

중요한 것에 자원을 집중하세요!

1) 실력

없으면 채용까지 못 갑니다. 위의 온사이트 주제를 빠삭하게 이해하고, 아래 예제 문제를 스스로 풀 정도면 충분합니다.
경력 없는 경우 HR을 설득할 포트폴리오가 필수입니다.
대인관계 능력(진짜 팀플레이어)은 실력의 일부입니다.

2) 경력

HR 설득에 가장 쉬운 증거. 또한 경험에서 오는 지혜로 개발 리스크를 줄입니다.

3) 학력

학벌이 아니라 전공과 내용. 아시아권 학벌 신뢰도는 낮아지는 추세라 포트폴리오가 더 중요.

4) 영어

우선순위는 낮습니다. 의사소통만 되면 실력이 더 중요합니다. 같은 조건이면 영어가 좋은 사람이 유리하지만,
“실력/경력/학력 ≫ 영어”입니다. 영어 공포를 내려놓고 쓰면서 늘리면 됩니다.

5) 인종

거론할 가치가 거의 없습니다. 실력이 판단 기준입니다.

마지막 몇 마디

이정도면 실력 > 경력 > 학력 > 언어 > 인종임을 이해하셨을 겁니다.
운은 없습니다. ‘운이 좋았다’는 말은 준비된 사람이 기회를 만났을 때의 겸손한 표현일 뿐입니다.

그럼 프로그래머 면접문제 예제들을 드리면서 마무리하겠습니다.

프로그래머 면접문제들 예제

화이트보드 테스트처럼 연습해보세요. 댓글로 답을 달아도 좋습니다. ^^

  1. C의 atoi 함수를 구현해 볼 것
  2. C의 strlen 함수를 구현해 볼 것
  3. virtual void foo() = 0; 의 의미는? (클래스 선언 안에서)
  4. virtual 함수란 무엇인가
  5. 다형성(polymorphism)이란 무엇인가
  6. virtual 함수를 이용하는 간단한 클래스들을 구현해 볼 것
  7. bool isPowerOfTwo(unsigned int num)num이 2의 승수인지 판단
  8. void ReverseWordByWord(char* str) — 문장의 단어 순서를 뒤집기
    • 예: "Dog is Cute""Cute is Dog"
  9. void swap(unsigned char a, unsigned char b)새 변수 없이 두 8비트 값을 교환
  10. void foo() const; 에서 const의 의미는? (클래스 선언 안에서)

p.s.

  • 3주 동안 한 번도 안 거르고 썼어요.. 칭찬해주세요 ^_^
  • 질문은 댓글로 남겨주세요.
  • 면접문제 더 떠오르면 본문 수정 후 댓글로 알리겠습니다.

  • 캐나다 버나비에서 Pope 올림.
img

제대로 대우받는 개발자 | 부족한 컴공지식 배우기 | MIT급 컴공인강

최저임금으로 고통받는 일회성 프로그래머는 그만! POCU 아카데미가 올해 연봉협상을 책임지겠습니다!