Momencik, trwa przetwarzanie danych   loading-animation

#88346

przez (PW) ·
| Do ulubionych
Jestem kierownikiem projektu w pewnej firmie programistycznej. Jako że mój team pracuje nad aplikacją przeznaczoną na sprzedaż, to oprócz organizacją pracy i programowaniem, zajmuję się również pomocą przy sprzedaży (odpowiadam na pytania techniczne) i prowadzę szkolenia z obsługi programu. No i dzisiaj wpłynęła pierwsza skarga na mnie, według której jestem gburem, nie potrafię uruchomić własnego programu, nie dokończyłem szkolenia, a część która się odbyła była poprowadzona w sposób tragiczny. Ale może po kolei.

Tak jak mówiłem mój team pracuje nad programem, który może zostać wykorzystany w pewnej bardzo popularnej branży. Ze względu na specyfikę pracy jest to program sieciowy, który stoi sobie w serwerowni kontrahenta, a dostęp do niego odbywa się poprzez przeglądarkę internetową. Dodatkowo, mimo że strona działa bardzo dobrze na urządzeniach mobilnych, oferujemy, za dodatkową opłatą, aplikację mobilną, dzięki której obsługa programu jest jeszcze wygodniejsza.

Jakiś czas temu zgłosiła się do nas pani z małej, trzyosobowej firmy X z chęcią zakupu naszego programu. Nie zajmuję się jako tako etapem sprzedaży, ale jako że czasami muszę odpowiedzieć na jakieś pytanie, to jestem dołączony do korespondencji, w której udokumentowany jest cały proces sprzedaży. Stąd wiem, że pani wykupiła nasz program, pakiet oferujący montaż małej serwerowni i postawienie całego oprogramowania. Nie wykupiła jednak aplikacji mobilnej oraz obsługi technicznej serwerowni. Czyli jeśli wystąpi jakaś awaria i nie będzie ona związana stricte z aplikacją, a będzie dotyczyć serwera, to niestety pani będzie zobligowana do zapłaty za naszą interwencję.

Etap sprzedaży dobiegł końca, aplikacja stała już na serwerze kontrahenta, więc po naszej stronie pozostało jedynie przeprowadzenie szkolenia. Samo dogadanie terminu było już nieco piekielne, gdyż był on przesuwany cztery razy, ale w końcu się udało. Zalogowałem się do systemu i zacząłem szkolenie. Już po pięciu minutach zostałem zalany pytaniami. Część z nich należała do kategorii idiotycznych, np. "Co się stanie gdy na ten przycisk kliknę prawym przyciskiem myszy? Otworzy się menu przeglądarki. A na ten drugi? Również otworzy się menu przeglądarki. Aha... A jak na tamten? ...". Pozostałe pytania były sensowne, ale odpowiedź na nie miały się pojawić w dalszej części szkolenia. Poprosiłem więc o wstrzymanie się z pytaniami i wytłumaczyłem, że szkolenie jest zaplanowane tak, by po każdym module był czas na zadawanie pytań. Dało to jednak jedno wielkie zero i raz po raz ktoś wyskakiwał z pytaniem, na które za każdym razem odpowiedź brzmiała "Będę o tym mówił dosłownie za chwilę.".

Szkolenie szło ciężko, ale szło. Jednak jakoś w połowie szefowa firmy zadecydowała, że czas skończyć szkolenie, gdyż mają spotkanie z innym kontrahentem. Nie powiem zdziwiłem się, gdyż informowałem, że szkolenie potrwa minimum 4 godziny i nie otrzymałem prośby o rozbicie go na kilka dni. Zapytałem więc kiedy możemy kontynuować kurs obsługi programu. W odpowiedzi dowiedziałem się, że nie musimy kontynuować, resztę doczytają z dołączonej dokumentacji i od jutra startują z obsługą. Co z tego, że jeszcze nie dotarłem do dwóch najtrudniejszych tematów, ale jak chce tak ma. Odnotowałem ten fakt w w/w korespondencji i zapomniałem o sprawie.

Minęło kilka tygodni od szkolenia kiedy odebrałem telefon od szefowej firmy X z informacją, że system nie działa a oni muszą na już obsłużyć klienta. Wysłałem więc do techników zgłoszenie z priorytetem "Ludzie tutaj umierają" a zwrotnie otrzymałem pytanie czy umierają natychmiastowo czy może jednak powoli... To znaczy technicy przyjęli zgłoszenie i spróbowali się połączyć z serwerem kontrahenta zdalnie. Nie udało im się to jednak, więc jeden z nich załadował się do samochodu i pojechał sprawdzić co tam się dzieje. Okazało się, że geniusze w ramach oszczędności wyłączali na noc serwer, zapomnieli go rano włączyć i nie skojarzyli faktów. Pomijając głupotę tej sytuacji samo wyłącznie serwera na noc było piekielne, gdyż serwer jest ustawiony tak aby w nocy uruchamiać tak zwany EOD (end of day, przetwarzanie danych wykonywane w nocy aby nie obciążać serwera podczas normalnej pracy). I powiedziałbym o tym na szkoleniu, gdyby dano mi dokończyć plus było to opisane w dokumentacji, którą podobno mieli przeczytać.

Wyszło na to, że przez ponad tydzień pracowali na nieprzetworzonych danych, ich szczęście, że system jest w stanie sobie poradzić z takimi sytuacjami wstecz. Natomiast pani była szczerze zdziwiona, że była zmuszona zapłacić za naszą interwencję (koszty dojazdu plus jakieś grosze za wpięcie kabla).

Ogólnie system został napisany tak aby był jak najbardziej idiotoodporny, ale niestety nie wszystko jesteśmy w stanie przeskoczyć. Np. sytuację, w której trzeba podać datę odebrania pewnego pisma, tak aby system mógł zacząć liczyć odsetki od tej daty. Nie ma opcji aby system sam wiedział kiedy przyszło pismo, więc musi uwierzyć użytkownikowi na słowo. Jedyne zabezpieczenie jakie mogliśmy tutaj założyć to blokada wpisywania dat z przyszłości. Jakiś tydzień po zakończeniu szkolenia dostałem zgłoszenie, że system źle liczy odsetki. Zleciłem sprawdzenie tego jednemu z chłopaków i wyszło, że system liczy odsetki prawidłowo. Już się domyślałem o co chodzi, ale musiałem się upewnić. I miałem rację, okazało się, że przy wprowadzaniu tej akcji pracownicy nie wprowadzali daty otrzymania pisma, tylko zawsze wprowadzali datę dzisiejszą. Oczywiście na szkoleniu wspominałem jak działa ta akcja i był też wpis w dokumentacji. I znowu jako, że nie był to problem z systemem a po prostu błąd użytkownika musieli zapłacić za odpowiednie korekty, gdyż nie chcieli ich robić sami (co według mnie jest głupotą, bo korekta ogranicza się do wejścia na dany rejestr i zmianę daty na akcji co zajmuje trzy kliknięcia, natomiast abyśmy mogli zrobić korekty musieli nam w Excelu podesłać listę z ID rejestru i prawidłową datą).

Przez kolejne tygodnie byłem pewien, że nadal nie przeczytali dokumentacji, gdyż raz po raz pojawiały się pytania o sprawy, których nie zdążyłem wyłożyć na szkoleniu. Aż w końcu dość dosadnie poprosiłem o zapoznanie się z dokumentacją, gdyż w niej są odpowiedzi na ich wszystkie pytania. I tak sprowadziłem na siebie kolejną piekielność, gdyż w dokumentacji była wzmianka o aplikacji mobilnej, której przypominam nie wykupili.

Szefowa firmy zadzwoniła do mnie wczoraj i rozmowa wyglądała mniej więcej tak:

[Szefowa]: Witam, czytam waszą dokumentację i tutaj jest mowa o aplikacji mobilnej. Proszę mi powiedzieć jak używać tą aplikację, gdyż za dużo tutaj o niej nie pisze.
[Ja]: Aplikacja mobilna ma osobną dokumentację, ale...
[S]: To proszę o przesłanie jej i zainstalowanie nam tych aplikacji.
[J]: Nie mogę tego zrobić, gdyż nie zapł...
[S]: Co pan nie umie zainstalować własnej aplikacji?
[J]: To nie o to chodzi, że nie umiem tylko...
[S]: Wie pan co to jest jakaś kpina! Nie dość, że z tą waszą aplikacją są co chwile jakieś problemy, musimy płacić za każdą pierdołę, to jeszcze okazuje się, że nie dostaliśmy pełni systemu tylko jego część! Co pan myśli, że nie dowiedziałabym się o tym? Ja tak tego nie zostawię, niech pan się spodziewa kłopotów. Dużych kłopotów!

I w tym momencie rzuciła słuchawką. A jak tak się zastanawiam co ja robię ze swoim życiem. Po to właśnie zostałem programistą aby w pracy nie mieć żadnego kontaktu z klientami a w tym momencie ten kontakt to jakieś 30% wykonywanej przeze mnie pracy. Jak to życie potrafi spłatać figla.

Skomentuj (21) Pobierz ten tekst w formie obrazka
Ocena: 181 (189)

Komentarze

Momencik, trwa ładowanie komentarzy   ładowanie…