[서평 작성] 개발자 기술 면접 노트
목차.
Part 01. 취업과 이직을 위한 서류 준비
- Cahpter 01 취업을 위한 기본 준비물
- Chapter 02 지원하려는 회사와 목표 정하기
- Chapter 03 취업과 이직을 위한 첫걸음, 이력서와 자기 소개서
- Chapter 04 시선을 사로자는 커리어, 경력 기술서
Part 02 실전에서 마주하는 기술 면접과 코딩 테스트
- Chapter 05 프로그래머의 역량
- Chapter 06 코딩 테스트 전략
- Chapter 07 기술 면접 대비하기
- Chapter 08 기술 면접 이후 만나게 될 난관
들어가며.
안녕하세요? 정리하는 개발자 워니즈입니다. 이번에 서평하게 될 도서는 개발자 기술 면접 노트입니다. 필자도 피면접자인 동시에 면접관을 경험해봤는데요. 면접이라는 그 짧은 시간에 본인이 갖고 있는 기술 역량과 이미지를 각인 시켜야 하는데요. 이 책은 면접을 준비하는 입장에서 도움이 될만한 책이라고 생각합니다.
필자가 주니어에서 중니어 시절에 여러 회사들의 면접을 보면서 많은 탈락의 경험을 했었는데요. 그 가운데서 어떤 부분이 부족한지 어떤 부분을 준비해야되는지 갈피를 잡지 못했었습니다. 하지만 현재 재직중인 회사에서 다양한 경험을 하고 어느덧 10년이상 업계에서 일을 하다보니 면접에도 확실히 각인 시킬 수 있는 스킬이라는 것이 존재한다고 생각하게 됐습니다.
물론 거짓된 경험을 전달하는 것이 아니라 본인이 갖고 있는 기술적 커리어와 면접시에 비춰지는 이미지를 어떻게 효과적으로 보여줄지에 관한 기술이라고 생각해보면 될 것 같습니다.
이책은 새로운 출발을 하는 주니어들에게 특히 도움이 될만한 책이라고 생각이 듭니다. 첫 면접을 들어가기전에 이 책을 통해서 도움을 많이 받았으면 합니다. 그러면 각 챕터별로 어떤 내용들이 담겨있는지 간단히 정리해보겠습니다.
Chapter 01 취업을 위한 기본 준비물
취업을 위한 준비물은 당연하게도 이력서, 자기소개서, 경력기술서 등으로 분류 됩니다. 이력서 같은 경우는 매년 업데이트를 하는것이 좋습니다. 필자 같은 경우는 매년은 아니지만 2년에 한번씩 굵직하게 진행했던 내용들에 대해서는 정리를 해두는 편입니다. 그리고 좀더 어필하고 싶은 내용들은 포트폴리오를 통해서 상세히 기록합니다. 스킬셋, 아키텍처 등을 다이어그램으로 넣어두어 면접관으로 하여금 좀 더 관심을 가도록 해두는 편입니다.
Chapter 02 지원하려는 회사와 목표 정하기
지원하려는 회사를 찾는 방법은 많은 사람들이 알지만, 나와 핏이 맞는 회사 찾기에 대해서는 쉽사리 알지 못한는 것 같습니다. 신입이든 경력이든 내가 아는 부분들 그리고 자신있게 할 수 있는 부분들을 반드시 알아두고 지원하려는 회사에서 원하는 스킬셋을 연결 시켜봐야 합니다.
아래의 기준에 부합하는 회사를 찾고 회사의 정보 그리고 채용 절차에 대해서 미리 알아두는 것이 필요합니다.
- 기술 스택이 일치하는가?
- 잘할 수 있거나 잘 알고 있는 분야인가?
Chapter 03 취업과 이직을 위한 첫걸음. 이력서와 자기소개서
면접관이 이력서를 검토하는 시간은 1분정도라고 합니다. 필자도 면접관을 들어갔을 때 심사숙고해서 이력서와 자기소개서를 검토하지는 않습니다. 주로 채용을 원하는 회사에서 원하는 스킬셋에 대한 경험이 있는지 그리고 본인이 주도적으로 한 업무가 있는지에 대해서 관심을 더 갖게 됩니다.
책에서는 탈락을 부르는 이력서와 지원 사례에 대해서도 소개를 하고 있습니다. 다음과 같은 케이스들이 탈락을 부르게 되는데 결국 면접관으로 하여금 매력을 느끼지 못하는 이력서들이라고 생각이 됩니다
- 두 번 이상 동일 부서에 지원
- 성의와 일관성이 없는 이력서
- 눈에 띄는 이력사항이 전혀 없는 이력서
- 경력의 부재, 혼돈의 커리어 관리
- 대기업만 선호하는 지원자
Chapter 04 시선을 사로잡는 커리어, 경력 기술서
경력 기술서야말로 면접관들을 사로잡을 내용으로 채워넣는 것이 중요합니다. 이 챕터에서는 어떤 내용을 어떤 식으로 구성하면 좋을지에 대한 내용을 가이드하고 있습니다. 가령 경력 기술서를 작성할 때 아래와 같은 가이드를 제시하고 있습니다.
- 프로젝트 수행내용을 최신 이력순으로 정렬합니다.
- 고객에게 설명하듯이 쉽게, 핵심만 기술합니다.
- 본인이 어떤 역할을 했는지 자세히 기술하되 부풀리지 않습니다.
- 나에게 유리한 방향으로 작성합니다.
깃헙 작업이 있다면 해당 내용을 넣어도 좋고, 스터디, 개인프로젝트, 오픈소스 참여한 내용들도 모두 넣어도 좋다고 되어있습니다.
Chapter 05 프로그래머의 역량
해당 챕터는 너무 당연한 역량들에 대해서 소개를 하고 있습니다. 책에서는 더 넓은 범위를 소개하고 있지만 필자가 생각하는 부분은 아래와 같습니다. 책에서도 유사한 내용을 소개하고있어서 이런부분들은 필히 알아두는 것이 좋다는 내용에 대해서 이야기하고 있습니다.
- OS, 네트워크, 인프라
- 자료구조와 알고리즘
- 데이터베이스
- 프로그래밍 언어
Chapter 06 코딩 테스트 전략
요즘 대부분의 채용 시장에서는 코딩 테스트를 채용 프로세스에 포함하고 있습니다. 따라서 이에 대한 전략도 반드시 필요한 상황인데요. 책은 이러한 부분에 대해서도 소개를 하고 있습니다.
코딩 테스트 관련해서는 다음의 순서를 이야기하고있습니다.
- 자료 구조의 이해 ( 스택 , 큐, 우선순위 큐, 연결 리스트 )
- 복잡도에 대한 이해 -> 실행속도 고려하기
- 기본적으로 알아야할 알고리즘( 정렬, 검색, LRU, LFU )
개발자 기준으로는 코딩테스트는 기본 소양이기 떄문에 하루에 1-2문제씩 꾸준히 풀고 내용을 정리해두는 방향에 대해서 이야기를 하고 있습니다.
Chapter 07 기술 면접 대비하기
필자는 이부분이 이 책의 핵심이라고 생각할 만큼 제일 중요한 챕터라고 생각했습니다. 면접을 대비하기 위한 서적이기 떄문에 면접에 대한 스킬, 예상 질문들에 대한 내용이 소개가 있을것이라고 예상하고 읽었습니다.
기술 면접의 시작은 채용 공고를 확인하는 것에서부터 시작한다고 되어있습니다. 당연히 지원하고자 하는 회사의 채용 공고를 통해서 어떤 기술 스택이 필요한지를 먼저 이해하느것이 중요합니다. 이를 통해서 해당 회사에서 현재 어떤 프로젝트가 진행중인지를 예측하고 본인이 갖고 있는 기술 스택과 연결을 지어서 답을 할 수 있도록 준비를 해야 합니다.
책의 저자가 이야기하는 기술 면접 대비하기와 필자가 생각하는 내용이 명확히 일치하는 부분은 아래의 것입니다.
Q. 테이블 파티셔닝에 대해서 설명해주세요.
단순히 파티셔닝이라는 지식적인 내용을 물어보는 것이 아니라, 파티셔닝이 어떤 경우에 적용이 되고 피면접자가 실제 파티셔닝과 관련해서 어떤 작업과 역할을 수행했으면 그것으로부터 얻은 인사이트는 어떤것인지를 물어보는 내용입니다.
따라서, 기술면접은 단순히 정답을 말하라는 취지가 아니라 지식과 경험을 연결지어 설명하라는 의미입니다. 책은 이내용을 명확하게 설명하고 있습니다.
자주 나오는 질문들도 있어 이러한 부분들을 경험을 했다면 연결지어 답변을 할 수 있도록 준비하는것도 기술면접에 많은 도움이 될것이라고 생각했습니다.
그밖에도 대용량 처리 경험에 대해서도 소개를 하고있는데 이는 실제 프로젝트에 투입되지 않았다면 경험해보기 어렵기 떄문에 신입 기준으로는 지식적 내용을 알아두는것이 좋을것 같았습니다.
Chapter 08 기술 면접 이후 만나게 될 난관
이번 장은 마지막 단계인 소위 임원 면접에 대한 내용을 다루고 있습니다. 기술 면접을 마치고 나서 진행되는 2차 면접에 대한 이야기이고, 주로 인성 면접이라고 이야기하고 있습니다. 주로 정답이 없는 상황들에 대해서 질문을 많이 받는 경우에 대한 이야기를 하고 있습니다. 이는 답을 유도해내는 것이 아니라 회사가 지향하는 문화에 대해서 얼마나 적합한지를 판단하는 내용으로 회사 정보 수집단계에허 회사의 지향점에 대해서 이미 알아둔 상태라면 연결해서 답변을 하면 된다고 소개하고있습니다.
주로 질문지는 다음과 같습니다
- 커뮤니케이션 스킬이 무난한가?
- 우리 조직에 어울릴 만한 사람인가?
- 주어진 역할을 잘 수행할 수 있는가?
- 발전 가능성이 있는가?
- 자신의 직무나 업무에 대한 열정이 있는가?
마지막 Wrap up을 하면서 마무리를 짓고 있는데 아래의 이야기가 이 한권의 책을 잘 설명하는것 같아서 정리합니다.
면접은 일방적인 심사의 자리라기보다는 회사와 나, 조직과 나 사이의 간극을 줄이고 알아가는 일종의 소개팅 자리라고 생각하는 게 편하다. 소개팅을 잘하기 위해 미리 약속 날짜를 정하고 식당을 예약하는 준비를 하는 것처럼 말이다.
일종의 소개팅처럼 서로의 간극을 줄이는게 면접의 궁극적인 목표라고 저자는 말하고 있습니다.
마치며.
이 책은 기술 면접을 어떤식으로 준비하면 되는지에 대한 서적이라고 보면 될 것 같습니다. 챕터의 순서가 일반적인 기업의 채용 프로세스에 맞춰서 되어있습니다. 기업을 찾고 지원하는 단계부터 코딩 테스트, 1차 면접(기술), 2차 면접(인성)으로 이어지는 흐름이 너무 좋았습니다. 대부분이 신입을 기준으로 맞춰저 있어 대상 독자는 주로 취업을 준비하는 학생들이 읽으면 좋을 것 같다는 생각을 했습니다.
그리고 각 챕터마다 실패하는 이력서, 실패하는 면접 등등에 대해서 소개를 하고있어서 본인이 준비하는 것과 비교해본다면 큰 도움을 받을 수 있다는 생각도 해보았습니다. 취업을 준비하는 학생 입장에서는 이 책은 하나의 멘토처럼 도움을 받을 수 있으며, 준비하는 과정에서 지식적인 실력도 쌓을 수 있도록 지식적인 부분도 잘 정리가 되어있다고 생각했습니다.
본 포스팅은 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”