2017-11-17 02:28:49 +0000 2017-11-17 02:28:49 +0000
72
72

Einem inkompetenten Softwareprojekt-Freiwilligen höflich zu sagen, dass er zu unerfahren sei

Ich bin derzeit der Projektleiter eines Softwareprojekts, das von einem Online-Freiwilligen betrieben wird. Ursprünglich habe ich dieses Projekt ins Leben gerufen und arbeite in meiner Freizeit daran. Es gibt auch einige andere Personen, die sich für dieses Projekt interessierten und sich freiwillig gemeldet haben, um zu helfen. Ich habe noch nie mit anderen Entwicklern zusammengearbeitet. Gegenwärtig gibt es einen weiteren Entwickler, der freiwillig bei der Programmierung des Projekts hilft.

Bevor sie Entwickler waren, kannte ich sie online, da sie sich für das Projekt interessierten. Sie hatten nicht viel Erfahrung im Software-Engineering, aber sie kannten die Programmiersprache, die das Projekt benutzt, einigermaßen gut. Zu dieser Zeit suchte ich nach einem anderen Programmierer, der mir helfen sollte, die Entwicklung zu beschleunigen, und sagte ihnen, dass sie bei der Programmierung des Projekts helfen könnten. Ich hoffte, dass ich trotz ihrer mangelnden Erfahrung in der Lage sein würde, sie mit meiner Anleitung auf den neuesten Stand zu bringen.

Ich habe mich geirrt.

Das war vor zwei Monaten, und inzwischen ist mir klar geworden, dass es sehr lange dauern wird, bis ich sie zu einem voll kompetenten Entwickler ausbilden kann. Gegenwärtig sind ihre Fähigkeiten einfach nicht gut genug, um jetzt an dem Projekt zu arbeiten, und sie brauchen meine Hilfe bei fast jeder Aufgabe. Im Nachhinein betrachtet könnte dies meine Schuld gewesen sein, da ich mich bei der Berechnung der Zeit, die ich für die Ausbildung eines neuen Entwicklers benötigte, verrechnet habe. Ich hoffe, das klingt nicht unsympathisch, aber aus rein geschäftlicher Sicht ist die große Zeit, die ich als Mentorin für sie aufgewendet habe, einfach nicht die Zeit wert, die ich sonst für das Projekt selbst aufwenden könnte.

Ich habe in Erwägung gezogen, dass es sich bei der Mentorin um eine Investition handelt und dass sie schließlich die Fähigkeiten haben werden, effizienter zum Projekt beizutragen. Aber so, wie es jetzt aussieht, mache ich dieses Projekt aus Spaß, nach vielen Verpflichtungen, so dass ich wirklich nicht die Energie habe, jeden Abend jemanden zu unterrichten, wenn ich nach Hause komme. Außerdem habe ich vor, dieses Projekt in den nächsten drei Monaten abzubrechen und/oder zu beenden, so dass es für mich wertlos ist, in etwas zu investieren, das ich sowieso bald aufgeben werde.

Insgesamt wäre es sowohl für mich als auch für das Projekt äußerst vorteilhaft, sie entweder aus dem Entwicklerjob zu entfernen oder ihnen eine andere Rolle zuzuweisen. Dies ist jedoch aus drei Gründen unangenehm:

  1. Sie arbeiten als Freiwillige an diesem Projekt mit. Tatsächlich haben sie Enthusiasmus für ihre Hilfe gezeigt, und ich habe das Gefühl, dass sie sehr glücklich darüber sind, Entwickler zu sein. Es ist nicht dasselbe wie die Entlassung eines bezahlten Arbeiters, denn sie opfern ihre Entspannung und Freizeit für dieses Projekt. Es wäre sehr respektlos, sie einfach zu “feuern”.

  2. Sie sind bereits seit etwa zwei Monaten als Entwickler tätig. Wenn ich sie aus Unerfahrenheit ablehnen würde, hätte ich das (normalerweise) sofort getan. Wie ich bereits erwähnt habe, war mir nicht bewusst, dass ihre Unerfahrenheit das Projekt so stark beeinträchtigen würde.

  3. Ich kannte diese Person bereits früher online, und sie ist eine Freundin und war auch eine begeisterte Unterstützerin dieses Projekts. Ich möchte keine Brücken abbrechen.

Vielen Dank im Voraus für jeden Rat. Ich würde im Moment lieber alleine arbeiten, ohne diesen anderen Entwickler.


Anmerkung: Ich glaube nicht, dass dies auf The Workplace zutreffen würde, denn sie sind Freiwillige, und ich bin eher informell mit den Entwicklern - ich habe sogar erwähnt, dass ich mit ihnen befreundet bin.

In ähnlicher Weise habe ich mir diese Frage über die Entlassung von jemandem aufgrund von Fähigkeiten angesehen, aber das ist für ein professionelles Umfeld. Wie ich in “Awardness Reason #1” erwähnt habe, sind sie Freiwillige und verdienen etwas Respekt dafür, dass sie ihre wertvolle Freizeit für dieses Projekt opfern.

Antworten (6)

106
106
106
2017-11-17 07:19:54 +0000

Sie können diesem Thema völlig ausweichen.

Sie müssen dabei nicht einmal hinterlistig sein.

Sagen Sie ihnen einfach, dass der Teil des Projekts, bei dem sie realistischerweise helfen können, jetzt abgeschlossen ist (da es so ist, ist das die ganze Wahrheit) und dass Sie sie wieder kontaktieren werden, wenn sich etwas anderes ergibt, bei dem sie helfen können. Das hat entscheidende Vorteile:

  • Sie brennen keine Brücken ab.
  • Es kann den Nachwuchsentwickler dazu veranlassen, mehr zu lernen, um Fähigkeiten zu erwerben, die für das Projekt relevanter sind.
  • Sie feuern sie nicht und unterstellen ihnen auch nicht, dass sie überhaupt inkompetent sind.
  • Das ist normal für gemeinschaftliche Freizeitprojekte. Irgendwann endet das, was jemand ohne bestimmte Fähigkeiten tun kann.

  • Mit dieser Strategie vermeiden Sie das Problem, sie überhaupt “feuern” zu müssen.

Alternativ können Sie sie Aufgaben zuweisen, die erledigt werden müssen, für die aber kein Entwickler benötigt wird, oder Aufgaben, die zweitrangig sind (nice to have). Gewöhnlich gehören dazu:

  • Schreiben von Dokumenten
  • Codeüberprüfung
  • Umfassende Q/A-Tests

Halten Sie Ausschau nach Aufgaben, die Sie nichts kosten, wenn sie schlecht erledigt werden, die aber viel helfen, wenn sie mit Begeisterung erledigt werden.

20
20
20
2017-11-17 10:15:52 +0000

Ich bin mir nicht sicher, ob Sie sie ganz aus dem Projekt entlassen müssen, Sie könnten sie auch in eine Position versetzen, in der sie andere Menschen (einschließlich Ihnen) nicht blockieren.

Zunächst klingt es so, als sei das Hauptproblem für Sie das Coaching - also reduzieren Sie das Coaching. Sie könnten so etwas sagen wie:

Hey Bob, zur Zeit ist in meinem Leben viel los und ich finde einfach keine Zeit mehr für unsere Trainingseinheiten [oder wie immer Sie sie nennen], tut mir leid.

Dann schieben Sie sie “aus dem Weg”, indem Sie ihnen ein oder zwei einfache Aufgaben mit nicht dringender Priorität zuweisen. Wenn sie lernen und die Aufgabe selbstständig erledigen können: großartig, geben Sie ihnen etwas Anspruchsvolleres und wiederholen Sie sie, bis Sie ihr Kompetenzniveau gefunden haben. Wenn nicht, kommen Sie zu ihnen zurück, wenn die Aufgabe in der Priorität nach oben gerückt ist (wenn sie bald benötigt wird). Wenn Sie es diplomatisch angehen wollen, könnten Sie dann sagen:

Hey Bob, wir brauchen die Dokumentation / Übersetzungen / ausgeführte Tests / Foobar bald. Könnten Sie sich darum kümmern, und ich übernehme in der Zwischenzeit den Defroboter?

Es hilft wirklich, wenn Sie sich selbst davon überzeugen können, dass Dokumentation und Tests wichtige Aufgaben sind - weil sie sind. Viele Entwickler wollen keine Dokumentation schreiben, und das besiegelt das Schicksal manch eines kleinen Open-Source-Software-Projekts: Ihre Software löst irgendein Problem, aber die meisten Leute können nicht herausfinden, wie man sie benutzt, also benutzt sie niemand.

Schließlich: Sie erwähnen “Ich habe noch nie mit anderen Entwicklern zusammengearbeitet”, und mir ist nicht ganz klar, wie Sie die Arbeit in Ihrem Projekt organisieren. Die Organisation der Software-Entwicklung ist ein sehr wertvolles Kompetenzset, also sollten Sie diese Gelegenheit nutzen, um zu lernen und sich weiterzuentwickeln. Lernen Sie, die Arbeit in Aufgaben und Unteraufgaben zu zerlegen, Abhängigkeiten herauszufinden, die benötigte Zeit abzuschätzen, Prioritäten zu setzen, was wichtig ist und was warten kann, abzuschätzen, wer was tun kann. Lernen Sie, wie Sie am besten mit Ihren Entwicklungskollegen kommunizieren und wie Sie neu planen, wenn die Dinge nicht so laufen, wie Sie es erwartet haben. Benutzen Sie die Werkzeuge zur Zusammenarbeit (Issue Tracker, Versionierungssystem usw.)

Vielleicht würden Ihnen die in der Geschäftswelt derzeit en vogue eingesetzten Methoden (Scrum, Kanban usw.) einige nützliche Richtlinien geben.

7
7
7
2017-11-17 16:37:39 +0000

Zunächst stimme ich dem Teil zu, in dem es darum geht, dem Freiwilligen für seine bisherige Zeit/seine bisherigen Bemühungen zu danken und zu sagen, dass der Teil der primären Entwicklung, für den Sie ihn brauchten, abgeschlossen ist.

Darf ich Ihnen beiden zuliebe empfehlen, in eine weitere Mentorensitzung zu investieren. Das Thema: Zeige seinem schlechten Selbst, wie man Unit-Tests schreibt. Dann sagen Sie ihm, dass er, wenn er mehr technologische Hilfe (im Gegensatz zu anderen Arten) leisten möchte, damit beginnen sollte, den Stall von DeepL zu erweitern. Die Vorteile:

  • Sie bekommen Unit-Tests!

  • Der Freiwillige wird in die wichtige Natur von Unit-Tests eingeführt!

  • Wenn der Freiwillige langsam ist oder stecken bleibt, beeinträchtigt das nicht die Entwicklung des Mainline-Systems

Dann können Sie, wie in anderen Antworten beschrieben, von mehr Training absehen, da Sie jede Lücke in Ihrem Zeitplan verloren haben.

3
3
3
2017-11-17 06:29:58 +0000

Da es sich um Freiwillige handelt, halte ich es nicht für notwendig, sie überhaupt zu “entlassen”, da eine solche Formulierung recht unhöflich wirken würde. Stattdessen wäre es vielleicht angebrachter zu sagen, dass die Freiwilligenarbeit, für die Sie sie brauchen, vorerst beendet ist. Danken Sie ihnen auch freundlich für die bereits geleistete Arbeit, kommentieren Sie ihren Erfolg und ihr persönliches Wachstum, geben Sie ihnen einfach keine neuen Aufgaben.

Das funktioniert vor allem für Freiwillige, da sie nie technisch beschäftigt waren, sondern nur dort halfen, wo sie gebraucht wurden, und wenn Sie es so formulieren können, dass sie ihre Aufgabe erfolgreich erledigt haben, dann sollte die Tatsache, dass sie keine Aufgaben mehr erhalten, mit positiven Gefühlen statt mit negativen beantwortet werden.

Vielen Dank {Name}, {X} ein Teil des Projekts läuft und funktioniert gut! Sie haben alles getan, was ich brauchte, aber wenn es Ihnen recht ist, könnte ich Sie bitten, in Zukunft noch etwas mehr zu arbeiten…

Zu fragen, ob es in Ordnung ist für etwas, das ihnen gefällt, ist ziemlich praktisch, da es die von Ihnen erwähnte metaphorische Brücke aufrecht erhält, es bringt sie dazu, Ihnen zuzustimmen, es bietet ihnen Optionen, die, egal welche sie wählen, Sie erreichen Ihr Ziel, sie von der Arbeit am laufenden Projekt abzuhalten, und es ist höflich.

Leider wird dies nicht in allen Fällen funktionieren, und ich kenne die Einzelheiten Ihres Projekts/die Art und Weise, wie er beauftragt wurde, nicht. Wenn Sie sich entscheiden müssen, ob Sie ein bisschen stumpfer sind oder lügen, dann würde es auf lange Sicht wahrscheinlich helfen (was nicht heißen soll, dass Sie sich auf das Schlechte konzentrieren sollten!).

Sie haben uns sehr geholfen und vieles verbessert, aber ich denke, dass es besser wäre, wenn {sonstige} und ich die verbleibenden Aufgaben erledigen würden.

und

Wenn sich in Zukunft etwas ergibt, das besser zu Ihren Fähigkeiten passt, werde ich es Ihnen sicher zuschicken.

Könnte in einigen Fällen passender sein.

2
2
2
2017-11-18 02:31:41 +0000

Meine Lesart dieser Situation ist… sagen wir, ein bisschen zynisch. Da draußen gibt es ständig den Rat für neue Entwickler, ihre Namen auf Pull-Anfragen zu bekommen, um ihre GitHub-Glaubwürdigkeit für potentielle Arbeitgeber zu erhöhen. Wenn man sich auf anderen Seiten umsieht, gibt es ständig den Rat für neue Entwickler, sich einem Open-Source-Projekt anzuschließen, um Erfahrungen zu sammeln. Diese Erfahrung geht auf Kosten der Zeit, die für die Betreuung der älteren Entwickler bei diesen Projekten aufgewendet wird.

Obwohl ja, die jüngeren Entwickler geben ihre Freizeit auf - ich sehe das nicht so. Es handelt sich um einen Junior-Entwickler, der kostenloses Mentoring erhält und den Aufbau auf Kosten eines von Ihnen geleiteten Freiwilligenprojekts wieder aufnimmt. (Meiner Meinung nach) sind die Kosten für das Mentoring eines Freiwilligenprojekts selten die Zeit wert, es sei denn, die Person engagiert sich für das Projekt und hat ein echtes Interesse daran, das über die Glaubwürdigkeit des GitHub hinausgeht.

Es gibt zwei Wege, die in Betracht gezogen werden müssen.

Mentor des Junior Dev. Sie werden weiterhin jede Verpflichtung betreuen und sicherstellen, dass das eingereichte Material Ihren Standards für das Projekt entspricht. Ihre Hauptaufgabe dabei ist die eines Mentors, der sicherstellt, dass sowohl Ihr Projekt als auch die Verpflichtungen des Nachwuchsentwicklers für das Projekt Ihren Erwartungen entsprechen.

Sie sind kein Mentor für den Nachwuchsentwickler. Ihre ehrenamtliche Mitarbeit an Ihrem Projekt ist genauso wertvoll, wenn nicht sogar wertvoller, als seine Zeit. Es gibt wahrscheinlich viele, die ihr Geschäft in Vorbereitung darauf schließen, um zu sagen: “Es ist erledigt” und sich einem anderen Projekt zuzuwenden. Oft handelt es sich dabei um langwierige und langweilige Aufgaben, die aber noch erledigt werden müssen. Dinge wie:

  • Dokumentation - lassen Sie eine andere Person den gesamten geschriebenen Text durchlesen und stellen Sie sicher, dass er die richtige Rechtschreibung, Zeichensetzung, Grammatik, Formatierung usw. hat.
  • Stilbereinigung - schnappen Sie sich Ihren Lieblings-Linter und lassen Sie den Code entsprechend dem von Ihnen gewünschten Stil durchlaufen. Protokollieren Sie alle Stilbereinigungselemente als Ausgabe pro zu bereinigender Datei.
  • Testschreiben - Arbeiten Sie an der Verbesserung der Codeabdeckung. Es müssen immer Tests geschrieben werden.

Machen Sie sich klar und denken Sie daran, dass, wenn es eine Aufgabe gibt, für die Sie 4 Stunden brauchen, um sie selbst zu erledigen, oder 3 Stunden Ihrer Zeit und 8 Stunden der Zeit des Junior-Entwicklers, es nicht viel Sinn macht, den Junior-Entwickler diese Aufgabe erledigen zu lassen, es sei denn, Sie berücksichtigen den Wert der Erfahrung des Junior-Entwicklers.

Schauen Sie sich an, was jede Person (Sie und der Junior-Entwickler) aus der Vereinbarung herausbekommt. Sie sind beide Freiwillige. Wenn es für einen Freiwilligen nichts zu tun gibt, ist das in Ordnung.

0
0
0
2017-11-19 03:55:09 +0000

Sagen Sie ihnen die Wahrheit, aber halten Sie sich an die Fakten.

Seien Sie direkt und ehrlich und legen Sie die Fakten so dar, wie Sie sie hier dargestellt haben:

  • Im Nachhinein sehen Sie jetzt, dass der Umfang der Hilfe, die sie benötigen, sehr zeitaufwendig ist. Es hat begonnen, Ihre eigene Fähigkeit, an dem Projekt zu arbeiten, zu behindern.
  • Sie brechen das Projekt ab. Sie nähern sich einem Punkt, an dem Sie nicht mehr an dem Projekt arbeiten werden. Teilen Sie ihnen die Gründe dafür mit. (Z.B, vielleicht wird es durch ein neues Projekt mit besserer Unterstützung/Finanzierung abgelöst, oder es bleibt einfach nicht mehr viel Arbeit übrig)
  • Danken Sie ihnen für all die Mühe, die sie in dieses Projekt gesteckt haben, und sagen Sie ihnen, dass Sie hoffen, dass die Erfahrung für die Entwicklung ihrer Fähigkeiten hilfreich war.
  • Bieten Sie ihnen möglicherweise an, ihnen bei der Suche nach einem anderen Projekt zu helfen, in dem sie die Entwicklungsarbeit fortsetzen können, vielleicht ein Projekt, das ihrem derzeitigen Stand der Fähigkeiten entspricht. Wenn es durchführbar ist, könnten Sie absichtlich einen Ansatz in Erwägung ziehen, bei dem Sie mehr die Hände von der Arbeit lassen und dann einfach ihre Arbeit überprüfen, wenn sie fertig ist (z.B. als Pull-Anfrage). Es liegt an Ihnen, ob dies durchführbar ist. Wenn Sie eine kleine Änderung finden, die sie umsetzen können, könnten Sie dies in Betracht ziehen. Wenn Sie es versuchen und es nicht gut läuft, können Sie ihnen konkret zeigen, was mit ihrer Arbeit nicht in Ordnung ist, und Sie müssen vielleicht auf diese Diskussion zurückkommen, dass Sie keine Zeit haben und das Projekt ausläuft.

Dinge nicht zu sagen:

  • Sie feuern sie.
  • Ihnen macht das Projekt wegen ihnen keinen Spaß mehr.
  • Sie sind inkompetent oder etwas anderes über ihre angeborenen Fähigkeiten.

Manchmal ist es besser, nicht alles zu sagen, was Sie denken und fühlen. Nicht, weil Sie unehrlich sind, sondern weil Sie wissen, dass Ihre Gefühle und Gedanken nicht ganz objektiv sind. Unser Urteilsvermögen wird manchmal durch unsere unerfüllten Wünsche getrübt, deshalb halten wir manchmal den Mund über Gedanken und Gefühle, von denen wir wissen, dass sie nicht wirklich gültig sind.

Ja, es besteht ein gewisses inhärentes Risiko, dass Sie ihre Gefühle verletzen könnten. Jeder Ansatz birgt hier Risiken. Wenn man nichts tut, riskiert man, frustriert zu werden und es auf eine nicht konstruktive Weise loszulassen, und wenn man lügt oder die Wahrheit fälscht, riskiert man, dass die andere Person herausfindet, was wirklich passiert ist. Ehrlich zu sein hat den Vorzug, dass man darauf vertraut, dass die andere Person die Situation selbst einschätzt und die Dinge so sieht wie man selbst. Die Person kann sehen, dass Sie nicht ungerecht sind und dass Sie versuchen, die Situation objektiv anzugehen. Wenn sie Ihren Standpunkt nicht versteht, ist es in Ordnung, mit ihnen darüber zu sprechen und es ihnen zu erklären; das ist nicht wirklich möglich, wenn Sie nicht geradeheraus sind.

Wenn Sie spüren, dass die andere Person anfängt, daran zu zweifeln, dass Ihre Freundschaft fortbestehen wird, machen Sie deutlich, dass Sie sie fortsetzen wollen. Wie das zu tun ist, liegt außerhalb des Rahmens dieser Frage, da es von den Besonderheiten der Antwort der anderen Person abhängt.

Verwandte Fragen

11
3
24
7
9