Napisane przez: futrzak | 20 kwietnia 2016

Z cyklu muszę, muszę, bo się uduszę

Dostalam w pracy w spadku automated framework oraz zautomatyzowane testy do czesci aplikacji.
Sa one nieczytelne, o czym pisalam juz wczesniej. Nieczytelne mimo tego, ze owa framework zostala zaprojektowana tak, zeby zarazem slużyc za wysokiego poziomu dokumentację features, czytelną nawet dla części byznesowej.

Cóż.
Przebijam sie linijka po linijce analizując i wykonując kod oraz wykonując te testy manualnie, żeby w ogole zrozumiec, co też to do ciezkiej k* nędzy robi.

Im dalej w las, tym wiekszej kociej mordy dostaję albowiem… albowiem autor tego kodu wypełnia punkt po punkcie opis z ksiazki z rozdzialu pod tytulem „what can go wrong”.
Seriously. Kazdy jeden pieprzony punkt.
Ja pierdolę. Po prostu w pale mi się to nie mieści.
Teoretycznie powinien był przerobic tę ksiazkę – tak samo jak i ja. Teoretycznie powinien podazac za guidelines, napisanymi notabene przez szefową. To ona robila implementację tej framework i napisala bardzo duzo testow 2 lata temu. Obejrzalam sobie JEJ kod – bardzo elegancki i czytelny, zrobione wszystko jak trzeba.

Jak, jak mozna było spieprzyć cos, co bylo zrobione dobrze???
Nie pojmuję.

I jeszcze to: gdy poruszylam w/w problemy, szefowa odparla, ze oh moze R. powinien był zrobic testy bardziej modularne, ale przecież się wykonują* i to wcale nie jest tak, ze kod nieczytelny.

Dlaczego kłamie w żywe oczy? O co tu chodzi?
Gościu ma potężne problemy z komunikacją – i to opinia nie tylko moja, ale całego zespołu z Montevideo. Raporty błędów i jego kod wyglądają, jakby autor cierpiał na ciężką sraczkę umysłową. Taka osoba nie powinna była zostać programistą, a już tym bardziej SQA.
To wszystko miałabym daleko w d* – w koncu nie ja jestem szefową tego pana – gdyby nie jedno ale.
To mnie zwalono na łeb niedorobione wypłody owego osobnika i na dodatek zakazano refactoringu przy jednoczesnym wymogu utrzymywania całego bajzla w ruchu.
Podsumowujac: bedzie zabawnie…

* – to, ze jakis program sie wykonuje, o niczym nie swiadczy albowiem mozna zrobic to tak, jak kilka lat temu zrobil zespol z Indii, z ktorym pracowalam. Byli odpowiedzialni za testowanie incoming feeds z danymi. Setki tysiecy rekordow wrzucanych do bazy danych codziennie, najpierw musialy byc konwertowane na .csv (bo szly z jakiegos przedpotopowego mainframe) a potem trzeba bylo sprawdzic, czy wszystko trafilo do odpowiednich tabel w relacyjnej bazie danych. Oczywiscie, nikt nie robil tego recznie, tylko automatycznie. Wszystko ladnie pieknie, ale klienci narzekali coraz bardziej na ilosc bledow w systemie – takich, ktore powinny byly zostac zauwazone przez automatyczne testy zespolu z Indii. Sprawa zaczela sie robic coraz grubsza, az wreszcie dyrektor dzialu jakosci dostal ochrzan od swojego zwierzchnika i polecenie zajecia sie sprawa. Sprawa w koncu trafila do mnie. Pogrzebalam, pogrzebalam i cos mi sie nie zgadza: recznie zmodyfikowalam pare rekordow w bazie tak, zeby celowo wygenerowac bledy. Wykonuje automatyczne testy a one nic – wszystkie zwracaja „pass” jako rezultat. WTF?
Zagladam do kodu i co widze? Otoz na zakonczenie kazdego testu widze hardcoded result=1
Slowem: niezaleznie od tego, jak dany test sie wykonal, zawsze zwracal do framework wartosc 1 czyli pass.
Kurtyyyynaaaaa.
Myslicie, ze po tym wydarzeniu zespolowi z Indii anulowano kontrakt? A skad.

Reklamy

Responses

  1. Futrzak, a ty się nie obawiasz że ktoś może te twoje wpisy z firmy czytać? Przecież wystarczy google translator i jakaś „życzliwa” osoba, a takich niemało w każdej firmie. Ja tam musiałem niedawno podpisać pod rygorem wypowiedzenia umowy kilkustronicowy dokument że nie będę w żadnym miejscu w internecie się wypowiadał na żadne tematy związane z pracą i współpracownikami…

  2. hey there,

    w kontekscie tylko, nie w sensie rozwiazania.

    zajrzalem dzisiaj do dzialu careers tutaj (Baron Schwartz to legenda w kregach, jeden z pierwszych pracownikow Percony, firmy prawdziwie globalnej; do tego prywatnie swietny gosc e.g. http://www.xaprb.com/blog/2016/04/18/why-prioritize-diversity-now/ :)

    https://jobs.lever.co/vividcortex/

    zobaczylem Urugway i sie usmiechnalem. nie ma QA, ale warto pingnac, tak proaktywnie ;) gdyby mieli cos na mysli w przyszlosci.

    powodzenia! :)

  3. gajger:
    w sumie dotknales ciekawego tematu.
    Zastanawiam sie, czy taki szantazyk (podpisz zgode na autocenzure, bo inaczej wylatujesz z pracy) jest zgodny z prawem?
    Owszem, sa firmy, ktorych profil dzialanosci (national security i okolice, armia) calkowicie uzasadnia tego typu wymogi. Wtedy po przejsciu clearance podpisujesz stosowna umowe, dotyczy ona zreszta calkowitego nakazu tajemnicy tj. nie wolno ci z nikim – nawet najblizsza rodzina – rozmawiac o tym, czym zajmuje sie firma i co tam sie dzieje.

    Zdaje sie, ze nie pracujesz dla takiej firmy, prawda?

    Ale poza tym… hm…w sumie chyba nie chcialabym pracowac dla firmy, ktora knutem wymusza brak negatywnych komentarzy o sobie.Przypomina mi to czasy komuny, gdzie za krytyke czegokolwiek zwiazanego z dzialanoscia zakladu panstwowego mozna bylo wyleciec z pracy (nie mowiac juz o istnieniu oficjalnej cenzury we wszystkich dostepnych publicznych mediach oraz paragrafow na dzialanosc przeciwko panstwu…).

    Inna sprawa, ze jesli ludzie nie maja specjalnie wyboru – bo zadnych innych ofert pracy w poblizu nie ma i stoja przed ewentualnoscia: podpiszemy albo nie bedzie na papu dla dzieci -to oczywiscie podpisza.

    Tak czy siak, tego typu praktyki swiadcza bardzo zle o fimie. Czemu? zwykle wystarczaja zwykle umowy plus obowiazujace prawo. Wymuszanie na wszystkich pracownikach podpisywania specjalnych cyrografow moze znaczyc tylko, ze firma obawia sie, ze stosowane przez nia praktyki (bardzo czesto lamiace prawa pracownicze) wyjda na swiatlo dzienne.
    Pracownicy bowiem kiedy sa dobrze traktowani i oplacani, zadowoleni ze swojej pracy, nie beda sie skarzyc na nic – zrobia wrecz odwrotnie, bo beda chcieli dobra prace utrzymac.
    Zdaje sie, ze o tej czesci motywowania pracownikow wiekszosc polskich firm (i firm w panstach z kapitalizmem kompradorskim) zapomina…

    rm:
    dzieki za linka, zajrze.
    Odnosnie rozwiazan w tego typu sytuacjach: jesli w firmie nie ma rozsadnego szefa dzialu HR albo zwiazkow zawodowych, do ktorych pracownik moglby sie odwolac, to jedyne co zostaje, w istocie, to znalezienie innej pracy.
    Z szefem, z ktorym sie nie dogadujesz nigdy nie wygrasz, chyba ze zlamie prawo obowiazujace w danym kraju (wtedy mozna taka osobe podac do sadu) albo zlamie regulamin obowiazujacy w danej firmie, ale nawet w takim wypadku bez obrony zwiazkow zawodowych to pracownik wyleci, a nie szef..

  4. Historia z return 1 dobra, przypomniala mi o „Volkswagen extension” – https://github.com/hmlb/phpunit-vw (wtedy myslalem, ze to dowcip, ale jak widac zycie znowu wyprzedza fikcje…)

  5. Maciej Sinilo:
    no, Hindusi z przykladu opisanego wyzej wpadli na to juz 9 lat temu….
    Zauwaz jednak, ze phpunit jest bardzo schludnie napisany, z zachowaniem zasad i w ogole.
    Nie zadna tam brute force typu return 1… (tu dopiero byla gracja, chlopcy musieli nastukac sie jak dziki, pod kazdym testem cut-and-paste, na to zeby se zdefiniowac to raz, a potem sie odwolac, nie wpadli…)

  6. (…)Wymuszanie na wszystkich pracownikach podpisywania specjalnych cyrografow moze znaczyc tylko, ze firma obawia sie, ze stosowane przez nia praktyki (bardzo czesto lamiace prawa pracownicze) wyjda na swiatlo dzienne.(…)

    W punkt. Przy czym oni przede wszystkim się boją że wyjdą na światło dzienne ich praktyki postępowania wobec swoich klientów. Ale to skomplikowana sprawa o sporym zasięgu, blisko jej właśnie do casusu VW.

  7. First world problems. W Najjaśniejszej Rzeczypospolitej jak dotychczas nie trafiłem ani razu na projekt, gdzie by się pisało JAKIEKOLWIEK testy automatyczne. Na sugestię, że może należałoby, „project manager z 15-letnim doświadczeniem przy udanych wdrożeniach” odpowiada, że „nie ma czasu, trzeba robić”. To samo z jakąkolwiek refaktoryzacją – „to takie fanaberie teoretyków, zrób to na szybko, żeby zadziałało”.

  8. starszy programista:

    Wiesz, ale to poniekad normalne jak sie zabieraja za robote ludzie bez przykrych doswiadczen. Ja doskonale pamietam mentalnosc „zrob byle szybko, byle jakos dzialalo”. Tak sie robilo w Dolinie Krzemowej w latach 90-tych. Od tego czasu troche wody uplynelo i do kieruwniczych stanowisk dostali sie ludzie, ktorzy juz z praktyki wiedza, co znaczy takie robienie byle szybciej :)
    Jak potem trzeba robic maintenance tego kodu.. i jak bolesne sa pozniej rewrites calych aplikacji….No to teraz juz robia :)

  9. Jak trzeba robić maintenance, to się bierze studenta, któremu się nawciskało kitu na rozmowie kwalifikacyjnej, że „panie, my tu same dobre praktyki”, potem przez miesiąc trochę poogarnia zanim ucieknie (hajs z dołu, więc przynajmniej miesiąc będzie siedział). Robienie porządnie od początku, to jest INWESTYCJA, której polski biznesmen nie odróżnia od kosztu, więc jej nie robi.

  10. starszy programista:
    no, jak sie ma byznesplan typu „nachapac sie byle szybciej, a potem w krzaki” – to tak wychodzi. Pare miesiecy temu pisalam o takim jednym B. Juszczyku i jego podejsciu do firmy hostingowej :)


Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

Kategorie

%d blogerów lubi to: