Wie bewerte ich als angehender Praktikant, wie einfach es für mich wäre, die Praktiken eines Teams zu verbessern?

Mir wurde ein Sommerpraktikum in der Softwareentwicklung in einem eng verbundenen Team von vier Personen angeboten. Es sieht gut aus, abgesehen von einigen sehr beunruhigenden Entwicklungspraktiken. Diese beinhalten:

  1. Keine Versionskontrolle!
  2. Keine Dokumentation oder Kommentare!
  3. Kein Bugtracker!

Das Team sagte, dass dies „für sie funktioniert hat“. Und fairerweise schienen sie produktiv zu sein und ihre Software schien funktionsfähig zu sein. Ich fragte sanft, ob sie bereit wären, Git zu übernehmen. Der Manager schien der Idee aufgeschlossen zu sein, aber die Reaktionen der Entwickler waren neutraler. (Und Reden ist sowieso billig.)

Ich bin bereit, von dem Angebot zurückzutreten, wenn sich diese Praktiken als unerschütterlich erweisen. Auf der anderen Seite könnte ich es versuchen und es auf mich nehmen, dem Team bessere Praktiken vorzustellen, wenn das machbar erscheint. Aber das hängt alles von meiner völlig unerfahrenen Einschätzung ihrer Formbarkeit ab. So:

Wie kann ich am besten einschätzen , wie schnell ein Team auf meine Versuche reagieren wird, seine Gewohnheiten zu ändern, bevor ich überhaupt eingestellt werde? Ist es angemessen, einfach nur zu fragen? Wenn ja, gibt es eine Möglichkeit, die Frage zu formulieren, um ehrlichere, realistischere und durchdachtere Antworten zu fördern?

Dies könnte eine interessante Lektüre sein: joelonsoftware.com/2001/12/25/…
Guter Artikel, @alle. Aber denken Sie daran, dass ein Praktikum nicht sehr lange dauert und eine noch stärkere Konnotation von Unerfahrenheit hat als nur ein "Grunzen". Möglicherweise ist eine aggressivere, bewusstere und explizitere Strategie erforderlich. (Ich vermute.)
Ich habe nicht versucht zu sagen, dass dies die absolute Wahrheit ist, sondern nur, dass es mit Ihrer Situation zusammenhängt und eine lohnende Verwendung Ihrer Zeit ist. Wenn ich eine bessere Vorstellung davon gehabt hätte, wie ich mit Ihrer Situation umgehen soll, hätte ich eine Antwort geschrieben ... leider bin ich kein Experte in dem Thema ...
@gnat Das (und die Frage, von der es ein Betrüger ist) sind hilfreich und verwandt, aber sie fragen, wie man auf Veränderungen drängt, wenn man bereits eingestellt ist. Ich frage, wie man überprüfen kann, ob ein Wechsel überhaupt möglich ist, bevor man eingestellt wird.
Wie lange soll das Praktikum dauern?
Dies ist nicht die Frage, die Sie gestellt haben, daher biete ich sie als Kommentar an. Ich empfehle wirklich, sich nach einem anderen Praktikum umzusehen. Ein Praktikum sollte wirklich Ihre Weiterbildung betonen, nicht das Unterrichten Ihres Sponsors. Das Fehlen einer Versionskontrolle ist eine riesige rote Fahne. Sie haben vielleicht ein System zusammengeschustert, das für sie funktioniert, aber es ist wahrscheinlich kein Prozess, den Sie woanders nutzen können. Wenn Sie in zukünftigen Vorstellungsgesprächen über dieses Praktikum sprechen, werden sie vielleicht fragen: "Also, welche Methode zur Versionskontrolle haben Sie verwendet?" Die werden zumindest eine Augenbraue hochziehen, wenn Sie "Keine!" sagen.
@CharlesE.Grant Guter Punkt. Aber wenn ich in diesen zukünftigen Interviews darüber sprechen könnte, wie ich einem bestehenden Team moderne Best Practices vorgestellt oder versucht habe, es vorzustellen, würde das gut aussehen, oder? Vielleicht verdient das eine eigene Frage.
@Maxpm, es ist ein Risiko-Ertrags-Abwägen. Wenn Sie einem Interviewer sagen können, dass Sie die Versionskontrolle und andere Standardpraktiken für die Softwareentwicklung erfolgreich in einem Unternehmen eingeführt haben, wäre das wirklich beeindruckend. Wenn Sie andererseits nur sagen können: "Nun, ich habe versucht, sie dazu zu bringen, die Versionskontrolle zu verwenden, aber sie waren stur und wollten nicht auf mich hören.", nun, das wird niemanden beeindrucken, und sie könnten es sogar werden skeptisch gegenüber dem Wert des Praktikums, da es anscheinend bei einer Organisation war, die weit von der aktuellen Praxis entfernt war.
@Maxpm Versuchen Sie, realistisch zu sein. Klügere Köpfe als Sie sagen Ihnen, dass Sie höchstwahrscheinlich daran scheitern werden, ihre Kultur zu ändern. Stellen Sie sich vor, was Sie in einem Bewerbungsgespräch sagen werden, in dem Sie darüber sprechen, wie Sie ein Praktikum absolviert haben, ohne moderne Softwareentwicklungspraktiken zu lernen. Denn das ist das wahrscheinlichste Szenario.
Wenn das Unternehmen so schlecht aufgestellt ist und Sie sich für ein Praktikum bewerben, würde ich mich nach einem anderen Unternehmen umsehen. Wenn ihre Praktiken bekannt sind, wird es in Ihrem Lebenslauf schlecht aussehen. Und seien wir ehrlich, wenn sie so vermasselt sind, werden Sie dort wahrscheinlich nicht viel lernen. Ein Praktikum ist keine Zeit, in der Sie versuchen, Dinge zu verbessern, sondern eine Zeit, in der Sie versuchen, Ihr eigenes Wissen zu verbessern.

Antworten (3)

Wie kann ich am besten einschätzen, wie schnell ein Team auf meine Versuche reagieren wird, seine Gewohnheiten zu ändern, bevor ich überhaupt eingestellt werde? Ist es angemessen, einfach nur zu fragen? Wenn ja, gibt es eine Möglichkeit, die Frage zu formulieren, um ehrlichere, realistischere und durchdachtere Antworten zu fördern?

Die kurze Antwort ist, dass es dafür keine halbwegs zuverlässige Methode gibt. Der beste Weg, dies zu beurteilen, ist die Erfahrung, die Sie nicht haben (und warum Sie diese Frage überhaupt stellen), aber das bedeutet nicht, dass Sie nichts tun können:

NICHT

Fragen Sie offen – Sie riskieren, sie in die Defensive zu drängen (mit der impliziten Kritik an ihren aktuellen Arbeitspraktiken) und arrogant zu wirken. Auch wenn sie es nicht so nehmen und alles richtig sagen, wie Sie sagen "Reden ist billig", das Richtige zu sagen, selbst wenn es von den besten Absichten unterstützt wird, bedeutet nicht, dass Taten folgen werden.

TUN

Fragen Sie sie, was ihrer Meinung nach ihre aktuellen Probleme in ihrem Entwicklungsprozess sind. Wenn sie etwas auflisten, das durch die Implementierung von Git oder einer der anderen Praktiken, die Sie einführen möchten, gelöst werden kann, können Sie dies als Vorschlag verwenden. Es ist keineswegs eine Gewissheit, dass sie dies durchziehen werden, aber es ist ungefähr so ​​​​ein guter Indikator, wie Sie bekommen werden.

Als allgemeine Faustregel gilt, dass es schlechte Geschäftspraktiken ist, Prozesse zu ändern, ohne eine ziemlich genaue Vorstellung davon zu haben, welche Art von Verbesserungen Sie daraus ziehen werden. Das Ändern von Prozessen führt fast immer zu einem kurzfristigen Produktivitätsabfall, selbst wenn die gesamte Implementierungsarbeit vollständig von Ihnen selbst durchgeführt wurde, wird es eine Phase der Anpassung für das etablierte Team geben, das es gewohnt ist, so zu arbeiten, wie es im Moment ist, das heißt Sie werden Zeit damit verbringen, sich an den neuen Prozess zu gewöhnen (Zeit, die sie sonst damit verbracht hätten, "produktiv" zu sein), und jeder neue Prozess wird wahrscheinlich kurzfristig zu einer Erhöhung der Fehlerquote führen, da Personen, die mit a Es ist wahrscheinlicher, dass der Prozess Fehler macht, und dann geht mehr Zeit verloren, während der Fehler korrigiert wird.

Eine weitere gute Faustregel im Geschäftsleben (und glauben Sie mir, ich versuche nicht, hart zu klingen, wenn ich das sage) ist, dass Sie im Allgemeinen keine wesentlichen Änderungen an Ihren Geschäftsprozessen vornehmen, nur auf Anraten von unerfahrenen Praktikanten, also würde ich das sagen Wenn Sie auch nur die geringste Hoffnung haben wollen, eine dieser Änderungen durchzubringen, brauchen Sie die Unterstützung von einem oder mehreren Mitgliedern des bestehenden Entwicklungsteams - und um ehrlich zu sein, es klingt nicht so, als hätten Sie sie. Hätte ein oder mehrere Mitglieder des bestehenden Teams auf Ihre Git-Frage mit etwas wie geantwortet

Gott ja ... die Implementierung von Git wäre großartig, es würde mein Leben so viel einfacher machen!

dann wäre das ermutigend gewesen, denn wenn der Manager sein Gehalt wert ist, bevor er einen Ihrer Vorschläge umsetzt, wird er sich mit seinem bestehenden Team beraten, um zu sehen, ob dieser Praktikant, den sie kaum kennen, eine Ahnung davon hat, wovon sie sprechen, oder weniger als Die enthusiastische Reaktion wird diese Idee wahrscheinlich genau dort zunichte machen.

Arbeiten Sie so, wie Sie arbeiten möchten, solange sich dies nicht negativ auf die Produktivität Ihres Teams auswirkt. Natürlich nur mit Erlaubnis des Teamleiters.

Wenn Sie es auf diese Weise tun, bedeutet dies, dass Sie dem Team keine aggressiven Arbeitspraktiken aufzwingen und es an ihnen liegt, sich anzusehen, was Sie tun, und alle guten Punkte, die sie sehen, einzubeziehen (oder sie nach eigenem Ermessen zu verwerfen).

Beachten Sie, dass gut geschriebener Code nicht unbedingt überall Kommentare benötigt (ich weiß nicht, wie dieser Code aussieht, daher könnte dies subjektiv sein). Erstellen Sie Ihre eigene Dokumentation und reichen Sie diese mit Ihrer Arbeit ein. Für einen Bug-Tracker würde ich zu Beginn einfach eine Tabelle verwenden und die Leute dazu ermutigen, sich diese anzusehen, um Ihren Fortschritt bei der Fehlersuche zu verfolgen. Die Leute können glauben und der Tabelle Fehler hinzufügen, wenn Sie sie anleiten (aber erzwingen Sie das Problem nicht).

Niemand mag es, wenn ein neuer Mitarbeiter aufdringlich ist, aber es ist gut zu sehen, dass bewährte Praktiken demonstriert werden, und sie sind einfacher zu übernehmen, wenn sie nachweislich Ihrer eigenen Produktivität helfen.

Das ist ein guter Rat, aber ich möchte nicht als einzige Person enden, die gute Praktiken befolgt. Meine Frage lautet, wie ich feststellen kann, ob dies der Fall sein wird, bevor ich das Angebot annehme.
Ich bin mir nicht sicher, ob Sie in der Lage wären, bessere Arbeitspraktiken als Bedingung dafür durchzusetzen, dass Sie dem Team beitreten. Das klingt nach dem, was Sie hier versuchen. Es könnte besser sein, beizutreten und dann von innen heraus zu arbeiten. Möglicherweise müssen Sie kurzfristig einige schlechte Praktiken aufsaugen, aber als Praktikant ist es gut, sowohl schlechte als auch gute Erfahrungen zu haben.
@Maxpm Ein Teil Ihrer Rolle als Praktikant besteht darin, zu erfahren, wie die reale Welt ist, was beinhaltet, zu lernen, wie man unter den nicht idealen Bedingungen der realen Welt gute Arbeit leistet. Das bedeutet nicht, dass Sie den Menschen, mit denen Sie arbeiten, keine Denkanstöße geben können, aber es ist nicht vernünftig zu erwarten, dass Sie dort hineinspazieren und Berge versetzen werden, es sei denn, sie haben Ihnen ausdrücklich gesagt, dass sie das tun. wieder erwarten . Wenn Sie der Meinung sind, dass die Stelle nicht die richtige für Sie ist, nehmen Sie sie nicht an.

Es ist 2018 und sie verwenden kein Quellcode-Kontrollsystem. Meine Erinnerung reicht vielleicht nicht weit genug zurück, aber ich habe 1996 die Quellcodeverwaltung (damals SCCS) verwendet. Sie sind 22 Jahre im Rückstand. Es tut mir leid, das sagen zu müssen, aber Sie haben nicht die geringste Chance, das zu ändern, was sie tun.

Ich habe SCCS für die Versionskontrolle in i984 verwendet und es wurde lange davor geschrieben. Sie sind mindestens 34 Jahre im Rückstand.
1984 erstellte ich einmal pro Woche eine Diskette mit dem Quellcode und behielt sie alle :-( Kisten voller Disketten. Man könnte es Quellcodeverwaltung nennen.