Rozwój oprogramowania - Projekt, 1 programista - Co jeśli trafi autobus?

19

Firma, w której obecnie pracuję, opracowała kilka wewnętrznych programów o kluczowym znaczeniu. Mam jeszcze jedną osobę, która pracuje dla mnie, ale jest raczej facetem testującym, a nie programistą. Firma jest zaniepokojona niektórymi z tych projektów i tym, co się stanie, jeśli autobus mnie uderzy. W jaki sposób firma zwraca uwagę na coś takiego, gdy tylko jedna osoba zna bazę kodu. Jedna osoba, która zna aktualny status projektu.

Wyjaśniłem to z moją dokumentacją oraz z dokumentacją zawartą w kodzie, że tak naprawdę potrzebowaliby tylko zatrudnić innego programistę, który rozumie używane języki i że mogą być bardzo szybcy.

Zasugerowali zewnętrzną firmę, która może być „aktualizowana” co miesiąc, która mogłaby „przejąć” w przypadku, gdyby coś się wydarzyło. Po prostu nie rozumiem, w jaki sposób może to być pomocne poza płaceniem komuś w celu zapłacenia mu. Co gorsza, wyobrażam sobie, że tracę dzień w miesiącu na omawianie projektu z tą firmą konsultingową. Widzę, jak to może być pomocne, po prostu nie widzę w tym więcej pomocy niż zatrudnienie programisty po mojej przedwczesnej śmierci.

Myśli? Podobna sytuacja i jak jest obecnie obsługiwana w miejscu pracy?

Ominus
źródło
3
Dostają ubezpieczenie. Jestem pewien, że jesteś dla nich wart 1 000 000 000 ofiar.
Martin York,
1
Zabawne, że o tym wspominasz. Wykupują też na mnie polisę ubezpieczeniową.
Ominus
11
@Ominus Nawiasem mówiąc, zaczęli też lekcje jazdy autobusem: D
wildpeaks,
2
Dlaczego powinno Cię to obchodzić? Co w tym jest dla ciebie? Po prostu daj im ładnie wyglądającą dokumentację. Nie ma dla ciebie prawdziwego zamiennika oprócz zatrudnienia innego programisty.
Job
2
Zarabia mi się bardzo dobrze, więc nie jest to kwestia potrzeby uzyskania z nich więcej pieniędzy, a druga strona rozmowy dotyczyła umowy o pracę, która zapewnia mi pewne zabezpieczenia, więc nie martwię się o to, że zostanę zastąpiony. Przynajmniej nie związane z chęcią ochrony swoich inwestycji. --- Aktualizacja, zatrudnimy drugiego programistę. Użyłem nawet linku do tego pytania, aby pokazać im, co ludzie w tej dziedzinie myślą o tym, jak rozwiązać swoje obawy. To niesamowita strona.
Ominus,

Odpowiedzi:

21

Niestety robią to „wkładając wszystkie jajka do jednego koszyka”.

Praca z firmą zewnętrzną prawdopodobnie zapewni im dochód, ale poważnie wątpię, czy będzie warta pieniędzy. Dokumentacja zawsze wygląda ładnie i przejrzyście. Problem polega na tym, że wiesz tylko, ile jest wart, gdy ktoś inny próbuje to przeczytać - ktoś, kto ledwo wie coś (technicznego) na temat (wnętrza) projektu.

W każdym razie, przeczytanie pełnej bazy kodu, o której nic nie wiesz, jest możliwe, może to zająć dużo czasu (znacznie przekraczając możliwości większości firm).

Ich najlepszym uczciwy zakład jest zatrudnić kogoś do pracy z wami (dokładnie nie pod żadnym z kierunkiem) przez pewien okres czasu, a także sprawdzić, jak długo to trwa, żeby dostać się do punktu, w którym może on zrozumieć i zmienić ważne części projekt.

Jeśli zajmie Ci to więcej czasu, niż mogliby sobie pozwolić, jeśli odejdziesz, powinni poważnie rozważyć zatrudnienie jednego lub więcej stałych programistów (w pełnym lub niepełnym wymiarze godzin) i nigdy nie pozwolić im wsiąść do tej samej magistrali. :)

Tak czy inaczej, dobrzy programiści nagle odchodzący zawsze pogarszają sytuację.

Yam Marcovic
źródło
+1 za umożliwienie komuś innemu przeczytania dokumentów. Najlepszym sposobem na napisanie dokumentacji jest często udzielenie odpowiedzi na pytania użytkownika lub kolegi, a nie na własną rękę.
Fred Foo,
12

Mam nadzieję, że nie trafi Cię autobus! Masz rację, nie widzę wartości robienia tego. Po pierwsze, druga firma pobierze kwotę bliższą pełnoetatowemu deweloperowi, a także skrytykuje rzeczy i spowalnia cię. Mogą prosić o zbyt wiele produktów i wyjaśnienia. Nie ma też żadnej prawdziwej gwarancji, że będą w stanie podnieść, ponieważ nie będzie szansy na przetestowanie ich, zanim będą musieli przejąć kontrolę.

Sugeruję, aby firma zainwestowała w innego programistę. Ten programista nie musi być na Twoim poziomie wiedzy, ale czas spędzony z nim / nią byłby inwestycją w projekt. Dostaniesz kilka okazji do sprawdzenia jego zrozumienia, ponieważ będzie on pracował z tobą.

Upewnij się, że nie jeździsz tym samym samochodem, kiedy idziesz na lunch :)

Bez szans
źródło
Jak zabawne są nasze odpowiedzi (opublikowane mniej więcej w tym samym czasie) są częściowo identyczne, a nawet humorystyczne. :)
Yam Marcovic,
zatrudnienie w niepełnym wymiarze godzin dla programistów / stażystów to dość tani sposób na znalezienie pomocnika, zdecydowanie lepsza niż próba ustawienia wykonawcy w taki sposób, że nie byliby bezużyteczną stratą pieniędzy.
Ryathal
@YMMarcovic, masz rację! Jakie są szanse, człowieku!
NoChance,
5

Jednym z rozwiązań, które faktycznie miałoby wartość, jest zatrudnienie mentora. Jest to usługa, którą świadczę lokalnym firmom programistycznym. Odwiedzam przez pół dnia w tygodniu lub dzień w tygodniu. Każda wizyta zapewnia natychmiastową wartość, na przykład upewnienie się, że programiści stosują najlepsze praktyki, ucząc ich nowych rzeczy, których powinni się nauczyć, dając im szansę na kontakt z nowymi rzeczami, ponieważ zwykle są zajęci kodowaniem i nie chodzą na premiery oraz jak rozwiązywanie ich bezpośrednich błędów i blokad dróg, wyjaśnianie rzeczy, których nie wiedzą, jak to zrobić i tak dalej. Czasami zajmuję się kodowaniem, szczególnie w przypadku zdarzeń jednorazowych, w których pracownicy musieliby się wiele nauczyć, aby wykonać to zadanie, i nigdy więcej nie musieliby tego robić ponownie. Potrafię także zarządzać projektami, takimi jak napisanie planu odzyskiwania po awarii - potrzebuje odpowiedzi od deweloperów i zarządzania,

Taki układ może być tańszy niż sugeruje twój szef i ma dla ciebie wartość. Ma to efekt uboczny, że mentor nauczy się twojego systemu i prawdopodobnie byłby w stanie wyszkolić twojego zastępcę, gdybyś został trafiony loterią .

Kate Gregory
źródło
Ciekawy termin „trafiony loterią” :)
NoChance
sprytny biznesplan (cóż, serwis, nie wiem, co jeszcze robisz), o którym nigdy nie słyszałem.
psr
@psr w żadnym wypadku nie oznacza całego mojego biznesplanu (zwłaszcza biorąc pod uwagę moją lokalizację), ale jedną oferowaną przeze mnie usługę, która pomaga klientom. Musisz umieć myśleć na własnych nogach, znać wiele technologii, uczyć się szybko i dobrze uczyć. Podoba mi się to!
Kate Gregory
Cieszę się, że pojawił się termin „trafiony loterią” - mnóstwo pieniędzy (loteria, oferta pracy itp.) Jest znacznie bardziej powszechna niż większość firm zdaje sobie sprawę i równie skuteczna jak „duży czerwony autobus”.
mattnz
1

ISO 9001 w tym biznesie dotyczy sytuacji, w której autobus zostanie potrącony . Czy uzyskanie usług od tej firmy pozwoli Twojej firmie zakwalifikować się do tego certyfikatu? Może to być interesujące pytanie.

Lub sprawić, że będą krążyć w kółko w poszukiwaniu odpowiedzi. (prawdopodobnie zabrzmiałoby to bardzo podobnie do „nie”)

ZJR
źródło
1

Zgadzam się z PO. Lepiej jest zatrudnić innego programistę. Jeśli baza wiedzy znajduje się w innej firmie, nad którą nie mają kontroli, sytuacja jest równie ryzykowna.

Dla mnie brzmi to tak, jakby chcieli zastąpić cię pracą na morzu, gdzie ludzie mogą przeżyć za 10 USD miesięcznie.

Lord Tydus
źródło
Całkiem cyniczna odpowiedź? Firma chce zapewnić ciągłość, a nie ograniczać koszty. Gdyby chciał zastąpić kosztowną siłę roboczą, aby zaoszczędzić pieniądze, nie zatrudniłby zewnętrznego konsultanta.
mattnz,
+1, zaraz. Jeśli pieniądze nie były problemem, nie mają powodu, aby nie zatrudniać dodatkowego programisty.
GrandmasterB,
@mattnz. Biznes nie chce obniżać kosztów? Gdzie byłeś przez ostatnie 60 lat działalności z przejściem na outsourcing? Według słów OP chcą oni zatrudnić firmę zewnętrzną, która „przejmie”. Posiadanie bazy wiedzy na zewnątrz nie zapewnia ciągłości, ale zapewnia więcej rąk za tę samą cenę jak 1 pracownikowi z dopasowanym podatkiem dochodowym.
Lord Tydus,
1

Potrzebują dodatkowego programisty. To naprawdę takie proste. Oboje powinniście pracować na całej bazie kodu. Lub przynajmniej znać się nawzajem na swojej pracy, aby wkroczyć do naprawy problemów w nagłych wypadkach. Jeśli budżety są napięte, teoretycznie możesz nawet zatrudnić na pół etatu - prawdopodobnie to by wystarczyło. Ktoś, kto mógłby poświęcić kilka godzin tygodniowo na naukę kodu, wykonując konserwację i poprawki. To by ich wystarczająco zapoznało.

Zatrudnianie firmy zewnętrznej? Jestem tam z tobą - równie dobrze mogliby spłukać te pieniądze w toalecie. To, że zastanawiają się nad zatrudnieniem firmy zewnętrznej do nauki twojego systemu, mówi mi, że tak naprawdę nie zainteresowani scenariuszem autobusu (ponieważ, jak wspomniano, rozwiązanie jest oczywiste) i po prostu potrzebują powodu, by rzucić brzęczącą frazę jeździć autobusami podczas gry w golfa z innymi menedżerami lub ... że chcą zlecić Ci pracę. W końcu, jeśli firma zewnętrzna może nauczyć się całej bazy kodu za niższą cenę niż pracownik, w pewnym momencie spiczaste włosy zapytają, dlaczego cię potrzebują?

Grandmaster B.
źródło
0

Częściej niż myślisz, firmy mają plan na wypadek, gdyby jakiś krytyczny pracownik został potrącony przez autobus.

Zwykle jednak łączy kluczowego talentu z kimś wewnętrznym (który nie może podróżować tymi samymi lotami ... Lub autobusami), aby zapobiec wyciekom przewagi konkurencyjnej i pomysłów poza konkurencję.

hotpaw2
źródło
0

Po pierwsze, osoba testująca twój kod nie powinna działać „pod” tobą; to konflikt interesów.

W przypadku Twojej nieobecności muszą ocenić ryzyko zaległości w obszarach: debugowania i dodawania nowych funkcji. Mogą szybko przyspieszyć debugowanie, chyba że napisałeś zły kod. Zazwyczaj dodanie nowych funkcji może poczekać, aż przygotujesz nowego programistę. Nie zawsze tak jest, gdy istnieją obietnice dla obecnych klientów lub na rynku, na którym próbujesz nadążyć za konkurencją.

Pracowałem w firmie, w której byłem jedynym programistą. Nie zastąpili mnie innym programistą, ale drastycznie zmienili kierunki i zdecydowali się na aplikację innej firmy. Podjęto dziwniejsze decyzje biznesowe. Zapobiega to drastycznemu oddzieleniu się od konkurencji i uzyskaniu ogromnej siły nacisku na rozwój firmy. Może to nie był już ich cel?

JeffO
źródło
0

W rzeczywistości istnieje termin zwany numerem magistrali projektu. Jeśli numer autobusu to jeden, masz duży problem. FEMA w USA prosi firmy, aby były lepiej przygotowane na katastrofy.

To nie tylko utrata kluczowego programisty. Jest to wpływ klęski żywiołowej lub braku kopii zapasowych poza witryną. Na tej stronie znajduje się wiele pytań z pytaniem, czy należy używać kontroli źródła jako programisty solo. Pomoże nowemu deweloperowi pobrać najnowszą wersję oprogramowania i zobaczyć, które części są nowe, pomoże im.

Więcej informacji na temat PS-Prep można znaleźć na stronie http://www.fema.gov/privatesector/preparedness i http://readyrating.org/ .

mhoran_psprep
źródło
0

Znam twój ból. Firma, w której pracuję, ma ponad 20 programistów i każdy ma swoją wiedzę.

Nakładające się na siebie bity są naprawdę ... bitami, więc jeśli ktoś zaginie (wakacje, choroby itp.) I coś stanie się z narzędziami, którymi zarządza, jesteś zepsuty.

Problem polega na tym, że znają sytuację i nie przejmują się tym aż tak bardzo, może jeszcze nie umarli.

Albireo
źródło
0

Podoba mi się cytat w stylu „Cmentarze są pełne ludzi, których wcześniej uważano za nieodzowne”. To powiedziawszy, twoja firma ma obowiązek zminimalizować ryzyko, obecnie jesteś postrzegany jako jeden. Byłem tam czasami, najlepiej nie tylko nie opierać się, ale też robić o wiele więcej. Nie trenuj tylko firmy zewnętrznej, polecaj najlepszą firmę w mieście, tzn. Taką, w której miałbyś największe zaufanie. Zastanów się również, czy wykonujesz pracę lepiej niż ktokolwiek inny, z definicji jesteś niezastąpiony.

Rolyh
źródło