Wird meine Arbeit an einem Entwicklertest ausgenutzt? [geschlossen]


154

Ich suche einen Job und habe mich auf eine Reihe von Stellen beworben. Ein Arbeitgeber antwortete. Ich hatte ein ziemlich langes Telefoninterview (vielleicht eine Stunde +) und sie haben mich dann mit einem Entwicklertest konfrontiert. Mir wurde gesagt, dass der Test voraussichtlich zwischen 6 und 8 Stunden dauern würde und dass ich für meine Arbeit bezahlt würde, sofern die Ergebnisse mit deren Zustimmung übereinstimmen.

Das gab mir eine Pause, aber ich bemühte mich. Der Entwicklertest fand auf einer VM statt, auf die über RDP zugegriffen wurde . Die Aufgabe bestand darin, eine Suchseite in einem Webprojekt zu implementieren, die Daten vom Server anfordert, diese auf dem Bildschirm in einer Tabelle anzeigt und ein ziemlich kompliziertes Suchfilter-Schema aufweist (es gibt ungefähr 15 Status und wenn Sie die Suche an den Server senden) kann zusätzlich zur Zeichenfolge- / Feldsuche nach diesen Status suchen. Außerdem sollen SVG- Symbole bei bestimmten Datenwerten die Farbe ändern und einige Daten anders dargestellt werden als in der Datenbank.

Kurz gesagt, dies dauerte viel länger als 6-8 Stunden. Ein Großteil davon war auf die sehr schlechte VM zurückzuführen, auf der ich ausgeführt wurde (das Laden von Visual Studio 2013 dauerte 10 Minuten und das Öffnen der 3-GB-Ginormous-Lösung weitere 15 Minuten).

Mir wurde gesagt, dass ich nach Abschluss des Tests meine Änderungen an der Quellcodeverwaltung vornehmen soll ... Hmm, OK. Ich folgte den Anweisungen. Und nachdem ich die Änderungen vorgenommen hatte, erhielt ich eine Antwort per E-Mail. Die SVGs waren nicht richtig eingefärbt, es gab einen Fehler in diesem Rand-Fall, es gab ein gelegentliches Problem mit dieser anderen Sache, die ich nie erlebt habe, usw. Also bin ich jetzt 13-14 Stunden in dieser Sache und ich muss Bugfixes durchführen. Ich mache sie und der Arbeitgeber kommt mit weiteren Anfragen zur Fehlerbehebung zurück.

Meine ganze Arbeit geht anscheinend in eine Produktionsanwendung. Ich bemerkte einige Anomalien im Code, bei denen es so aussah, als hätten andere alle Funktionen codiert, aber nichts anderes berührt.

Werde ich nur für billige Arbeitskräfte eingesetzt? Selbst wenn sie mir die versprochenen 50 Dollar pro Stunde für 6 Stunden bezahlen, habe ich jetzt ungefähr 18 Stunden für diese Sache zugesagt. Wenn ich all die Dinge, die sie sich immer wieder einfallen lassen, behebe, habe ich mindestens 16 Stunden kostenlos gearbeitet.

Ich habe eine Reihe von Entwicklertests durchgeführt, aber noch nie einen, bei dem ich an Code für die Produktion gearbeitet habe. Ich habe noch nie einen Test gemacht, bei dem ich ein Feature implementiert habe, das in Vorbereitung war, und ich habe noch nie eines gemacht, das 4 Runden und insgesamt mehr als 20 Stunden gedauert hat. Ich habe den Eindruck, sie nutzen ihren Entwicklertest, um einen Teil der Funktionalität auf billige Weise zu testen.

Habe ich den falschen Eindruck? Und ist dieses Testprotokoll angemessen?


165
Das ist verrückt. Ich denke, Sie wurden wahrscheinlich für freie Arbeit ausgenutzt.
JMQ

79
Sie sollten eine Rechnung senden.
Toasted_flakes

27
Die gute alte interviewgetriebene Entwicklung. Es sollte ein "devabuse" -Tag geben.
Den

74
Hier ist ein Vorschlag für Menschen in den USA. Wenn eine Firma Sie auffordert, Codebeispiele einzureichen oder Beispiele dafür zu erstellen, sollte auf jedem Teil, den Sie einreichen, ein Urheberrechtshinweis mit der Aufschrift "COPYRIGHT (year) (Ihr Name). ALLE RECHTE VORBEHALTEN." Wenn Code generiert wird, der im Browser eines Benutzers ausgeführt wird, stellen Sie sicher, dass der Generator auch eine Kommentarzeile generiert, die diesen Copyright-Hinweis enthält. Ehrliche Outfits werden damit kein Problem haben. Unehrliche werden schreien.
John R. Strohm

32
Ziehen Sie in Betracht, dieses Unternehmen Ihrem staatlichen Arbeitsministerium zu melden. Das kostenlose Nehmen von Arbeit ist im Allgemeinen illegal.
Andrew Medico

Antworten:


168

Ich würde niemals an einem Code-Test dieser Art teilnehmen. Ich habe viele Code-Tests gemacht und viele Code-Projekte durchgeführt. Ich würde unter keinen Umständen Code in das Repository einer anderen Person einchecken. Wenn sie nicht wissen, was sie nach einem 4-stündigen Beispiel mit einer geringfügigen Fehlerkorrektur in einer Pair-Programming-Sitzung wissen müssen, werden sie es nie erfahren.

Wenn Sie einen Test machen, sollten Sie ein paar Dinge im Vorfeld wissen und klarstellen:

  1. Es sollte vereinbart und bekannt sein, dass Arbeiten, die während des Tests erstellt wurden, nicht für andere Zwecke als die Ermittlung Ihrer Fähigkeiten für die erforderlichen Aufgaben verwendet werden dürfen.
  2. Ein Code-Test sollte nicht länger als 4 Stunden dauern.
  3. Sie sind kein Mitarbeiter des Unternehmens. Daher ist jeder Vorschlag, dass Sie für den erstellten Code bezahlt werden, absurd. Bestehen Sie auf einem schriftlichen Zahlungsvertrag, wenn es überhaupt einen Hinweis darauf gibt.
  4. Legen Sie bestimmte Zeitlimits für einen bestimmten Teil des Tests fest und halten Sie sich dann an diese Limits. Wenn Sie aus irgendeinem Grund feststellen, dass Sie die Grenzwerte überschreiten, überlegen Sie, warum Sie diese Grenzwerte überschreiten. Liegt es am Druck von ihnen? Liegt es daran, dass Sie Fehler gemacht haben? Liegt es daran, dass Sie schlecht geschätzt haben, wie lange es dauern sollte, bis etwas fertig ist?
  5. Beherrsche deinen Standpunkt, wenn du das Gefühl hast, ein bestimmtes Thema abgedeckt zu haben. Wenn Sie bereits einen Fehler behoben haben und Sie aufgefordert werden, einen nahezu identischen Fehler zu beheben, sagen Sie "Wir haben dieses Thema bereits mit Fehler x behandelt. Vielleicht könnten wir zu etwas anderem übergehen, das etwas Neues demonstriert."
  6. Unter keinen Umständen sollten Sie etwas in eine Produktionspipeline einchecken. Dies schließt jede Art von Entwicklungszweig ein, der letztendlich zu einer Produktionspipeline führen kann. Im Zweifelsfall nichts einchecken. Bei Codetests, die nicht unbedingt persönlich durchgeführt werden müssen, bestehe ich darauf, dass der Code zuerst in mein persönliches öffentliches Repository eingecheckt wird. Dies gibt mir zumindest einen gewissen Schutz davor, dass meine Arbeit unsachgemäß verwendet wird.
  7. Beurteilen Sie sie genau so sehr nach ihrem Verhalten, wie sie Sie beurteilen. Wenn Sie das Gefühl haben, dass sie nicht ganz vorne mit Ihnen sind, rufen Sie sie an. Wenn Sie das Gefühl haben, misshandelt zu werden, melden Sie sich.

Das Unternehmen, mit dem Sie ein Interview führen, wird auch von Ihnen interviewt. Wenn sie auf diese Weise jemanden behandeln, den sie interviewen, ist dies ein Unternehmen, für das Sie arbeiten möchten? Ich verstehe, dass Menschen häufig ein Bedürfnis nach Arbeit haben und dieses Bedürfnis häufig einige Konzepte des gesunden Menschenverstands außer Kraft setzt, aber dies sollte immer im Vordergrund Ihres Geistes stehen. Hab keine Angst rauszugehen. Wenn es sich nicht richtig anfühlt, folge deinen Instinkten und stimme mit deinen Füßen ab.


10
Ich habe bereits festgestellt, dass ich nicht für sie arbeiten werde. Nachdem ich die Monstrosität einer Lösung gesehen habe, die sie verwenden (und die erstaunliche Anzahl von Abstraktionsebenen OBEN auf dem Entity Framework), möchte ich nicht jeden Tag einen kleinen Teil von mir töten, indem ich die Dinge tue, die sie tun. Ich habe morgen ein Telefontreffen, bei dem wir die Probleme besprechen, die ich mit diesem "Test" hatte.
CodeWarrior

8
Schlimmer noch, wenn ich ein Unternehmen wäre, würde ich nicht wollen, dass Leute, die nicht für mich arbeiten und alle ordnungsgemäßen NDAs und andere Formulare unterschrieben haben, Zugang zu meiner Produktionsumgebung haben, und Ihr VCS ist eine Produktionsumgebung ...
jwenting

18
Zumindest in Großbritannien habe ich den starken Verdacht, dass es für den Kandidaten illegal oder rechtlich strafbar ist, einen Interviewkandidaten zu einer echten Arbeit zu zwingen. In beiden Fällen wird dies als sehr schlechte Praxis angesehen, und wir verbringen viel Zeit mit der Erstellung von "Fake Work" -Tests, die gründlich genug sind, um einen Kandidaten zu bewerten, aber keinen anderen praktischen Nutzen haben.
Neil Slater

9
@marcvangend: Mein Hauptanliegen hier (mit Sitz in den USA) wäre die Haftung. Da es keinen formellen Vertrag und keine direkte Beziehung gibt, ist es für sie sehr einfach, einem "Interviewten" die Schuld zu geben, wenn etwas schief geht und etwas in ihrer Software ausgenutzt wird. # 1 ist nur eine Selbstschutzmaßnahme und kein Versuch, den Diebstahl meiner Arbeit zu verhindern. Ich habe im Laufe der Jahre viel von meiner Arbeit gestohlen bekommen, und es stört mich wirklich nicht.
Joel Etherton

10
@WayneWerner: Oder der traditionelle Beraterreim. "Rosen sind rot, Veilchen sind blau, bezahl meinen Arsch."
Joel Etherton

46

Auf viele Interviews folgen Tests. Diese Tests sind erforderlich, um sicherzustellen, dass Sie über die erforderlichen Fähigkeiten verfügen, und um einige Dinge, die während des Interviews selbst nur schwer zu testen sind (z. B. die Anwendung von Stilregeln auf Ihren Code), besser zu verstehen.

Vor diesem Hintergrund ist ein Test ein Test.

  • Es muss nicht lange dauern. Nach acht Stunden Codierung ist nicht viel zu sehen, was nach dreißig Minuten nicht mehr zu sehen ist. Noch wichtiger ist, dass Code, der während des Tests geschrieben wurde, Zeile für Zeile überprüft werden sollte, was eine wichtige Zeitspanne in Anspruch nimmt . Es ist nicht ungewöhnlich, mehr als zwei Stunden zu verbringen, um den während einer halben Stunde geschriebenen Testcode zu überprüfen.

  • Es sollte sich nicht um eine vorhandene Codebasis handeln. Das Verständnis der Codebasis eines mittelgroßen Produkts kann Tage oder Wochen dauern (oder Monate oder Jahre, abhängig von der Codequalität und der technischen Verschuldung). Geistiges Eigentum kann ebenfalls ein Problem sein (es sei denn, der Code ist Open Source).

    Wenn das Ziel darin besteht, zu testen, wie der Kandidat die vorhandene Codebasis aufrechterhalten kann, kann der Test auf einer kleinen (500-600 LOC) fiktiven Codebasis durchgeführt werden, die speziell für die Tests geschrieben wurde.

  • Es muss keine Anforderung sein, eine echte App oder Funktion zu entwickeln. Es kann sich um einen völlig nutzlosen Code handeln, der nur mit der Absicht geschrieben wurde, zu zeigen, dass Sie das Problem verstanden und einen eleganten Weg gefunden haben, es zu lösen.

  • Es muss nicht perfekt sein. Es gibt Fehler? Das ist gut. Notieren Sie sie für ein weiteres Interview mit dem Kandidaten. Dies kann eine hervorragende Gelegenheit sein, um zu sehen, wie der Kandidat in dieser Situation reagiert.

  • Dies muss nicht über RDC auf einer VM erfolgen, es sei denn, Sie haben selbst kein Visual Studio. Wenn das Ziel darin besteht, Ihre Codierungs- und Problemlösungsfähigkeiten zu erkennen, spielt es keine Rolle, wo Sie die Übung durchführen.

  • Es kommt nicht in Frage, dass der während dieses Tests geschriebene Code in die Versionskontrolle des Unternehmens gelangt. Warum sollten sie ihre Versionskontrolle mit etwas beschmutzen, das von einem Kandidaten geschrieben wurde?

Abschließend, wenn Sie aufgefordert werden, Dutzende von Stunden damit zu verbringen, Produktionscode zu schreiben, Fehler zu beheben und Ihre Arbeit der Versionskontrolle des Unternehmens zu überlassen:

  • Entweder verwenden sie Sie nur, um Funktionen kostenlos zu implementieren,

  • Oder sie verstehen wirklich nicht, wie man ein Interview macht.

Suchen Sie in beiden Fällen nach einem besseren Arbeitsplatz.


4
+1 für "oder Monate oder Jahre, abhängig von der Codequalität und der technischen Verschuldung". Und wenn es so schlimm ist, werden sie die Entwickler vertreiben, die in der Lage sind, einen dampfenden Haufen WTF zu sortieren, und diejenigen einstellen müssen, die es noch schlimmer machen ...
Julia Hayward

Es ist völlig legitim, ein Problem wie "Wenn diese EF-Klassen angegeben werden, schreiben Sie eine Abfrage, die einige komplizierte Kriterien zurückgibt und die Ergebnisse in einem Formular anzeigt". Ich kann mir nicht vorstellen, den Befragten zu bitten, diese Art von Umgebung selbst zu erstellen, anstatt ihm nur eine vorhandene VM mit allen Einstellungen zu geben.
Gabe

@Gabe: gutes Beispiel. In diesem Beispiel ist es jedoch auch für die Kandidaten offensichtlich, dass Sie keine billige Belegschaft suchen, um eine Funktion in Ihrem neuen Produkt zu implementieren, und dass die Kriterien nicht so kompliziert sind, dass es acht Stunden dauern würde, eine Lösung zu finden.
Arseni Mourzenko

Du hast vollkommen recht; Ich sage nur, dass der Interviewer unter keinen Umständen erwarten sollte, dass er die Umgebung bereitstellt, die zur Erfüllung der gegebenen Aufgabe erforderlich ist.
Gabe

22

Ich werde keine lange Antwort schreiben, aber ich bin ernsthaft verwirrt, warum bringt niemand die Frage des Urheberrechts zur Sprache?

Soweit ich weiß, habe ich noch nie von einer Vereinbarung gehört, dass das Urheberrecht an Code, der während eines Entwicklertests geschrieben wurde, an die andere Partei übertragen wird. Wenn dies der Fall ist, können Sie sie tatsächlich wegen Urheberrechtsverletzung verklagen, und der dafür zuerkannte Schadenersatz kann recht nett sein, insbesondere in den USA aufgrund der Geschichten, die ich gehört habe. Und wenn sie sich einig werden wollen (schlagen Sie dies vor), können Sie eine exorbitante Gebühr für die Zuwiderhandlung verlangen (danach dürfen sie Ihre Arbeit grundsätzlich immer noch nicht verwenden und Sie könnten Ihre Arbeit an sie verkaufen, wenn sie immer noch interessiert wären ).


14
Ich habe noch nie von einem Codierungstest gehört, der den Weg in die Produktion gefunden hat. Das Urheberrecht ist hier ein gültiges Thema.
Josh

1
Ganz zu schweigen von der Versicherung
Crake

1
Das Urheberrecht ist ein interessantes Thema, aber vielleicht nur, wenn sich herausstellt, dass das Werk nicht bezahlt ist und tatsächlich genutzt wird. Wenn die Zahlung irgendwann erfolgt, ist das Urheberrecht wahrscheinlich bedeutungslos. Das Speichern einer Kopie an einem anderen Ort als dem internen Repository des Interviewers ist jedoch erforderlich. Idealerweise sollte die persönliche Kopie auch mit einem Zeitstempel versehen werden, bevor sie an das Repository des Interviewers gesendet wird. Verschiedene geeignete Internet-Repositories könnten verwendet werden, während der Code nicht öffentlich ist.
user2338816

@ user2338816: Erstens: Auch wenn die Zahlung erfolgt, können Sie immer noch eine Urheberrechtsverletzung geltend machen, da die Zahlung auf Papier oft kein Arbeitsvertrag ist, sondern ein ... ok, kann den englischen Begriff nicht finden. Sie haben jedoch Recht, dass Sie eine Kopie des Codes benötigen, da Sie ihn zuerst beim Copyright-Amt registrieren müssen, bevor Sie eine Klage einreichen können.
David Mulder

1
Ein vorsichtiges +1 von mir. Übermäßig aggressiv zu sein, scheint mir unethisch - Sie haben ein Recht auf Ihre Rechte, aber ich möchte nicht die Person sein, die die interviewende Firma niederbrennt, und ich würde auch niemanden einstellen, der einen solchen Ruf hat .
Kevin

12

Personen mit mehr Berufserfahrung sind möglicherweise besser in der Lage, diese Frage zu beantworten, aber ich persönlich würde mich mit einem über 20-stündigen Entwicklertest nicht sehr wohl fühlen. Es hört sich so an, als würden sie das Interview nutzen, um ihre Arbeitsaufgaben zu erledigen.

Ich gehe davon aus, dass Sie keine rechtlichen Dokumente zum Besitz des Codes unterzeichnet haben. Also würde ich warten, bis sie den Code überprüft und akzeptiert oder abgelehnt haben. Wenn sie es dann akzeptieren würden, würde ich darum bitten, für die volle Zeit, 20+ Stunden, bezahlt zu werden. Ich bin mir nicht sicher, ob ich nur die sechs Stunden bezahlen würde, die ursprünglich vorgeschlagen wurden. Wenn dies in Produktion gehen soll, müssen sie den Besitz von Code begradigen.

Das Besprechen der Zahlung für den Code sollte Ihnen zumindest bei der Entscheidung helfen, ob Sie ein Angebot annehmen möchten. Ich würde ein Angebot nicht annehmen wollen, wenn es fair wäre, Sie nur für sechs Stunden zu bezahlen.


3
Ich habe festgestellt, dass ich nicht für dieses Unternehmen arbeite. Selbst außerhalb des Tests gibt es einige echte Probleme mit der Art und Weise, wie sie Dinge tun. Das Projekt, an dem ich gearbeitet habe, war eine Lösung mit 132 Projekten. Mir wurde gesagt, dass ein Entwickler im Team dafür gesorgt hat, dass es so strukturiert ist, also haben sie dies absichtlich getan! Sie möchten, dass alle Arbeiten über RDP erledigt werden. Ich lebe in Hawaii und die Firma ist East Coast, das wird nicht funktionieren. Dann scheint der Test eher so zu sein, als wäre ich auf Zeit billig eingestellt.
CodeWarrior

Einer meiner ehemaligen Mitarbeiter war weiterhin Teil eines Teams mit einer Lösung mit mehr als 200 Projekten. Dies ist also keine Seltenheit.
Trysis

11

Als ich in der Lage war, Entwickler zu interviewen, waren diese Tests kurz und bestanden oder scheiterten, ohne dass Fehler behoben wurden, selbst wenn der Code einige kleinere Fehler aufwies. Das liegt daran, dass ich die Fähigkeiten des Kandidaten einschätzen wollte und keine produktionsbereite Software erhalten wollte.

Die in der Frage beschriebene Situation sieht so aus, als würde jemand versuchen, etwas Nützliches kostenlos (oder billig) zu bekommen.


7

Ich habe noch nie mehr als eine Stunde lang einen Entwicklertest durchgeführt, und das waren alles "Rätsel", ein Stück Arbeit, um zu sehen, ob ich Probleme lösen und ein bestimmtes Ziel innerhalb eines bestimmten Zeitlimits erreichen kann.

$ 50 (oder für mich £ 25-30) ist ein ziemlich schlechter Tagessatz, es ist, als würde man einen Klempner bitten, die Toilette im Austausch für ein Getränk zu reparieren.

Mein Rat ist, ohne Zweifel, über Ihre Erfahrungen zu bloggen und sich namentlich auf das Unternehmen zu beziehen, falls sie versuchen, eine ganze App mit dieser Technik zu erstellen (Leute googeln oft Firmen, bevor sie zum Interview gehen) und lassen es nicht zu es passiert wieder. Wenn sie das nächste Mal nach einer Fehlerbehebung fragen, geben Sie eine Beratungs-Tagesrate an (mindestens das Fünffache der angebotenen Rate) und weisen darauf hin, dass Entwickler nicht kostenlos arbeiten werden.

Narr zu sein ist leider ein Teil des Lebens, aber man muss sich nicht zurücklehnen und es akzeptieren.


5
Ein schlechter Ratschlag, den Leuten zu sagen, dass sie so etwas benennen und beschämen sollen, kann dazu führen, dass jemand in einem endlosen Rechts- und Karriereproblem endet.
Jwenting

1
Ich habe gerade mit ihnen telefoniert. Nachdem ich die Position abgelehnt hatte, wurde ich gefragt, ob ich meine Kritik äußern könne, und ich erklärte, dass ich mir Sorgen über die Möglichkeit mache, dass ich mich günstig entwickle. Aufgrund der Rückmeldungen, die ich vom POC des Unternehmens erhalten habe, sowie der Überprüfung der Quellcodeverwaltung und der weiteren Überprüfung des Quellcodes denke ich, dass sie nicht so viel tun. Sieht aus wie 2 Leute pro 6 Monate oder so, ungefähr im Durchschnitt für die Einstellungstrends eines kleinen Unternehmens. Trotzdem stimme ich der Praxis immer noch nicht zu. Nicht gunna arbeiten dort.
CodeWarrior

8
@CodeWarrior Ich denke wirklich, dass Sie ihnen mit rechtlichen Schritten drohen sollten. Sofern Sie nicht einen Vertrag unterschrieben haben, der den Code aushändigt, haben Sie das Urheberrecht an dem, was während des Tests geschrieben wurde, und sie stehlen ihn Ihnen effektiv. Unternehmen wie dieses werden ihre bösen Praktiken so lange fortsetzen, bis sie von jemandem angerufen werden. Wenn du nicht aufsteigst, was ist dann mit dem nächsten armen Kerl, den sie interviewen?
Ein blasser Schatten

@CodeWarrior Sie sagen, Sie haben die Position abgelehnt. Heißt das, sie haben Ihnen die Stelle angeboten? Und gab es weitere Diskussionen über die Bezahlung Ihrer "Dev Test" -Arbeit?
user2338816

1
@CodeWarrior Guter Anruf! Manchmal muss man nur wissen, wann man weggehen muss.
AJFaraday

3

Nur zum Vergleich: Das Interview für meinen aktuellen Job dauerte ungefähr eine Stunde und sprach darüber, was ich bisher gemacht habe und was das Unternehmen vorhat und wie ich dazu passen würde. Danach haben wir eine Woche lang zusammen an einem kleinen Projekt gearbeitet, das sie gelogen hatten um zu sehen, wie wir miteinander auskommen. Sie bezahlten mich als Freiberufler für den gleichen Betrag, den ich jetzt als Angestellter bekomme, so dass es nie einen vollen Tag unbezahlter Arbeit gab, geschweige denn 3 Tage.

Wenn der Code wirklich in der Produktion verwendet wird, sende ich ihnen die Rechnung für die 24 Stunden, die Sie ausgegeben haben, nicht Ihre Schuld, wenn ihre Schätzungen falsch sind. Vorausgesetzt, Sie haben nicht abschätzen lassen, wie lange es dauern wird.


Wenn Sie sagen, dass Sie an einem Projekt gearbeitet haben, das sie "herumliegen" hatten, war dies ein Projekt, das sie in der Produktion verwendet haben? Wie andere Antworten zeigen, ist dies in jeder Situation seltsam, ob Sie bezahlt werden oder nicht, und normalerweise schlechter für das Unternehmen als der Kandidat.
Trysis

Klingt nach einer kurzen Version des Mietvertrags, was eine normale Geschäftspraxis ist (obwohl normalerweise nicht nur eine Woche).
Joe

3

Während Sie angeblich für (einen Teil) Ihrer Arbeit bezahlt werden , klingt dies nicht nach einem Testprojekt , sondern nach einem Betrug, um billige / kostenlose Arbeit aus Ihnen herauszuholen. Es kann sein , dass es ist beabsichtigt , ein Versuchsprojekt, nur nicht strukturiert oder sehr gut gelungen zu sein.

Aber Management, das so schlecht ist, dass es sich wie ein Betrug anhört, ist definitiv etwas, das Sie berücksichtigen sollten, wenn Sie sich entscheiden, ob Sie den Job annehmen oder nicht.

Ein richtiges Versuchsprojekt sollte dies verdeutlichen

  • Sie haben Arbeit, die sie gerne getan hätten.
  • Aufgrund Ihres Interviews glauben sie, dass Sie in der Lage sein sollten, die Arbeit zu erledigen.
  • Ein erfolgreicher Abschluss des Projekts garantiert keine Position.
  • Bedingungen für das Projekt (wie viel sie bezahlen, wem der Code gehört, ob es sich um Zeit und Material oder eine Pauschale handelt, geschätzte Zeit bis zur Fertigstellung usw.).
  • Das Projekt wird überprüft und Feedback gegeben - nicht nur ein Ja / Nein, ob Sie die Position erhalten oder nicht.

Die Bedingungen sollten für Sie akzeptabel sein, unabhängig davon, ob Sie eingestellt werden. Wenn die Bedingungen nur dann akzeptabel sind, wenn sie mit einem Vollzeitjob verbunden sind, sind sie nicht wirklich akzeptabel.


2

Ich glaube nicht, dass sie das tatsächlich nutzen würden, um billige Arbeitskräfte zu bekommen.

Der Grund ist einfach. Nachdem Sie diese Tests geschrieben haben, müssen die Benutzer überprüfen, was Sie geschrieben haben. Ja, das Überprüfen von Code ist viel einfacher als das Schreiben des Codes selbst, erfordert jedoch noch viel Zeit.

Und danach brauchen sie wahrscheinlich Leute, die diese Tests warten, erklären usw.

Und ich kann mir einfach kein IT-Unternehmen vorstellen, das weniger als 100 US-Dollar sparen möchte, insbesondere Unternehmen in den USA. So läuft das Geschäft nie.


13
Wenn sie mehr als 20 Stunden Arbeit erledigt haben und 6-8 für den (nicht verblüffend hohen) Preis von 50 USD bezahlt haben, haben sie viel mehr als 100 USD gespart. Vielleicht sind sie mehr daran interessiert, etwas billig und schnell zu erledigen, als Code zu produzieren, der funktioniert oder gewartet werden kann? Unterschätzen Sie nicht die Gier, Inkompetenz und Kurzsichtigkeit der Menschen da draußen.
JWG

9
Ich behaupte nicht, dass es ratsam oder sinnvoll ist, nur dass es plausibel passieren könnte . Es gibt viele Drecksäcke da draußen, darunter auch einige ziemlich dumme.
JWG

3
@randomA: Du nimmst ein echtes Entwicklerteam mit einem Sinn für Ethik an. Wenn ich erschöpfter bin (oder vielleicht nur soziopathisch), kann ich mir leicht ein kleines Team vorstellen, das die ganze Sache puppenspielt - sie würden das High-Level-Design machen, entscheiden, was sie bauen (oder reparieren) und die Grunzarbeit verrichten als Entwicklertests ". Es würde Tausende von Dollar sparen, wenn ein Haufen Vollzeitangestellter eingestellt würde. Die Arbeitsplätze der Puppenspieler sind gesichert, denn ein solches Entwicklungsmodell macht sie unverzichtbar. Und wenn Sie schon so gierig und kurzsichtig sind, dann sind Codeüberprüfungen und Dokumentationen Geldverschwendung. Wenn es so aussieht, als ob es funktioniert, versenden Sie es. : P
cHao

1
Oh, ich sage nicht, dass es auf lange Sicht ein lohnendes Modell ist. Aber kurzfristig sieht es attraktiv aus. Das Management wäre an Bord, wenn Sie ihm die richtigen Zahlen zeigen würden (verdammt noch mal, wahrscheinlich haben sie sich diese ausgedacht), und Legal würde es sehr sorgfältig formulieren wollen, aber wenn Sie tatsächlich bezahlen, was Sie sagen, werden Sie AFAIK, Sie brechen technisch gesehen keine Gesetze. Was den längerfristigen Zustand der Codebasis angeht, könnten Sie das Refactoring als eine weitere Reihe von "Tests" durchführen.
CHAO

1
@Taemyr: äh, wenn ich die OP ihre Code - Basis zu verstehen ist ein fragmentierte Chaos - etwas über 132 Projekte in einer einzigen VS - Lösung?
Thkala

2

Ich bin ein großer Anhänger von Code-Tests für Entwickler, die für einen Job interviewen. Das klingt jedoch nach einem Codetest aus der Hölle ... Codetests sollten niemals Produktionscode beinhalten. Sie sollten einfach sein und angeben, dass keine der geleisteten Arbeiten vom Unternehmen verwendet wird.

Die Arbeit, die Sie geleistet haben, war eindeutig Produktionscode. Sie sollten für Ihre gesamte Zeit bezahlt werden - zumindest. Versuchen Sie, mit einem Anwalt zu sprechen, und prüfen Sie, ob es sich lohnt, sie zu verklagen. Viele Anwälte bieten kostenlose Erstberatungen an. Wenn es sich um Betrug handelte, und in diesem Fall sieht es so aus, hätten Sie das Recht, den Geldschaden zu vervierfachen, und Sie könnten darüber hinaus auch noch einen netten Strafschaden erhalten.

Indem Sie sie verklagen und gewinnen, machen Sie einige Schlagzeilen und entmutigen diese Praxis in Zukunft von anderen - was für alle Softwareentwickler von Vorteil ist, die nach einer neuen Position suchen.


Dieser Beitrag ist ziemlich schwer zu lesen (Textwand). Hätten Sie etwas dagegen bearbeiten sie in eine bessere Form ing?
gnat

0

Coding-Tests sind leider eine Tatsache. Das heißt, es stört mich, wenn ich gebeten werde, vier Stunden lang einen Codierungstest durchzuführen, um mein erstes Telefon-Screening zu erhalten. Es ist unfair, einen Kandidaten zu bitten, so viel zu investieren, wenn das Unternehmen so wenig in die Beziehung investiert hat.

Ich bin ein leitender Entwickler und kann den Codierungstest bestehen. Aber ich werde nicht viel Zeit damit verschwenden, es sei denn, das Unternehmen hat ein persönliches Interesse an mir gezeigt. Im Allgemeinen fülle ich keine Bewerbung bei einem Unternehmen mit einem großen, schlecht geschriebenen Online-Bewerbungsformular aus, in dem ich aufgefordert werde, meinen Lebenslauf erneut einzugeben, damit der schlecht geschriebene Roboter die Keyword-Suche verfälschen kann. Ich bin im Allgemeinen nicht damit einverstanden, einen Codierungstest durchzuführen, es sei denn, er ist kurz oder sie sehen ihn live und sprechen mit mir.

Auch wenn sie Ihren Code nicht in die Produktion einbinden, ist ein Unternehmen, das möchte, dass Sie eine ganze Menge Zeit mit dem Tippen verbringen, bevor Sie herausfinden, ob Sie überhaupt zu Ihnen passen, ein Unternehmen, das Sie gerne ausnutzen. Sie signalisieren, was sie wollen, dass ihre Beziehung ist; Du bist der Code-Affe. Sie geben den Ton an. Und ihr Interviewprozess ist darauf ausgelegt, Menschen zu finden, die mit dieser Beziehung vertraut sind.

Sei kein Code-Affe. Weggehen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.