원래 질문
나는 이미 회사의 컴퓨터 과학자들과 일부 테스터들과 프로젝트 관리자들과 인터뷰를했다. 이제 R & D 부서 내 연구 그룹의 공석을 채워야합니다 (부록 : "연구"는 연구 프로젝트에서 소프트웨어를 사용하여 대학, 다른 회사, 연구소와 함께 전문 도메인 / 시장 틈새 시장의 문제를 해결하려고 함을 의미합니다. 컴퓨터 과학 연구가 아니라 P = NP 문제를 해결하지 않을 것입니다).
이제 우리는 컴퓨터 과학 수업을 한 적이없는 화학 석사 (CV에 많은 물리학을 가지고 있음)를 가진 사람을 초대했습니다. 나는 이미 지역 대학의 커리어 시절에 30 분 정도 그와 이야기를 나 the으며 그 남자가 똑똑하다는 데는 의심의 여지가 없습니다. 또한 그의 점수는 우수하고 그는 구별을 가지고 졸업했다. 그의 BSc를 위해 그는 Mathematica에서 자신에게 프로그래밍을 가르쳐야했고 그가 프로그래밍을 많이 좋아한다고 믿었습니다. 또한 그는 석사 학위 논문을 위해 Mathematica로 구현 된 자신의 소프트웨어를 사용하여 이해할 수없는 물리 화학 문제를 해결했습니다. GUI와 8,000 LoC의 눈에 띄는 크기가 포함되어 있습니다. 그는 우리 연구 그룹에서하고있는 일에 매우 매료되어 정직하게 말해서 우리 같은 중소기업이 좋은 사람을 얻는 것이 매우 어렵다고 생각합니다. 또한 프로젝트 제안서 작성, 보고서 작성, 프레젠테이션 등을 도와 줄 수 있기 때문에 그를 고용하는 데 매우 관심이 있습니다. 그는 아마도 우리 팀에도 적합 할 것입니다.
남은 유일한 질문은 프로젝트에서 소프트웨어 구현을 수행하는 데 필요한 프로그래밍 기술을 얻을 수 있는지 어떻게 확인할 수 있습니까?
물론 나는 그에게 무엇이 있는지 물어볼 것입니다. 그것은 프로그래밍에 대해 그를 매료시킵니다. 또한 자연 과학 소프트웨어를 어떻게 작성하고 어떻게 구성했는지 물어볼 것입니다. 그가 필요한 소프트웨어 개발에 대한 기술과 정보를 어떻게 얻었는지 물어볼 것입니다. 하지만 더 물어볼 게 있나요? 좀 더 구체적인 것? 그에게 Mathematica 솔루션을 설명하도록 요청해야합니까?
명확하게 : 특정 언어 또는 기술 스택에 대한 지식을 찾고 있지 않습니다. 우리는 제품 개발 분야의 .NET 상점이지만 연구 프로젝트를위한 자유로운 선택을 원합니다. 저는 메타 역량이 실제로 필요한 것을 배울 수있는 것에 관심이 있습니다.
나는이 질문이 대답하기 쉽고 개방적이지 않기를 바란다. 나는 직업에 대한 추가적인 프로그래밍 기술 을 얻는 능력을 점검하는 기본 방법이 있는지 알고 싶기 때문이다 . 분명하지 않은 내용이 있으면 의견을 남겨 주시고 내 질문을 개선하겠습니다.
2011-12-01까지의 답변을 반영하여 업데이트
어떤 대답을 받았으며 왜
답변 해 주셔서 감사합니다. 대부분 도움이되었으므로 많이 찬성했습니다. Tom Squires의 답변 이 가장 많은 표를 얻었 지만 Goulash 왕자 의 답변 을 받아 들일 것 입니다. 물론 Tom은 객관적으로 정확하지만 Prince의 대답은 나에게 더 도움 이 되며 대답을 수락하는 기준 이라는 FAQ를 다시 확인했습니다 .
인터뷰 중에 물어볼 내용
Chris Burt-Brown이 언급 한 The Camel Has Two Humps 의 예와 같은 간단한 과제를 설명해 드리겠습니다.
그래픽 표기법으로 고급 제어 흐름을 설명해달라고 요청합니다.
수학 예제를 사용하여 재귀에 대한 그의 이해를 확인하겠습니다.
그가 선택한 알고리즘을 자연어로 설명하도록하겠습니다.
그의 Mathematica 솔루션을 설명하도록하겠습니다. 특히 그의 절차 모델, 도구 사용, 코드 및 소프트웨어의 구조화 및 다른 추상화 계층을 요구할 것입니다.
그의 동기를 확인하기 위해 그의 소프트웨어 개발 매력을 물어볼 것입니다.
엔터프라이즈 소프트웨어 개발에 대해 배우는 것이 무엇인지 알고 있는지 물어볼 것입니다. 특히 나는 MSc 혼자서 일한 후에 이것에 대해 많이 알지 못하기 때문에 토론을 팀 작업, 페어 프로그래밍, TDD의 방향으로 바꾸고 싶습니다.
긴 인터뷰가 될 것 같습니다.)
인터뷰 후 업데이트 2011-12-09
다시 한 번 좋은 답변에 감사드립니다. 그는 비행 색상으로 인터뷰를 통과했습니다. 나는 지원자에게 더 이상 만족하지 않았습니다. 그의 Mathematica 솔루션은 꽤 잘 구성된 것 같습니다. 그는 이것이 고차 함수를 어디에 사용했는지 설명 할 수 있었지만, 이것들이 이것과 같은 것을 알지 못했습니다. 그는 수학 기반의 재귀 질문뿐만 아니라 The Camel Has Two Humps의 간단한 과제 및 제어 흐름에 대해서도 대답했습니다.. 그가 일부 알고리즘을 설명 할 때 비선형 피팅에 대해 많은 것을 배웠습니다.) 그는 솔직히 말해서 지금까지 모르는 전문 소프트웨어 개발에 대해 배울 수 있다고 보장 할 수는 없습니다. 그러나 그는 자신도 새로운 개념을 배우는 데 항상 능숙했으며 실제로 소프트웨어 개발에 관심이 있다고 믿습니다. 그는 또한 프로젝트의 기술 스택을 요청했으며, 우선 적용하여 집에서 살펴볼 것입니다. 그는 페어 프로그래밍과 팀 작업에 대해서도 궁금했습니다. 이제 고용 계약이 체결되기를 바랍니다.