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
@groman43 Czyli brzmi jak konkurencja wewnątrz firmy w jednej działce, znana również z czasów schyłku Symbiana.

Był sobie Symbian, system tworzony raczej z myślą o wyższej półce urządzeń i starający się usilnie dostosować do interfejsów dotykowych. Był sobie współtworzony wspólnie z Intelem MeeGo, oparty o jądro Linuxa, finalnie został wypuszczony na jednym, niejako flagowym modelu Nokia N9, który już w momencie premiery skazanym oficjalnie na jednorazowy "wybryk" bez przyszłości . Wcześniej był
@groman43

Znam się tylko troche na programowaniu natomiast C++ nie jest jednym z najbardziej wydajnych języków?? Dlaczego mieli by to w ogóle zamieniać na JSa? Czy istnieje szansa że na JS mogło by to działać szybciej? Jeśli zrobili by to bezbłędnie?
@groman43: Tak się kiedyś zastanawiałem gdzie leży grzech pierworodny Nokii. Co było punktem zwrotnym, który wpłynął na dalsze błędy powodujące upadek. To mogło być nawet w latach 90, bo z różnych opowieści nawet i Symbian rodził się w bólach.

Wydawałoby się, że ludzie z kraju nordyckiego mieliby zdrowe, pragmatyczne podejście, z tego co słyszałem znajomych lubią z tamtym rejonem świata współpracować.
Nokia w różnych opowieściach wydaje się antytezą tego, cyrkiem na
@groman43: SWTA pozdrawia, jak już tam trafiłem to akurat megazone się chyba kończyło xD @Krolik przepisanie cepa na jsa to chyba był pomysł Finów ale potem im nie szło to cały Wrocław się musiał przebranżowić xD a potem znowu wrócili na cepa
@RicoElectrico: grzech pierworodny nokii to #!$%@? zarządzanie i wojenki POsów + #!$%@? managerowie oraz fakt że hajs na podwyżki skąpią odkąd pamiętam. Więc wolą odpuścić specjalistów (bo za dużo kasy wołają) i biorą jakieś odrzuty. Pomijam fakt że interfejsy do btsa to #!$%@? HTML co waży 30mb czy tam 50 co już przestało być śmieszne przy procesie budowania
@dzek: wątpię żebyś dostał jakiś konkret bo to pewnie dalej jakiś NDA jest xD no chyba że jakiś chińczyk wrzucił kod na githuba (co się często zdarzało) to se poszukaj
@JACCU w opisie jest, że bolał ich czas komplikacji. A w jezyku interpretowanym podmieniasz fragment kodu i „oprogramowanie zostało zaktualizowane”. W szczególności łatwo przeprowadzić zmiany zdalne, bez wyłączania systemu (o ile poprawka nie dotyczy core i trzeba wtedy dla bezpieczeństwa wyłączyć aplikację).
Ale też się dziwię, że to wydajnościowo działało. Aczkolwiek podejrzewam, że to nie był jeden jedyny software obsługujący w BTS „wszystko”. Na modułach pracowały raczej „firmware” lub funkcje były zaszyte
@JACCU w opisie jest, że bolał ich czas komplikacji. A w jezyku interpretowanym podmieniasz fragment kodu i „oprogramowanie zostało zaktualizowane”. W szczególności łatwo przeprowadzić zmiany zdalne, bez wyłączania systemu (o ile poprawka nie dotyczy core i trzeba wtedy dla bezpieczeństwa wyłączyć aplikację).
Ale też się dziwię, że to wydajnościowo działało. Aczkolwiek podejrzewam, że to nie był jeden jedyny software obsługujący w BTS „wszystko”. Na modułach pracowały raczej „firmware” lub funkcje były zaszyte
Pozdrawiam kolegów ( ͡° ͜ʖ ͡°)
Wspaniały to był projekt, nie zapomnę go nigdy. Kilkaset roboczych lat przepalone bez mrugnięcia okiem, ale jak potrzebny był monitor, albo jakiś mały serwer do testowania to nie było budżetu.

@groman43
Wynajęli firmę Reaktor do tego zadania.
Mieliśmy sporą bekę z kolegami z ich motta w tym artykule: https://www.reaktor.com/articles/node-js-satellite-means-anyone-can-space-programmer . Z tego co pamiętam, można to przetłumaczyć na "od chmur, do gwiazd
@groman43 Pracują w tym kołchozie już kilka lat. Poza standardowymi korpobzdurami w Nokii ciągle mamy przepychanie się pomiędzy byłym Siemensem, oryginalna Nokia, Alcatelem, Lucenteem itd. W tym przypadku Finowie stwierdzili, że nie będą im tu Polacy w O&M grzebać...