Softwareentwicklung - Projekt, 1 Programmierer - Was passiert, wenn er von einem Bus angefahren wird?

19

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?

Ominus
quelle
3
Sie bekommen eine Versicherung. Ich bin mir sicher, dass Sie für sie 1.000.000.000 Tote wert sind.
Martin York
1
Witzigerweise solltest du das erwähnen. Sie schließen auch eine Versicherung für mich ab.
Ominus
11
@Ominus Übrigens haben sie auch mit dem Busfahren angefangen: D
wildpeaks
2
Warum sollte es dich interessieren? Was ist für dich drin? Geben Sie ihnen einfach eine gut aussehende Dokumentation. Es gibt keinen wirklichen Ersatz für Sie, wenn Sie keinen anderen Programmierer einstellen.
Job
2
Ich werde sehr gut bezahlt, es ist also keine Frage der Notwendigkeit, mehr Geld aus ihnen herauszuholen, und die andere Seite dieses Gesprächs beinhaltete einen Arbeitsvertrag, der mir einige Schutzmechanismen bietet, sodass ich mir keine Sorgen mache, ersetzt zu werden. Zumindest nicht mit ihrem Wunsch, ihre Investition zu schützen. --- Update, wir werden einen zweiten Programmierer einstellen. Ich habe sogar den Link zu dieser Frage benutzt, um ihnen zu zeigen, was die Leute vor Ort darüber dachten, wie sie mit ihren Anliegen umgehen sollen. Dies ist eine erstaunliche Seite.
Ominus

Antworten:

21

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.

Yam Marcovic
quelle
+1, damit eine andere Person die Dokumente lesen kann. Die beste Art, Dokumentation zu schreiben, ist häufig die Beantwortung der Fragen eines Benutzers oder eines Kollegen, und nicht die eigene.
Fred Foo
12

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 :)

Keine Chance
quelle
Wie lustig, unsere Antworten (ungefähr zur gleichen Zeit veröffentlicht) sind teilweise identisch, auch humoristisch. :)
Yam Marcovic
einen Teilzeit-Entwickler / Praktikanten zu finden, ist ein ziemlich billiger Weg, einen Ersatzmann zu finden, definitiv besser als zu versuchen, einen Auftragnehmer so einzurichten, dass er keine unnütze Geldverschwendung wäre.
Ryathal
@ YamMarcovic, Sie sind richtig! Was sind die Chancen, Mann!
NoChance
5

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 .

Kate Gregory
quelle
Interessanter Begriff "von der Lotterie getroffen" :)
NoChance
kluger Geschäftsplan (naja, Service, ich weiß nicht, was Sie sonst noch tun), von dem ich noch nie gehört hatte.
bA
@psr ist keineswegs mein ganzer Geschäftsplan (besonders in Anbetracht meines Standorts), sondern ein Service, den ich anbiete, der Kunden hilft. Sie müssen in der Lage sein, auf den Beinen zu denken, viele Technologien zu kennen, schnell zu lernen und gut zu unterrichten. Ich genieße es!
Kate Gregory
Ich bin froh, dass der Begriff "von der Lotterie getroffen" auftauchte - eine Menge Geld (Lotterie, Stellenangebot usw.) ist weitaus häufiger als die meisten Unternehmen und genauso effektiv wie der "große rote Bus".
Mattnz
1

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")

ZJR
quelle
1

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.

Lord Tydus
quelle
Eine zynische Antwort? Das Unternehmen will Kontinuität sicherstellen, nicht Kosten senken. Wenn es teure Arbeit ersetzen wollte, um Geld zu sparen, würde es keinen externen Berater beschäftigen.
Mattnz
+1, direkt an. Wenn Geld kein Problem war, dann haben sie keinen Grund, keinen zusätzlichen Entwickler einzustellen.
GrandmasterB
@mattnz. Unternehmen wollen keine Kosten senken? Wo waren Sie in den letzten 60 Jahren mit der Verlagerung auf ausgelagerte Arbeitskräfte beschäftigt? In den Worten des OP wollen sie eine externe Firma einstellen, um "zu übernehmen". Eine externe Wissensdatenbank stellt keine Kontinuität sicher, bietet jedoch mehr Hände zum gleichen Preis wie ein Mitarbeiter mit angepasster Einkommenssteuer.
Lord Tydus
1

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.

GroßmeisterB
quelle
0

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.

hotpaw2
quelle
0

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?

JeffO
quelle
0

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/ .

mhoran_psprep
quelle
0

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.

Albireo
quelle
0

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.

Rolyh
quelle