Bronikowski.com - Emil Oppeln-Bronikowski: Kod & Słowa

Skip navigation

Bronikowski.com G+

Automaty i empatia

Posted in Pisanina | 14 Comments

Pisałem program magazynowy. Dziś też piszę i przypomniało mi się, że pisałem. Pomiędzy magazynem, farbiarnią i produkcją ginął materiał. Całe bele materiału. Kierownictwo chciało sobie ten problem jakoś poukładać i wymyślili, że może wgląd w obecne stany i nazwiska ludzi odpowiedzialnych za daną operację pozwoli im wyłowić, kto gubi te setki złotych. Przyjechałem z notatnikiem, zapisałem ich biznesowy „kejs”, przespacerowałem się po pomieszczeniach, powiedziałem, że wpadnę za dwa tygodnie z jakimś prototypem, żebyśmy mogli dalej.

Wpadłem, potem pojechałem. Minął miesiąc, drugi, trzeci i ostatecznie miałem coś, na czym można było przeprowadzić szkolenie. Pierwszy etap, magazyn surowców, mieliśmy gotowy do wdrożenia. Usiadłem w konferencyjnej, wymieniłem uprzejmości z dwoma szefami, zrobiłem im krótką demonstrację; podali kawę i słone paluszki, czekaliśmy na pracowników, których miałem szkolić.

Wreszcie pojawił się główny magazynier. Bardzo wysoki i szczupły, prawie tyczka obleczona w niebieskie ubranie robocze, ściskał w rękach kapelusz i nerwowo obracał go za rondo, jak klisza „chłop u jaśniepaństwa”.

Posadziłem go przed komputerem i zacząłem tłumaczyć koncepty: tu jest nawigacja, tu jest sesja, hasło i użytkownik, stany, „proszę się nie martwić, tu wspieramy transakcje” i kiedy tak mówiłem, moje samozadowolenie rosło. Gdy już unosiłem się balonem nad mahoniowym stołem, zobaczyłem, jak szkolony przeze mnie pracownik próbuje użyć myszki do przesunięcia wskaźnika. Zrozumiałem, że przez ostatnie pół godziny mogłem mówić w innym języku, uzyskując identyczny rezultat. Trochę wystraszony sytuacją, w jakiej się znalazłem, spróbowałem podejścia bezpośredniego: wskazywałem palcem elementy, opisując je, a potem mówiłem, co należy zrobić dalej. Szło okropnie.

Magazynier cofnął nagle krzesło, odwrócił się w kierunku stołu, zza którego moje wysiłki edukacyjne podziwiali szefowie i powiedział: „Panie prezesie, czterdzieści lat pracuję na magazynie, ja się tego nie nauczę. Proszę mnie zwolnić. Przepraszam, proszę mnie zwolnić. Do widzenia.” – wyszedł, zostawiając mnie zamrożonego z palcem uniesionym w kierunku monitora, na którym pewnie wskazywałem ważną ikonę. Po chwili jeden z prezesów, widząc moje totalne zagubienie, podszedł do mnie, poklepał mnie po ramieniu i powiedział, że nic się nie stało, że będzie ciężko i że zadzwoni, jak obgada sprawę z pracownikami.

Spotkaliśmy się jeszcze dwa razy, ale mimo zatrudnienia młodego pomocnika, który miał zdjąć z magazyniera obowiązek walki z techniką, projekt upadł. Tamtego dnia straciłem do niego wszelki zapał; pierwszy raz poczułem, że moje grzebanie w literkach ma realne przełożenie nie tylko na stan mojego konta, ale także na życie ludzi, których mogę nawet nigdy nie spotkać i jego jakość.

Innym razem pisałem wyszukiwarkę prostytutek. Śmiałem się z przyjaciółmi, że jak robię zrzut bazy, to mam jak w Matriksie: „brunetki, blondynki, rude”. Kolor włosów był jednym z parametrów wyszukiwania. Do dziś pamiętam spotkanie z klientami, którego elementem była ożywiona dyskusja, jak oznaczymy rozmiar piersi. Literkami, numerami? Ktoś rzucił, że „mieszczą się w dłoni” –­ nie śmiałem się, ale powiedziałem „ha ha”.

Tak sobie myślę: czy my, autorzy tych różnych gówienek, mamy w ogóle jakiś kod moralny? Gdzie jest nasze „po pierwsze nie szkodzić”? Czy powinienem pośrednio wspierać stręczycieli tylko dlatego, że jestem krok dalej i robię tylko zapytania SQL? Czy w micie programisty-kowboja, który sam jest sobie prawem, sądem, katem i debuggerem, jest miejsce na jakieś zawodowe rozterki? I nie mówię tu o osobach, które parają się pisaniem malware czy innego draństwa, mówię o „dobrych gościach”, którzy spokojnie piszą kod robiący komuś gorzej.

Ktoś pisze te filtry internetu, ktoś pisze kod budujący fantomowe profile na Facebooku, ktoś implementuje behawioralne pułapki w grach typu „pierwsza działka za darmo”.

Może nadszedł już czas (albo nadszedł tak dawno temu, że nawet taki gość jak ja zaczyna zauważać problem), żeby popytać wśród nas samych: „czego nie zakodujesz za pieniądze?” i zastanowić się nad popularnymi pozycjami? Mam przeczucie, że głoszenie moralności w softwareowym El Dorado nie spotka się z pozytywnym odzewem.

Zostaliśmy handlarzami broni, ale nie wyglądamy tak dobrze w garniturach.

14 Responses to Automaty i empatia

  1. Problem stary jak świat. Piece krematoryjne same się nie zaprogramowały wzięły. Inżynierowie je zaprojektowali i jeszcze się o kasę z SS wykłócali…

    Ktoś pisze te algorytmy targetujące reklamy za pomocą danych osobowych gromadzonych w serwerowniach Cukierasa i Googla. Np. ja :-/

  2. Emil Oppeln-Bronikowski says:

    @3M

    No właśnie, ale zobacz, jak łatwo pozbyć się tego smaku w pysku tylko dlatego, że jesteśmy wyizolowani przez technologię.

    Piec krematoryjny miał swoją wagę i ona spowodowała, że co chwila ktoś wyciąga kto i co produkował Trzeciej Rzeszy. Natomiast my jesteśmy zawsze czyści i pachnący.

  3. No ja tam czasem sumienie muszę przeprać single maltem jakimś ;-)

  4. Newton says:

    Robiłem kiedyś stronę, połączoną z serwisem VoIPowym w który można było udzielać różnego rodzaju porad (prawnych, komputerowych, łotewerowych) za pieniądze. Doładowujesz konto, klikasz “połącz” i system zestawia połączenie między Tobą a ekspertem, który dostaje część Twojej kasy (reszta jest dla serwisu). Profile ekspertów, zdjęcia, oceny, itd.

    Projekt jakoś nie wypalił i właściciel wpadł na pomysł, że modyfikując skórkę strony można wykorzystać ten sam engine do dwóch innych, bardziej dochodowych serwisów: seks-linii i tele-wróżki. W moim przypadku to była granica w której powiedziałem “pas”.

  5. Emil Oppeln-Bronikowski says:

    @Newton

    Przepraszam, że tak nie na temat, ale mam w planach dłubanie podsystemu do VoIP-u, mogę Ci zostawić e-mail z kilkoma pytaniami? Jutro?

  6. No i nam jest łatwo wyabstrahować to co robimy z rzeczywistości, bo właśnie na abstrahowaniu problemów nasza praca polega. Rzutujemy sobie tą śmierdzącą rzeczywistość na encje, klasy, usecase’y a potem możemy już nie brudząc rączek martwić się tylko czy cache się invaliduje, buffer nie overflowuje a response time mieści w specsach.

  7. CoSTa says:

    Ha! A co ma taki marketoid powiedzieć Opi? Tu się z tego żyje, bez dylematów bo inaczej trzeba by żyć inaczej.

  8. c says:

    Wam to dobrze, wy młodzi, wy przynajmniej coś średnio użytecznego piszecie. A ja co, jak ja tylko exploity i inne pentesterskie narzędzia pisać umie?

  9. Emil Oppeln-Bronikowski says:

    @c

    No weź! To przypadek trawy, która jest zawsze zieleńsza u sąsiada. Też bym chciał umieć dać nura w niższe partie oprogramowania, a nie: framework nie umi to i ja pewnie nie dam rady. Poza tym pisząc pen-testy i exploity robisz dobro. Bo zakładam, że w ramach responsible disclosure? ;-)

    @CoSTa

    W marketingu i tak nie macie duszy!

  10. c says:

    @emil:
    E, ja to tam aż tak dobrze nie umiem :)

    A co do pisania exploitów – nawet jak chcesz robić dobro i zgłosić responsible, to nie masz żadnej kontroli nad tym, do czego to ktoś wykorzysta. No chyba, że sprzedaż na wolnym rynku – wtedy na pewno albo wywiad USA albo Chiński będzie tego używał. Bardzo spłycam, ale to temat rzeka.

    Pisząc exploita masz 90% pewności, że użyje go jakiś script kiddie żeby rozjechać lokalny urząd miejski.

  11. Pingback: Czego nie zakoduję za pieniądze?

  12. rahn says:

    Cóż, problem nie dotyczy w sumie tylko programistów. Każda wyprodukowana rzecz może służyć ludzkości na dwa sposoby. Tyle że nikt o tym nie myśli w chwili wytwarzania. Inaczej jest, kiedy jak piszesz wiesz, że kod posłuży stręczycielom jako narzędzie. Czy jeżeli go nie napiszesz zniknie prostytucja na świecie. A może projekt weźmie jakiś programista co go spieprzy, alfons się będzie wkurzał i swoją złość wyleje na pracownice? Mam wrażenie, że po pierwsze nie wiesz do końca jakie piętno na świecie wypali Twój produkt i po drugie, nie ustalisz nigdy granicy przed którą programowanie jest moralne a za nią nie. Projekty ratujące życie potrafią je tak samo szybko zabrać. Problem pozostaje gdzie indziej. Dopóki, zastanawiasz się i analizujesz czy w tym przypadku Twoja praca jest dla Ciebie moralnie ok – jest dobrze. Źle będzie, kiedy zacznie brakować tej czerwonej lampki.

  13. CoSTa says:

    @Opi
    Wiem. Jest zbędna.

  14. yanoo says:

    Ja mam zawsze problem nieco innej natury. Raz – jak wiem, że to co zrobiłem właśnie, to jest marne gówienko machnięte w 5 min na kolanie, a ktoś ściąga z biednego klienta grube sumy. Dwa – jak dostaję speckę i na dzień dobry wiem, że “to nie ma sensu, to się nie sprzeda”. Ale klient chce, wymaga, płaci, to rób.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hej, mamy 2012! ...a Twój Internet Explorer ma już ponad 10 lat!

Zaktualizuj natychmiast przeglądarkę lub zainstaluj którąś z alternatywnych:

...po czym wróć na naszą stronę :)