Frage:
Wenn ich mich um eine Stelle bewerbe, möchte ein neues Unternehmen Quellcode sehen, auf den ich keinen Zugriff mehr habe
Gray Sheep
2015-11-19 09:46:59 UTC
view on stackexchange narkive permalink

In den letzten Vorstellungsgesprächen möchten Unternehmen den Quellcode sehen, den ich in meinen vorherigen Projekten geschrieben habe, um meine Fähigkeiten zu überprüfen. Ich würde das gerne tun, aber in den meisten Fällen kann ich nicht! Entweder darf ich legal nicht mehr oder ich habe keinen Zugriff mehr auf den Code.

In einer Unternehmensumgebung ist es in den meisten Fällen undenkbar, eine solche Erlaubnis anzufordern. Wenn Sie den Quellcode kopieren, für Ihr Portfolio verwenden und später anderen Unternehmen anzeigen, verstößt dies in hohem Maße gegen alle Sicherheitsstandards eines IT-Unternehmens.

Es könnte möglicherweise funktionieren, wenn das neue Unternehmen eine starke NDA unterzeichnen würde bevor ich mein Portfolio überprüfe. Aber in einem großen Unternehmen ist es praktisch unvorstellbar, das zu organisieren, es ist kein Standardprozess. (Ich habe es nie gefragt - ich habe einfach nie darüber nachgedacht, überhaupt zu fragen, ob es möglich ist, Beispielsoftware von meinem Arbeitgeber zu nehmen.)

Also:

  • Angesichts von NDAs und dergleichen, Können wir es für angemessen halten, einen Kandidaten zu bitten, Quellcode anzuzeigen, der für ein anderes Unternehmen erstellt wurde?
  • Ist es angemessen, ihn gegen den Kandidaten zu richten, wenn er keinen Quellcode (oder nur minimal) von anzeigen kann ein früherer Arbeitgeber?
  • Soll ich um Erlaubnis bitten, Beispiele meines Quellcodes zur späteren Verwendung als Portfolio-Referenz zu verwenden?
  • Wenn ja, wie wird sich dies auf meinen Ruf auswirken?
  • Wie gehen andere mit der Demoralisierung und Frustration um, dass Sie nach vielen Jahren der Arbeit keine einzige Codezeile anzeigen können, die Sie geschrieben haben?
  • Wie gehen Sie mit der Situation um, in der ich bin? Müssen Sie Dinge immer und immer wieder schreiben, oft mehrmals, weil ich nicht aus meinem vorherigen Projekt kopieren und einfügen kann?

Erweiterung: Es ist Deutschland. Die Zielunternehmen sind überwiegend Partnerunternehmen deutscher Multis.

In welchem ​​Land ist das? Das klingt ziemlich seltsam - in den meisten Ländern ist es üblich, dass der Quellcode, den Sie als Mitarbeiter schreiben, Eigentum des Arbeitgebers ist. Neue Arbeitgeber werden dies wissen und wissen, dass ein potenzieller Mitarbeiter ihnen keinen Quellcode aus früheren Jobs zeigen darf.
Wenn ein Unternehmen Sie nach einem Quellcode fragt, bedeutet dies nicht den Produktionscode Ihres vorherigen Arbeitgebers. Was sie bedeuten, ist alles, woran SIE gedacht, geplant, hergestellt und fertiggestellt haben. Geben Sie ihnen einen Teil Ihrer Freizeitarbeit, Nebenprojekte, Open Source-Beiträge usw.
Kommentare sind nicht für eine ausführliche Diskussion gedacht. Dieses Gespräch wurde [in den Chat verschoben] (http://chat.stackexchange.com/rooms/31908/discussion-on-question-by-morning-star-applying-for-jobs-new-company-wants-to- s).
@Kevin Ja, das mache ich, aber diese Projekte werden in völlig unterschiedlichen Umgebungen für völlig unterschiedliche Anforderungen erstellt.
@MorningStar Die Fähigkeit, ein Problem zu analysieren und eine elegante Lösung zu finden, ist nicht an die Umgebung gebunden. Sie können zeigen, dass Sie sauberen Code schreiben können, der funktioniert und nicht mehr tut, als er sollte. Das ist wirklich alles, was sie von Ihnen wollen.
Zehn antworten:
Wesley Long
2015-11-19 09:51:21 UTC
view on stackexchange narkive permalink

Dies ist ein häufiges Problem, und es gibt eine häufige Lösung:

Schreiben Sie etwas.

Bilden Sie eine falsche Firma in Ihrem Kopf. Finden Sie ein Geschäftsproblem, das mit Software gelöst werden muss, und lösen Sie es. Zeigen Sie ihnen diesen Code.

Erklären Sie Ihre NDAs und vertraulichen Informationen.

Niemand sucht nach Unternehmensgeheimnissen. Sie möchten wissen, wie Sie Ihre Gedanken in der Architektur, Ihre Code-Praktiken, Test-Harnesses, Kommentare usw. organisieren.

Ja, aber als bezahltes Vollzeitprojekt etwas perfekt zu machen, ist fast eine so ressourcenintensive Aufgabe wie ein Vollzeitprojekt. Und ich muss das für jedes Projekt (oder für jede Technologie) wiederholen, was ich tun kann ???
Wenn Sie eine Entschuldigung benötigen, suchen Sie ein Open-Source-Projekt, für das eine nicht triviale Funktion geschrieben werden muss ....?
"Als bezahltes Vollzeitprojekt etwas perfekt zu machen, ist fast eine so ressourcenintensive Aufgabe wie ein Vollzeitprojekt." Nein, bei einem realen Projekt gibt es Kunden, Fehlerberichte, Legacy-Code, Regressionstests, Build-Systeme, Unternehmenskonventionen, seltsame Problemumgehungen für ungewöhnliche Situationen usw. An einem eigenen Codebeispiel schneiden Sie all das aus und konzentrieren sich nur darauf, den Mindestcode bereitzustellen, der erforderlich ist, um zu zeigen, dass Sie über die erforderlichen Fähigkeiten verfügen. Wählen Sie eine einfache, genau definierte Aufgabe und zeigen Sie dann, wie ein Fachmann sie löst.
Kommentare sind nicht für eine ausführliche Diskussion gedacht. Diese Konversation wurde [in den Chat verschoben] (http://chat.stackexchange.com/rooms/31909/discussion-on-answer-by-wesley-long-applying-for-jobs-new-company-wants-to- sehen).
@Brandin und der Typ, der sich diesen Code ansieht, werden denken, dass Sie schlampig waren und keine richtige TDD usw. machten.
Kilisi
2015-11-19 15:00:42 UTC
view on stackexchange narkive permalink

Machen Sie ein kleines Projekt und zeigen Sie ihnen diesen Code. Niemand erwartet von Ihnen, dass Sie Code zeigen, der Ihren früheren Arbeitgebern gehört. Tatsächlich wäre ich sehr besorgt, wenn Sie dies tun würden, und ich habe Sie interviewt. Einige Leute arbeiten aus genau diesem Grund an kleinen Open Source-Projekten.

Es ist weniger der Code selbst, an dem sie interessiert sind, als die Art, wie Sie ihn schreiben.

Ich bin kein Professioneller Entwickler, aber ich hätte überhaupt keine Probleme, ein paar hundert Codezeilen zu finden, die ich außerhalb von Arbeitsverpflichtungen ausgeführt habe.

Wenn Sie den Job wollen, springen Sie durch die Reifen. Wenn ich Sie gebeten hätte, Code für das Interview mitzubringen, und Sie dies nicht getan hätten, aber jemand anderes mit ungefähr gleichwertigen Fähigkeiten, hätte ich erraten, wen ich beschäftigen würde? Sie verkaufen sich zu den Bedingungen des Arbeitgebers an einen Arbeitgeber, nicht wie auch immer Sie sich fühlen. Es ist nicht konstruktiv, ihre Motivation zum Fragen in Frage zu stellen. Es ist ein Wettbewerb, geben Sie sich alle Kanten, die Sie können.

Helfen Sie einem Open-Source-Projekt und machen Sie die Welt ein wenig größer und gleichzeitig wertvoller. Win-Win-Win-Win (...)
Je kleiner das Projekt, desto besser für Codebeispiele für Interviews. Niemand möchte 500.000 Codezeilen lesen - besonders wenn niemand sie dafür bezahlt
Manchmal behalte ich Schnipsel, die ich mag, hauptsächlich, damit ich sie wieder verwenden kann. Sie könnten Code finden, auf den Sie stolz sind, und vertrauliche Dinge umbenennen. Das hilft dir natürlich nicht weiter, jetzt hast du keinen Zugang mehr ...
Für mich ist diese Lösung nicht gültig.Nehmen wir an, wenn Sie ein 10-jähriger Profi sind, brauchen Sie mindestens ein volles Jahr, um Vollzeit an einem Open-Source-Projekt zu arbeiten, damit es läuft und nur ein bisschen von Ihren Fähigkeiten zeigen kann.
gnasher729
2015-11-19 15:54:29 UTC
view on stackexchange narkive permalink

Fragen ist ethisch. Es ist nicht zu erwarten, dass Sie gegen eine NDA verstoßen. Sich zu beschweren, dass Sie nicht gegen eine NDA verstoßen, ist idiotisch und ein gutes Zeichen dafür, dass dies kein Ort ist, an dem Sie arbeiten möchten.

Es ist absolut in Ordnung, Ihren alten Chef zu fragen, ob es Dinge gibt, die Sie kopieren können. Er wird verstehen, warum Sie fragen. Er wird auch die Regeln seiner Firma verstehen und "Ja" oder "Nein" sagen. Wahrscheinlich "nein". Vielleicht geben Sie Ihnen die Erlaubnis, bestimmten Code, den Sie geschrieben haben, zu kopieren, vielleicht auch nicht.

Und das Offensichtliche ist, Code zu schreiben. Schreiben Sie die Spezifikation für eine kleine Aufgabe, die in 100 Codezeilen gelöst werden kann, und schreiben Sie einen wirklich ausgefeilten Code, der dieser Spezifikation entspricht. Sie haben also etwas zu zeigen.

Stephan Branczyk
2015-11-19 17:23:47 UTC
view on stackexchange narkive permalink

Diese anderen Unternehmen möchten nicht den Quellcode aller Ihrer vorherigen Projekte sehen. Sie möchten tatsächlich den Quellcode Ihrer vorherigen persönlichen Projekte oder Projekte sehen, für die Sie noch die Rechte besitzen.

Wenn Sie nicht mindestens ein eigenes persönliches Projekt haben, sei es von einem Hackathon oder von etwas anderem, dann könnte das bei einigen der wählerischeren Arbeitgeber eine rote Fahne hissen.

Das Drücken Ihres früheren Arbeitgebers auf den Code ist eigentlich der falsche Ansatz. Dies kann die Tatsache für den neuen Arbeitgeber verstärken, dass Sie kein persönliches Projekt haben, um es ihnen zu zeigen, und / oder dass Sie nicht in der Lage sind, eines selbst zu schreiben.

Update: Bitte verstehe das nicht so, dass ich dieser Meinung zustimme. Ich hasse diesen Reifen auch, den einige potenzielle Arbeitgeber von mir erwarten. Ich habe Codebeispiele, für die ich noch die Rechte habe, aber diese Projekte sind oft halbfertige / halbgebackene Projekte, die nicht einmal der Art von Projekten nahe kommen, die ich als Vollzeitbeschäftigter mache.

"Wenn Sie nicht mindestens ein persönliches Projekt haben, [...] rote Fahne" Eine verbreitete Ansicht, die ich völlig falsch finde. X Stunden am Tag einen Job zu erledigen und dann nach Hause zu gehen, um den gleichen Job für weitere Y Stunden zu erledigen, ohne dafür bezahlt zu werden, sollte für keine Position erforderlich sein.
Wenn überhaupt, wäre es mir lieber, wenn meine Mitarbeiter außerhalb der Geschäftszeiten andere Interessen hätten. Hilft, einige Verrückte sofort auszusortieren.
Ich stimme Celos zu. Als Entwickler selbst und als jemand, der in meinem derzeitigen Unternehmen am Einstellungsprozess beteiligt ist, ist es mir egal, ob der Kandidat keinen Code hat, der mir dies zeigt. Wir fragen immer und wir sehen es gerne. Aber wir halten es niemals gegen den Kandidaten, wenn er keinen Code hat, der uns zeigt, weil alles im Besitz früherer Arbeitgeber ist.
@Celos: Sicherlich sollten Sie mindestens den Code haben, den Sie für Ihr letztes Jahr am College geschrieben haben? Wenn es nicht auf dem Qualitätsniveau ist, das Sie mögen, überarbeiten Sie es einfach ein wenig.
@slebetman schlägt vor, dass jemand einige College-Projekte wiederholt, anstatt persönliche Projekte in seiner eigenen Zeit durchführen zu lassen ... wirft die Frage auf, um es gelinde auszudrücken.
@slebetman: Ich hätte dort kein Glück, mein Abschluss ist nicht in einem Computerfach. Und selbst wenn es so gewesen wäre, habe ich es vor 15 Jahren fertiggestellt und es ist kaum zu glauben, dass es meine aktuellen Codierungspraktiken widerspiegeln würde oder dass es dies mit "ein bisschen" Refactoring tun könnte. Es würde bedeuten, ein Projekt zu schreiben, um es zu zeigen, was man wohl nur tun muss, wenn es wirklich nötig ist, um einen Job zu bekommen. Aber viele Menschen kommen ohne aus: Zum Beispiel können Interviewer Sie bitten, ein wenig Code für das Interview zu schreiben, ohne sich um vollständige Projekte zu kümmern.
Ich habe viel. Was ich nicht habe: ein solches Projekt, an dem ich Monate oder sogar Jahre lang in Vollzeit gearbeitet habe und bei dem ich die Erwartungen eines Unternehmensumfelds erfüllen musste.
teego1967
2015-11-19 17:22:43 UTC
view on stackexchange narkive permalink

Für einen potenziellen Arbeitgeber ist es wichtig, die Fähigkeit zu demonstrieren, die Arbeit zu erledigen, für die er anstellt.

Wie andere gesagt haben, könnten Sie Open Source-Code übergeben. Das Problem dabei ist, dass niemand von einem trivialen Projekt beeindruckt sein wird, dessen Schreiben nur wenige Stunden / Tage dauerte und das ein falsches Problem löst. Das andere Problem dabei ist, dass der potenzielle Arbeitgeber Ihr Projekt nicht bis zur Quellcode-Ebene wirklich bewertet. Das wäre viel Zeit zum Investieren. Nur ihnen einen Link zu Ihrem Git-Repo zu geben, ist nur dann sehr effektiv, wenn es sich um ein wirklich erstaunliches, gut dokumentiertes Projekt handelt.

Wenn Sie Ihre Fähigkeiten unter Beweis stellen möchten, stellen Sie einige Folien zusammen, die einen Überblick über geben eine Lösung, die Sie erstellt haben. Sie müssen keine Codezeilen anzeigen.

Erklären Sie zunächst das Problem, das Sie gelöst haben, und geben Sie einen Eindruck von dessen Umfang. Fahren Sie mit allgemeinen Architekturdiagrammen fort, die Ihre Lösung skizzieren. Geben Sie abschließend einen Überblick über die wichtigsten technischen Entscheidungen und Herausforderungen der Implementierung und erläutern Sie die von Ihnen verwendeten Tools / Bibliotheken. Falls zutreffend, sind auch einige Screenshots, die die Arbeit in Aktion zeigen, nett. Diese Folien reichen aus, um Ihr Niveau zu demonstrieren, und werfen Fragen auf, die Sie mit feinen Details beantworten können.

Es wäre natürlich ideal, dies mit einem Open-Source-Projekt zu tun ABER wenn Sie mit dem geringen Risiko einverstanden sind, können Sie es AUCH für die Arbeit Ihres vorherigen Arbeitgebers tun. Wenn Sie Folien erstellen, in denen die Arbeit Ihres früheren Arbeitgebers beschrieben wird, verteilen Sie sie einfach nicht. Sie müssen sie auf Ihrem Laptop behalten und nur live verwenden. Das Wichtigste ist, dass Sie keinen Quellcode übergeben und nur demonstrieren, was Sie getan haben. Ich hatte noch nie ein Problem damit und es hat zu einer hervorragenden Präsentation geführt, die mich mehr als ein paar Mal eingestellt hat.

nhgrif
2015-11-19 19:47:07 UTC