Wpis z mikrobloga

W związku ze zwolnieniami we wrocławskiej Nokii, chciałbym Wam opowiedzieć historię opartą na faktach pod tytułem „Mega Zone”. Wydarzenia te miały miejsce już prawie 10 lat temu i pewnie tylko najstarsze gabory (#pdk) je pamiętają.

0. Ponieważ historia jest związana z O&M (zwany również m-plane lub OAM), na początek wypada przybliżyć szerszej publiczności czym ten O&M jest. Otóż jest to wszystko w stacji bazowej, co nie jest bezpośrednio związane z telekomunikacją – start-up, software upgrade, commissioning, PM countery / KPI, alarmy, konfiguracja urządzeń zewnętrznych, power saving, climate control. Jak łatwo się domyślić, jest to spory kawałek kodu.
Jak również łatwo się domyślić, ten kawałek kodu nie za bardzo jest związany z konkretną technologią radiową (RAT), taką jak WCDMA czy LTE.

1. Powyższe odkrycie dotarło do Nokii dość późno. Wszystkie RATy miały swój własny O&M, co było oczywistym marnotrawstwem zasobów. Dlatego powstał pomysł napisania „one O&M to rule them all”. Miało to się dokonać w tak zwanym Release 70.

2. Dzieliłem się wcześniej wspomnieniami z tego śmiałego projektu. W dużym skrócie, nic nie działało przez kilka miesiący, a testerzy organizowali się w gangi, żeby walczyć o dostęp do piłkarzyków. Po wypuszczeniu do klientów, nowy O&M zbrickował około 5000 stacji bazowych w Korei, ponieważ ktoś o czymś nie pomyślał. Just Nokia things.

3. One O&M to rule them all miał jedną poważną wadę – część ludzi w Finlandii zajmujących się WCDMA O&M zostało bezrobotnych. Ale zwolnić ich tak po prostu nie można. No ale co mogą zrobić ludzie, którzy wcześniej pisali O&M? Napisać nowy O&M!

4. Finowie doszli to wniosku, że głównym problemem wszystkich wcześniejszych wersji O&M był długi czas kompilacji. No więc, aby rozwiązać ten problem, postanowili napisać nowy O&M w języku interpretowanym. Wtedy kompilacja w ogóle nie będzie potrzebna! Na początek wybór padł na Pythona, ale szybko przenieśli się na JS (tak, JS w embedded). Nowy O&M otrzymał nazwę kodową „Mega Zone”.

5. Z zupełnie niezrozumiałych dla mnie powodów, „Mega Zone” zaczął się rozrastać i atakować inne biura Nokii, w tym to wrocławskie. Doszło więc do swoistego rozdwojenia jaźni. Istniały dwa projekty, które teoretycznie zajmowały się tym samym - nowy stary one O&M to rule them all, wypuszczony po wielkich trudach i walkach w Release 70 (napisany w C++) oraz nowy nowy O&M Mega Zone rozwijany (znowu) od nowa w JS. O tym, że Mega Zone nie miał feature parity z one O&M to rule them all oraz że wspierał tylko jedną wersję HW już nie wspomnę.

6. To musiało pieprznąć i w końcu pieprznęło. Po dobrych kilku miesiącach Mega Zone został wywalony do kosza, a razem a nim setki godzin pracy programistów, testerów, architektów, system inżynierów, managerów i cholera wie kogo.

To nie jedyny przypadek, kiedy Nokia próbowała przepisać od nowa prawie nowy soft. A tę historię chciałbym zadedykować wszystkim twierdzącym, że zwolnienia w tej pięknej firmie są najlepszym dowodem na kryzys w branży IT.

#nokia #programowanie #programista15k #pracait
  • 41
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@groman43: Zapomniales wspomniec, ze lwi kawalek tego prawilnego, nowego, OAMu zostal napisany, ale tak naprawe to wygenerowany w C++ (Rhapsody) - rozumiem, ze to historia na inna okolicznosc? ( ͡° ͜ʖ ͡°)
  • Odpowiedz
  • 3
@JACCU: To wszystko zależy od tego jak używasz C++. Jeśli nawalisz cudów niewidów to C++ będzie wolny. Jeśli będziesz wiedział co robisz, to powinno być okay. Ale nie ma opcji, żeby JS był szybszy, nie ważne jak głupi jesteś.

@Arogancky Najpierw została zmieniona nazwa, a potem został wyrzucony do kosza. A w tak zwanym międzyczasie niektórzy się bardzo oburzali, jeśli użyłeś starej nazwy :)

@Kangur100 No tak, tylko że w Nokii SW to jedna wielka paczka ze wszystkimi modułami spakowanymi do kupy. Teoretycznie, przy zachowaniu interfejsów, można byłoby podmienić tylko jeden moduł. Ale interfejsy zmieniały się co chwila. Dlatego zmiana jednego modułu wymuszała zmianę innych. A wszystkie inne były napisane w C++ lub nawet w C. Dlatego żadne plug'n'play nie wchodziło w grę i po software update reset stacji
  • Odpowiedz
@groman43: pracowałem tam. Robiłem również OAM, ten stary. Ta firma to patologia, prawie wszystko co tam napisałem poszło do kosza. Nigdzie indziej też nie spotkałem się z sytuacją że firma zatrudnia człowieka jako programistę po czym używa go do całkiem czego innego. I tak całymi dziesiątkami. Do dzisiaj jak mi na rekrutację przychodzi typek z Nokii, Siemensa czy NSN traktuję jego kandydaturę z przymróżeniem oka.
  • Odpowiedz
@groman43 pisałem kiedyś na Symbiana i sie zastanawiałem, jakim chujem taka Nokia osiągnęła taki sukces, przy takim zarządzaniu? Zła decyzja poganiała kolejną złą decyzję.
  • Odpowiedz
Nokia to nie jedyna firma gdzie cały projekt idzie do kosza. Były historie przepisywania istniejących programów. To prawie zawsze kończy się tak samo, bo nie ma opcji żeby stworzyć coś nowego i nadążyć z nowymi ficzerami starego projektu... Afair netscape miał taką historię.

ale tak naprawe to wygenerowany w C++ (Rhapsody) - rozumiem, ze to historia na inna okolicznosc? ( ͡° ͜ʖ ͡°)


@infamouz: kod generowany podobnie jak w qt creator, visual studio czy borland delphi/builder c++... metody same się nie piszą. Jedynie wspomaga
  • Odpowiedz
@groman43: Zwolnienia haha, przeciez Noka po fuzji z Alcatalem-Lucentem w trakcie pandemii (czyli szału sprzet, usługi internetowe) miala zwolnic 10 tysiecy osob chociaz jak czytam teraz komentarze nie skonczylo sie na tej ilosci tylko paru tysiacach.
  • Odpowiedz
  • 3
@Djelon: @krzywy_kanister W swojej karierze pracowałem prawie wyłącznie w różnych korpo. I żadne nie było aż tak nieogarnięte jak Nokia. Tak jak wyżej napisał @Arogancky - ciągłe wojenki wszystkich ze wszystkimi i decyzje motywowane politycznie i ogólnie słaby management.

I innych korpo też nie jest idealnie, konkurencji Nokii raz zdarzyło się wysłać człowieka z Egiptu do Estonii, żeby oglądał TV (true story bro, może podzielę się innym razem),
  • Odpowiedz
@groman43 @Krolik jestem w trakcie wygaszanie starego softu w korpo. Następca wyszedł w 2019 roku - trochę zeszło z przenoszeniem wszystkich ficzerow, a i tak w nowej wersji jest w uj bugów :D
  • Odpowiedz