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.
@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
@groman43: Przepisywanie całości na raz rzadko się udaje. A za pomysł przepisywania z C++ na JS to już w ogóle jakiegoś informatycznego ignobla należałoby dać.
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
@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 c-----e zarządzanie i wojenki POsów + c-----i 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 j----y HTML co waży 30mb czy tam 50 co już przestało być śmieszne przy procesie budowania
@groman43: Pomyślałbym że to pasta albo satyra na zarządzanie projektami w IT ale na początku kariery pracowałem w Ericssonie i od tego czasu w cyrku się nie śmieję ( ͡°͜ʖ͡°)
@dzek: na potwierdzenie to masz moje słowa - pracowałem tam w 2016 i było z tego grzane. Bts w node.js to było zgniłe jajo podrzucone do PL przez Finów
@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
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.
@groman43: Przepraszam za trywializowanie, ale zawsze jak czytam taki historie rodem z mojego kołchozu to mam przed oczyma takich bohaterów dokonujących niezwykłych czynów na tle ludzkości:
@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
@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
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 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ć...
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
@groman43: co za p------a akcja (╯°□°)╯︵ ┻━┻
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
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?
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
@groman43: nie został, zmienili mu chyba nazwę i nic więcej
@groman43: O K---A XDDDDDDDDDDDDDDDD
@groman43: Przepraszam za trywializowanie, ale zawsze jak czytam taki historie rodem z mojego kołchozu to mam przed oczyma takich bohaterów dokonujących niezwykłych czynów na tle ludzkości:
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
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
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