지난 4월 한 달은 정신없이 보냈다. 스타트업에 개발자로 취업하기 위해서 회사 4곳에 지원했고 모든 회사에 최종 합격했다. 각 회사는 제 분야에서 성과를 내며 인정받고 있고 매력이 많은 회사라 애초에 신중하게 지원했다. 아랫글을 통해서 지난 한 달간 취업 과정에서 느꼈던 것 중에 특히 주니어 레벨의 개발자들에게 도움이 될만한 내용을 추려서 정리한다. 내용 중에는 개인적인 편견이나 오해가 담겨있는 부분도 있을 것이다. 어느 한 사람의 개인적인 경험이자 소회일 뿐이니 참고만 하시면 좋을 것 같다.

전체 내용은 (1) 회사 지원 시, (2) 기술 면접, (3) 인성 면접, (4) 면접 이후 순으로 구성했고 이번 글에서는 (1) 회사 지원과 (2) 기술 면접을, 다음 글에서는 (3) 인성 면접과 (4) 면접 이후 참고 사항을 다룬다.

참고 사항

  • 먼저 나는 주니어 개발자 포지션에 지원한 것은 아니라는 점을 미리 밝혀둔다. 나는 지난 4년 동안 스타트업을 공동 창업하고 크고 작은 산전수전을 겪었으며 그 과정에서 비 개발자에서 풀 스택 개발자가 되었다. 스타트업 창업 경험과 팀 내 유일한 개발자로서 4년 가까이 일한 경력이 이번에 개발자로 취업하는데 매우 큰 영향을 끼쳤음을 부인할 수 없다.
  • 그리고 프론트엔드, 백엔드를 굳이 가리지는 않았다. 프론트엔드 포지션이 열려있는 회사에는 프론트엔드 개발자로, 백엔드(혹은 풀 스택) 포지션이 열려있는 회사라면 백엔드 개발자로 지원했다. 내가 둘 다 잘하는 것은 절대 아니고 내 개인적인 취향보다는 회사의 필요에 나를 맞추고자 했다. 물론 모든 지원자가 그렇게 해야 하는 건 아닌 것 같다. 본인이 자신 있는 포지션에 지원하는 게 맞다고 본다. 다만 스타트업이라는 특성을 이해할 필요가 있는 것이, 일하다 보면 백엔드와 프론트엔드의 구분이 희미해질 때가 생기고 이 바닥에서 중견기업 정도 되지 않고서야 기업 입장에서는 모든 도메인을 어느 정도로 잘하는 사람을 더욱 선호하기 마련이다. 이런 이유로 나는 스스로를 풀 스택 개발자로 포지션해서 지원했다.

(1) 회사 지원시 참고사항

  • 입사는 결국 지원자의 상품성을 기업이 인정하느냐 아니냐로 결정된다. 면접관은 회사에 가장 큰 이익을 가져다주는 사람을 뽑을 수밖에 없다. 그러므로 지원자는 본인이 가진 매력과 장점을 최대한 멋지게 포장해서 선보일 필요가 있다. 당신을 뽑으면 회사에 어떤 이익이 있을지가 이력서와 면접을 통해 명확하게 드러나야 한다. “저는 시키시는 일은 무조건 잘 해내겠습니다.”라고 말하는 사람은 매력없다.
  • 당신이 경력이 전혀 없는 신입이라면, 어떻게 매력과 강점을 어필하냐고 물을 수도 있겠다. 하지만 회사도 주니어 레벨의 개발자에게 대단한 강점을 기대하는 것은 아니니 너무 걱정할 필요는 없다. 그렇다면 회사가 신입 개발자에게 기대하는 것은 무엇일까? 생각외로 단순하다. 이 지원자가 앞으로 좋은 개발자로 성장할 가능성이 있는지, 또 이 지원자가 다른 팀원들과 함께 수월하게 일할 수 있을지 등을 본다.
  • 크게 내세울 경력이 없는 신입 개발자라면 개발에 대한 관심과 팀에서 일했던 경험을 어필하는 것이 좋다. 혼자서 했더라도, 프로젝트를 진행했거나 오픈 소스에 기여한 경험이 있다면 반드시 부각하도록 하자. 블로그 활동, 세미나/컨퍼런스 참석, 발표나 교육 경험 등은 당신이 개발에 진지한 관심을 가지고 있다는 사실을 보여주는 좋은 근거들이다.
  • 또, 팀 프로젝트 경험이 있다면 팀에 어떤 기여를 했는지 상세하게 기술하는 것이 좋다. 팀에서 리더를 맡았거나 팀원들의 갈등을 조정한 경험이 있으면 더욱 좋다. 실제로 면접에서 ‘팀에서 이런 문제가 있을 때 어떻게 해결할지’를 묻는 질문은 자주 나온다. 나도 면접에서, 프로젝트를 할때 팀내 갈등을 어떻게 해결했었는지, 만약 동료 개발자의 코드가 마음에 안 든다면 어떻게 이야기할 것인지 등의 질문을 받았다.
  • 회사에 별달리 관심도 없으면서 일단 지원해놓고 보자라는 마음으로 지원하는게 좋은 것 같지 않다. 왜냐하면 회사에서는 여러 차례 면접을 거치면서 이 지원자가 정말 우리 회사에 관심이 있는 건지 수차례 검증할 수 밖에 없다. 실제로 내가 면접을 본 모든 회사들은 왜 자기 회사에 지원했는지, 서비스 사용 경험이 어땠는지, 서비스를 개선한다면 어떤 부분을 개선하고 싶은지에 대해 집중적으로 물어봤다. 면접 30분전에 대충 핸드폰으로 회사 홈페이지에 들어가서 살펴볼 게 아니다.
  • 스타트업에 지원한다면 더더욱 회사와 그 회사의 프로덕트에 대한 관심이 너무나도 중요하다. 대기업이라면 조금 다를 수도 있겠지만, 한 사람 한 사람의 역량이 회사의 방향을 크게 바꿀 수 있는 스타트업의 경우라면 어떤 사람을 뽑을까? 같은 조건이라면 우리 회사와 프로덕트에 더 큰 관심과 애정이 있는 사람을 뽑지 않을까?
  • 감당할 수 없을 정도로 많은 회사를 동시에 지원하는 것도 피하는 게 좋을 것 같다. 어느 정도 실력 있는 지원자라면 서류 심사는 빠르게 통과하고 여러 곳에서 동시에 면접 요청이 올테고 거기다가 미니 프로젝트에 코딩 테스트를 진행해야 할 수도 있다. 스케줄이 아마 감당이 안 될 거다. 내가 평상시에 어떤 분야에 관심이 있는지, 내가 평소에 즐겨 쓰는 웹사이트/어플리케이션은 어떤 게 있는지부터 살펴보면서, 최소한의 관심을 가진 회사를 선별해서 신중하게 지원해보자.
  • 물론 주니어로서 입사 면접 자체가 처음인 사람인 경우, 희망 기업을 제일 먼저 지원하는 것보다 2지망그룹 ⇒ 1지망그룹 순으로 지원하는 걸 추천한다. 이유는 면접을 많이 보면 볼 수록 면접을 더 잘 볼 수 있기 때문이다.

(2) 기술 면접

  • 당신 앞에 있는 면접관이 당신에게 인터뷰 기회와 시간을 할애해 주셨다는 사실에 진심으로 감사하자.
  • 면접관은 최소 몇 년에서 수십 년의 경력자이다. 그러니 당신이 그 이상의 경력이 있지 않은 이상 당신은 그 사람에게 절대적인 초심자이다. 그리고 면접관도 그 사실을 알고 있다.
  • 한가지 다행인 건 경력도 없는 데다가 비전공자인 데다가 프로젝트도 몇 개 해보지 않은 당신에 대한 서류상 평가가 좋을 리 없기 때문에, 그만큼 인터뷰를 잘하면 큰 점수를 딸 수 있다.
  • 전공자가 기술면접을 잘하는 건 놀랍지 않지만 비전공자가 기술면접을 잘하는 건 대단한 거다. 그러니까 비전공자인 당신이 기술면접을 잘 보면 상당히 큰 점수를 얻을 수 있는 거다.
  • 면접 시작과 함께 이력서 출력본을 각 인터뷰어에게 공손하게 돌리자. 이런 것도 준비해왔다는 사실에 반가워할 것이다.
  • 제일 먼저 자기소개를 해달라고 할 것이다. 한 1분짜리 자기소개는 달달 외워서라도 준비해가자. 첫 단추를 잘 꿰어야 한다.
  • 자기소개 이후 회사에 따라 다르지만 바로 기술 주제 질문이 시작된 경우도 있었고 이력서를 찬찬히 보면서 프로젝트 질문으로 시작되기도 했었다.
  • 답변할 때 장황하게 얘기하지 말고 요점만 간단하게 얘기하자. 당신이 장황하게 얘기할수록 잘못 얘기할 가능성이 커짐과 동시에, 면접관은 당신의 답변에 점점 흥미가 줄게 되어있다.
  • 좀 어려운 질문이 들어왔다면, 잠시 생각해보고 잘 모르겠으면 그냥 모르겠다고 얘기하자. 괜히 모르는 것을 안다고 했다가 추가 질문을 통해 모른다는 사실이 들통나면 크게 점수가 깎인다. 면접에서 중요한 것은 모든 질문에 대답하는 것이 아니라, 면접관에게 좋은 인상을 남기는 것이다.
  • 질문자도 당신이 완벽하게 알 것이고 완벽하게 모든 질문에 답할 것이라는 기대는 하지 않는다. 그 누구도 그렇게 하긴 힘들다. 그러니 완벽하게 하려는 마음 자체를 버리고 편한 마음으로 임하자. 이게 제일 중요하다.
  • 기술면접에서 기술적 내용 뿐만 아니라 회사는 당신이 협업하기에 알맞은 개발자인지를 꼭 확인하려 할 것이다. 관련 질문에 대비해두는 것이 좋다. 이를테면 당신은 어떤 코드가 좋은 코드라고 생각하는지, 다른 개발자와 코드 리뷰시 어떤 내용을 지적했었고 어떤 내용을 지적받았었는지, 그리고 다른 개발자와 협업하기 위해서 중요한 것은 어떤 것이 있는지 등을 쉽게 설명할 수 있어야 한다.
  • 기술 면접에서 또다른 주된 활동 중 하나는 면접관들이 당신의 이력서를 보면서 지금까지 진행했던 프로젝트를 샅샅이 뒤져보는 것이다. 그리고 면접관들은 각 프로젝트의 기술 스택을 선택한 이유와 그 기술을 사용한 경험, 장단점, 다른 대안의 고려 여부 등을 물을 가능성이 높다. 이를 통해 우선, 당신이 진짜로 해당 프로젝트에 기여한 것이 맞는지 확인할 것이다. 더 나아가 당신이 어떠한 기술적 고민을 했었는지 그리고 단순히 주어지는 기술 스택이 아닌 특정 문제를 해결하기 위한 솔루션으로서 기술 스택을 어떻게 구성하였는지 알고 싶을 것이다.
  • 그리고 각 프로젝트를 진행하면서 거칠 수밖에 없는 수많은 기술적 난관과 팀 내 이슈를 어떻게 극복했는지 확인하려 할 것이다. 그런 내용에 충분한 준비가 있어야 한다.
  • 회사마다 다르긴 하지만 화이트보드 코딩을 진행한 적도 있었다. 다만 시간 관계상 화이트보드 코딩에 상당히 어려운 문제를 내기는 쉽지 않아서 비교적 단순한 문제가 나왔었다.
  • 어떤 회사에서는 ‘좋은 회사와 그렇지 않은 회사 사이에 어떤 차이가 있는가’라는 다소 어려운 질문을 받은 적도 있었다. 당신이 생각하기에 좋은 회사의 조건을 미리 생각해두는 것도 좋을 것 같다.
  • 기술 면접에는 보통 CTO나 실무 개발자들이 함께 나올 가능성이 높다. 이들이 당신을 인터뷰하기도 하지만 반대로 당신이 이들을 인터뷰한다고 생각해볼 필요가 있다. 즉 당신이 이 회사에서 일하게 된다면 제일 가까이서 함께 일할 사람들이 바로 당신 앞의 면접관들이다. 따라서 이들이 어떻게 서로 커뮤니케이션하는지, 당신에게 어떤 질문을 하는지, 당신이 묻는 말을 답하는 태도는 어떤지, 사람 간 권력 관계는 어떻게 작용하는 것 같은지 등을 관찰하면 회사와 개발팀 문화에 대한 다양한 단서를 얻을 수 있다. 이를 통해 이들과 함께 일하는게 어떤 모습일지 유추해보는 것도 충분히 가능하다.
  • 예를 들어 면접 분위기가 조금 경직되어 있고 지원자를 무시하는 분위기라면, 실제로 이 회사의 조직 문화가 조금 경직되어 있고 팀원들을 무시하는 분위기일 가능성이 높다. 이건 나도 이번에 겪은 일인데, 지원자를 배려하지 않고 무시하는 태도를 가진 면접관이 있었다. 면접에서도 그런 모습이라면 그 사람과 하루종일 같이 일할 때는 어떤 모습일까? 크게 다르지 않을 것이다. 그리고 그런 사람과 함께 일해온 다른 팀원들은 어떤 사람들일까? 왠만하면 이런 팀은 피하는 게 좋을 것 같다.
  • 어떤 기술면접에서는 그 회사의 CTO와 거의 모든 개발자가 다 함께 면접관으로 참여했다. 보통은 CTO와 선임 개발자가 면접에 참석하는 반면 이 회사는 모든 실무진이 참여했다. 이건 이 회사가 개발자 채용에 얼마나 진지하고 적극적인지를 보여주는 것이다. 이 회사의 경우, 입사한 지 3개월이 갓 넘은 신입 개발자도 적극적으로 면접관의 역할을 다하고 본인의 생각을 다른 개발자들과 효과적으로 공유하는 모습을 보였다. 일단 이것만으로 이 팀은 굉장히 민주적인 조직문화를 가진 팀이라는 걸 유추할 수 있었다.
  • 사람이 하는 면접이다 보니, 그 사람의 특성이 드러나게 되어 있다. 일반적으로 서류 전형 이후 기술 면접이 회사 구성원들과 첫 대면인데, 이때 면접관들을 자세히 보면 회사에 대해 많은 것을 미리 알 수 있다. 내 경우와 주변 케이스를 보면, 표면적이고 지엽적인 정보들로 회사에 대해 좋게 생각했었는데 막상 기술 면접에서의 경험이 영 별로인 경우도 꽤 빈번했다.
  • 급한 마음에 어느 회사라도 좋으니 빨리 입사하고 싶다고 생각할 수도 있다. 하지만 조금만 길게 보면 회사에 들어가는 시기보다 어떤 사람들과 일하느냐가 더욱 중요한 결정이다. 어떤 사람들과 어떻게 일하느냐에 따라서 개발자이자 팀원으로서 앞으로 당신은 더 크게 성장할 수도 있고 반대로 퇴사를 결심하게 되기도 한다. 그러니까 회사 구성원들을 사전에 면밀히 조사해보고 면접 시 드러나는 그들의 특성을 최대한 많이 수집할 필요가 있다.
  • 기술 면접의 제일 마지막에는 회사에 궁금한 점을 질문하라고 한다. 만약 지금까지 답변 내용이 부실했다면 만회할 기회이다. ‘기술적’ 질문 여러 개(나는 최소 10개 이상을 준비했다)를 미리 준비하자. 개발팀은 어떤 식으로 일을 하고 커뮤니케이션하는지, 개발자로서 성장할 수 있는 개발팀 문화가 있다면 어떤 게 있는지 등으로 시작하면 무난하다. 무엇보다 그 회사의 프로덕트를 미리 연구해보고 특정 기능에 대해 질문하는 등 적극적인 모습을 보여주면 제일 좋다.
  • 면접이 끝나면 그날이 지나가기 전에 thank you 이메일을 보내는 것도 좋은 것 같다.

다음 글 비전공자가 스타트업 개발자로 취업할 때 참고하면 좋을 것들(2)에서 이어집니다.

최종 수정 2019-05-05