Nach einer Meinung von jemandem, der bei der Bewertung von Kandidaten Codebeispiele anfordert, gibt es einige Funktionen auf hoher Ebene (Inhalt des Codes) und einige Funktionen auf niedriger Ebene (Struktur des Codes). Funktionen auf hohem Niveau:
- Identität : Der Geschmack des Codes. Wenn Sie sich selbst als UI / HCI-Codierer in Rechnung stellen, möchte ich beim Ausführen ein gutes Erscheinungsbild für etwas Visuelles sehen. Wenn Sie ein DB-Builder sind, möchte ich etwas Interessantes mit der Darstellung oder Analyse von Daten sehen. Die Probe sollte etwas sein, auf das Sie stolz sind . Wenn Sie nicht mindestens eine davon haben, haben Sie keine Identität.
- Reife : Wechseln Sie Strategien für verschiedene Probleme? Lösen Sie interessante Probleme? Wäre es einfach, den Code oder Ansatz auf ein ähnliches Problem auszudehnen? Fühle ich mich umgekehrt, als würde ich ein Mitglied einer Frachtkultgemeinde anschauen?
- Kommunikation : Erklärt der Code leicht, was er tut und warum? Dies bedeutet nicht, dass der Code einfach sein muss. Tatsächlich ist es ein Bonus, komplexen Code leicht verständlich zu machen.
Die einfachen Aspekte sind einfacher:
- Stil : Der Code sollte sauber, konsistent (gemäß einigen etablierten Richtlinien) und gut dokumentiert sein.
- Verpackung : Es sollten mindestens eine kurze Readme-Datei, eine ausführbare Version und ausführbare Tests vorhanden sein. In der Infodatei sollte ich erfahren, wie die beiden letzteren ausgeführt werden und warum Sie dieses spezielle Codebeispiel demonstrieren.
- Sprache (n) : Normalerweise frage ich jemanden nach einer Probe in der Sprache für die Position sowie nach der, in der er sich am stärksten fühlt. Gibt eine gute Vorstellung von den aktuellen Höchstgrenzen einer Person.
Für einen guten Kandidaten erwarte ich, dass eine Stichprobe entweder: A) eine kugelsichere kleine Stichprobe oder B) ein guter Teil eines größeren interessanten Projekts (z. B. ein Modul aus einem persönlichen Github-Repo) ist. Ich erwarte, dass es sich um persönliche oder akademische Projekte handelt. Wenn sie eines von einem bezahlten Projekt senden, erwarte ich eine Nachricht, dass sie die Erlaubnis erhalten haben, es zu verwenden. Wenn ich diese Notiz nicht bekomme, schneide ich sie von den Kandidaten ab (schwacher Kandidat) oder frage sie während des Interviews danach (starker Kandidat). Keine Erlaubnis zu haben, wäre eine große rote Fahne (wahrscheinlich unüberwindbar). Für einen fortgeschrittenen Kandidaten erwarte ich einen Haftungsausschluss, in dem darauf hingewiesen wird, dass einige der besten Quellenbeispiele nicht gezeigt werden können, da dies im Rahmen ihrer Arbeit erfolgt ist. Allerdings erwarte ich dann ein sprudelndes Zeugnis darüber, warum sie stolz auf dieses unshowable Design sind und wie sie es lieben wie ein Kind.
Und so sehr manche Leute sagen, "Oh, jemand könnte nur ein Codebeispiel aus dem Internet bekommen", lautet das Gegenargument, dass die meisten Leute, die einen Code mit guter Produktionsqualität nicht verstehen, ihn auch nicht verstehen, wenn sie ihn sehen . Außerdem kann man bei Google immer eine eindeutige Zeile für den Code überprüfen. Im besten Fall bringt der Diebstahl von Code einen Kandidaten zu einem Interview, bei dem er sich selbst in Verlegenheit bringt ("Warum haben Sie das also so gemacht ...?").
Als letzte Anmerkung zum Code aus früheren Beschäftigungsverhältnissen: Nur nicht. Aus HR-Sicht ist es unangemessen, Code aus früheren Beschäftigungsverhältnissen anzufordern, und es ist eine rote Fahne für das Unternehmen. Sie würden beide rechtlich haftbar sein (dh Sie könnten beide verklagt werden) und es zeigt sich, dass sie keine Ahnung haben, was sie tun. Code, der für einen früheren Arbeitgeber erstellt wurde, sollte niemals angegeben werden, es sei denn, der Code ist bereits öffentlich verfügbar oder Sie haben die ausdrückliche Erlaubnis dieses Arbeitgebers. Schlimmer noch, in einem großen Unternehmen hat Ihr direkter Vorgesetzter möglicherweise nicht die Befugnis, Ihnen die Erlaubnis zu erteilen. Haben Sie in diesem Fall also Spaß mit der Rechtsabteilung? Ich bin sicher, dass sie überglücklich sein werden, ihre IP-Adresse für einen ausscheidenden Mitarbeiter offenzulegen.