Wpis z mikrobloga

Dołączyłem do firmy produktowej rok temu 1 sierpnia. Związane to było to z tym, że w poprzedniej firmie w której byłem już 2.5 roku zaczęły się sypać projekty, bo była to kontraktornia. Ostatni projekt w którym tam byłem został ucięty z dnia na dzień, a ja trafiłem na ławeczkę. Kazano mi pisać na nowo CV i podrzucano je do klientów. Mimo, że w tej kontraktornii byłem pracownikiem na UoP czułem się mentalnie jakbym szukał na nowo pracy. W końcu znalazłem nowy projekt, ale było to takie "bagno", że nie mogłem się odnaleźć, czułem się jakbym zaczynał jakąś nową pracę. Do tego firma amerykańska i wymagane było pracować od 14-22. Długo tak nie dałem rady pociągnąć. Do tego mam małego synka i żona przejęła większość obowiązków. Po namysłach stwierdziłem, że będę szukać pracy w jakiejś korporacji, firmie produktowej. W tej kontraktornii było już całkiem krucho z projektami, bo to był tamtem rok, kiedy kryzys w IT zaczął potęgować.

Szukanie kolejnej pracy całkowicie zaczęło mnie dobijać psychicznie, byłem wyczerpany. W pewnym momencie byłem tak zrezygnowany, że przestałem się uczyć pod rekrutacje i po prostu chodziłem na rozmowy. W końcu do jednej firmy produktowej, duża korporacja stwierdziłem że się zatrudniam. Przeszedłem rozmowę techniczną, mam 7 lat doświadczenia jako Java Developer i na koniec miałem rozmowę z managerem. Powiedział mi wtedy, że pracują zespołowo w Scrumie, że najpierw dostaję umowę na 3 miesiące, a potem na czas nieokreślony. Pomyślałem sobie spoko i przyjąłem ofertę.

Gdy przyjąłem się do pracy okazało się, że będę w zespole pracować jako programista sam, w sensie bez innych backend developerów. Oprócz mnie w zespole będzie 2 Frontendowców, jeden tester manualny, jeden analityk (który działa na dwa zespoły), oraz dwóch Product Ownerów (także działających na dwa zespoły).

Na szczęście na okres wdrożenia, czyli jeden miesiąc został mi przydzielony programista z innego zespołu, jednak w ogóle jakoś nie miał czasu mnie wdrażać. Pamiętam jak mi powiedział, że ma zadania na Sprint i terminy i w ogóle nie ma uwzględnionego czasu na poświęcanie mi. Już wtedy mi się zapaliła pomarańczowa lampka. Jednak jakoś nie narzekałem, dopytywałem się go co i jak, wiele rzeczy sam też byłem w stanie rozkminić i jakoś zacząłem rozwiązywać pierwsze powierzone mi zadania. Początkowy okres w tej firmie przeminął tak, że głównie dopisywałem nowe funkcjonalności do instniejących (dodawanie nowego pola w JSONie), jakieś walidacje, dodatkowe kolumny, ewentualnie jakaś nowa logika. Nie były to zadania kompleksowe, typu utworzenie nowego serwisu, który komunikuje się z 3 innymi systemami, coś wysyła na Kafkę, gdzieś w międzyczasie odpalany jest jakiś Batch itd.

Pozytywnie przeszedłem okres próbny i tutaj pojawił się temat przedłużenia umowy. Dowiedziałem się od managera, że dostaję umowę na rok, ale on dałby mi na czas nieokreślony, ale zmieniła się polityka firmy i od teraz druga umowa jest na rok czasu. No trudno, okłamaliście mnie. Jednak no nie powiedziałem mu wtedy tego. Rynek też za kolorowy nie jest, miałem dość szukania kolejnej pracy i tak zacząłem dalej pracować.

No i tak sobie pracowałem aż do kwietnia, kiedy okazało się wewnątrz firmy, że projekt utrzymaniowy zamykają i przechodzę do nowego projektu. To co mi się zmieniło, to cały zespół. Jednak struktura zespołu i liczba osób pozostała ta sama. Wciąż jestem sam na Backendzie. Tutaj projekt zaczął się całkiem inaczej, bo powierzono mi budowanie nowych usług i kompleksowe rozwiązanie zahaczające o 15 mikroserwisów (teraz tyle wyszło). Zacząłem pracę głównie od analizy wymagań z analitykiem, spisywaniu zadań, rozbijaniu na mniejsze, głównie od technicznego aspektu byłem dla niego wsparciem.

Zaczęło mnie frustrować z czasem coraz bardziej to że jestem sam w zespole. Od 7 lat jak pracuję zawsze pracowałem zespołowo, w zespołach było przynajmniej 2 developerów, a byłem w takim zespołach gdzie było ich nawet 8. Jak mam sesje Refinementów w zespole to nawet nie mam z nikim przegadać docelowego rozwiązania. Wszystko robię tak, jak mi się "wydaje". Sami też wiecie o tym, kto doświadczony, że jak samemu się pracuje to to nie jest to samo, jak ktoś zawsze "inny" spojrzy na docelowe rozwiązanie, czy z innym programistą zrobi się "burzę mózgów".

Ze względu na brak technicznych Refinementów zadań, rozmów technicznych i tak dalej, zadania które zaczęto mi zlecać, zaczęły być bardzo spłycone i opisane powierzchownie. Mi tak samo ciężko było te zadania precyzyjnie wyceniać. W firmie w której pracuję jest na pewno ponad 100+ mikroserwisów jak nie więcej. Bardzo często dopiero w trakcie implementacji zadania wychodziło wiele smaczków, rzeczy do rozkminienia, czy nauki nowej technologii. W firmie w której pracuje za każdy mikroserwis lub kilka (zazwyczaj domenowo) odpowiedzialne są inne zespoły ludzi. Gdy chciałem nieraz coś zrobić w danym mikroserwisie, bardzo często była potrzebna komunikacja z innym zespołem programistów. Z racji tego, że jestem sam mam wrażenie że oni nieraz nie wiedzą co ja chcę tam zrobić. Odczuwam też że nie mają czasu się ze mną spotkać i przegadać. Jeden Senior Developer odpowiedzialny za mikroserwis w którym miałem zrobić zmianę nie miał czasu ze mną pogadać. Zdarzyło mi się już któryś raz z kolei robić zmianę do mikroserwisu bez konsultacji z nikim, tak jak mi się wydawało. No i wtedy dopiero podczas review wychodziło mnóstwo różnych rzeczy np. takie że on by to inaczej zrobił. Osobiście uważam, że takie coś powinno wyjść na Refinemencie, bo podczas wyceny wycenia się co ma być zrobione i jak. Doprowadza mnie to do szewskiej pasji.

Kolejnym problemem jest to, że tak jak pisałem wcześniej, w zespole nie mam nikogo technicznego od strony programowania i Product Ownerzy myślą, że ja mam "trudności". Że są jakieś "problemy, ale nie za bardzo mi są w stanie pomóc. To co tutaj przed Wami napisałem poruszałem na Retrospektywach wiele razy, ale mam wrażenie że oni nie potrafią sobie tego problemu wyobrazić.

Ostatnio mieliśmy zadanie do wyceny które było bardzo powierzchownie opisane, no bo przecież z kim miałem zrobić analizę techniczną na Refinemencie. Wyceniłem je na 8SP (i to był błąd, bo zrobiłem to nawet nie otwierając tego mikroserwisu gdzie to ma być zaimplementowane). Gdy zacząłem implementować daną zmianę w tymże mikroserwisie i były momenty że potrzebowałem się coś dopytać ludzi z tego zespołu o coś, oni odbierali to w ten sposób że po co ja im w ogóle zawracam głowę. Z jednym gościem co chciałem coś przegadać gdzie wpiąć swoją usługę nawet nie chciał się zdzwonić na Teams i pogadać, tylko trochę buracko odpisywał.

Znowu zacząłem to samemu robić na oślep i jeszcze nie skończyłem. Bardzo dużo rzeczy z kodu muszę rozczytywać i rozkminiać i powoli, bardzo powoli, ale sukcesywnie do przodu implementuję tą zmianę. Z kolei wiem jak że jak utworzę Pull Requesta to będzie kolejna burza mózgów.

Ogólnie taka metodyka pracy co jak co w jakimś tam stopniu jest znośna, tylko problem pojawia się, bo zaczęto dopytywać mnie o zadania oraz dlaczego nie zostały ukończone skoro bierzemy na Sprint. Nie chce mi się już tym ludziom tłumaczyć, dlaczego to tyle trwa bo to tak jakbym równie dobrze tłumaczył to do mojej żony. Wszystko jest spłaszczane do pytania "dlaczego nie ukończone", "dlaczego tyle trwa". A nie ma sensu bym im tłumaczył dlaczego, bo i tak nie zrozumieją.

Brakuje mi pracy zespołowej, gdzie rozmawiałbym o zadaniach z technicznym managerem, liderem, innymi ludźmi technicznymi, że wiedziałbym, że w razie czego, mogę się kogoś dopytać, z kimś wymienić słówko, zamienić zdanie oraz to, że oni by rozumieli w pewnym sensie co jest do zrobienia. Miałem tak w wielu innych zespołach poprzednio.

Do moich obowiązków oprócz programowania należy także z racji tego że jestem sam implementacja zadań od A od Z, dbanie o nasze środowisko, pomoc analitykowi (bo nie jest za bardzo techniczny), komunikacja z Product Ownerami o progresie zdania, ustalanie priorytetów. Czuję się, że mam trochę za dużo obowiązków na swojej roli. Nie ma nadgodzin w mojej firmie, a dniówka 8h nieraz mi nie wystarcza do tego wszystkiego, by to pospinać.

Za dwa miesiące będę miał rozmowy o przedłużeniu kolejnej umowy i mam obawy, że mi nie przedłużą. Chodzi o to, że "wolno" zadania robię, ale tak jak opisałem wcześniej jest to kompleksowe i ciężkie do wyceny. Czuję też w pewnym sensie presję czasu, bo Product Owner coraz częściej gada już o "deadline"/"terminie"/"wdrożeniu".

Chciałbym jakoś mieć spokój w pracy i jestem trochę w takiej kropce. Wiem, że trawa jest zawsze bardziej zielona u sąsiada, ale tak luźno piszę swoje przemyślenia w ten sobotni, deszczowy dzień. Każdego dnia także gdy zaczynam czuję taką niechęć do pracy, coś jak wypalenie, narastającą frustrację, ale to chyba idzie wyczytać z tego postu. Dzięki Mirku jeżeli wytrwałeś aż tutaj.

#programista15k #programowanie #pracait #korposwiat #java
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dowiedziałem się od managera, że dostaję umowę na rok, ale on dałby mi na czas nieokreślony, ale zmieniła się polityka firmy i od teraz druga umowa jest na rok czasu.


@Ksiega_dusz: i w tym momencie zacząłeś szukać nowej pracy, prawda?
  • Odpowiedz
@Ksiega_dusz: brzmisz jak typowy wykopek żalący się, że go cisną i robiący darmowe nadgodziny, ale dalej brnący w to gówno zamiast pokazać ownerowi czemu to tyle trwa. Zamiast wrzucać 8SP na zmiany w jakimś microserwisie, skoro nie wiesz ile to może trwać to mówisz elo, wrzuć mi spike na następny sprint i albo zmniejsz moje capacity w sprincie, żebym miał czas najpierw przeanalizować ten mikroserwis, którego przecież nie znam albo
  • Odpowiedz
Za dwa miesiące będę miał rozmowy o przedłużeniu kolejnej umowy i mam obawy, że mi nie przedłużą. Chodzi o to, że "wolno" zadania robię


@Ksiega_dusz: Moje doświadczenie programistyczne i menadżerskie podpowiada mi, że bez problemu przedłużą Ci umowę. Wszystkie argumenty typu "za wolno" zostaną wykorzystane, żeby nie podnieść ci pensji i nie poprawić warunków pracy. Generalnie za bardzo się przejmujesz, szkoda zdrowia. Jak ci jest źle, to zmywaj się stamtąd, jak jako-tako, olewaj ich uwagi i rób swoje.

Kórwa! Co to znaczy, za wolno? Jest ktoś, kto
  • Odpowiedz
A nie ma sensu bym im tłumaczył dlaczego, bo i tak nie zrozumieją.


@Ksiega_dusz: tłumacz im, ale używaj specjalistycznego słownictwa. Oni nie będą wiedzieli o co chodzi, ale pomyślą, że najwyżej tak musiało być.
  • Odpowiedz
@Ksiega_dusz: dokładnie. Wrzuć na luz. Nie jesteś w komfortowej sytuacji, szkoda, że nie masz kogoś od kogo mógłbyś się uczyć, ale jest jak jest. Co najgorszego może się stać? Wyrzucą cię z firmy, która w takim razie oczekuje ciśnięcia bez zrozumienia tematu? Znajdziesz nową gdzie będziesz miał od kogo się uczyć i nie będzie debili w managemencie
  • Odpowiedz