개발자 이직 이야기

해외 취업 & 이직. 첫 번째 인터뷰 준비하기

발짜개 2024. 10. 18. 23:22


저는 현재 베를린에서 4년 정도 일 한 후 이직 준비를 하고 있는 파이썬 백엔드 개발자입니다. 이직 준비를 하면서 이제 hiring 과정에 익숙해져서 주변에 다른 한국인 개발자들에게 도움이 될까 하여 글을 써 봅니다. 오늘 다뤄볼 주제들은 크게 두 가지로, 독일 시장을 위한 개발자 Resume작성하는 법과 리크루터 인터뷰를 준비할 때 도움이 되는 팁입니다.

 

개발자 Resume 작성 시 주의사항(독일 시장 위주)

먼저 레주메 쓰는 도구로는 Canva를 추천합니다. 깔끔하고 다양한 레주메 템플릿들이 있어서 워드로 작성한 것보다 훨씬 더 전문적으로 보일 수 있습니다.

전통적인 독일 레주메는 사진을 포함하는 것이 일반적이지만 베를린에는 미국 기업도 많고 다양성을 중시하는 분위기가 생기고 있기 때문에 간혹 이력서에 사진을 포함하지 말라고 하는 경우도 있습니다. 저도 사진 없이 글로만 자신을 표현하는 것이 더 전문성이 돋보인다고 생각했기 때문에 제 레주메에 사진을 포함하지 않았습니다.

휴대폰 번호나 집주소 같은 정보는 생략하길 추천합니다. 안전상의 이유도 있고, 리크루터에게 반복적으로 콜드콜이 오는 경우도 있기 때문에 저는 hiring process가 시작되고 특별히 휴대폰 번호를 요청하는 경우에만 알려주고 있습니다. 

 

Resume에 어떤 내용을 담아야 할까?

먼저 간단하게 나를 묘사할 수 있는 한 단락정도의 글을 준비하면 좋겠습니다. 저는 제가 맡았던 팀의 프로덕트와 제가 해왔던 일, 온 콜 경험 등을 간단하게 소개했습니다.

그 외의 내용으로는 Professional Experience, Education, Skills, Keyword 이렇게 네 파트를 준비했습니다.

Professional Experience에는 저의 전 회사에서 일했던 핵심적인 부분을 7개 정도의 포인트를 뽑아서 정리했고, 경력이 그렇게 길지 않아서 인턴을 했던 두 군데 회사에서의 내용도 한 줄씩 추가했습니다.

Education 부분에서는 학점까지는 쓰지 않았지만 흥미로웠던 프로젝트나, 학부생으로써 논문을 개제한 것, 교환학생 다녀온 것 등을 추가했습니다.

Skills에는 제가 가진 기술 스택보다는 제가 일하면서 겪었던 개발자로서 중요한 역량 같은 것을 중점적으로 적어 넣었습니다.

Keyword 부분에는 혹시나 빠진 키워드가 있어 AI 필터에 걸러지는 것을 방지하기 위해 제가 쓸 수 있는 기술 스택들을 레벨 상관없이 적어두었습니다. 또한 리크루터들이 간단하게 이 부분만 보고도 판단할 수 있도록 깔끔하게 작성했습니다.

각 섹션에 들어갈 내용을 작성했다면, Chat GPT의 도움을 받아서 영문법 교정을 받거나 레주메에 알맞은 단어로 바꾸는 것을 추천드립니다.

 

커버 레터 꼭 써야 할까?

사실 경력직의 경우 커버레터를 굳이 쓰지 않아도 된다고 생각합니다. 온라인으로 지원할 때 거의 모든 회사들이 커버레터 제출하는 칸은 옵션으로 남겨둡니다. 물론 제출하는 것이 더 정성을 보여줄 수 있겠지만 딱히 하지 않아도 저의 경우에는 큰 문제가 되지 않았습니다.

만약 커버레터를 제출하고 싶다면 이것 역시 위에 언급했던 칸바를 사용해서 예쁜 템플릿에 담아 제출하면 좋습니다.

혹시 아주 쉽고 간단하게 커버레터를 작성하고 싶다면 ChatGPT에게 본인의 이력서 내용과 Job Description을 알려주고 여기에 알맞은 커버 레터를 작성해 달라고 부탁하면 됩니다. 보통 과장되거나 상관 없는 내용이 추가될 수도 있기 때문에 꼭 한번 다시 읽어보고 제출하시는 것이 좋습니다.

 

인터뷰 프로세스

보통 인터뷰 프로세스는 대략 다음과 같은 순서로 이루어지는데 간혹 순서가 바뀌거나, 한 단계가 빠지거나, 합쳐지거나 할 수도 있습니다.

 

여기서 Recruiter란 주로 외부 사람인 경우가 대다수이고, 서류를 보고 필요한 팀에 매칭하는 정도만 하기 때문에 팀 내의 정확한 상황이나 프로덕트의 향후 계획에 대해서는 잘 모르는 경우가 대부분입니다. 큰 회사의 경우에는 internal 리크루터들도 많기 때문에 상황이 다를 수 있습니다.

 

Hiring Manager란 현재 모집하고 있는 팀의 리드나 엔지니어링 매니저급 사람으로 리크루터보다 훨씬 더 자세한 내용을 알고 있는 경우가 많으며 대다수가 기술적 백그라운드를 가지고 있습니다. 따라서 자세한 질문은 리크루터보다 하이어링 매니저에게 물어보는 편이 좋습니다.

 

그러나 리크루터들도 경력에 따라 조금 더 심화된 인터뷰가 될 수 있으며, 간혹 작은 규모의 회사들인 경우에는 회사 내 팀원이 리쿠르팅 콜을 할 수도 있기 때문에 항상 다양한 질문들을 준비해 놓는 것이 좋습니다. 또 반대로 내가 리크루터나 하이어링 매니저에게 물어볼 질문들도 다양하게 준비해 놓는 것을 추천합니다.

 

코딩테스트는 혼자 집에서 해커랭크 및 온라인 코딩 테스트 툴을 통해서 보는 경우도 있지만 라이브 코딩 테스트로 진행될 수도 있습니다. 이 경우에는 보통 스크리닝을 목적으로 보는 것이기 때문에 엄청 어려운 문제도 아닐뿐더러 면접관과의 커뮤니케이션이 중요하게 작용합니다. Home assignment인 경우는 설명에 제대로 적혀있지 않은 요구사항을 확실하게 정의해서 개발하는 것이 중요하고, 간단하게 만드는 편이 좋습니다. 어떤 기술을 선택해야 하는 경우 왜 그걸 선택했는지 설명하고, 문서 작성을 조금이라도 하는 것을 추천합니다.

 

테크니컬 인터뷰는 주로  그전의 일 경험에 대해서 자세하게 물어보는 시간이며 추가로 시스템 디자인 면접이 될 수도 있고, Home assignment가 있었던 경우 이에 대해 발표 및 질의응답을 합니다. 과제나 테크니컬 인터뷰에 대해서는 다음 글에서 좀 더 다뤄보도록 하겠습니다.

 

Recruiter 면접 플로우

먼저 리크루터가 자기소개를 하면서 것이 시작하는 것이 보통입니다. 그리고 지원한 회사가 어떤 회사인지, 팀은 어떻게 구성되어 있는지, 어떤 프로덕트를 위해 일하는지 등을 간략하게 소개해줍니다. 리크루터의 설명이 끝나면 이제 본인 차례가 되어서 자기소개를 하고 서로 질의응답을 하면 됩니다.

 

자기소개는 이력서에 써두었던 Summary를 기반으로 간략하게 하면 됩니다. 만약 아직 한국에 있다면 왜 독일로 가고 싶은지 한 두 마디 정도 추가하고, 이미 베를린에 살고 있다면 여기 산지 얼마나 됐는지 정도만 언급하면 좋을 것 같습니다.

 

현재 회사를 다니고 있는 경우에는 왜 구직을 하는지, 혹은 이미 회사를 그만둔 상태라면 왜 그만뒀는지는 반드시 물어보는 질문입니다. 현/전 회사를 비난하지 않는 선에서 솔직하게 말하는 것이 좋다고 생각합니다. ex) 더 이상 회사와의 비전이 맞지 않는다, 회사가 팀을 매각하는 상태에서 레이오프를 당했다 등등

 

리크루터가 회사나 팀을 소개하는 동안 잠깐 받아 적으며 그에 관련한 질문을 추가로 하는 것이 좋습니다. ex) 팀은 스크럼/칸반으로 일하나요?, 이 프로덕트를 담당하는 팀에서 일하게 되는 건가요?  

 

그 외에 지원자의 비자 지원이 필요한지, 온사이트/리모트/하이브리드 옵션이 지원자에게 괜찮은지 리크루터가 다시 한 번 확인할 것입니다. 코로나 이후로는 비자 지원을 해주는 회사가 많이 줄어든 것 같아 안타깝습니다.

 

마지막으로 리크루터의 가장 중요한 임무는 지원자의 희망 연봉을 대략적으로 협의하는 것입니다. 여기서 주의할 점은 너무 높거나 낮게 부르지 않는 것인데, 주변의 개발자들이나 전 직장 동료들에게 물어보는 것이 가장 좋습니다. 리크루터가 연봉 이야기를 꺼내기 전에 먼저 이 포지션에 배당된 Salary range가 어느 정도인지 물어보는 것이 가장 좋습니다. 리크루터가 먼저 물어봤다면, 가능하다면 특정 금액보다는 범위로 대답하는 것이 좋습니다. 일반적으로 회사에서 잡 포지션을 열면서 해당 포지션에 맞는 예산을 미리 배치해 두기 때문에 그 레인지 내에서 가장 높은 금액을 얻어내는 것이 유리합니다. 

 

베를린 개발자 연봉은 회사가 유럽회사인지 미국계 회사인지에 따라서 조금 차이가 나는 편입니다. 2024년 백엔드 개발 기준 보통 독일 회사들은 주니어는 연봉 50k 정도이고 미드 급은 65-80k, 시니어는 80k-100k, 엔지니어링 매니저는 보통 90k-110k입니다. (독일에서는 법적인 배우자나 그에 준하는 동거인 또는 자녀가 있지 않은 이상 40퍼센트 세금을 내기 때문에 한국에서 이직하는 경우 현재 연봉보다 30프로 정도 높은 연봉을 불러야 현상유지를 할 수 있습니다.) 대기업이나 미국계 회사인 경우 같은 포지션이라도 10k-20k 차이가 날 수 있습니다. 또한 인터뷰 성과에 따라서 연봉이 조정될 수 있습니다.

 

Recruiter Interview 예상 질문

리크루터 면접이 있을 때 반드시 준비해야 하는 질문들은 다음과 같습니다.

  • Introduce yourself
  • What made you quit last company? Why are you looking for a new job?
  • What team setup did I worked on? How have you worked with cross-functional teams, such as frontend developers, product managers, or vendors, in previous roles?
  • Can you briefly describe your experience with Python in backend development, particularly in scale-up environments?

이런 질문들은 항상 물어보는 질문이기 때문에 면접을 몇 번 보다 보면 기계처럼 대답할 수 있게 됩니다.

 

다음 질문들은 좀 더 심화된 질문으로 모든 리크루터들이 물어보진 않지만 대기업이나 큰 회사일수록 물어볼 확률이 높습니다.

  • What were your (recent) biggest achievements?
  • Tell me about a recent project you've been involved. What was your role? How did you contribute? What did you learn from it?
  • What were the most challenging tasks/projects in your previous job and how did you tackle it? Can you describe a complex technical problem you’ve faced and how you approached solving it?
  • Describe the last project you worked on including any obstacles and your contributions to its success.
  • Have you lead any project recently? Can you give an example of how you’ve taken ownership of a project and led it from conception to completion? Can you describe a time when you took ownership of a critical feature or codebase? How did you ensure it aligned with best practices?
  • Can you give an example of a time when you had to quickly learn a new technology or tool to solve a customer's issue?
  • Tell me about a recent learning goal you set for yourself.
  • We emphasizes diversity, inclusion, and collaboration. Can you tell us how you’ve contributed to fostering a positive, inclusive team culture in your previous roles?

이런 질문들은 STAR approach를 사용해서 답변하는 것이 중요합니다. STAR 모델은 Situation, Task, Action, Result의 약자로, 인터뷰에서 질문에 대해 체계적으로 답변할 수 있도록 도와주는 구조화된 대답 방식입니다. 지원자의 문제 해결 능력, 기술적 역량, 팀워크 등을 구체적이고 명확하게 전달할 수 있습니다.

Situation (상황): 어떤 상황에서 문제가 발생했는지 설명.
Task (과제): 그 상황에서 당신에게 주어진 과제 또는 목표는 무엇이었는지 설명.
Action (행동): 그 과제를 해결하기 위해 취한 구체적인 행동을 설명.
Result (결과): 그 행동의 결과로 무엇을 달성했는지 설명.

 

예를 들어서 "어떤 어려운 문제를 해결한 경험에 대해 말해 주세요."라는 질문을 받았을 때 이런 식으로 답변할 수 있습니다.

Situation: 
"저는 이전 직장에서 대규모 e-commerce 사이트의 백엔드 개발을 담당했습니다. 어느 날 사이트의 주문 처리 속도가 느려져 고객 불만이 급증하는 상황이 발생했습니다. 사이트에서 한 번에 처리할 수 있는 주문 수가 매우 제한적이었고, 성능 문제가 심각해졌습니다."

 

Task:
"제게 주어진 과제는 주문 처리 속도를 향상하고, 시스템이 높은 트래픽에서도 안정적으로 작동할 수 있도록 개선하는 것이었습니다. 이를 통해 고객 만족도를 높이고, 사이트의 매출 손실을 방지하는 것이 목표였습니다."

 

Action:
"먼저 문제의 원인을 분석하기 위해 데이터베이스 쿼리와 서버 로그를 집중적으로 모니터링했습니다. 여러 병목 지점 중 데이터베이스 트랜잭션 관리가 주요 원인임을 발견했습니다. 이를 해결하기 위해 트랜잭션을 최적화하고, 데이터베이스 쿼리를 개선했습니다. 또한, 서버에 캐싱 메커니즘을 도입하여 자주 조회되는 데이터를 캐시로 처리하도록 했습니다. 마지막으로, 시스템 부하를 분산하기 위해 클라우드 기반의 로드 밸런서를 추가로 구성했습니다."

Result:
"이러한 개선 작업 후, 주문 처리 속도가 40% 향상되었고, 동시에 사이트가 높은 트래픽을 처리할 수 있는 안정성을 확보했습니다. 결과적으로 고객 불만이 크게 줄었고, 매출이 15% 증가하는 성과를 얻었습니다. 이 프로젝트는 회사 내부에서도 성공적인 성과로 인정받아 다른 서비스에도 적용되었습니다."

이렇게 STAR 모델을 사용해서 문제 해결 과정에서 어떤 상황에 놓였고, 그 문제를 해결하기 위해 어떤 구체적인 행동을 했는지, 그 결과가 무엇이었는지 명확하게 전달하는 것이 중요합니다.

 

Do you have any other questions?

이 질문은 면접이 끝났을 때 리크루터가 꼭 하는 말입니다. 이 질문을 받았을 때 머쓱하게 웃으며 아니 없어 이제 괜찮아~라고 말할 수도 있겠지만 그보다는 다른 추가 질문을 한 두 개라도 반드시 하는 것을 추천합니다. 앞서 리크루터가 팀이나 프로덕트 소개를 하며 말한 정보에 대해서 추가로 질문하거나 그 외에도 내가 물어볼 질문 리스트를 만들어두고 질문하는 것을 추천합니다.

 

제가 자주 하는 질문은 다음과 같습니다.

  • What does the team structure look like?
  • How diverse is the team in terms of gender ratio and nationality?
  • How do you provide feedback, and how is it implemented?
  • How does the team share knowledge and collaborate?
  • Thank you for explaining the role in such detail. When can I expect to hear back regarding the next steps in the process?

 

마무리

이 글이 독일 내 취업을 준비하는데 조금이라도 도움이 되시길 바라며 다음 편에는 Hiring Manager 인터뷰 심화 버전이 올라올 예정이니 기대해 주세요!