Das Unternehmen, für das ich zurzeit arbeite, hat eine Reihe unternehmenskritischer interner Software entwickelt. Ich habe eine andere Person, die für mich arbeitet, aber er ist eher ein Test-Typ und kein wirklicher Entwickler. Das Unternehmen ist besorgt über einige dieser Projekte und was passiert, wenn ich von einem Bus angefahren werde. Wie kann das Unternehmen nach so etwas wieder aufholen, wenn es nur eine Person gibt, die die Codebasis kennt? Eine Person, die den aktuellen Status des Projekts kennt.
Ich erklärte mit meiner Dokumentation und mit der Dokumentation im Code, dass sie wirklich nur einen anderen Programmierer beauftragen müssten, der die verwendeten Sprachen versteht und ziemlich schnell auf dem neuesten Stand sein könnte.
Sie schlugen eine externe Firma vor, die monatlich "auf dem neuesten Stand" gehalten werden könnte und die "übernehmen" könnte, falls etwas passieren sollte. Ich verstehe nur nicht, wie das hilfreich sein kann, wenn man nicht jemanden bezahlt, um ihn zu bezahlen. Schlimmer noch, ich stelle mir einen Tag im Monat vor, an dem ich mit dieser Beratungsfirma über das Projekt diskutieren würde. Ich sehe, wie das hilfreich sein könnte. Ich sehe es einfach nicht als hilfreicher an, als einen Programmierer nach meinem vorzeitigen Tod einzustellen.
Gedanken? Ähnliche Situation und wie wird derzeit bei Ihnen gearbeitet?
Antworten:
Leider tun sie nur, "alle ihre Eier in einen Korb zu legen".
Die Zusammenarbeit mit einem externen Unternehmen bringt ihnen mit hoher Wahrscheinlichkeit Einnahmen, aber ich bezweifle ernsthaft, dass es das Geld wert sein wird. Die Dokumentation sieht beim Schreiben immer gut und klar aus. Das Problem ist, dass Sie nur wissen, wie viel es wert ist, wenn jemand anderes versucht, es zu lesen - jemand, der kaum etwas (technisches) über das (Innere des) Projekts weiß.
Wie auch immer, das Lesen einer vollständigen Codebasis, von der Sie nichts wissen, ist möglich, es kann nur eine ganze Menge Zeit in Anspruch nehmen (viel mehr, als sich die meisten Unternehmen leisten können).
Ihre beste ehrliche Wette ist, jemanden einzustellen, der für einen bestimmten Zeitraum mit Ihnen zusammenarbeitet (streng genommen nicht unter Ihrer Anleitung), und zu testen, wie lange es dauert, bis er einen Punkt erreicht, an dem er wichtige Teile von verstehen und ändern kann das Projekt.
Wenn es länger dauert, als sie es sich leisten könnten, wenn Sie gehen, sollten sie ernsthaft darüber nachdenken, einen oder mehrere feste Programmierer (Voll- oder Teilzeit) einzustellen, und sie sollten niemals denselben Bus nehmen. :)
So oder so, gute Programmierer, die plötzlich gehen, machen die Sache immer schlimmer als sie waren.
quelle
Ich hoffe du wirst nicht von einem Bus angefahren! Sie haben recht, ich sehe keinen Wert darin. Erstens berechnet die andere Firma einen Betrag, der näher an einem Vollzeitentwickler liegt, und sie wird Dinge kritisieren und Sie verlangsamen. Möglicherweise verlangen sie von Ihnen zu viele Ergebnisse und Erklärungen. Es gibt auch keine wirkliche Garantie, dass sie abholen können, da Sie sie nicht testen können, bevor sie die Kontrolle übernehmen müssen.
Ich schlage vor, dass das Unternehmen stattdessen in einen anderen Entwickler investiert. Dieser Entwickler muss nicht über Ihre Fachkenntnisse verfügen, aber die mit ihm verbrachte Zeit wäre eine Investition in das Projekt. Sie erhalten mehrere Möglichkeiten, um sein Verständnis zu testen, da er mit Ihnen zusammenarbeiten wird.
Achte darauf, dass du nicht dasselbe Auto fährst, wenn du zum Mittagessen gehst :)
quelle
Eine Lösung, die tatsächlich einen Wert hätte, ist die Einstellung eines Mentors. Dies ist eine Dienstleistung, die ich für Softwarefirmen erbringe, die für mich vor Ort sind. Ich besuche für einen halben Tag pro Woche oder einen Tag pro Woche. Jeder Besuch ist von unmittelbarem Wert, zum Beispiel, um sicherzustellen, dass die Entwickler Best Practices anwenden, ihnen neue Dinge beibringen, die sie lernen müssen, und ihnen die Möglichkeit geben, neuen Dingen ausgesetzt zu werden, da sie normalerweise mit dem Programmieren beschäftigt sind und nicht zu den Starts und dem Programmieren gehen Lösen Sie ihre unmittelbaren Fehler und Straßensperren, erklären Sie Dinge, die sie nicht wissen, wie man sie macht, und so weiter. Manchmal erledige ich Codierungsaufgaben, insbesondere für einmalige Aufgaben, bei denen die Mitarbeiter viel lernen mussten, um die Aufgabe zu erledigen, und die dann nie wieder erledigt werden mussten. Ich kann auch Projekte verwalten, z. B. ein Disaster Recovery-Plan erstellt werden. Hierfür sind Antworten von Entwicklern und dem Management erforderlich.
Ein solches Arrangement ist wahrscheinlich billiger als von Ihrem Chef vorgeschlagen und von Nutzen für Sie. Es hat einen Nebeneffekt, dass der Mentor Ihr System lernt und wahrscheinlich in der Lage ist, Ihren Ersatz zu trainieren, wenn Sie von einer Lotterie getroffen werden .
quelle
ISO 9001 in diesem Geschäft dreht sich alles darum , von einem Busszenario getroffen zu werden . Können sich Ihre Unternehmen für diese Zertifizierung qualifizieren, wenn sie Dienstleistungen von diesem Unternehmen erhalten? Dies kann eine interessante Frage sein.
Oder um sie dazu zu bringen, in Kreisen nach Antworten zu suchen. (das klingt wahrscheinlich sehr ähnlich wie "nein")
quelle
Ich stimme dem OP zu. Es ist besser, einen anderen Entwickler einzustellen. Befindet sich die Wissensdatenbank in einem anderen Unternehmen, auf das sie keinen Einfluss haben, ist die Situation ebenso riskant.
Für mich klingt es so, als wollten sie Sie durch Offshore-Arbeit ersetzen, bei der die Menschen mit 10 US-Dollar pro Monat überleben können.
quelle
Sie benötigen einen zusätzlichen Entwickler. Es ist wirklich so einfach. Sie sollten beide an der gesamten Codebasis arbeiten. Oder zumindest mit der Arbeit des anderen vertraut genug sein, um im Notfall Probleme zu beheben. Bei knappen Budgets könnte man theoretisch sogar eine Zeitschaltuhr einstellen - das würde wahrscheinlich ausreichen. Jemand, der jede Woche einige Stunden Zeit aufwenden konnte, um den Code durch Wartung und Korrekturen zu lernen. Das würde sie genug vertraut machen.
Ein externes Unternehmen einstellen? Ich bin mit dir da - sie könnten das Geld genauso gut die Toilette runter spülen. Dass sie darüber nachdenken, ein externes Unternehmen zu beauftragen, um Ihr System kennenzulernen, zeigt mir, dass sie sich entweder nicht wirklich mit dem Busszenario befassen (da die Lösung, wie bereits erwähnt, offensichtlich ist) und nur einen Grund brauchen, die Parole „getroffen von a“ zu werfen Bus 'herum, während sie mit ihren Kollegen Golf spielen, oder ... dass sie versuchen, Ihren Job auszulagern. Wenn ein externes Unternehmen Ihre gesamte Codebasis zu einem günstigeren Preis als ein Mitarbeiter erlernen kann, werden sich die spitzen Haare schließlich fragen, warum sie Sie brauchen.
quelle
Es ist üblicher als Sie denken, dass Unternehmen einen Plan haben, wenn ein kritischer Mitarbeiter von einem Bus angefahren wird.
In der Regel wird das Haupttalent jedoch mit einer internen Person (die nicht auf denselben Flügen reisen darf ... oder mit Bussen) zusammengeführt, um zu verhindern, dass Wettbewerbsvorteile und Ideen von außen an die Konkurrenz gelangen.
quelle
Erstens sollte die Person, die Ihren Code testet, nicht unter Ihnen arbeiten. Es ist ein Interessenkonflikt.
In Ihrer Abwesenheit müssen sie das Risiko eines Rückfalls in folgenden Bereichen bewerten: Debuggen und Hinzufügen neuer Funktionen. Sie können jemanden dazu bringen, schnell ein Debugger zu werden, es sei denn, Sie haben fehlerhaften Code geschrieben. Normalerweise kann das Hinzufügen neuer Funktionen warten, bis Sie einen neuen Programmierer bereit haben. Nicht immer dann, wenn es Versprechungen für bestehende Kunden gibt oder in einem Markt, in dem Sie versuchen, mit der Konkurrenz mitzuhalten.
Ich habe in einer Firma gearbeitet, in der ich der einzige Entwickler war. Sie haben mich nicht durch einen anderen Programmierer ersetzt, sondern die Anweisungen drastisch geändert und sich für eine Drittanbieteranwendung entschieden. Fremde Geschäftsentscheidungen wurden getroffen. Dies verhindert, dass sie sich drastisch von der Konkurrenz abheben und eine enorme Hebelwirkung haben, um ihr Geschäft auszubauen. Vielleicht war das nicht mehr ihr Ziel?
quelle
Tatsächlich gibt es einen Begriff, der als Projektbusnummer bezeichnet wird. Wenn die Busnummer eins ist, haben Sie ein großes Problem. Die FEMA in den USA bittet Unternehmen, besser auf Katastrophen vorbereitet zu sein.
Es ist nicht nur der Verlust eines Schlüsselentwicklers. Es ist die Auswirkung einer Naturkatastrophe oder das Fehlen von Off-Site-Backups. Auf dieser Website werden viele Fragen gestellt, ob sie als Einzelentwickler die Quellcodeverwaltung verwenden müssen. Die Fähigkeit eines neuen Entwicklers, die neueste Version der Software abzurufen und festzustellen, welche Teile neu sind, hilft ihm dabei.
Weitere Informationen zu PS-Prep finden Sie unter http://www.fema.gov/privatesector/preparedness und http://readyrating.org/ .
quelle
Ich kenne deinen Schmerz. Das Unternehmen, für das ich arbeite, hat mehr als 20 Entwickler und jeder hat sein Wissen.
Die überlappenden Teile sind wirklich ... Teile. Wenn also jemand vermisst wird (Urlaub, Krankheit usw.) und etwas mit den von ihm verwalteten Werkzeugen passiert, sind Sie fertig.
Das Problem ist, dass sie die Situation kennen und sich nicht allzu sehr darum kümmern. Vielleicht haben sie ihr Gesicht noch nicht tot getroffen.
quelle
Ich mag das Zitat, das so etwas wie "Die Friedhöfe sind voll von Menschen, die vorher als unverzichtbar galten". Das heißt, Ihr Unternehmen hat die Pflicht, Risiken zu minimieren, derzeit werden Sie als eines wahrgenommen. Ich war gelegentlich dort, es ist das Beste, nicht nur nicht zu widerstehen, sondern die Extrameile zu gehen. Bilden Sie nicht einfach ein externes Unternehmen aus, sondern empfehlen Sie das beste Unternehmen der Stadt, dh das, dem Sie am meisten vertrauen. Wenn Sie einen Job besser als jeder andere machen, sind Sie per Definition unersetzlich.
quelle