Jestem programistą od kilku lat i z każdym kolejnym rokiem dopada mnie coraz większa niechęć do mojej pracy. Zmieniałem firmy kilkakrotnie, praktycznie wszędzie jest podobnie.
Ciągły wyścig na czas, niepokój, poganianie przez TL. Dotyka mnie poczucie bezsensu pracy - robię mało istotne rzeczy, które zajmują nieadekwatnie za dużo czasu. Czuję się jakbym był uczniakiem w szkole, któremu nauczyciel codziennie zadaje prace domowe do odrobienia.
Brak kontaktu z ludźmi, nudna monotonna praca, czytanie kodu, pisanie, testowanie. Siedzę wpatrzony w monitor po 8 godzin dzienne.
Ciągła presja na uczenie się nowych rzeczy. Nie chodzi o to, że szlifuję już zdobytą wiedzę czytając ciekawostki, nowości, ale muszę uczyć się technologii od A do Z, kompletnie od początku. Szczególnie jak zmieniam pracę, widzę że coraz więcej firm wpisuje więcej i więcej wymagań w ogłoszeniach. Zdarza się, że nie mam czasu prywatnego, bo w innej pracy używam innego stacka technologicznego, a po kilku latach zmieniają się trendy i trzeba się uczyć od nowa. Programista robi się takim człowiekiem od wszystkiego ma znać pierydliard języków programowania, AWSy, konfigurować pipeliny, być testerem i wiele innych. Jak się nauczysz nawet 10 frameworków na poziomie experta, w innej pracy będą uzywać innych, których będziesz musiał znowu uczyć się od nowa. W pracy nie licz na to, że koledzy cię nauczą. Każdy patrzy na czubek swojego nosa, bo im też nikt paluszkiem nie pokazywał.
Tickety w pracy nieopisane, wklepany tekst niczym Lorem Ipsum na odpieprz. Wielokrotnie spotykałem się z tym, że opis jest niekompletny i nikogo to nie obchodzi, bo "tak powinno być, nikt ci młody nie będzie podsuwał pod nos informacji, zapytaj tamtego, on ci wyjaśni". "Za mało czasu jest, żeby robić opisy zadań..., musisz się pytać, zapytaj kogoś, niech ci wytłumaczy". Nigdy chyba nie miałem sytuacji, że wiem dokładnie o co chodzi, zawsze są jakieś niedomówienia lub nieścisłości w tych opisach. Chciałbym po prostu żeby te opisy były jak w zadanych na matematyce, masz wszystkie niezbędne dane do zadania i możesz od razu pisać.
Według mnie po to są te tickety w jirze żeby wszystkie wymagania były sformalizowane. W kodowaniu nazwa każdej zmiennej jest istotna, a z tego co widzę w większości firm w których pracowałem wymagania są spisane jak w kiblu na drzwiach. Uważam że tą częścią powinna zająć się osoba techniczna, natomiast zazwyczaj robią to ludzie którzy gadają z biznesem i mają nikłe pojęcie o programowaniu, a ja muszę sobie i tak później wszystko tłumaczyć na język technologii, ustawiać calle z technicznymi osobami, żeby mi przetłumaczyły. Rozmawiałem z kilkoma osobami o tym i słyszę, że mam roszczeniowe podejście. Jakbym mówił do nich chińskm językiem. Czy ja jestem roszczeniowy? Czy inni dają sobie pomiatać? Chcę wiedzeć co dokładnie mam zrobić, to za dużo?
Jedna z największych patologii którą spotkałem w pracy: proszę o wyjaśnienia, to obrywam opieprz za to, że nie jestem samodzielny i zajmuje seniorom czas. Z drugiej strony chcę pracować samodzielnie, to nie potrafię ze względu na to, że opisy ticketów nic nie mówią lub brakuje jakichś istotnych informacji żeby móc je zrobić. Pracowałem w firmie gdzie w tickecie jest napisane, żeby dodać metodę wykonując X, w klasie o nazwie Y. Nikt tych wymagań w jirze nie aktualizował. Dostarczyłem rozwiązanie, manager na to: ojej, ale nie tak miało być, dlaczego zrobiłeś w tej klasie? Olaboga!!! tyle czasu zmarnowane. Trzeba będzie poprawiać, a mogłeś się zapytać i upewnić!!!
Ja powiedziałem, że tak było napisane w wymaganiach na jirze. "Dlaczego się nie pytałeś?, mogłeś się zapytać." Jest takie zrzucanie winy na mnie, niby ja mam jeszcze ustalać sobie co mam zrobić? Ja wyobrażam sobie, że na Jirze są opisane wymagania na tip top, bo to jest taki tekst formalny z ustaleniami.
Inny przykład: prawię kończę zadanie, dowiaduje się, że "ano bo ja miałem spotkanie z biznesem i teraz zmienili i chcą inaczej". Nie poinformowali wcześniej, a ja jak głupi męczyłem się nad czymś kilka godzin i kod jest do usnięcia. Ja jako programista nie mam takiej siły przebicia, żeby zrozumieli, że to co dotychczs zrobiłem, jest w jakimś stopniu w porządku i co jakby przekonać klienta, że mamy napisane trochę w innej formie i może przy niej pozostaniemy, ale nie, nie i już, takie są ustalenia i nie ma dyskusji.
W każdej firmie. w której dotychczas pracowałem zazwyczaj tak było. Ja nie wiem dlaczego nie ma takiej technicznej osoby, która by nad tym czuwała. Powsadzali te nietechniczne osoby, które napiszą ci historyjki "Lorem Ipsum", przeczytasz i masz może 30% informacji potrzebnych do rozwiązania, a resztę musisz wyciągać od innych osób.
Ręce mi opadają od takiej pracy jak w chlewie. Możecie teraz napisać że nie mam racji, bo praca programisty polega na dogadywaniu szczegółów.
Nie rozumiem tego kompletnie. Jest Jira jaki jest problem żeby wpisać najdokładniej wszystkie wymogi i aktualizować jeśli coś ulegnie zmianie?
Nie wiem czy ja miałem takiego pecha, czy w większości firm tak jest, że robienie rozwlekłych opis zadań jest traktowany jako strata czasu, a jak chcesz się dowiedzieć co znaczy enigmatyczny skrót, to masz obdzwaniać wszystkich i pytać się.
Czy to kolejny aspekt w pracy w pracy programisty gdzie ludzie daje sobą pomiatać? Czy programista ma być osobą od zbierania wymagań?
W wielu zawodach przychodzi klient z wymaganiami i mówi np. że "plakat ma być zrobiony w takim kolorze, ma mieć takie wymiary, etc". W IT wymagania są formie "Ma być plakat". A jaki dokładnie? Nie wiadomo. Zapytaj kogoś.
Obserwuję, że w IT spisywanie wymagań, ustalanie jest spychane na programistów - "sam sobie ustal co masz zrobić". A w firmach w których pracowałem były oddelegowane osoby od tego, ale jakoże byli netechniczni to ich opisy były bezwartościowe, gdyż dają może 30% zrozumienia co ma być zrobione a resztę trzeba dogadywać z kimś technicznym, kto zna projekt od tej strony.
Czy przesadzam? W waszych firmach też tak jest? Mam w ogóle wątpliwości czy IT jest dla mnie jeśli praca wszędzie tak wygląda.