Ich verstehe, dass wir zum Messen eines Projekts oder Codes den Joel-Test verwenden können , aber gibt es einen einfachen Standardtest (wie den Joel-Test), der messen und filtern kann, wie gut ein Programmierer ist?
Mein Plan ist, diesen Test zuerst als schnellen Filter zu haben, bevor ich zu einem detaillierteren Test gehe.
Antworten:
Es gibt die Kompetenzmatrix für Programmierer .
Wie beim Joel-Test handelt es sich nur um eine vage Anleitung. Die einzige Möglichkeit, einen Programmierer richtig einzuschätzen, besteht darin, gute Programmierer zu befragen, die mit ihnen gearbeitet haben.
quelle
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 nach den Testern. Die anderen, die abgeneigt zu sein scheinen, gehen folgendermaßen vor: Wie haben wir damit umgegangen, wie haben Sie in der Vergangenheit damit umgegangen? .
bearbeiten:
Grundsätzlich bekommt man das Zeug im Joel-Test nicht umsonst, man muss Leute einstellen, die es schaffen können. Sie möchten ihre Fähigkeit etablieren, dies zu verwirklichen.
quelle
Der Joel-Test ist nur eine informelle Basisprüfung, um schnell zu beurteilen, ob ein Ort gute Arbeitsbedingungen für Programmierer bietet. Selbst wenn es eine perfekte 10 erreicht, kann es dennoch 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 sorgt für hervorragende Interviewfragen ("Sie verwenden derzeit keine Quellcodeverwaltung; gibt es Pläne, dies in Zukunft zu tun?"), Und die Antworten könnten so lauten 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 gepostet 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 gar nicht zu quantifizieren, so dass es keinen Ersatz für eine gründliche menschliche Bewertung gibt. Sie können die völlig ahnungslosen Kandidaten jedoch mit einer sehr einfachen Programmieraufgabe ausmerzen - im Idealfall 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: Lesen Sie den von ihnen geschriebenen Code, testen Sie die von ihnen geschriebenen Anwendungen, geben Sie ihnen mehr Programmieraufgaben (sowohl Design als auch Implementierung), sehen Sie zu, wie sie funktionieren, sprechen Sie mit ihnen und sehen Sie, ob Sie es tun kann eine professionelle Diskussion auslösen. Wenn Sie einen Spezialisten / Sprachguru suchen,
quelle
("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.
Sie würden übrigens den Fehler machen, den Job anzunehmen. Letztendlich erfährt jeder Entwickler, dass diesPlans to do so in the future
nur etwas ist, was die Interviewer sagen, um Sie zu täuschen, aber dass sie wegen des schrecklichen Managements niemals handeln. Wie oft haben wir schon etwas davon gehörtOh, we are moving towards Agile...
und es stellt sich heraus, dass es sich um einen weiteren mikrobearbeiteten Wasserfallladen handelt?Ja:
Nach all meinen Erfahrungen ist diese einzelne Frage der beste Indikator dafür, wie gut ein Programmierer ist. Wenn sie es genießen; Wenn sie die Leidenschaft haben, diese Aufgabe zu erledigen, werden sie gut darin sein.
Und ehrlich gesagt, eine Menge von 9-5 Arbeitsplätzen beinhaltet nicht viel Codierung . Sie umfassen nicht viel Iteration während des Lebenszyklus des Entwurfs neuer Programme und des Sehens, wie dieser Entwurf funktioniert / fehlschlägt. Ohne diese Iteration ist es einfach nicht erforderlich, dass Programmierer grundlegende Programmdesignfähigkeiten erwerben.
Und sie beinhalten nicht viel Lernen. Programmierer, die sogar einfach zu Hause hacken, werden neue und interessante Lösungen ohne die Einschränkungen des Big Business suchen.
quelle
Es ist nicht so detailliert wie der Joel-Test, aber die Aufforderung, ein Fizz-Buzz-Programm zu schreiben, ist 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-developers- who-grok-coding /
Das sagt nichts über die Reife der Softwareentwicklung des Einzelnen aus, aber es wird das Schlimmste herausfiltern.
quelle
Eh, ich habe Bedenken mit dem Wortlaut am Anfang. Es ist nicht "Hast du X benutzt" oder "Weißt du von Y", es ist eine Frage des tatsächlichen Gebrauchs und Handelns. Jeder Programmierer, der die Elemente des Joel-Tests nicht berührt oder nicht gehört hat, wird einfach vom Computer 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, verläuft nach dem Motto "Ich habe es versucht, hatte aber keine Autorität. Und jetzt bewerbe ich mich hier."
quelle
Ja aber
Ja, aber ich habe es nicht konfiguriert und ich verwalte es nicht, ich benutze es einfach.
Nein, das ist nicht mein Job.
Ich bekomme eine Spezifikation, analysiere sie und erstelle relevante Dokumente.
Sie wissen nicht, was die besten Tools sind, und wenn Sie glauben, dass dies der Fall ist, wird es immer jemanden geben, der Ihre Meinung vertritt.
Ja. Eigentlich ja und sie sind nicht sehr gut, aber das war nicht in Frage.
Ja und sie scheitern. Ja und sie gehen vorbei. Was sagt dir das?
Nein, aber was ist, wenn wir etwas Besseres tun?
Schlussfolgern:
Dies ist kein Scherz, aber ich wäre sehr interessiert zu hören, welche Art von Entwickler ich Ihrer Meinung nach aufgrund der von mir gegebenen Antworten bin. Dies wird hoffentlich meinen Standpunkt beweisen.
quelle
How do you know whether I pull changes before pushing?
Nun, ich weiß nicht, welche Quellcodeverwaltung Sie verwenden, aber zumindest in SVN schlägt das Festschreiben fehl, wenn Sie versuchen, einen Ordner mit Änderungen zu übernehmen, die Sie noch nicht haben, bis Sie Update ausführen.