Opublikowane

Jak uniknąć problemów przy aktualizacji frameworka PHP?

Opiszę, w jaki sposób straciłem pracę w jedynej mającej oparte na PHP własne produkty (nie software house) firmie w moim mieście. Znalazłem już inną pracę, ale moje pytanie to: co następnym razem przy zadaniu typu aktualizacja frameworka muszę robić inaczej niż robiłem, żeby nie powtórzyła się taka sama lub podobna sytuacja?Kilka lat temu dostałem w pracy (programista PHP) zadanie: uaktualnienie Laravela (frameworka PHP) w dużym projekcie z wersji 4 do 7. Mój plan realizowania tego zadania był taki:- uaktualnię samego Laravela, po czym przejdę do dostosowywania kodu aplikacji- stworzę na podstawie changelogu Laravela listę rzeczy, których warto poszukać grepem i poprzerabiać, żeby działały z nowym Laravelem (powstała ogromna lista)- stworzę na podstawie konfiguracji routingu listę wszystkich podstron (aplikacja nie jest typu SPA, tylko z tradycyjnymi podstronami), żeby je przeglądać w poszukiwaniu niedziałających funkcjiDoprowadziłem projekt do takiego stanu, żeby w ogóle coś innego niż biała strona było widoczne w przeglądarce i żebym mógł się zalogować.I później przez jakiś miesiąc naprzemiennie robiłem dwie rzeczy:- brałem kilka punktów z listy rzeczy do zmiany stworzonej na podstawie changelogu i je zmieniałem, żeby działały z nowym Laravelem- brałem kilka podstron z listy podstron i je ręcznie w całości przeklikiwałem, naprawiając każdy znaleziony problem, których było pełnoKażde swoje rozwiązanie oczywiście od razu testowałem, czy działa w pełni dobrze.Z tego co pamiętam, zmieniałem około 300-500 linii kodu na dzień, w różnych częściach projektu.Po w przybliżeniu miesiącu przerwano mi pracę nad tym zadaniem, bo "skoro zajmuje tyle czasu, to nie ma sensu, zostaniemy przy starej wersji". Szacuję, że zrobiłem około połowy wszystkiego, co było do zrobienia, tzn. gdybym dostał jeszcze drugi miesiąc na robienie tego, wszystko by się udało.Teraz niedawno, czyli wiele lat później po tej "nieudanej" (przerwanej mi z powodu zajmowania za dużo czasu) aktualizacji Laravela, jeden z kluczowych klientów zażyczył sobie czegoś, co można prosto w kilka dni zrobić przy użyciu jednego z gotowych dostępnych w internecie pakietów dla nowszych wersji Laravela, ale nie dla starszych, a zrobienie tego samodzielnie od zera zajęłoby więcej czasu niż klient jest w stanie czekać.Klient ten zrezygnował z oprogramowania (aplikacji SaaS) mojego pracodawcy i przeszedł do konkurencji oferującej potrzebną mu rzecz.Mój przełożony jakiś tydzień później stwierdził, że okłamałem go kilka lat temu, że uaktualnienie projektu do nowej wersji Laravela zajmuje tyle czasu, a nie mniej, bo pobawił się tym w weekend i niby od początku soboty do końca niedzieli zrobił to, czego połowę ja robiłem w miesiąc. Wyniku swojej pracy nie pokazał, twierdząc że nie ma kodu przy sobie, na pytanie co robił inaczej niż ja odpowiedział że używał wyrażeń regularnych do masowego edytowania kodu (co ja w sumie też robiłem, ale udało mi się w przypadku mniej niż 1% rzeczy, poza tym i tak trzeba sprawdzać ręcznie działanie tego wszystkiego, co np. sed na podstawie wyrażenia zmienił) i że pomijał sprawdzanie działania rzeczy, co do których domyślał się, że działają (co wydaje mi się absurdalne).Ja powiedziałem, że moim zdaniem nie dało się tego robić znacznie szybciej niż ja robiłem, że w odpowiedniej gałęzi repozytorium widać, co podczas tej próby aktualizacji robiłem którego dnia i ile kodu dziennie zmieniałem, że mogę coś powyjaśniać, powiedzieć w jaki sposób doszedłem do tego, że zmiany wymagało akurat to co zmieniłem, co by źle działało bez konkretnej mojej zmiany w kodzie itd. ale nie chciał ze mną rozmawiać.Firma krótko po tym zdarzeniu "zlikwidowała moje stanowisko" (co jest w sumie dla mnie lepsze niż np. jakieś bzdury o mojej wydajności wpisane w świadectwo) i chwilę później druga spółka z o.o. mająca biuro w tym samym miejscu zaczęła szukanie kogoś innego na moje stanowisko.Tak więc, co następnym razem przy zadaniu typu aktualizacja frameworka muszę robić inaczej niż robiłem, żeby nie powtórzyła się taka sama lub podobna sytuacja?#programowanie #pracait #php #webdev
211

Dyskusja

Nie ma jeszcze anonimowych odpowiedzi.

Komentarze z Wykopu

Sprawdzamy liczbę komentarzy...

Zobacz wszystkie wpisy

Akcje

Otwórz wpis na wykop.pl
Klucz publiczny:

ctuxrdzip72lskz2d3pa2o7m

Dodane: 3 listopada 2025 - 11:58:43
Opublikowane

Autor był widziany10 miesięcy temu