프로그래머를 측정하기위한 Joel Test와 동등한 기능


70

프로젝트 또는 코드를 측정하기 위해 The Joel Test를 사용할 수 있지만 프로그래머가 얼마나 좋은지 측정하고 필터링 할 수있는 간단한 표준 테스트 (Joel Test와 같은)가 있습니까?

내 계획은이 테스트를 먼저 빠른 필터로 사용하여 더 자세한 테스트를 진행하는 것입니다.


2
이와 같은 테스트가 사용되고 있다면 프로그래머가 알아야한다고 생각합니다. 다음과 같이 유효하거나 유효하지 않을 수 있습니다. 가장 많이 수정 된 것을 고용하십시오.
JeffO

2
흥미롭게도, 제가이 질문을했을 때 그것은 지옥으로 내려갔습니다 (이제 다시 긍정적이고, 예, 그리고 빨리 닫힙니다). 이거 진짜 이거 다른가요? programmers.stackexchange.com/questions/133691/…
ripper234

8
@ ripper234, SE에서 질문이 닫힌 이유는 설명 할 수없는 간헐적 소프트웨어 버그와 비슷합니다. 정말 인간의 본성과 같습니다.
tehnyit

8
Joel 자신은 간단하면서도 엄격한 테스트를 제공합니다 : Smart and Gets Things Done . : P
Dan J

답변:


67

있다 프로그래머 역량 매트릭스 .

Joel 테스트와 마찬가지로 모호한 가이드 일뿐입니다. 프로그래머를 올바르게 평가하는 유일한 방법은 그들과 함께 일한 좋은 프로그래머에게 물어 보는 것입니다.


27
남은 유일한 문제는 과거 / 현재 팀원이 좋은지 평가하는 것입니다. 죄송합니다.
Péter Török

21
예, 그 재귀 :)이다
톰 종복

13
Joel 테스트와는 다릅니다. 귀하의 답변은 방대한 세부 매트릭스를 가리키고 Joel의 테스트는 12 가지 매우 간단한 질문에 대한 답변입니다.
Bryan Oakley

2
@BryanOakley - 그건 사실,하지만 PCM은 또한 아주 제일 먼저 내가 질문을 읽을 때 생각했다. 결론 : 프로그래머를 측정하기 위해 대답 할 수있는 간단한 질문은 없습니다!
요리스 Timmermans

2
@BryanOakley 행렬의 행렬이 시리즈보다 더 복잡합니다. 나에게 조엘의 시험에 가까운 비유 일련의 할 것 레벨 1 의 열 요소를 PCM - "설명 및 사용 배열 ..., 기본 정렬 등 ..."
모기

25

나는 Joel 테스트를 돌리겠다.

그들은 소스 컨트롤을 사용 했습니까?

그들은 한 단계 빌드를 자동화하는 방법을 알고 있습니까?

...

특별히 적용 할 수없는 유일한 것은 테스터 질문입니다. 이것으로 바뀌는 다른 것들이 우리가 그것을 처리하는 방법입니다. 이는 과거의 질문에서 어떻게 처리했는지입니다 (이것은 우리가 일정을 최신 상태로 유지하는 방법을 어떻게 처리 했습니까?) .

편집하다:

기본적으로 Joel 테스트에서 무료로 물건을 얻지 못하므로 그것을 달성 할 수있는 사람들을 고용해야합니다. 그런 일을 할 수있는 능력을 확립하려고합니다.


1
Joel의 모든 질문은 프로그래머보다 환경에 관한 것입니다. 우리 팀이 소스 코드 컨트롤을 사용하지 않는다면, 내 자신의 소스 코드 컨트롤을 사용하여 이들과 통합하지 않는 것은 거의 개선되지 않습니다. 팀이 소스 코드 제어를 사용하도록하는 것이 개선되었습니다.
Edwin Buck

15

Joel 테스트는 장소가 프로그래머에게 좋은 근무 조건을 가지고 있는지 신속하게 판단하기위한 비공식 기준선 점검입니다. 10 점 만점에도 불구하고 6 개월 동안 파산하게 될 지옥의 구멍이 될 수 있습니다. 낮은 점수는 옳지 않은 것을 나타내며 훌륭한 인터뷰 질문을합니다 ( "현재 소스 제어를 사용하고 있지 않습니다; 앞으로 그렇게 할 계획이 있습니까?"). 당신은 낮은 Joel 점수에도 불구하고 직업을 받아 들일 것입니다.

Joel 테스트는 '표준'테스트도 아닙니다. Joel Spolsky가 자신의 블로그에 게시 한 점검 목록 일뿐입니다.

프로그래머의 품질을 '측정'하는 한, 불행히도, 훌륭한 프로그래머의 정말 중요한 기술과 자질은 정량화하기 어렵거나 불가능하므로 철저한 인간 평가를 대체 할 수는 없습니다. 아주 간단한 프로그래밍 작업을 사용하여 완벽하게 단서가없는 후보자를 쉽게 제거 할 수 있습니다. 이상적으로는 재귀, 트리 구조 또는 포인터 (이를 '얻지'않는 프로그래머는 많이 사용되지 않을 것임)와 관련이 있습니다. 이 테스트를 통과 한 사람들은 수동으로 기술을 평가해야합니다. 작성한 코드 읽기, 작성한 드라이브 응용 프로그램 테스트, 더 많은 프로그래밍 작업 (설계 및 구현), 작업 확인, 대화,보고 있는지 확인해야합니다. 전문적인 토론을 촉발시킬 수 있습니다. 전문가 / 언어 전문가를 찾고 있다면


1
+1 훌륭한 프로그래머의 기술을 판단하는 것은 정량화하기 어려운 작업 중 하나입니다.
Karthik Sreenivasan

20
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score. 그건 그렇고 당신은 그 일을 받아들이는 실수를 범했을 것입니다. 결국 모든 개발자는이 배우는 Plans to do so in the future바로 인터뷰가 당신을 속이는 말을 뭔가하지만 때문에 끔찍한 관리의 조치를 취할 결코. 우리는 몇 번이나 영향을 Oh, we are moving towards Agile...받았으며 또 다른 미세 관리 폭포 상점으로 밝혀졌습니다.
maple_shaft

@maple_shaft : 예, 아마도 좋은 예는 아닙니다.
tdammers

5
조엘 테스트 10 완벽한 실제로 단지 : 말 ... (12)이 될 것입니다
MattDavey

3
@MattDavey : 이는 변화를 주도 역량에 달려 있습니다. 나는 2 년 동안 사업에 종사했을 때 그러한 경험 중 하나를 가지고 있었고 (예, 우리는 C ++로 옮길 것입니다) 예상 결과를 얻었습니다. 요즘에는 다른 문제가 될 것입니다. 나는 는 변경 진심으로 소원하지만 무능력이 있는지 파악하고이 가능합니다.
MSalters

12

네:

여가 시간에 프로그램을하십니까?

내 경험에 비추어 볼 때,이 단일 질문은 프로그래머가 얼마나 좋은지를 나타냅니다. 그들이 그것을 즐긴다면; 그들이 일을하는 것에 대한 열정이 있다면, 그들은 잘 할 것입니다.

솔직히 많은 9-5 개의 일자리에는 많은 코딩이 필요하지 않습니다 . 새로운 프로그램을 설계하고 설계가 어떻게 작동 / 실패 하는지를 살펴 보는 수명주기를 거칠게 반복하지 않아도됩니다. 반복이 없으면 프로그래머가 핵심 프로그램 설계 기술을 습득하는 데 필요한 관행은 아닙니다.

그리고 그들은 많은 학습을 포함하지 않습니다. 집에서 일을 해킹하는 프로그래머조차도 대기업의 제약없이 새롭고 흥미로운 솔루션을 모색 할 것입니다.


2
왜 투표가 하나만 있습니까? IMO 이것은 평범한 팀과 진정으로 혁신적인 팀 간의 진정한 차이입니다.
Repo Man


0

어, 나는 처음에 그 말을 엉망으로 만들었습니다. "X를 사용 했습니까"또는 "Y를 알고 있습니까?"가 아니라 실제로 사용하고 수행하는 문제입니다. Joel 테스트의 항목을 건드 리거나 듣지 않은 프로그래머는 연결이 끊기고 단서가 필요합니다. 그러나 코드 상점은 Joel 테스트를 통과하지 못합니다. 상점의 사람들은 실패하기 때문입니다. 제가 볼 수있는 유일한 방어책은 "나는 시도했지만 권한이 없었습니다. 그리고 지금 여기에 지원하고 있습니다"라는 문구를 따라 진행됩니다.


0

소스 컨트롤을 사용하십니까?

네,하지만

  • 실제로 아무 말도하지 않습니다.
  • 내가 병합을 전달하는지 어떻게 알 수 있습니까?
  • 푸시하기 전에 변경 사항을 가져 오는지 어떻게 알 수 있습니까?
  • 저장소에 커밋하기 전에 빌드하는지 여부를 어떻게 알 수 있습니까?

한 번에 빌드 할 수 있습니까?

  • 예, CI 리더가 스크립트를 작성하고 Powershell에서 실행합니다.

당신은 매일 빌드합니까?

  • CI 서버는

버그 데이터베이스가 있습니까?

예, 그러나 구성하지 않았으며 관리하지 않고 간단히 사용합니다.

새 코드를 작성하기 전에 버그를 수정합니까?

  • 내가 무제한 자원을 가지고있는 완벽한 세상에서-그렇습니다. 현실 세계에서는 때때로 그것들을 기록하고 다른 일을하도록 강요받습니다.

최신 일정이 있습니까?

아니, 그건 내 일이 아니야

사양이 있습니까?

사양을 얻은 다음 분석하여 관련 문서를 생성합니다.

프로그래머에게는 조용한 근무 조건이 있습니까?

  • 내가 음악을 듣고 동료와 이야기하고 농담을한다면 나를 고용하지 않겠습니까? 창조적 인 소프트웨어 개발-작업 조건은 조직마다 다릅니다.

돈으로 살 수있는 최고의 도구를 사용하십니까?

당신은 최고의 도구가 무엇인지 모르며, 그렇게 생각한다면, 항상 당신의 요점을 주장 할 누군가가있을 것입니다.

테스터가 있습니까?

예. 사실, 그렇습니다. 그들은 그리 좋지는 않지만 질문에는 없었습니다.

인터뷰 중에 새로운 후보자가 코드를 작성합니까?

그렇습니다 그리고 그들은 실패합니다. 그렇습니다. 이것이 무엇을 말합니까?

복도 유용성 테스트를합니까?

아니요,하지만 더 나은 일을하면 어떨까요?

결론적으로:

  • 이 시험은 모든 것이 잘 작동하고 모든 사람들이 만나고 지식을 공유하며 무제한의 자원이있는 완벽한 학업 환경에서 잘 작동 할 수 있습니다.
  • 당신이 알고 싶은 것은 내가 어떤 종류의 엔지니어입니다. 간단한 비트 단위 답변은 유용한 정보를 제공하지 않으며 누군가가 넘어 질 수 있도록 매우 순진해야한다고 생각합니다.
  • 위의 대답은 부정적이든 긍정적이든 깨끗한 코드를 생성하는 능력에 대해서는 아무 것도 말하지 않습니다.

이것은 진창이 아니지만, 내가 제공 한 답변을 기반으로 어떤 종류의 개발자라고 생각하는지 듣고 싶습니다. 이것은 희망적으로 내 요점을 증명할 것입니다.


8
나는 정말로 이것의 요점을 얻지 못한다. 이 질문은 개별 프로그래머가 아닌 팀 / 회사에 관한 것입니다. 그리고 OP는 프로그래머를 평가하기 위해 동일한 질문을 사용하는 것을 제안하지 않았으며 간단한 질문을 원합니다.
코드 InChaos

1
나는 우리 팀이나 우리가 일하는 회사만큼 훌륭하다고 생각합니다. 내 의견으로는 이와 같은 테스트는 많은 소란을 불러 일으키지 만 실제로 회사 나 개발자에게 유용한 것을 말하지는 않습니다.
CodeART

3
How do you know whether I pull changes before pushing? 글쎄, 어떤 소스 컨트롤을 사용하고 있는지 모르겠지만 적어도 SVN에서는 아직 변경하지 않은 변경 사항이있는 폴더에 커밋하려고하면 업데이트를 실행할 때까지 커밋이 실패합니다.
메이슨 휠러

우리는 TFS를 사용하고 있습니다 :) 다른 버전 제어 시스템을 실제로 사용해야합니다.
CodeART

Soooo 사람들은 실제로 TFS를 사용합니다. 나는 무언가를 배웠다.
Fabinout
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.