Przejdź do głównej zawartości

Volkswagen

Czy wiesz, kto to jest Michael Horn? On jest CEO Volkswagena w Ameryce. Wiesz, co się ostatnio działo w Volkswagenie? Afera Dieselgate? Okazało się, że oprogramowanie, które kontroluje silnik diesla w niektórych ich samochodach zostało specjalnie napisane tak, aby spełniać testy emisji spalin. O tak, okazało się, że oprogramowanie może wykryć moment wykonywania testu emisji i zmienić tryb silnika, tak aby emitowana była tylko jedna czterdziesta ilości szkodliwego tlenku azotu w stosunku do ilości, gdy silnik pracuje normalnie.


No więc kilka dni temu Michael Horn zeznawał przed Kongresem w tej sprawie. Wiesz co powiedział? Powiedział ustawodawcom, co następuje:


“To była grupa inżynierów oprogramowania, którzy wrzucili to tam z jakiegoś powodu”


Możesz usłyszeć, jak to mówi w momencie 1:12:05 tego nagrania.


A teraz, nie ważne, że nikt przy zdrowych zmysłach nie uwierzy w te niedorzeczne oświadczenie. Skutki mogą być poważniejsze.


  1. Z powodu tego nagrania z Kongresu programiści mogą być użyci jako kozły ofiarne. Te konkretne oskarżenie może być uznane za nie do uwierzenia, ale w następne mogą już uwierzyć. W rzeczy samej, jak tylko zarządzający firmami trochę nauczą się tej gry, mogą spreparować bardziej przekonujące dowody na rzekome malwersacje programistów.
  2. Opinia publiczna przekona się, że to programiści mogą być winowajcami. Dojdzie do tego jeszcze szybciej, kiedy następnym razem coś pójdzie nie tak - katastrofa samolotu, pożar, powódź - kiedy ludzie dojdą do wniosku, że to zrobił któryś z programistów. Jasne, że może to potrwać, ale tak niedawno nie istniał jeszcze pomysł bezpośredniego wpływu programistów na katastrofy.


Ale to jest takie moje paranoiczne gadanie. Martwię się, że pewnego dnia opinia publiczna i politycy zdadzą sobie sprawę, że bezgraniczna wiara w programistów zaszła za daleko i uregulują ich ciut za daleko. Słyszałeś, jak głosiłem to już wcześniej.


Prawdziwy Problem


Pomijając to wszystko co wyżej, mamy tu o wiele głębszy problem.


Jacyś programiści, w rzeczy samej to zrobili.


To, że zrobili to bez autoryzacji jest nieprawdopodobne, ale też nieistotne. Oni to zrobili.


Nie ma znaczenia, że ich szefowie powiedzieli im, żeby to zrobić. Oni to zrobili.


Nie ma znaczenia, że dostali za to wynagrodzenie. Oni to zrobili.


Możesz oczywiście wysnuć kontrargument, że ci programiści nie wiedzieli co robią. Że oni dostali po prostu jakieś specyfikacje i zaimplementowali te specyfikacje i nie mieli pojęcia, że będą z tego tytułu współsprawcami szwindlu na masową skalę.


Myślę, że ten argument jest nawet bardziej niedorzeczny niż ten pana Michaela Horna. Oni wiedzieli. A jeżeli nie wiedzieli, to powinni byli wiedzieć. Oni mieli obowiązek wiedzieć.


Gdybyśmy mieli prawdziwą profesję, ci programiści zostaliby skonfrontowani z tą profesją, osądzeni, uznani winnych i w niesławie pozbawieni prawa do wykonywania zawodu.



Poniższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony :
https://8thlight.com/blog/uncle-bob/2015/10/14/VW.html
Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta.








Komentarze

  1. Programiści pisali, to co mieli za zadanie napisać - i winienie programistów za decyzje "odgórne" jest tu IMO nie na miejscu. Zapewne dla jednych się to podobało, dla drugich nie - a jeszcze inni kładli na to lachę.

    OdpowiedzUsuń
    Odpowiedzi
    1. Arku,
      Dzięki za głos w dyskusji. Tak, jak piszesz postawy wśród nas są różne. Ciężko jest weryfikować szalone pomysły klientów/szefów, chociażby z tego powodu, że grozi to utratą pracy. Z drugiej strony warto moim zdaniem mieć punkt odniesienia, żeby się nie zgubić.

      Jestem podobnego zdania co Wujek. Każdy specjalista - lekarz, prawnik, informatyk powinien brać odpowiedzialność za swoje działania.

      Poszedłbym nawet o krok dalej.
      Przypomina mi się katastrofa Challengera.

      https://pl.m.wikipedia.org/wiki/Katastrofa_promu_Challenger#

      Tam inżynierowie wiedzieli. Poinformowali nawet swoich przełożonych. W moim odczuciu już nigdy spokojnie nie zasną, bo przełożeni zataili ich ostrzeżenia i puścili misję. Zginęli ludzie.
      Inżynierowie powinni IMHO poruszyć niebo i ziemię (choćby poinformować media z narażeniem swoich stanowisk pracy). To, według mnie, stanowi o profesjonaliźmie.

      Usuń
    2. o profesjonaliźmie stanowi to, że robisz to co do Ciebie należy... zawsze.
      Programista programuje, szef szefuje, itd.
      Szkoda czasu na analizy, bądźmy dobrzy w tym co robimy, kwestie moralne są zawsze ważne, ale wtedy przestajemy być profesjonalistami.

      Usuń
    3. Dzięki Tomku za komentarz.

      Wyobraź sobie, że operujący Cię lekarz celowo doprowadza Cię do śmierci, bo jego dyrektor szpitala powiedział, że są akurat wyższe stawki za pacjenta martwego niż za żywego.(Była podobna sytuacja w rzeczywistości w Polsce w pogotowiu w Łodzi).


      Czy można takie postawy określić jako profesjonalne?

      Usuń
  2. Dzięki za link o Challenger'ze, nie znałem tego. Twoja (i Wujka Boba) jest jak najbardziej etyczna i godna naśladowania - jednak nie zapominajmy o tym, że lekarz czy prawnik jest zawodem, gdzie odpowiedzialność leży w jednym "punkcie" - u programistów, nie możemy powiedzieć dokładnie kto jest odpowiedzialny za efekt końcowy - czy to programista, team leader, manager czy CTO.

    Jeśli będziemy forsować "ustandaryzowanie" zawodu programisty (czyli jakieś pozwolenia na pracę / wykonywanie zawodu, osobny kodeks pracy itd.) to prawdopodobnie nasz wolny rynek tylko na tym straci.

    OdpowiedzUsuń
    Odpowiedzi
    1. Wujek przewiduje, że jeżeli tego nie zrobimy sami, na naszych warunkach, zaraz po większej katastrofie spowodowanej przez programistę, przyjdą do nas politycy i zrobią to siłą, na Ich warunkach.

      Mówi o tym tu:
      https://www.youtube.com/watch?v=ecIWPzGEbFc

      Usuń

Prześlij komentarz

Popularne posty z tego bloga

Kursy IT na Pluralsight. Dlaczego warto?

Bardzo sobie cenię kursy na Pluralsight. Mam wrażenie, że każdy kurs, który przeszedłem na tej platformie, w dużym stopniu podniósł moje zdolności. Wiem, dostęp do tej platformy nie jest tani, ale w mojej ocenie warty swojej ceny. To nie jest reklama, ale forma entuzjazmu jaki mam do tej formy samodoskonalenia. O to kilka punktów pokazujących ofertę tego serwisu i dlaczego warto skorzystać: Pluralsight to kursy z Javascript, C#, Java, Angular, Python, MySQL i wielu innych technologii i umiejętności. Kursy na Pluralsight w większości mają wyższą jakość niż te, które możemy znaleźć na przykład na YouTube. Są wyselekcjonowane, mają wysoką jakość dźwięku i obrazu. Często wgryzają się głęboko w dany problem daleko poza standardowe „Hello World” danej technologii. Twórcy Pluralsight to często osoby znane ze świata IT i konferencji branżowych, jak: Scott Hanselman, Microsoft John Somnez, SimpleProgrammer.com John Skeet, Google Pluralsight udostępnia funkcjonalność ścieżek – paths....

Bicie piany

Czy słyszałeś o tym gościu, który powiedział, że Object Oriented to przeżytek? No nie. Następny. Co powiedział? Opisał wszystkie obietnice OO, i jak żadna z nich tak naprawdę nigdy nie została spełniona i o tych wszystkich możliwościach OO, które kosztują więcej, niż są warte i że funkcjonalne programowanie jest lepsze i ... Phi. Tak słyszałem już to wcześniej. No, więc OO jest martwe, leży i kwiczy i możemy przejść dalej. Przejść dalej do czego? Co? No do NASTĘPNEJ WIELKIEJ RZECZY oczywiście. Aaaa, do tego. Czy wiesz już co to jest? Nie bałdzo, ale jestem podekscytowany na myśl o mikroserwisach; jaram się Elixirem; i słyszałem, że React jest fantastyczny; i ... Tak, tak. Bicie piany. Dałeś się nabrać na bicie piany. Co? Co masz na myśli. Przecież mamy takie wspaniałe czasy. Tak naprawdę postrzegam te czasy jako depresyjne. Ale dlaczego? Przecież co kilka dni wyskakują nowe wspaniałe technologie! Wspinamy się na coraz wyższe szczyty. Phi. To, co tak napraw...

Podstawy Programowania Funkcyjnego Epizod 1

O czym jest programowanie funkcyjne? Zakładam, że słyszałeś już kiedyś o programowaniu funkcyjnym. No cóż, któż nie słyszał? Wszyscy o tym gadają. Wychodzi dużo nowych języków funkcyjnych takich, jak Scala, F# i Clojure. Ludzie rozmawiają też o starszych językach jak Erlang, Haskell, ML i innych. A więc, o co w tym wszystkim chodzi? Dlaczego programowanie funkcyjne jest Następną Wielką Rzeczą™? I co jest w tym takiego pociągającego? Poniższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina z dnia 22 grudnia 2012 ze strony: https://blog.cleancoder.com/uncle-bob/2012/12/22/FPBE1-Whats-it-all-about.html Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta. Po pierwsze, prawie na pewno programowanie funkcyjne jest następną wielką rzeczą. Są ku temu dobre, solidne powody i poznamy je w tym artykule. Ale najpierw, aby zrozumieć te powody, musimy poznać, czym programowanie funkcyjne jest....