it-swarm.com.de

Das Äquivalent des Joel-Tests zum Messen eines Programmierers

Ich verstehe, dass wir zum Messen eines Projekts oder Codes The Joel Test verwenden können, aber gibt es einen einfachen Standardtest ( wie der Joel-Test), der messen und filtern kann, wie gut ein Programmierer ist?

Mein Plan ist es, diesen Test zuerst als Schnellfilter durchzuführen, bevor ich zu einem detaillierteren Test gehe.

70
Rudy

Es gibt die Programmiererkompetenzmatrix .

Wie beim Joel-Test ist es nur eine vage Anleitung. Die einzige Möglichkeit, einen Programmierer richtig einzuschätzen, besteht darin, gute Programmierer zu fragen, die mit ihnen gearbeitet haben.

67
Tom Squires

Ich würde den Joel-Test umdrehen:

Haben sie die Quellcodeverwaltung verwendet?

Wissen sie, wie man einen One-Step-Build automatisiert?

...

Das einzige, was nicht besonders zutreffend zu sein scheint, ist die Frage der Tester. Die anderen, die irgendwie abgeneigt zu sein scheinen, sind, wie wir damit umgehen, wie haben Sie es in der Vergangenheit gehandhabt? (So behandeln wir unseren Zeitplan auf dem neuesten Stand, wie haben Sie mit der Planung in der Vergangenheit umgegangen?) .

bearbeiten:

Grundsätzlich bekommt man das Zeug im Joel-Test nicht kostenlos, man muss Leute einstellen, die es schaffen. Sie möchten ihre Fähigkeit feststellen, dies zu erreichen.

25
stonemetal

Der Joel-Test ist nur eine informelle Basisprüfung, um schnell zu beurteilen, ob ein Ort gute Arbeitsbedingungen für Programmierer hat. Selbst wenn es eine perfekte 10 erreicht, kann es immer noch ein Höllenloch sein, das sechs Monate später bankrott gehen wird. Eine niedrige Punktzahl ist ein Hinweis auf etwas, das nicht ganz richtig ist, und führt zu hervorragenden Interviewfragen ("Sie verwenden derzeit keine Quellcodeverwaltung; gibt es Pläne, dies in Zukunft zu tun?"), Und die Antworten könnten so sein, dass Sie würden den Job trotz einer niedrigen Joel-Punktzahl annehmen.

Der Joel-Test ist ebenfalls kein Standardtest. Es ist nur eine Checkliste, die Joel Spolsky in seinem Blog veröffentlicht hat.

Was das "Messen" der Qualität eines Programmierers angeht; Leider sind die wirklich wichtigen Fähigkeiten und Qualitäten eines guten Programmierers schwer oder unmöglich zu quantifizieren, so dass es keinen Ersatz für eine gründliche menschliche Bewertung gibt. Sie können die völlig ahnungslosen Kandidaten jedoch ganz einfach mit einer sehr einfachen Programmieraufgabe aussortieren - idealerweise mit Rekursion, Baumstrukturen oder Zeigern (ein Programmierer, der diese nicht "versteht", ist wahrscheinlich nicht von großem Nutzen). Für diejenigen, die diesen Test bestehen, müssen Sie die Fähigkeiten manuell bewerten: Code lesen, den sie geschrieben haben, Anwendungen testen, die sie geschrieben haben, ihnen mehr Programmieraufgaben geben (sowohl Design als auch Implementierung), ihnen bei der Arbeit zuschauen, mit ihnen sprechen, sehen, ob Sie can spark eine professionelle Diskussion. Wenn Sie einen Spezialisten/Sprachguru suchen, möchten Sie vielleicht auch ein paar Wissensfragen stellen, aber für einen allgemeinen Programmierkandidaten würde ich mich nicht darum kümmern.

15
tdammers

Ja:

Programmieren Sie in Ihrer Freizeit?

Nach all meinen Erfahrungen zeigt diese einzige Frage am ehesten, wie gut ein Programmierer ist. Wenn sie es genießen; Wenn sie Leidenschaft für die Ausführung der Aufgabe haben, werden sie gut darin sein.

Und ehrlich gesagt beinhalten viele 9 bis 5 Jobs nicht viel Codierung. Sie müssen nicht viel durch den Lebenszyklus des Entwurfs neuer Programme iterieren und sehen, wie dieser Entwurf funktioniert/fehlschlägt. Ohne diese Iteration gibt es einfach nicht die Übung, die Programmierer benötigen, um Kernkompetenzen im Programmdesign zu erlangen.

Und sie beinhalten nicht viel Lernen. Programmierer, die zu Hause einfach nur Dinge hacken, werden neue und interessante Lösungen ohne die Einschränkungen des Big Business suchen.

12
Telastyn

Es ist nicht so detailliert wie der Joel-Test, aber wenn Sie sie bitten, ein Fizz-Buzz-Programm zu schreiben, ist dies ein guter Hinweis darauf, ob sie überhaupt codieren können.

http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html und http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-Entwickler-die-grok-Codierung /

Das sagt nichts über die Software-Engineering-Reife des Einzelnen aus, aber es wird sich verschlechtern.

1
Vincent Hubert

Eh, ich habe Bedenken mit dem Wortlaut am Anfang. Es geht nicht darum, ob Sie X verwendet haben oder ob Sie Y kennen, sondern darum, es tatsächlich zu verwenden und zu tun. Jeder Programmierer, der die Elemente des Joel-Tests nicht berührt oder gehört hat, wird einfach getrennt und muss einen Hinweis erhalten. Aber Sie haben Recht, Code-Shops bestehen den Joel-Test nicht, weil die Leute in den Shops es nicht zulassen. Die einzige Verteidigung, die ich sehen kann, läuft nach dem Motto "Ich habe es versucht, hatte aber nicht die Autorität. Und jetzt bewerbe ich mich hier".

0
Philip

Verwenden Sie die Quellcodeverwaltung?

Ja aber

  • Es sagt dir eigentlich nichts.
  • Woher wissen Sie, ob ich die Zusammenführung weiterleiten kann?
  • Woher weißt du, ob ich vor dem Drücken Änderungen ziehe?
  • Woher wissen Sie, ob ich vor dem Festschreiben zum Repository baue?.

Können Sie in einem Schritt einen Build erstellen?

  • Ja, unser CI-Leiter schreibt Skripte und ich führe sie einfach in Powershell aus.

Machst du tägliche Builds?

  • Unser CI-Server tut dies

Haben Sie eine Fehlerdatenbank?

Ja, aber ich habe es nicht konfiguriert und verwalte es nicht, ich benutze es einfach.

Beheben Sie Fehler, bevor Sie neuen Code schreiben?

  • In einer perfekten Welt, in der ich unbegrenzte Ressourcen habe - ja, das tue ich. In der realen Welt bin ich manchmal gezwungen, sie zu protokollieren und an etwas anderem zu arbeiten.

Haben Sie einen aktuellen Zeitplan?

Nein, das ist nicht mein Job.

Hast du eine Spezifikation?

Ich bekomme eine Spezifikation, analysiere sie dann und erstelle relevante Dokumente.

Haben Programmierer ruhige Arbeitsbedingungen?

  • Wirst du mich nicht einstellen, wenn ich Musik höre, mit meinem Kollegen rede und einen Witz mache? Softwareentwicklung soll kreativ sein - die Arbeitsbedingungen variieren von Organisation zu Organisation.

Verwenden Sie die besten Werkzeuge, die man für Geld kaufen kann?

Sie wissen nicht, was die besten Werkzeuge sind, und wenn Sie glauben, dass Sie dies tun, wird es immer jemanden geben, der Ihren Standpunkt argumentiert.

Hast du Tester?

Ja. Eigentlich ja und sie sind nicht sehr gut, aber das war nicht in Frage.

Schreiben neue Kandidaten während ihres Interviews Code?

Ja und sie scheitern. Ja und sie gehen vorbei. Was sagt dir das?

Führen Sie Flur-Usability-Tests durch?

Nein, aber was ist, wenn wir etwas besser machen?

Zum Schluss :

  • Dieser Test könnte in einer perfekten akademischen Welt gut funktionieren, in der alles einfach funktioniert, alle miteinander auskommen, Wissen teilen und unbegrenzte Ressourcen zur Verfügung stehen.
  • Was Sie wissen wollen, ist, was für ein Ingenieur ich bin. Einfache bitweise Antworten sagen nichts Nützliches aus und ich denke, dass jemand sehr naiv sein muss, um sich in sie zu verlieben.
  • Die obigen negativen und positiven Antworten sagen nichts über meine Fähigkeit aus, sauberen Code zu erstellen.

Dies ist kein Scherz, aber ich wäre sehr interessiert zu hören, welche Art von Entwickler Ihrer Meinung nach auf den Antworten basiert, die ich gegeben habe. Dies wird hoffentlich meinen Standpunkt beweisen.

0
CodeART