당신보다 경험이 많은 사람을 어떻게 인터뷰합니까? [닫은]


81

내가 일하고있는 회사는 저보다 더 많은 경험을 가진 선임 개발자를 고용하려고합니다. 그들은 인터뷰의 기술적 인 부분을 수행하기를 기대합니다. 나는 몇 년 동안 프로그래밍을 해왔고, 내가하는 것보다 더 큰 이해 / 경험을 가진 사람의 코딩 기술을 평가하는 데 필요한 지식이 있는지 잘 모르겠습니다.

누구나 고급 기술을 평가할 수있는 좋은 방법이지만 여전히 이해할 수있는 기술 인터뷰 질문을 추천 할 수 있습니까?

나는 jr를 지나쳤다 고 말할 것이다. 프로그래머 수준이지만 수석 근처에는 없습니다. 내가 한 대부분의 작업은 작은 응용 프로그램 (웹 및 데스크톱)을 구축하는 것이며, 일부는 상당히 복잡하지만 모든 사용자는 더 이상 소수의 사용자가 사용하도록 설계되었습니다. 나는 대부분의 프로그래밍 개념에 대해 잘 이해하고 있다고 느끼지만 어떤 것에 대해서도 나 자신을 배우고 가르 칠 수는 있지만 경험이 부족합니다. 상사가 저에게 "당신은 당신이 모르는 것을 모른다"고 말하는 것을 좋아합니다.

특히, 우리가 고용하지 않은 사람이 경험하고 싶은 것은 (다르지 않은 것) : 다 계층 개발, 다중 사용자 환경, 대규모 응용 프로그램 개발, 양방향 메시징, 공유 세션, 및 멀티 스레딩 / 배경 작업자.

최신 정보:

아래의 Thor의 의견에 따라 몇 달 전에 누군가를 고용했으며 그 결과가 훌륭하다고 생각합니다. 코딩뿐만 아니라 디자인 패턴, 소프트웨어 아키텍처, 문서 및 기타 대규모 프로그래밍 팀이 작업을 수행하는 방법에 대해서도 많은 것을 배우고 있습니다. 누군가가 들어 와서 자신이 한 일을하는 더 좋은 방법을 지적하는 것이 항상 쉬운 것은 아니지만, 자존심을 삼키고 새로운 일을 기꺼이 시도하면 많은 것을 배울 수 있습니다.

인터뷰 과정이 예상보다 나아졌습니다. 나는 내가 잘 알고있는 것에 대해 질문을하기 시작했고, 내가 고군분투했던 것에 대해 몇 가지 질문을했다. 인터뷰 대상자가 이해할 수없는 내용을 말할 때마다 나에게 설명 해달라고 요청하고 나중에 다시 볼 수 있도록 기록해 두었습니다. 전반적으로, 나는 지원자의 기술 수준, 지능 및 그들이 무엇을하고 싶은지에 대해 아주 좋은 아이디어를 얻을 수 있다고 느꼈습니다.


1
@CodexArcanum-이것은 드문 일이 아니지만 일부 대기업은 인터뷰 패널의 일환으로 상위 레벨 후보의 부하 직원을 가질 수 있습니다.
rjzii

1
소규모 IT 직원이있는 소규모 회사입니다. 우리는 1 년 또는 2 년 동안 누군가를 고용하여 반드시 기존 직원을 대신 할 소프트웨어를 개발하는 데 도움을 줄 것입니다. 그들이 그들의 사업을 상당히 잘 알고 있고 내 일을 좋아하기 때문에 그들은 나를 대신 할 것입니다. 그러나 그들이 할지라도, 나는 다른 직업을 찾을 수 있다고 확신합니다. 또한, 그들은 새로운 사람에게 저보다 훨씬 더 많은 돈을 기꺼이 지불 할 것이며 내 월급을 그 / 그녀의 것으로 바꾸지 않을 것입니다.
Rachel

2
이해하기 어려운 방식으로 이해하는데 문제가있는 것을 설명하도록 요청하십시오. 이해하는 데 문제가 있다고 말하지 마십시오. :)
dietbuddha

5
양쪽에 약간의 불편 함이있을 수 있습니다. 그것을 유리하게 사용하십시오. 이 역할에 대한 훌륭한 고용은 당신을 존중하면서 당신을 멘토 할 수있는 사람이 될 것입니다. 일반적으로 경험이 적더라도 상황에 대해 더 많이 알 수 있다는 사실에 개방적입니다. 좋은 관계를 맺을 수있는 사람 애정, 정신병, 무례한, "정말 상관 없어요"와 같은 나쁜 분위기를 느끼고 있다면이 사람과 일하고 싶지 않을 것입니다.
poolie

1
@Thor, 나는 업데이트를 추가했다
Rachel

답변:


85

당신은 할 수 없습니다.

대신, 나는 당신이 오늘 가지고있는 문제 의 목록과 함께 인터뷰에서 당신이문제를 어떻게 해결할지 물어볼 것을 제안합니다 .

이것은 다음 두 가지 이유로 매우 흥미로운 방법입니다.

  1. 그것은입니다 무료 컨설팅 . 직원을 고용하지 않더라도 문제에 대한 훌륭한 해결책을 제안 할 수 있습니다 .

  2. 그가 흥미로운 해결책을 제시 한다면 , 그는 문제 해결사 입니다. 당신이 고용하고 싶은 사람.


27
나는 모든 표를 소진했지만 무료 상담을 기대하는 데 -1, 문제 목록을 생성하는 데 +1을 사용했습니다.
Josh K

16
이미 해결 한 흥미로운 문제를 제시하고 자신의 솔루션이 자신의 솔루션과 어떻게 다른지 확인할 수 있습니다. 물론, 그것에 대해 생각할 시간이 많지 않아서 더 나을 수는 없지만, 그가 어떻게 진행하는지 보는 것만으로도 많은 것을 알 수 있습니다.
mbillard

27
숙련 된 사람은 1 마일 떨어진 '무료 상담'을 보게되며 이는 협상에 해를 끼칠 것입니다. 업계에는 후보자가 인터뷰 프로세스의 일환으로 일주일 내내 프로젝트를 수행 한 다음 채용하지 않고 제안을 구현하는 것으로 유명한 회사가 여러 곳 있습니다.
JBR 윌킨슨

6
@JBRWilkinson-누구도 일주일 동안의 프로젝트를 제안하지 않는다고 생각합니다. 팀이 현재 직면하고있는 문제의 종류에 따라 인터뷰 질문을 제안하고 있다고 생각합니다. 결국 합리적으로 합리적입니다. 면접 할 때 그들이 역할을했다면 그들이 기여할 것으로 기대했던 것들입니다.
존 홉킨스

3
@JBRWilkinson 숙련 된 사람은 1 마일 떨어진 '무료 상담'을 보게되며 이는 협상에 해를 끼칠 것입니다. 나는 매우 동의합니다. Free Consultancy 체계는 끔찍하고 유감스럽게도 들어 본 적이 없습니다.
Sean Patrick Floyd

62

나이를 장점으로 사용하십시오.

나보다 나이가 많은 사람들을 인터뷰했습니다. 나는 기술 선택 않는 꽤 잘 알고 있고 내가 기술 X의 들었지만, 그것을 사용한 적이 있음을 그들에게 있습니다. 응시자에게 기술에 대한 개요와 이들이 기술을 프로젝트에서 어떻게 사용했는지에 대해 설명해달라고 요청합니다.

이것은 놀랍게 잘 작동합니다. 우선, 응시자가 이력서에서 해당 Technology X를 유행어로만 사용하는 경우 설명이 이해가되지 않습니다. 또한 그들이 과거 프로젝트에서 그 기술을 어떻게 사용했는지에 대한 구체적이고 좋은 예를 제시 할 수 없다면, 큰 붉은 깃발이 있습니다.

Java Spring 경험이있는 사람을 인터뷰했습니다. 이전 작업에서 Spring을 사용했으며 스프링의 가장 큰 특징 중 하나는 Dependency Injection입니다. 나는 인터뷰 한 후보자에게 Spring에 대해 들어 본 적이 없다고 말했다. 그는 계속해서 비난을 시작했지만 Spring AOP를 어디에서 사용했는지 말할 수 없었고 그의 이력서에서 호출 된 것을 본 후에 명시 적으로 요청한 후에도 Dependency Injection을 설명 할 수 없었 습니다. 그는 단지 그들이 정말로 시원하다고 말했고, 거기에서 배울 것들이 너무 많다는 등을 들었습니다. 실제로 잭을 몰랐다는 것이 밝혀졌습니다 ... 그리고 나는 b / c를 알아 낸 유일한 사람이었습니다. 개발팀의 젊은 멤버.

따라서 나이를 장점으로 사용하십시오! 자신있게 잘 알고있는 기술에 대해 질문하고 자신감을 가지십시오.


2
그것은 흥미로운 일입니다. 나는 일반적으로 내 나이 / 불신이 단점으로 간주되어 어떻게 그것이 나의 이점
Rachel

16
인터뷰에서 누군가를 퀴즈에 올릴 것으로 예상됩니다. 거짓말을하거나 같은 질문을하기 위해 기술을 사용한 적이 없다고 말할 필요는 없습니다. 예를 들어 "$ technology_x를 알고 있습니다. 그 개요와 사용 이유 및 위치, 프로젝트에서 사용한 방법에 대한 예를 말씀해 주시겠습니까?"
user21007

1
그래, 솔직 해 이전에 사용한 적이 없다고 말하지 마십시오. 질문 만하면됩니다. LGriffel이 말하려는 것은 그들을 보호하는 것입니다. 그들 아래에 자신을 두어 자신감을 가지십시오. 그들이 정말로 무언가를 모른다면, 그것은 빨리 보여 질 것입니다.
d -_- b

이것은 아인슈타인의 인용문 중 하나와 잘 어울리는 것 같습니다. "단순히 설명 할 수 없다면 충분히 이해하지 못합니다." 응시자는 간단하고 추상적으로 진술하고 인내심을 가지고 설명해야 할 것 같습니다. 이 모든 것들은 당신이 정말로 선임 개발자가 원하는 기술입니다.
c_maker

31

그들이 당신보다 더 많은 경험을 가지고 있기 때문에, 그들은 당신보다 더 나은 개발자가 아닐 수도 있습니다. "1 년의 경험이 n 번 반복 되었습니다." 업계에서 이런 일이 일어나는 것을 볼 수 있습니다. 따라서 인터뷰 중 첫 번째 과제는 실제로 관련 경험이 있으며 자신이하는 일을 아는 사람으로 자신을 제시 할 수 있도록하는 것입니다. 마찬가지로, 누군가가 업계에서 n 년간의 경험을 가지고 있다고해서 특정 언어, 라이브러리 또는 프레임 워크에 대해 많은 경험을 가지고 있다는 것을 의미하지는 않습니다. 무언가를 배우기.

다음으로 훌륭한 선임 개발자는 문제가있는 것에 접근하여 질문 할 수있는 사람임을 기억하십시오. 문제가있는 일부 디자인 질문을하고 그들이 어떻게 반응하는지, 그리고 그들의 추론이 설명에 무엇인지 알아볼 수있는 좋은 시간입니다. 그들은 다른 곳에서 비슷한 것을 보았으며, 경험을 바탕으로 교육받은 추측을하고 있습니까, 온라인이나 저널에서 기사를 읽었습니까?

마지막으로 살펴볼 또 다른 것은 디버깅 코드에 접근하는 방법입니다. 내 경험상 언어에 관계없이 특정 디버깅 기술이 보편적으로 적용되는 경향이 있음을 발견했습니다. 후보에게 당신이 경험 한 좀 더 난해한 버그 중 하나의 예를 제시하고 그들이 버그에 어떻게 접근 할 것인지 안내해줍니다. 그들은 즉시 명백하지 않은 문제에 대한 통찰력을 가지고 있습니까?

요약하면, 인상적인 인터뷰로 응시자를 인터뷰하는 것은 위협적 일 수 있지만, 어떤 수준이 될지 (즉, 실제로 무엇을하고 있는지 알고 있는지)에 관계없이 다루어야 할 사항이 있으며 완료되면 조사를 시작할 수 있습니다 그들은 어떻게 자신의 경험을 적용하고 있는지 볼 수 있습니다. 응시자가 이전의 업무 경험을 적용하는 방법은 한 후보를 다른 후보보다 두드러지게 만드는 것입니다.


51
이. "N 년 경험"은 가끔 "정말 좋은 프로그래머"를 의미합니다. 현재 팀의 가장 큰 바보는 (그녀를 고용하지 않았고, 그녀는 전에 거기에 있었지만) 20 년의 경험을 정기적으로 자랑하며 "소스 제어는 항상 개발자를 해칩니다"와 같은 것을 말합니다. 그것은 내가 함께 일하고 싶어하는 짠 낡은 해커가 없다고 말하는 것은 아니지만, 그들의 지식과 추론 기술보다 년 수에 덜 감명받습니다.
Inaimathi

@ Inaimathi 이것은 1000 upvotes 가치가있다 :-)
Sean Patrick Floyd

24

나는 당신의 나이를 유익한 답변 으로 사용하는 것을 좋아하며 비슷한 것을 제안 할 것입니다.

낮은 수준의 경험을 이점으로 사용

이 사람은 아마도 당신의 상사 나 멘토가 될 것이므로, 그 사람이 실제로 당신을 멘토링 할 수 있는지 알아볼 수있는 방법으로 질문하십시오.

훨씬 쉬워 지거나 복잡한 문제가 포함 된 복잡한 질문을하십시오. 만약 그가 그녀가 좋은 사람이라면, 그는 질문에 답하려고 노력할뿐 아니라 문제를 해결하려고 노력할뿐만 아니라 실제로 실제 문제에 도달하여 질문의 결함을 보여줄 것입니다. 그가 당신을 협박하지 않고 예의 바르게 그렇게한다면, 그 / 그녀는 골키퍼입니다.


1
+1 (투표 맨!). 선임 프로그래머에서 마술사를 찾고 있지 않고 지식이 부족한 프로그래머를 멘토링하고 도울 수있는 사람을 찾고 있습니다. 그들이 지식을 전수하는데 능숙하지 않다면 그들은 일을 잘하지 못할 것입니다.
Josh K

8

정말 중요한 것은 당신이 그가 잘 있는지 확인한다는 것입니다 종류의 당신이 필요에 대한 경험이 풍부한 개발자.

사람들이 경력을 쌓으면서 자신이하는 일에 대해 다른 방향으로 나아가는 경향이 있습니다. 대규모 프로그래머 팀을 운영하거나 복잡한 레거시 코드로 작업하는 전문가 인 사람들을 인터뷰하고 있으며 자신의 역할에 적합한 사람이 아니라면 그들이하는 일을 훌륭하게 수행 할 수 있습니다. 따라서 정확히 무엇 을 찾고 있는지 미리 알고 작업에 대한 개발자의 종류를 다른 사람들과 정확하게 구분할 수있는 질문을 생각해보십시오.


7

나는 이것을 여러 번해야했다. 나는 그것을 단계별로 배우는 법을 배웠다.

  1. 대학 졸업생들에게했던 것과 같은 질문으로 시작하십시오. 기술 인터뷰를하고있는 직책이 개발자가 코드에 참여할 것으로 예상되는 프로그래밍 직책 이었기 때문에이 작업을 수행했으며, 후보자가 프로그래밍 할 수 있는지 확인하고 싶었습니다. 단 한 가지 예외만으로도 후보자 중 누구도 할 수 없었습니다. 그들 모두는 너무 오랫동안 관리직에있었습니다.
  2. 기본 코딩 역량 테스트를 통과 한 응시자에게는 좀 더 일반적인 "X 시나리오를 어떻게 처리 하시겠습니까?"종류의 질문이있었습니다. 예를 들어 프로젝트에서 웹 서비스를 수행하는 경우 흥미로운 웹 서비스 질문을 생각하고 후보에게 어떻게 해결할지 물어보십시오. 나는 이것이 지적 재산과 회사 소유 데이터의 문제로 인해 현재 직접 작업하고있는 것을 권장하지 않습니다. 그 물건을 포기하지 마십시오!
  3. 후보자에게 이력서에 관한 자료를 요청하는 시간을 보내십시오. 이것은 중요합니다. 자신의 최고 및 최악의 팀 경험, 감독자 경험 등을 확인할 수 있습니다. 팀에 맞는지 확인하기 위해 사람의 작업 스타일을 느껴보십시오.

선임 후보자를 면접 할 때 가장 큰 문제는 특히 저의 기본 코딩 테스트를 처리 할 수없는 후배들과 면담하기가 매우 긴장되었다는 것입니다. 면담 중에 보여지는 모든 기술에 위협이되지 않도록 노력하십시오. 질문에 잘 대답 할 수 없더라도 집중하십시오. 그들이 기본에 실패하면 그들이 대답 할 수있는 질문에 대한 인터뷰를 기울이십시오.


그것은 실제로 저의 관심사 중 하나입니다. 누군가의 인터뷰를 통해 그들의 주니어가 인터뷰에 어떻게 영향을 미치는지 분명히 알 수 있습니다. 나는 어리기 때문에 많은 경험을 가진 가짜를 만들 수있는 방법이 없습니다
Rachel

1
@Rachel-일부 인터뷰 대상자들은 제가 태어나 기 전부터 업계에서 일해 왔습니다. 나는 보통 1 단계 후 3 단계로 건너 뛰고 응시자가 자신의 강점에 대해 편안하게 이야기하는 것이 긴장을 진정시키는 가장 좋은 방법을 찾았습니다.
justkt November

4
@Rachel 다른 사람들이 인터뷰에하는 것이 어떻게 대처할 수 없다면 인터뷰에 영향을 미칠지 , 그들은 좋지 않습니다
Sean Patrick Floyd

3

실제 인터뷰 프로세스의 관점에서 볼 때 기본적으로 다른 사람과 동일하게 취급합니다. 비슷한 채용 프로세스가 있어야합니다.

  1. 이력서 또는 기관 추천에 의한 선택.
  2. 적성 검사 ( FizzBuzz , strdup () / isAlpha (), OOD 등)
  3. 전화 인터뷰 (고객이 의사 소통을 잘하지 못하는 경우 신속하게 제거)
  4. 대면 인터뷰
  5. 서면 코딩 연습
  6. 팀원을 만나십시오.
  7. 더 높은 위험과 높은 비용을 의미하는 숙련 된 사람의 경우 추가 인터뷰가 허용되지만 프로세스가 진행중인 곳 (예 : 3/3 인터뷰 라운드)에 명확하게 의사 소통해야합니다.

이 사이트에는 인터뷰 과정에서 다루어야 할 일반적인 토론 주제를 다루는 다른 게시물이 많이 있습니다 . 여기에 대한 답변이 있습니다 .

인터뷰 과정의 모든 시점에서 경험이 풍부한 사람은 광고 된 전문 분야에 대한 훌륭한 이해를 보여 주어야합니다. 토론 중에 다루는 주제에 대해 심층적으로 조사 할 수 있습니다. 경험 / 편안한 수준의 한계에 대해 질문하고 걱정없이 계속할 수 있는지 확인하십시오. 경험이 많지 않은 것으로 심층 분석을해야하는 경우 샘플 질문에 대한 웹 검색을 수행하고 (선택할 수 있음) 인터뷰 전에 답변을 읽고 이해 한 다음 이러한 질문 중 하나를 후보. 그들이 모든 답을 알기를 기대하지 말고 질문을 선택하십시오.

숙련 된 엔지니어에는 두 가지 유형이 있습니다.

1) 관련 산업 경험

현재 문제 목록을 가져 와서 문제에 어떻게 접근 할 수 있는지 이야기 할 수있는 사람입니다. 업종의 각 도메인 별 주제에 대한 이해 수준을 측정해야합니다. 해당 업계에서 '좋은'답변에서 '멍청한'답변을 말하고 '경험있는'답변을 찾을 수도 있습니다. 다른 답변과 달리, 나는 그들이 당신의 현재 문제를 실제로 해결할 것이라고 기대하지는 않을 것입니다-당신이 그것을 고용 할 때 일어날 것입니다-그러나 당신은 그들이 일단 시작되면 그들이 할 수 있음을 확신시켜야합니다.

2) 관련 산업 경험이 없음

따라서이 후보는 업계를 변화시키고 있지만 필요한 기초 기술 / 플랫폼 / 기술에 대한 경험이 풍부합니다. 그 항목들에 대해 깊이 들어가십시오. 그러나 당신이 그것들에 대해 이야기 할 수는 있지만 그것들이 도메인 특정 문제에 대한 해결책을 제시 할 수 있다고 기대하지 마십시오. 예를 들어, 회사가 Facebook이고 인터뷰중인 사람이 PHP 및 C ++로 화를내는 경우 대규모 서버 팜의 모든 함정을 CV에서 요구하지 않는 한 비현실적입니다.


2

내가 명시 적으로 지적하지 않은 것은 "기술 X를 잘 알고 있으며 매우 흥미롭게 들린다. 5 분 안에 설명해 주시겠습니까?"입니다.

새로운 사람에게서 나오는 코드 를 유지할 수있을 것으로 예상되기 때문에 다른 프로그래머에게 효율적이고 잘 설명 할 수 있어야합니다. 의사 소통 기술이라고 생각하십시오.

기술 수준에서 다른 개발자를 만나고 수준에서 생각과 아이디어를 전달하려면 철저한 이해가 필요합니다.

그 사람이 구두로 의사 소통을 할 수 없다면, 관리자를위한 것이 아니라 컴파일러를위한 코드만을 작성할 가능성이 높습니다.


2

멘토링 부분에 대해서는 Steven에게 동의합니다. 사실 나는 당신이 멘토링에 대한 그의 견해가 무엇인지, 그리고 다른 시나리오에서 어떻게 그것에 대해 어떻게하는지에 대해 질문 할 수 있다고 말할 것입니다. 그런 다음 답변을 바탕으로 평가하십시오 (상사와 같은 느낌이 들거나 브리핑에서 실제 답변에 대해 토론하면 상사로부터 피드백을받을 수 있습니다).

응시자는 아마도 과제를 해결하거나 최소한 이해할 수 있어야하므로 동료에게 질문 할 수도 있습니다.


2

현재 가지고 있거나 실제로 사용하려는 실제 문제와 기술에 대한 인터뷰에서 그의 두뇌를 선택하십시오.

유능하고 상상력이 풍부한 선임 개발자라고 가정하고, 그에게서 배우고 함께 일할 수 있다고 생각 하는지에 따라 고용하기로 결정하십시오.

미래의 상사와 인터뷰하지 않고 미래의 멘토와 인터뷰하고 있습니다. 모든 답을 알고 있지만 가르 칠 수없는 사람을 선택하지 마십시오


2
"모든 답을 알고 있지만 가르 칠 수없는 사람을 선택하지 마십시오"+1 항상 배우고 싶어하는데 그것은 큰 요소입니다
Rachel

1

이미 해결 한 많은 문제를 해결하십시오. 그에게 문제를 해결하기 위해 무엇을했는지 설명하십시오 (3 인칭 유지, 개인 자아를 여기에두고 싶지 않음). 그가 "다른"일을했는지 ​​물어보십시오. 당신은 그가 제안한 것에 기초하여, 그것이 당신이 한 것보다 개념적으로 더 나 았는지, 더 나빠 졌는지 알아낼 수 있어야합니다.


1

"Smart and Gets Things Done : Joel Spolsky 's Concise Guide to the Best Technical Talent 찾기" 책을 읽는 것이 좋습니다 .

나는 누구도 고용하지 않았지만 때로는 인터뷰 대상이되었을 때 유행어에 대해서만 알고 저를 인터뷰하는 일부 바보를 원했습니다. 텍스트는 매우 유동적이고 읽기가 즐겁습니다.

이 사이트는이 책의 저자가했기 때문에 광고를 작성하지 않습니다. 이 책은 정말 훌륭합니다. IT 직원을 고용하는 사람, 특히 기술을 이해하지 못하는 사람에게 추천 할 것입니다. 요즘에는 기술이 아닌 프로젝트 관리자 나 상사가있는 것이 일반적입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.