Zbyt duża odpowiedzialność i stres

0

Cześć,

Pracuję w zespole jako programista Backend w Javie i jestem sam z Developerów. Sam wyceniam sobie taski, jeżeli czegoś mi brakuje to dopytuję Analityka lub ewentualnie Product Ownera. Pracuję w bardzo dużej firmie ubezpieczeniowej nad krytycznymi rzeczami. Np. jestem w stanie zrobić bubla i klientowi, któremu powinienem, nie wyświetlić ofert dotyczących danego segmentu ubezpieczeń (na tym firma dużo zarabia). To tylko taki przykład.

Mamy sztywne terminy wdrożeń. Mój Product Owner właśnie ustala jego "roadmape" na podstawie tych wdrożeń. Często robi to bez konsultacji ze mną. Potem wychodzi dopiero w trakcie prac, że nie zdążę z czymś. Nieraz muszę się tłumaczyć (chociaż on i tak nie rozumie programowania) dlaczego coś dłużej trwa. Np. że trzeba napisać testy integracyjne, gdzieś przy okazji zrobić refactor, gdzieś wychodzą różne rzeczy po drodze i bardzo często czas wykonania moich zadań się wydłuża. Jednak, ta świadomość oraz to, że on mówi otwarcie, że celuje w jakiś termin powoduje u mnie stres, poczucie presji. Bardzo często jest tak, że dopiero w trakcie realizacji zadania, jeszcze muszę dopytywać Analityka o szczegóły, których on sam do końca nie wie. Mam z nim trochę utrudnioną współpracę, ponieważ on jest rozdzielony pomiędzy dwa zespoły. Muszę mieć umiejętności negocjacyjne i nieraz się stawiać, co jest dla mnie ciężkie.

Dodatkowo, bardzo często podczas developmentu zadania, muszę pracować w całkowicie nowym mi mikroserwisie. Zdarza się, że podczas pracy dotykam 4-5 mikroserwisów. Ja także długo tam nie pracuję, bo dopiero pół roku. Dla każdego mikroserwisu, muszę się rozeznać jak wygląda kod, a następnie wdrożyć zmianę. Proces review, również bardzo długo się przeciąga. Zazwyczaj, niektórzy dają Approve bez zerknięcia nawet na kod, a niektórzy potrafią cały tydzień dyskutować w komentarzach.

Tutaj myślę, że warto nadmienić, że bardzo często muszę skontaktować się z jakimś developerem, który coś wcześniej robił i podpytać, czy nie zaburzę jego logiki lub zasięgnąć porady. Pracujemy zdalnie i nieraz jest tak, że nie mają czasu, przez co jestem zblokowany, co dodatkowo mnie stresuje.

Zmiany, które robię są nieraz bardzo krytyczne, mam dyżury nocne i tak dalej. Powoli dociera do mnie to, że trafiłem do projektu zbyt stresującego. Brakuje mi tego, jak dawniej, że miałem kolegę w zespole "backendowca" z którym zawsze mogłem porozmawiać. Brakuje mi pracy zespołowej z innymi programistami Java. Często czuję, że cała odpowiedzialność jest przepchnięta na mnie co mnie przytłacza i stresuje.

W karierze pracowałem też w sklepie "e-commerce" dość dużym jak na Polskę i tam nie było takiej "pompy", ciśnienia, że wszystko musi działać. Mam wrażenie, że praca w ubezpieczeniach, bankowości, giełdzie (tam gdzie są pieniądze) jest zbyt dla mnie stresująca.

Pieniądze, które zarabiam też jakoś wysokie nie są, bo przy 5.5 latach doświadczenia mam 18k brutto na UoP.

Mam myśli takie, by dociągnąć jeszcze do roku pracy i po prostu poszukać czegoś spokojniejszego, gdzie byłbym w zespole. (Tutaj na rozmowie mnie okłamano, mówiono, że będę w zespole programistów). W poprzedniej pracy pracowałem 2.5 roku. Czy to nie będzie wpływało jakoś na procesy rekrutacyjne?

Mam jeszcze takie myśli, by pogadać z HR Managerem o wszystkim. Z moim kierownikiem już o tym rozmawiałem i mówił mi, że tak jest i muszę się uodpornić. Męczy mnie praca, nie ma tygodnia, by mnie w jelitach nie skręcało z nerwów.

Dzięki za rady

4
SanDiego napisał(a):

Mamy sztywne terminy wdrożeń. Mój Product Owner właśnie ustala jego "roadmape" na podstawie tych wdrożeń. Często robi to bez konsultacji ze mną. Potem wychodzi dopiero w trakcie prac, że nie zdążę z czymś. Nieraz muszę się tłumaczyć (chociaż on i tak nie rozumie programowania) dlaczego coś dłużej trwa. Np. że trzeba napisać testy integracyjne, gdzieś przy okazji zrobić refactor, gdzieś wychodzą różne rzeczy po drodze i bardzo często czas wykonania moich zadań się wydłuża.

Natychmiast przestań! Żadnych testów, żadnego refaktoru, nie ma na to czasu.

Tutaj myślę, że warto nadmienić, że bardzo często muszę skontaktować się z jakimś developerem, który coś wcześniej robił i podpytać, czy nie zaburzę jego logiki lub zasięgnąć porady. Pracujemy zdalnie i nieraz jest tak, że nie mają czasu, przez co jestem zblokowany, co dodatkowo mnie stresuje.

Natychmiast przestań! Ostatni commit wygrywa. Z nikim nie konsultuj zmian, bo nie ma czasu.

Dopóki ta kupa nie zacznie płonąć, to nie będziesz mógł oskarżyć PO o doprowadzenie produktu do tragicznego stanu, więc w Twoim interesie jest, żeby zaczęła płonąć jak najszybciej.

Brakuje mi pracy zespołowej z innymi programistami Java.

No na to chyba tylko jakaś psychoterapia współuzależnień może pomóc.

Mam jeszcze takie myśli, by pogadać z HR Managerem o wszystkim. Z moim kierownikiem już o tym rozmawiałem i mówił mi, że tak jest i muszę się uodpornić. Męczy mnie praca, nie ma tygodnia, by mnie w jelitach nie skręcało z nerwów.

Rozmowy raczej nie mają sensu, porozmawiasz składając wypowiedzenie, jak już znajdziesz normalniejszą pracę.

3

Jak jesteś na UoP to przypadkiem dostań chorobowe na tydzień ;) albo urlop / urlop na żądanie. Niech przemyślą czy 1 osobowy zespół ma sens. Ale tak czy siak, od razu zacznij szukać nowej pracy.

1

Jest to ciężka sytuacja, bo łączysz tutaj kilka roli:

  • Po pierwsze, sam musisz odpowiadać przed stakeholderami za dowożenie zmian. Tutaj powinien być jakiś szef z którym jest rozmowa i ktory filtruje tę presję. O ile nie jestes leadem lub jakimś Staff inżynierem, to nie powinna być twoja rola
  • jesteś odpowiedzialny za dowożenie kodu w którym z tego co mówisz nikogo ni obchodzi dług technologiczny, testy itp. a przynajmniej nie jeśli to zaburzy ich deadline'y. Podwójna presja, bo albo sobie jeszcze bardziej skrocisz czas na dowiezienie przez dodawanie testów itp., albo wywali ci się to później.

Moim zdaniem musisz tutaj postawić swoje granice, które z tego co mówisz oni przekraczają. Parę porad:

  • Gdy musisz tykać nie swoich serwisów i czekać na kontakt od innych, powiedz że dowiezienie nie jest tylko zależne od ciebie. Tutaj rola PO, żeby poganiał inne zespoły lub załatwił ci ich pomoc. Jego wina, jeśli tak się nie stanie.
  • Zakomunikuj, że terminy powinny być ustalane z tobą, jeśli od ciebie później wymagają ich dotrzymania.
  • jeśli to nowy obszar, to powiedz że potrzebujesz dnia, żeby zapoznać się z projektem zanim złożysz jakąś estymację. Skup się na rozkminieniu czy wymagać to będzie refaktoru, kontaktu z ludźmi, dostępów/hasełek, postawienia nowej infrastruktury. Wyestymuj ile zajmie twoja robota gdy będziesz miał wszystko dane. Zakomunikuj co nie jest zależne od ciebie i gdzie PO powinien wykorzystać swoje wpływy.
  • Terminy dawaj z 2x większe, niz myślisz że naprawdę ci zejdzie. Jeśli będą opory i będą chcieli szybciej, to pomyśl czy można to z czegoś okroić i zaproponuj jakieś MVP. Liczy się tutaj 80% zysku przy 20% wysiłku. Testy prawie nigdy nie wchodzą w grę do odrzucenia, chyba że naprawdę się pali, ale to tak max raz na pół roku. Komunikuj, że odbije się to na jakości, jeśli będziesz musiał to robić szybciej.
  • ogólnie nie bój się komunikować, że brakuje ludzi do robienia tego co robisz (bus factor musi być zawsze większy od 1 :))Powiedz szefowi czego byś oczekiwał, by ci się pracowało lepiej i zaproponuj konkrety. Zawsze miej dla niego listę potencjalnych strat/ryzyko jeśli tego nie będzie.

No i też szukaj nowej pracy, jak jakaś firma cię zechce, to znaczy że jej to pół roku nie przeszkadza :). A w przyszłości możesz nawet kreatywnym CV usunąć obecne doświadczenie. Perspektywa powsyłania CV i alternatywy da ci ukojenie. W między czasie musisz postawić granice. Sporo firm ze względu na specyfikę biznesu ma dużo wewnętrznej presji krążącej. Każdy przerzuca ją jak może na innych. Postaw granice tak, byś Ty się czuł tam dobrze. Może się okazać, że będą musieli to zaakceptować, bo jednak jesteś dla nich zbyt ważny. Szkoda czasu na pracę w środowisku, które przekracza twoje granice. Słowa szefa o odporności zignoruję, bo to nie brzmi jak dobry kierownik.

2

Nieraz muszę się tłumaczyć (chociaż on i tak nie rozumie programowania) dlaczego coś dłużej trwa. Np. że trzeba napisać testy integracyjne, gdzieś przy okazji zrobić refactor ...

Hmm, musisz? Bo ten problem bardzo często występuje w IT - programiści traktowani są jak prymitywni robotnicy, którzy muszą dokładnie się tłumaczyć z każdej ułożonej cegły. Nie mów im tego - mów że zadanie/ficzer zajmie ci X czasu, gdzie w X zawiera się np. refactor zastanego syfu. Nie dlatego żeby kogokolwiek okłamywać czy oszukiwać, tylko po prostu oni tego nie zrozumieją na własną szkodę.

Mówisz "muszę zrobić refactor" biznes słyszy "nasyfiłem, posprzątam na twój koszt".
Mówisz "muszę dopisać testy" biznes słyszy "nie umiem zakodzić dobrze za pierwszym razem, to ochronię swój tyłek na twój koszt".

Można się spierać na temat moralności ukrywania pewnych szczegółów przed biznesem, ale często większe zło wynika z tego, jak biznes źle rozumie programistów. Można albo ich nauczyć się dogadywać, albo sory, mówić ich językiem i pewnych zwrotów nie używać.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.