Oczernianie w kontraktorni - co robić?

5

Ja z kolei miałem taką sytuację kiedyś że pracowałem jako kontraktor w firmie produktowej. No i de facto robiłem tam jako podwykonawca z innymi pracownikami tejże firmy natywnej - zespół składający się z kontraktorów i pracowników natywnych. Mój manager też był z firmy natywnej.

Niestety spotykałem się z tym że czułem się dyskryminowany z tego względu że kontraktor. Używano do mnie słów w stylu "zarobas", nie przejmowano się moim work-life-balance, czułem się jak taki służący. Manager z firmy produktowej czułem że to mnie w Sprincie bardziej "cisnął" aniżeli "swoich".
No ogólnie przez jakiś czas były takie nawet dwa obozy. Podchodzono do mnie w ten sposób że czułem się przez to lekko podłamany. Po jakimś czasie się zwolniłem ale nigdy więcej nie chciałbym aby mnie to spotkało znowu. Jednak oraz zostaje i przykro mi się wspomina tamten okres.

Sorry, ale też chciałem się wyżalić jak już tutaj inni zaczęli.

2

Nic sie nie rozniesie @asdfgh nic sie nie boj.

Jak dostales jakiejs nerwicy to zalatw sobie jakiea dragi rozluzniajace u psychiatry na tr kilka miesiecy i wyjedz na porzadne wakacje.

4

A ja bym sugerował tradycyjny wpierdol. Jak sam nie dasz rady, to na pewno możesz zlecić outsourcing takiej usługi :)

1

Pracowałam z taką gwiazdą, co o wszystkich miała złe zdanie, i myślę, że to wytykanie innym rzekomej słabości (za ich plecami oczywiście) miało odwrócić uwagę od jej własnych niedomagań. Podobnie najbardziej chamskie zachowania w projekcie (skarżenie się team leadowi i wysyłanie maili na grupę z ''sugestiami", mimo że cała codzienna komunikacja szła na czacie) prezentował senior, którego kod był powodem uciechy pozostałych programistów.

Nie znaczy to oczywiście, że tak jest w twoim przypadku, ale ja zawsze przyglądam się najpierw osobie, która tak chętnie jeździ po innych, a dopiero potem tym objeżdżanym, i obstawiam, że cześć twoich kolegów też tak robiła, inni mieli wywalone, a pozostali wykorzystali całą sprawę do podreperowania sobie samopoczucia i w końcu zapomną.

Co do pracy - wszyscy gadają, że IT to mały światek. Sorry, ale nie. Policja to jest mały światek, wąska specjalizacja medyczna itd. Pracę znajdziesz, śpij spokojnie.

0

@KamilAdam: z review też były problemy. Podobno trudno było mnie przekonać do wprowadzenia do kodu zmian z komentarzy na review. Najbardziej zapamiętałem jak miałem w ramach taska zaalokować pewne zasoby w systemie operacyjnym. Zrobiłem klasę C++ która tym ładnie zarządzała i zwalniała te zasoby, gdy nie były już potrzebne, czyli np. w destruktorze. Jeden senior zapytał po co klasa i nie dali sobie przetłumaczyć, że należy po sobie sprzątać i zwalniać zasoby. Skończyło się tak, że musiałem usunąć zwalnianie tych zasobów z kodu, bo senior tak powiedział :D — asdfgh 2022-09-26 23:04
@KamilAdam: inna sytuacja: musiałem przez kilka minut tłumaczyć seniorowi w projekcie, że jak w C++ niszczymy obiekt i zwalniamy zajmowaną przez obiekt pamięć, a w innym wątku mamy wskaźnik na ten obiekt i w dalszym ciągu próbujemy z niego korzystać, to nie jest OK :( Na szczęście tym razem senior zrozumiał :) — asdfgh 2022-09-26 23:07
@KamilAdam: dodam, że senior od lat programuje w C++ xD

Może to dlatego ja nie mam takich problemów bo nie pracuję w C++ a w Scali a wcześniej w Javie. Są to jednak języki prostsze i bardziej spójne więc jest o wiele mniej powodów do kłócenia się. W Javie komentarze miałem głownie do tego że moje nazwy zmiennych są niewystarczająco opisowe. W Scali kłóciliśmy się głównie której biblioteki używać jako bazę i jak powinien wyglądać styl programowania (biblioteka standardowa Scali vs Catsy vs Scalaz), no ale to nawet nie przy review kodu tylko ogólnie na osobnych spotkaniach

0
ArchitektSpaghetti napisał(a):
asdfgh napisał(a):

Dotarła do mnie informacja, że jeśli chodzi o dokładnie ten pierwszy zespół, w którym byłem ja i ten senior, to klient kontraktorni powiedział, że jest źle zrobione i mają poprawiać za darmo xDDDDD

I musieli (kontraktornia wypłacała wynagrodzenia, ale nie dostawała kasy od klienta) :D

OK. Wygląda na konflikt między klientem a kontraktornią. TL mógł cię zaatakować po prostu dlatego, że byłeś poręcznym argumentem na to, że kontraktornia dostarcza słaby towar.

To bardziej ten senior atakował, a TL bardziej zamiatał pod dywan.

Ja niestety nadawałem się na kozła ofiarnego ze względu na niższe kompetencje w stosowanej projekcie technologii (w trakcie projektu nagle zmienili język programowania i związane z językiem biblioteki oraz paradygmat programowania).

Plus niestety moja brak pewności siebie (nowy kontrahent, nowa firma, pierwszy raz w kontraktorni i korpo, zmiana technologii na taką, w której nie czułem się pewnie).

Z drugiej strony, TL mógł mieć rację co do twoich kompetencji, ale nie miał formalnych możliwości cię wyrzucić z zespołu (dość częsta patologia), więc robił, co mógł by uprzykrzyć ci życie.

Nie mógł mieć rację, tylko miał rację co do moich kompetencji, bo w projekcie zmienili nawet język programowania na zupełnie inny niż ten do którego się rekrutowałem.

W języku wskazanym w ogłoszeniu miałem już kilkanaście lat doświadczenia komercyjnego, a w tym nowym ok. 2-3 lata.

Nowy język nie był wymieniony w ogłoszeniu, wiedza z tego języka nie była sprawdzana na rozmowie technicznej ani w zadaniu rekrutacyjnym.

W każdym razie, nie jestem szczególnie zdziwiony, że kontraktornia cię nie broniła. Oni mają swoje interesy i nie będą się kłócić z tym, kto płaci.

Najmniej przyjemny zespół, w jakim pracowałem, to była właśnie sytuacja gdzie regularni pracownicy byli przeciwko współpracy z kontraktorami. Mieli ogromne pretensje, gdy poznali różnice zarobków i nie byli też pewni swojej pozycji. Mieliśmy ciche dni i sabotaż pasywny. Pewnie tak się czują Hindusi na co dzień.

Tego na szczęście nie doświadczyłem.

Iamblue napisał(a):

Pamiętam w jednym z zespołów programistę, który uważał się za osobę niesamowicie silną technicznie (no radził sobie dobrze, ale nie był jeszcze alfą i omegą ). Na komentarze na review reagował alergicznie i traktował jako atak personalny.

Tamten senior porównywał obiekty w C++ za pomocą memcmp :D

Jeśli komentarz był dziełem kogoś z podobnym stażem pracy i umiejętnościami to zaczynał być dla tej osoby utrapieniem, odgryzał się pierdyliardem niepotrzebnych komentarzy pod zmianami naniesionymi przez tą osobę - nie była to konstruktywna krytyka czy faktyczne błędy tylko "ja bym to zrobił tak i tak więc popraw żeby tak było". Jeśli senior lub TL się nie wypowiedzieli, że to dorabianie bezsensownie roboty i żeby odpuścił sobie to cisnął to tak długo, aż dana osoba zgłaszała chęć zmiany projektu.

Odnoszę wrażenie, że tak było i w moim przypadku, ciągle coś mu nie pasowało.

Być może nagrabiłem sobie tym, że robiąc review kodu seniora zauważyłem, że porównuje obiekty w C++ funkcją memcmp i napisałem coś w stylu "Comparing C++ objects using memcmp is a risky business".

Chociaż była inna sytuacja, która mogła przyczynić się do niechęci do mnie, gdy przypadkiem okazało się, że napisana przez niego funkcja nie działa - próbowałem wspólnie z jednym juniorem ustalić jak użyć jego funkcji, ale nie udawało się. Zapytałem więc seniora. Senior napisał "ale macie jakiś konkretny problem do rozwiązania, czy piszecie kod, który ma za zadanie użyć wszystkich funkcji?". Później w czasie tej samej rozmowy trochę spuścił z tonu, ale do błędu nigdy się nie przyznał. Napisał tylko, że kompilator dziwnie się zachowuje i trzeba to przeanalizować xD

No i miałem okazję obserwować zachowanie seniora podczas rozmowy technicznej, bo to on mnie przesłuchiwał. Co najmniej dwukrotnie wprowadzał mnie w błąd. Raz celowo, drugi raz nie wiem (może się mylił, może celowo). Ale jak się przy tym cieszył!

Natomiast wszystkich poprawnych odpowiedzi słuchał z grobową miną, ze smutkiem, był spięty. A w większości dobrze odpowiadałem na pytania techniczne, wyjątkiem była jedna sytuacja, gdy celowo wprowadził mnie w błąd pytając "Dlaczego system X jest Y?", ale i w tym przypadku starałem się jedynie uzasadnić tezę postawioną w pytaniu, bo od tego seniora zależało czy dostanę kontrakt - też się przy tym bardzo cieszył.

No i kod w projekcie to było spaghetti prawie bez komentarzy, a ja naiwnie zaproponowałem podczas calla, żeby zacząć komentować i podałem przykład z projektu open source :D

To co mówisz, że tłumaczyłeś seniorowi długo czemu zrobiłeś to czy tamto może było tak odbierane? Nie tłumacze ch&$*wego zachowania, którego doświadczyłeś ale bywa też tak, że coś co tobie wydaje się zwyczajnym wyjaśnieniem swojego postępowania, które uważasz za słuszne dla innych brzmi jak przeciwstawianie się temu co z założenia zespół ma dowieźć.

Wątpię, żeby zespół miał dowieźć np. wielowątkowy kod, który używa obiektów po zwolnieniu zajmowanej przez nie pamięci na stosie w innym wątku :)

Była też sytuacja ze zwalnianiem zajmowanych zasobów - napisałem klasę, która tymi zasobami zarządzała, próbowałem argumentować, ale musiałem usunąć i zrobić tak jak chcieli, czyli nie zwalniać tych zasobów.

Chociaż co do przeciwstawianie się temu co z założenia zespół ma dowieźć, to rzeczywiście tak mogło być, bo z tym moim zwalnianiem zasobów, to później inny senior powiedział, że nie ma zwalniania tych zasobów w scope :)

A był do daemon, który teoretycznie miał pracować 24/7/365 - fragment infrastruktury sieciowej 5G xD

Już wcale mnie to nie dziwi, że klient zażądał od kontraktorni poprawiania za darmo :P

3
yarel napisał(a):

Podasz przykłady tych jednozdaniowych tasków?

no to daj analogiczny ale zmyślony przykład — Miang 2022-09-27 02:21

Wymyśliłem - współpraca przy projekcie wyglądała mniej więcej tak (projekt był informatyczny, ale z uwagi na NDA dałem abstrakcyjny przykład budowlany):

Przykład 1:

  • Mój task: wykonać instalację elektryczną w budynku.

  • Task seniora 1: powiesić żyrandole i podłączyć do instalacji elektrycznej.

  • Następnie na daily:

    Ja: wykonałem instalację elektryczną. Task uważam za zakończony, jednak mogę zająć się również żyrandolami, bo skończyłem wcześniej niż planowałem.

    Senior 1: Dlaczego żyrandole nie powieszone? Twoim obowiązkiem jest branie odpowiedzialności za doprowadzanie tasków do końca i dbałość o jakość wykonywanej pracy!

    TL do mnie: Wieszaj te żyrandole!

Przykład 2:

  • Mój task: Pomalować ściany w budynku

    Ja: W którym budynku mam pomalować te ściany? W projekcie zajmujemy się kilkudziesięcioma budynkami.

    TL: Niesamodzielność!

    Ja: Na jaki mam kolor pomalować te ściany? Koloru nie ma w dokumentacji.

    TL: Niesamodzielność!

  • Po zrobieniu taska rozmowa na daily:

    Ja: pomalowałem ściany na standardowy biały kolor. Przed malowaniem usunąłem ze ścian stare tapety - zgodnie z przekazaną mi przez seniora 1 zasadą, że mam dbać o jakość wykonywanej przeze mnie pracy.

    Senior 1: Po co usuwałeś te stare tapety? Nie mów, że zgodnie z tym co powiedziałem, bo to passive aggressive! Passive aggressive!

    Senior 2: Nie ma usuwania tych starych tapet w scope.

    Senior 1: I dlaczego pomalowałeś na biało?! Miały być fioletowe!

    TL: Przyklejaj z powrotem te stare tapety i maluj po tych tapetach. Na fioletowo!

1

nna sytuacja: musiałem przez kilka minut tłumaczyć seniorowi w projekcie, że jak w C++ niszczymy obiekt i zwalniamy zajmowaną przez obiekt pamięć, a w innym wątku mamy wskaźnik na ten obiekt i w dalszym ciągu próbujemy z niego korzystać, to nie jest OK :( Na szczęście tym razem senior zrozumiał

To ile ten stos ma lat 20 że wy tam gołych wskaxników używacie? Po co projektować klasy co robią RAII ak masz smart pointery. Oczywiście są pewne przypadki gdzie robienie takich opakowań ma sens. Ale z tego co opisałes to wyglądąło jak klasyk dla unique_ptr.
edit:
tam widziałbym gołe wskaźniki jak by to była gra albo jakiś real time gdzie każdy narzut to problem. ale z tego rozumiem że to chyba nie tego typu projekt.

0

Ja bym ich wszystkich po prostu pozabijał. To przynajmniej obaliłoby wszelkie zarzuty o "passive agresive".

0
Czulu napisał(a):

Ja bym ich wszystkich po prostu pozabijał

Kiedyś można było wyzwać drugiego człowieka na udeptaną ziemie. To były czasy. Teraz już nie ma czasów

Przynajmniej oficjalnie nie ma już czasów. Znajomy został kiedyś wyzwany na udeptaną ziemię, ale to już inna historia

0
revcorey napisał(a):

nna sytuacja: musiałem przez kilka minut tłumaczyć seniorowi w projekcie, że jak w C++ niszczymy obiekt i zwalniamy zajmowaną przez obiekt pamięć, a w innym wątku mamy wskaźnik na ten obiekt i w dalszym ciągu próbujemy z niego korzystać, to nie jest OK :( Na szczęście tym razem senior zrozumiał

Tam były smart pointery. Niestety senior był bardziej "smart" od pointerów i zrobił tak, że obiekt lokalny na stosie znikał po wyjściu z funkcji, a w innym wątku był wskaźnik na ten zniknięty obiekt

To ile ten stos ma lat 20 że wy tam gołych wskaxników używacie? Po co projektować klasy co robią RAII ak masz smart pointery. Oczywiście są pewne przypadki gdzie robienie takich opakowań ma sens. Ale z tego co opisałes to wyglądąło jak klasyk dla unique_ptr.

To był kod pisany od zera, a po maksymalnie 3 miesiącach było już takie spaghetti, że mimo smart pointerów obiekt znikał, a w dalszym ciągu był wskaźnik.

Pod innymi względami to też było spaghetti, nie chodzi tylko o te wskaźniki.

edit:
tam widziałbym gołe wskaźniki jak by to była gra albo jakiś real time gdzie każdy narzut to problem. ale z tego rozumiem że to chyba nie tego typu projekt.

Nie żaden narzut, to takie spaghetti - jak wyżej.

2
asdfgh napisał(a):

Obawiam się, że może położyć się to cieniem na mojej karierze.

Nikogo to nie będzie obchodzić

asdfgh napisał(a):

Byłem oczerniany w kontraktorni.

Zaczęło się od jednego członka zespołu, który np. zarzucał mi przy innych brak dbałości o jakość kodu, pomawiał mnie przy innych, że dopuszczam się zachowań typu passive-aggressive. Wpierał mi nie moje pomysły (nietrafione), zarzucał mi, że proponowałem wrzucanie wszystkiego "jak leci" do mastera z błędami.

Robił to w ten sposób, że treść tych pomówień docierała do innych - na callach z innymi osobami, na daily z całym zespołem, w rozmowach w cztery oczy z innymi.

Skończyło się to tak, że byłem zmuszony do zmiany projektu, bo nie byłem w stanie pracować.

Na podstawie samego tylko tego opisu, nie jestem w stanie stwierdzić kto jest ofiarą a kto nie. Może Ty, może zespół w którym pracowałeś.

asdfgh napisał(a):

Przenieśli mnie do jakiegoś innego g***o-projektu, gdzie było takie szambo w kodzie, że nie byłem w stanie pracować i złożyłem wypowiedzenie.

To mi trochę nie pasuje, bo z reguły osoby które faktycznie są dojeżdżane w firmach, raczej nie zmieniają dwa razy projektów. To (w mojej) opinii robią osoby, które muszą dostać to czego chcą, a jak nie to bojkotują i rzucają papierami.

asdfgh napisał(a):

Na koniec zarzucili mi nieokreślone "złe zachowanie" i "oskarżanie" w związku z tym, że zachowanie tego członka zespołu do HR i na jednym z ostatnich daily pożegnałem się z zespołem mówiąc, że odchodę z powodu przemocowego zachowania jednego z członków zespołu, nie wdając się w szczegóły.

Zarzucili mi też "niesamodzielność". Opisy tasków były w projekcie często jednozdaniowe, z których niewiele wynikało, a jeśli dobrze rozumiem treść zarzutu, to byłem "niesamodzielny", bo nie wiedziałem czego ode mnie oczekują i dopytywałem.

Zarzuty "złego zachowania", "oskarżania" i "niesamodzielności" były przekazane mi jako feedback na koniec współpracy za pośrednictwem TL drugiego projektu, a więc znowu w ten sposób, że dotarły do innej osoby.

Jednozdaniowe opisy zadań to jest coś zupełnie powszechnego, więc nie sądzę że możesz się tym bronić. Używanie takich określeń jak "przemocowego zachowania" też raczej nie świadczy dobrze o Tobie, bo sugeruje nie chęć obrony siebie, tylko chęć wywarcia jakiegoś wpływu.

asdfgh napisał(a):

Ścigać ich jakoś, czy sobie darować?

Olej sprawę całkowicie, znajdź inną pracę, i postaraj się następnym razem dopasować do zespołu w którym pracujesz. Pomyśl, że być może w starej pracy mieli rację, i postaraj się być bardziej samodzielny, i być może nie wrzucaj kodu z błędami do mastera - na wszelki wypadek, gdyby okazało się że jednak nie masz racji - wtedy Ci to wyjdzie na dobre.

Kolejne pytanie: w jaki sposób i kogo ścigać. Z tego co mi wiadomo, to inaczej to wygląda gdy sprawca jest pracownikiem, a inaczej gdy jest samozatrudniony.

Nikogo, zostaw sprawę.

0
Riddle napisał(a):

Na podstawie samego tylko tego opisu, nie jestem w stanie stwierdzić kto jest ofiarą a kto nie.

Ja nie proszę o ocenę kto jest ofiarą, bo z oczywistych powodów nie mogę tutaj przedstawić szczegółów, ani tym bardziej dowodów, ale uwierz mi, że dowody mam.

Może Ty, może zespół w którym pracowałeś.

Uważam, że ucierpiał cały zespół. Generalnie zarówno działania kontraktorni, jak i tego seniora uważam za szkodliwe dla zespołu jako całości, bo jak byś się czuł, gdybyś wiedział, że rozmowa z innymi członkami zespołu jest w firmie uważana za niesamodzielność, a twój znajomy doświadcza przemocy ze strony członka zespołu w którym jesteś?

Co do tej "niesamodzielności", to autentyczny przypadek z tej kontraktorni: próbowaliśmy wspólnie z innym członkiem zespołu użyć jednej z funkcji napisanej przez tamtego seniora, ale nie byliśmy w stanie. Finalnie okazało się, że funkcja napisana przez seniora nie działa. Ale próba skonsultowania z seniorem użycia jego funkcji to w tej kontraktorni "niesamodzielność", więc mamy sami się męczyć.

Bonus: po dość długim wspólnym debugowaniu zdecydowaliśmy się zapytać seniora. Senior-frustrat (autor niedziałającej funkcji) nie mógł znieść, że jego funkcja nie działa i najpierw odpowiedział "Ale macie konkretny problem do rozwiązania, czy piszecie kod mający za zadanie użyć wszystkich funkcji w projekcie"? Później nieco spuścił z tonu, ale do błędu się nie przyznał, napisał tylko, że kompilator dziwnie się zachowuje i trzeba to przeanalizować.

Jak byś funkcjonował w zespole w którym jest ktoś, kto próbuje nieustannie się do czegoś u ciebie przyczepić, dla którego to zawsze winni są inni (i ten złośliwy kompilator...), a jego kod jest zawsze idealny (mimo że np. porównuje obiekty w C++ za pomocą memcmp, nie zwalnia zaalokowanych zasobów i używa wskaźników do nieistniejących obiektów).

To mi trochę nie pasuje, bo z reguły osoby które faktycznie są dojeżdżane w firmach, raczej nie zmieniają dwa razy projektów. To (w mojej) opinii robią osoby, które muszą dostać to czego chcą, a jak nie to bojkotują i rzucają papierami.

A czy to ma jakiś związek ze tematem? Podpowiedź: nie, nie zmieniałem dwukrotnie projektu, niczego nie bojkotowałem.

Najpierw nakłamali w rekrutacji, później jeszcze pojawił się ten przemocowiec w zespole, więc zmieniłem projekt. Przedstawiając mi drugi projekt, też nakłamali, więc po kilku miesiącach złożyłem wypowiedzenie.

Jednozdaniowe opisy zadań to jest coś zupełnie powszechnego, więc nie sądzę że możesz się tym bronić.

Chyba jednak nie są takie powszechne, może w januszeksach chcących zrobić szybko i byle jak, bo jednak opisy tasków to jest podstawa komunikacji oczekiwań wobec programisty.

A co powiesz na to, że w drugim projekcie nie było żadnego systemu zarządzania ticketami, a szczegóły tasków były najczęściej przekazywane "na gębę"?

Nie tylko dokumentacja tasków była problemem. Do tej pory pamiętam jak jeden z doświadczonych członków zespołu z rozbrajającą szczerością przyznał kiedyś w rozmowie ze mną, że praca nad projektem odbywa się metodą prób i błędów, oraz że nie rozumie działania własnego commitowanego kodu.

Zresztą w Polsce powszechny jest też np. widok pijanych żuli w parkach i walające się wszędzie butelki, ale powszechność zjawiska nie oznacza, że jest ono dobre. Dotyczy to i jednozdaniowych opisów tasków, i żuli w parkach.

Używanie takich określeń jak "przemocowego zachowania" też raczej nie świadczy dobrze o Tobie, bo sugeruje nie chęć obrony siebie, tylko chęć wywarcia jakiegoś wpływu.

Dlaczego ma nie świadczyć dobrze o mnie, skoro to ten senior zarzucał mi passive-aggressive i robił to właśnie w celu wywarcia na mnie wpływu? Zresztą nie była to jego jedyna zagrywka, robił to wielokrotnie, więc o co Ci chodzi?

A jako, że agresja w celu wywarcia na mnie wpływu = przemoc, więc mam pełne prawo twierdzić, że doświadczyłem przemocy.

Olej sprawę całkowicie, znajdź inną pracę, i postaraj się następnym razem dopasować do zespołu w którym pracujesz.

Przecież napisałem, że już dawno sobie znalazłem nową.

Pomyśl, że być może w starej pracy mieli rację, i postaraj się być bardziej samodzielny,

A co byś mi doradził w zakresie mojej samodzielności, biorąc pod uwagę że jestem programistą?

i być może nie wrzucaj kodu z błędami do mastera

Jakie nie wrzucaj kodu z błędami do mastera? Ja nie proponowałem wrzucania wszystkiego jak leci do mastera, ani tym bardziej nie wrzucałem tam kodu z błędami.

Zdajesz sobie sprawę, że to ten senior wymyślił z tym masterem jako rzekomo moje?

Akurat co do kodu z błędami, to w masterze było tego dużo, ale nie było to moje. Zarówno niedziałająca funkcja, o której pisałem, jak i kod używający wskaźnika do zwolnionego obiektu były w masterze, ale był to kod tego nieszczęsnego seniora. Oba problemy zostały wykryte przeze mnie, więc może dlatego tak na mnie wsiadał.

Pewnym wyjątkiem jest wspomniana kwestia zwalniania zasobów: napisałem kod zwalniający uprzednio zaalokowane zasoby, ale najpierw problematyczny senior miał z tym problem że zwalniam te zasoby, później drugi senior stwierdził, że zwalniania zasobów nie ma w scope, próbowałem się sprzeciwiać, jednak finalnie kazano mi usunąć mi zwalnianie zasobów i w takiej postaci kod trafił do mastera.

na wszelki wypadek, gdyby okazało się że jednak nie masz racji - wtedy Ci to wyjdzie na dobre.

Biorąc pod uwagę, że później dowiedziałem się, że nawet klient stwierdził, że jest zrobione tak źle, że kontraktornia ma poprawiać za darmo, to jednak chyba miałem rację, tylko nie miałem siły przebicia :D

1

@asdfgh i @asdfghjk czemu założyłeś dwa konta?

0

Straciłem hasło do tego pierwszego. Konto było założone na tymczasowego maila.

1

Czasami jednozdaniowy task może być całkiem zrozumiały odnośnie tego, co trzeba zrobić. Np. napisać unity testy do modułu foo. Albo wgrać do przycisków w top panelu ikonki, które są w załączniku, zamiast starych.. Krótkie, a można zrozumieć, co trzeba zrobić. Długość to nie wszystko. — LukeJL

Tyle że to nie była jakaś aplikacja webowa w której zmieniamy ikonki.

To był kod do wykorzystania w przyszłej infrastrukturze 5G, od którego działania może zależeć nawet ludzkie życie. Wyobraźmy sobie sytuację, że padają usługi telekomunikacyjne i nie można dodzwonić się na numery alarmowe. Nie da się wezwać straży pożarnej, pogotowia ratunkowego do wypadku samochodowego lub zawału.

Dobrze, że jest jakaś redundancja, ale nawet to niekoniecznie Cię ratuje, bo przypadkiem do kodu trafi powtarzalny bug i padnie całość.

Poza tym, jeśli chodzi o te nieszczęsne opisy tasków, to zdarzało się, że nie było wiadomo, o co chodzi. Twoje przykłady mogłyby kształtować się następująco:

  • napisać unity testy do modułu foo (do czego te unit testy mają być napisane?)
  • wgrać do przycisków w top panelu ikonki, które są w załączniku, zamiast starych (gdzie wgrać te ikonki? skąd te ikonki wziąć?)

Później pretensje, że nie to miało być zrobione: że zrobiłem za mało, za dużo, nie tak jak chcieli, itd.

Pamiętaj, że dopytywanie to "niesamodzielność". Nawet kilkuminutowa rozmowa z kolegą z zespołu, który nad danym fragmentem pracuje. Podążając za Twoimi przykładami, żadnego załącznika z ikonkami by nie było, a nie mógłbyś zapytać grafika, gdzie wrzucił te nowe ikonki, bo to "niesamodzielność".

Dobrze, że poruszyłeś temat testów, bo też było "ciekawie":

W pierwszym projekcie:

  • początkowo pracowałem nad kodem, do którego nie pisaliśmy testów, ale testowałem swój kod manualnie
  • później były testy, ale jakie one były, to woła o pomstę do nieba

W drugim projekcie:

  • duży i nietypowy projekt, jakieś 300 milionów linii kodu - komercyjny system operacyjny
  • a testy zepsute od trzech releasów
  • testowałem swój kod manualnie, ale sugerowano mi aby tego nie robić i wrzucać nieprzetestowany kod (mówiono, że testować ma sobie klient)
  • brak procedury testowej, ale byłem w stanie wykonać test w od 30 minut do 8 godzin (większość czasu zajmowało stawianie środowiska testowego i kompilacja)
  • jak się środowisko testowe wysypało, to często nie opłacało się go naprawiać inaczej niż przez postawienie od nowa
0

To wygląda jak wątek w którym przyszedłeś się wyżalić i ponarzekać

1

jak to mówił Józef Stalin - kadry decydują o wszystkim
kiedyś też miałem zarzut, że muszę mieć dobrze opisane taski - serio, mój przełożony tak mi powiedział, że taki dostał przekaz od PM
straszne - chcę wiedzieć co mam robić, no bezczelność

Jaka jest na to rada - tu pozdrawiam chyba najlepszego leada jakiego miałem Marcina P (nie wiem czy mogę mu reklamę robić i podać nazwisko, ale to był taki ktoś że jego się nie zapomina i to z tej dobrej strony). Byliśmy zespołem świeżaków. Wszyscy zaczęliśmy pracę w odstępie miesiąca - jedni w jednym, drudzy w kolejnym. On nas brał do salki, brał jednego kolegę bardziej doświadczonego i jechaliśmy taski z jiry od góry do dołu, rozkminialiśmy co trzeba robić - on był też pisarzem, uzupełniał brakujące rzeczy.
Z czasem i doświadczeniem zauważyliśmy, że po prostu nie trzeba tych spotkań - bo generalnie już te opisy, które były więcej mówią.
Na początku wyglądało to jak strata czasu, ale zaprocentowało w przyszłości i to niedalekiej.

Także, ze wszystkim można sobie poradzić, nawet z taskami tak, a nie inaczej opisanymi, to zależy od ludzi i moim zdaniem nie ma co się obwiniać za niezrozumiały opis.

Co do konfliktu
Miałem jeden raz w życiu - w czasach, gdy tu można było z anonima, napisałem, bo nie umiałem sobie poradzić, albo zmiana pracy, albo wydupczenie gościowi luja ogłuszacza. Na forum stwierdzono, że to na pewno przez to że jestem kiepskim devem.
Koniec końców sprawa rozwiązała się sama, bo była możliwość zmiany zespołu.
Sam po sobie wiem, że sytuacja konfliktu nie jest łatwa - próbowałem rozmawiać z przełożonym, szukać porady tutaj - bez sukcesu.
Kolega z nowego zespołu, do którego trafiłem, uciekając do problemu, z którym utrzymujemy jakiś tam kontakt powiedział, że wyglądałem wtedy jak zbity pies.

Dane mi było parę razy oglądać takie konflikty z boku, gdy jeden kolo dojeżdżał innych i to nawet był mój kolega z pracy, z którym mi osobiście się fajnie współpracowało, a prywatnie dostawałem info, czy mógłbym pomóc, bo ten ktoś zachowuje się wobec nich tak a nie inaczej. Przełożony, z którym byłem na dobrej stopie potrafił tak jebać mojego kolegę, że ten aż się zwolnił.
Nie było to częste, ot parę przypadków, łącznie z moim, to palców z jednej ręki wystarczy aby to policzyć. To też było ciężkie i niezręczne, bycie między młotem a kowadłem, czy samemu tego doświadczać. Nie wiem czy cokolwiek pomogłem, ale pogadać pogadałem. Tak czy siak, takie rzeczy się dzieją, ale ja nie umiem się w tym odnaleźć i nic dziwnego, że autor wątku też nie potrafi.

Z drugiej strony co do uczestników dyskusji, to też jest trudno wejść w buty osoby która jest jakoś szykanowana, bo sam miałem z tym problem na zasadzie, no przecież on taki straszny chyba nie jest, znamy się, robimy razem itd - to może z nimi coś nie tak. Też się pojawiały takie myśli.

1
Riddle napisał(a):

@asdfgh i @asdfghjk czemu założyłeś dwa konta?

Riddle napisał(a):

To wygląda jak wątek w którym przyszedłeś się wyżalić i ponarzekać

Ale po co ten offtopic? Zwyczajnie się czepiasz, jak chcesz sobie urządzać pogaduszki, to zagadaj do niego na priv, nie wstydź się

0
S4t napisał(a):

Moim zdanie to przeniesie nie do g**no projektu było jasnym sygnałem, żebyś sobie poszedł nie móc pracować gdzie indziej. Ja bym się zaczął zastanawiać po czymś takim, co zemną jest nie tak.

Powierzyli mi pracę nad dużym i nietypowym projektem liczącym jakieś 300 milionów linii kodu - komercyjnym systemem operacyjnym, żebym poszedł sobie nie móc pracować gdzie indziej. Seems legit :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1