태그 보관물: 영어면접

코드는 짰는데 설명이 안 됩니다 — 비영어권 엔지니어가 겪는 ‘설명력의 함정’

대표 이미지

코드는 짰는데 설명이 안 됩니다 — 비영어권 엔지니어가 겪는 '설명력의 함정'

알고리즘 실력보다 무서운 언어 장벽, 단순한 영어 공부가 아닌 '사고의 전환'으로 돌파하는 법

해외 취업이나 글로벌 팀 합류를 준비하다 보면 정말 당혹스러운 순간이 옵니다. 화이트보드에 코드는 완벽하게 짰는데, 막상 “왜 이렇게 짰나요?”라는 질문을 받으면 머릿속이 하얘지는 경험 말이죠. 사실 기술 면접은 단순히 알고리즘이나 아키텍처 실력을 뽐내는 자리가 아니라, 내가 가진 생각을 영어로 어떻게 전달하느냐의 싸움에 가깝습니다 [1].

저 역시 비슷한 경험이 있습니다. 기술적으로는 정답에 도달했음에도 불구하고, 그 과정을 설명하는 영어 문장이 입안에서 맴돌 때의 그 답답함은 이루 말할 수 없죠. 면접관의 고개가 갸우뚱해지는 순간, 내 기술력마저 의심받고 있다는 공포가 밀려옵니다. 여기서 우리가 깨달아야 할 핵심이 있어요. 기술 면접의 본질은 정답을 맞히는 게 아니라 ‘사고 과정의 공유’라는 점입니다. 특히 우리 같은 비영어권 엔지니어들에게 필요한 건 단순한 영어 단어 암기가 아니에요. 머릿속의 번역 단계를 과감히 제거한 ‘영어 직접 사고’와, 완벽함보다는 전달력에 집중하는 전략적인 접근이 필요합니다.

문제는 ‘영어 실력’이 아니라 ‘번역 프로세스’에 있다

많은 분이 “영어를 더 공부해야 해”라고 생각하며 단어장을 펼치지만, 사실 면접장에서 우리를 괴롭히는 건 영어 실력 그 자체보다 ‘번역 프로세스’라는 병목 현상이에요. 보통 비영어권 화자들은 이런 단계를 거칩니다. [영어 청취 → 모국어로 번역 → 모국어로 생각 → 다시 영어로 번역].

이 과정에서 아주 미세한 지연(delay)이 발생하는데, 이게 면접이라는 압박감과 만나면 엄청난 스트레스로 다가옵니다. 예를 들어, 면접관이 “Can you walk me through your thought process?”라고 물었을 때, 우리는 머릿속으로 ‘사고 과정을 설명해달라는 뜻이구나’라고 번역하고, 다시 ‘제 생각은 이랬습니다’를 영어로 바꾸느라 정작 중요한 기술적 논리를 놓치게 됩니다. 답변이 부자연스러워지고, 스스로 “내 영어가 이상한가?”라는 생각에 빠지게 되죠.

“Most non-native speakers don’t actually think in English, they translate everything.” [3]

“대부분의 비영어권 화자는 영어로 생각하지 않고 모든 것을 번역하며, 이 과정이 응답의 자연스러움을 해칩니다.”

사실 문법적으로 완벽한 문장을 만들려는 집착이 오히려 독이 되는 경우가 많아요. 적절한 단어를 찾지 못해 머뭇거리는 사이 자신감은 떨어지고, 유창성은 더 낮아 보이는 악순환에 빠지게 됩니다 [2]. 면접관은 당신의 문법 점수를 매기는 선생님이 아니라, 함께 코드를 짤 동료를 찾는 엔지니어라는 사실을 기억해야 합니다.

코딩 능력과 언어 능력 사이의 ‘인지적 간극’

더 무서운 건, 이 언어 장벽이 단순히 ‘말하기’에만 머물지 않고 실제 기술적 구현 단계까지 영향을 준다는 거예요. 예를 들어 if, unless, while 같은 제어문들은 우리 모국어와 1:1로 딱 떨어지게 대응되지 않는 경우가 많습니다. 이 미묘한 차이 때문에 개념 파악에 혼선을 겪기도 하죠 [4].

이런 ‘인지적 간극’은 코드의 퀄리티, 특히 네이밍에서 적나라하게 드러납니다. 적절한 영어 단어가 바로 떠오르지 않으니 변수명을 a, temp, 혹은 너무 포괄적인 table 같은 무의미한 이름으로 짓게 되는 경향이 있어요 [4].

// ❌ 언어 장벽으로 인해 네이밍이 모호해진 경우
function processData(data) {
  let a = []; // 무엇을 담는 배열인지 알 수 없음
  for (let i = 0; i < data.length; i++) {
    if (data[i].status === 'active') {
      a.push(data[i]); // 'activeUsers'라고 짓고 싶지만 단어가 바로 안 떠오름
    }
  }
  return a;
}

// ✅ 의도가 명확한 네이밍 (전달력 중심)
function filterActiveUsers(users) {
  const activeUsers = []; // 변수명만으로도 역할이 설명됨
  users.forEach(user => {
    if (user.isActive) {
      activeUsers.push(user);
    }
  });
  return activeUsers;
}

위 코드처럼 단순한 차이 같지만, 면접관 입장에서는 네이밍 하나가 엔지니어의 사고방식을 보여주는 지표가 됩니다. data_list라고 짓는 것과 user_transaction_history라고 명확히 짓는 것은 단순히 영어 실력의 차이가 아니라, 도메인을 얼마나 깊게 이해하고 설계했느냐의 차이로 읽히기 때문입니다. 게다가 기술적 어휘 하나를 몰라서 문장 전체의 의미가 흐릿해지는 상황이 발생하면, 내 기술력이 실제보다 낮게 평가받는 억울한 상황이 벌어지기도 하죠 [4].

전략적 돌파구: 완벽함(Perfection)보다 존재감(Presence)

그렇다면 어떻게 해야 할까요? 정답은 ‘완벽함’을 버리고 ‘존재감’을 택하는 것입니다. 면접관이 기대하는 건 원어민 수준의 발음이 아니에요. 그보다 중요한 건 자신감, 에너지, 그리고 상대의 말을 정확히 듣고 반응하는 태도입니다 [3].

실전에서 바로 써먹을 수 있는 팁 몇 가지를 공유할게요.

첫째, 정해진 답안을 통째로 외우지 마세요. 소위 ‘Tutored’ 스타일이라고 하는데, 외운 대로만 말하려다 보면 로봇처럼 들리고 예상치 못한 질문이 나왔을 때 완전히 무너집니다. 대신 본인에게 편한 단어를 사용해 자연스럽게 말하는 연습을 하세요. “I think this approach is better because…” 같은 단순한 패턴 몇 가지만 익혀두고, 그 뒤에 자신의 생각을 얹는 방식이 훨씬 유연합니다 [3].

둘째, ‘셀프 내레이션(Self-narration)’을 습관화하세요. “지금 커피를 타고 있어”, “이제 이메일을 확인해야지”처럼 일상의 행동을 영어로 묘사하는 겁니다. 코딩을 할 때도 “Now I’m creating a loop to iterate through the array”라고 중얼거려 보세요. 이렇게 하면 [영어 청취 → 영어 사고 → 영어 답변]으로 이어지는 직접 사고 회로를 구축하는 데 큰 도움이 됩니다 [3].

셋째, 모의 면접의 강도를 높이세요. 단순히 답변을 읽는 게 아니라, 누군가 내 말을 끊거나 꼬리 질문을 던지는 스트레스 상황을 시뮬레이션해야 실전에서 당황하지 않습니다. 특히 예상치 못한 질문을 받았을 때 당황하지 않고 시간을 버는 “That’s an interesting question, let me think about it for a moment” 같은 ‘필러(Filler)’ 문구를 전략적으로 활용하는 연습이 필요합니다 [5].

결국 핵심은 이 한 문장으로 요약됩니다.

“Fluency > Perfection, Practice > Fear, Trying > Avoiding” [3]

“유창함이 완벽함보다 중요하고, 연습이 두려움보다 앞서야 하며, 피하는 것보다 시도하는 것이 낫습니다.”

짚고 넘어갈 한계와 안티패턴

열심히 노력하는데도 성과가 안 난다면, 혹시 이런 ‘안티패턴’에 빠져 있지는 않은지 점검해 보세요.

가장 흔한 실수가 문법책과 단어장 위주로 공부하는 겁니다. 이건 실제 말하기 능력과는 괴리된 ‘죽은 지식’을 쌓는 일이에요. 이제는 책을 덮고 실제로 그 영어를 사용하는 환경에 자신을 던져야 할 때입니다. 오픈소스 프로젝트에 참여해 PR 코멘트를 달거나, 글로벌 개발자 커뮤니티에서 토론하는 경험이 문법책 10권보다 훨씬 효과적입니다 [3].

또한, 완벽한 문장이 구성될 때까지 침묵하는 습관은 정말 위험합니다. 면접관은 당신이 생각 중인지, 아니면 소통이 불가능한 상태인지 알 수 없거든요. 차라리 “Let me think for a second”라고 말하며 소통의 끈을 유지하세요. 침묵은 불안감을 증폭시키지만, 짧은 말 한마디는 당신이 상황을 컨트롤하고 있다는 인상을 줍니다.

마지막으로, 실패의 원인을 외부 요인(인종차별이나 면접관의 인내심 부족 등)으로 돌리는 태도는 성장을 가로막습니다. 물론 불합리한 경우가 있을 수 있지만, 언어 장벽이라는 핵심 문제를 직시하고 해결하려는 의지가 있을 때 비로소 돌파구가 보입니다 [6].

핵심 요약

  • 면접은 정답 맞히기가 아니라 ‘함께 일하고 싶은 동료’임을 증명하는 소통 과정입니다.
  • 번역 단계를 없애는 ‘영어 직접 사고’ 훈련이 유창성의 핵심이에요.
  • 완벽한 문법보다 명확한 의도 전달과 긍정적인 에너지가 더 강력한 무기가 됩니다.
  • 언어적 한계를 보완할 수 있도록 GitHub나 기술 블로그 같은 강력한 포트폴리오를 구축하세요 [6].
  • AI 도구(ExtraBrain 등)는 대신 말해주는 도구가 아니라, 사고를 확장하고 준비를 돕는 보조 수단으로 활용하시길 권합니다 [7, 8].

사실 저도 예전에 “풀 수는 있는데 설명할 수 없었던” 그 절망적인 기분을 잘 압니다. 내 머릿속의 정답은 금덩어리인데, 입 밖으로 나오는 건 부서진 조각들뿐인 그 느낌 말이죠. 그래서 ‘사고의 확장’을 돕는 도구들에 관심을 갖게 되었고, 그것이 ExtraBrain의 철학으로 이어졌습니다.

결국 중요한 건 ‘완벽한 영어’가 아닙니다. 조금 서툴더라도 내 생각을 전달하겠다는 ‘포기하지 않는 소통 의지’예요. 그 의지가 보일 때, 면접관은 당신의 코드 너머에 있는 진짜 실력을 알아봐 줄 겁니다.


참고 자료 (References)

1. [medium.com] I Could Solve the Problem, but I Could Not Explain It in English. That Is How ExtraBrain Started — https://medium.com/@andrewsokolov/i-could-solve-the-problem-but-i-could-not-explain-it-in-english-that-is-how-extrabrain-started-e7b88558d472 2. [reddit.com] For the non-native English speakers, what’s your biggest challenge … — https://www.reddit.com/r/interviews/comments/1l1w5en/for_the_nonnative_english_speakers_whats_your 3. [linkedin.com] Interview Tips for Non-Native English Speakers — https://www.linkedin.com/posts/mattatemujinreddy_interview-tips-especially-for-non-native-activity-7383175421674024960-jtSv 4. [dev.to] Barriers in Coding for Non-Native English Speakers — https://dev.to/knheidorn/barriers-in-coding-for-non-native-english-speakers-2c65 5. [reddit.com] How to practice job interviews as a non-native English speaker — https://www.reddit.com/r/interviews/comments/1loz4gq/how_to_practice_job_interviews_as_a_nonnative 6. [workplace.stackexchange.com] I’m a decent coder but not a native English speaker… — https://workplace.stackexchange.com/questions/144872/i-m-a-decent-coder-but-not-a-native-english-speaker-can-i-get-a-job-without-hav 7. [extrabrain.app] ExtraBrain – Local-First AI Interview & Meeting Copilot — https://extrabrain.app/ 8. [toolpilot.ai] ExtraBrain – Local-first AI interview and meeting copilot — https://www.toolpilot.ai/products/extrabrain

관련 글 추천

  • https://infobuza.com/2026/06/07/20260607-3ny7e4/
  • https://infobuza.com/2026/06/07/20260607-rb3zdu/

FAQ

비영어권 엔지니어가 기술 면접에서 겪는 가장 큰 병목 현상은 무엇인가요?

단순한 영어 실력 부족보다는 '번역 프로세스'가 문제입니다. [영어 청취 → 모국어 번역 → 모국어 생각 → 영어 번역]의 단계를 거치면서 발생하는 지연이 스트레스를 유발하고 답변의 자연스러움을 해칩니다.

언어 장벽이 실제 코딩 구현이나 퀄리티에 어떤 영향을 주나요?

제어문 등의 개념 파악에 혼선을 겪을 수 있으며, 특히 변수 네이밍에서 드러납니다. 적절한 단어가 떠오르지 않아 'a'나 'temp' 같은 모호한 이름을 사용하게 되면, 면접관에게 도메인 이해도나 설계 능력이 부족한 것으로 비춰질 수 있습니다.

영어 직접 사고 회로를 구축하기 위한 구체적인 방법은 무엇인가요?

'셀프 내레이션(Self-narration)'을 습관화하는 것이 도움이 됩니다. 일상의 행동이나 코딩 과정을 "Now I'm creating a loop…"와 같이 영어로 중얼거리며 묘사하는 연습을 통해 번역 단계 없는 사고 회로를 만들 수 있습니다.

면접 중 예상치 못한 질문을 받아 당황했을 때는 어떻게 대처해야 하나요?

완벽한 문장이 생각날 때까지 침묵하는 대신, "That's an interesting question, let me think about it for a moment"와 같은 '필러(Filler)' 문구를 전략적으로 사용하여 소통의 끈을 유지하고 시간을 버는 것이 좋습니다.

영어 말하기 능력을 키우기 위해 피해야 할 '안티패턴'은 무엇인가요?

문법책과 단어장 위주로 공부하는 것은 실제 말하기와 괴리된 '죽은 지식'을 쌓는 일입니다. 대신 오픈소스 프로젝트 참여나 글로벌 개발자 커뮤니티 토론처럼 실제로 영어를 사용하는 환경에 자신을 던지는 것이 훨씬 효과적입니다.

보조 이미지 1

보조 이미지 2