Rampy do innych światów

https://xpil.eu/rq6

Na dwóch śledzonych przeze mnie blogach pojawiły się ostatnio prawie równocześnie dwa wpisy o nieco zbliżonej kolorystyce. Co prawda napisane w różnych językach oraz przez ludzi o kompletnie innych zainteresowaniach, ale obydwa niosą międy wierszami podobne przesłanie: nie warto ograniczać się w życiu do jednego zawodu, jednej branży, jednej pasji.

Andrzej pisze o tym, że dzięki poszerzeniu horyzontów łatwiej mu teraz znajdować nowych klientów, głównie dlatego, że klient woli zapłacić ciut więcej jednemu człowiekowi, który mu w miarę sensownie ogarnie kilka tematów, niż zatrudniać kilku fachowców klasy “ninja”, do każdego tematu osobno. A do tego najwyraźniej po prostu cieszy go możliwość poznawania nowych biznesów, technologii i tak dalej.
John z kolei opowiada o tym, jak to matematyka stosowana wprowadziła go niejako “bokiem” w różne działki medyczne: onkologię, nefrologię, a ostatnio neurologię. I chociaż nie jest w żadnej z tych dziedzin jakimś wybitnym ekspertem ani nie ma w nich formalnego wykształcenia, to dzięki współpracy z firmami medycznymi wie teraz na powiązane tematy o niebo więcej od “zwykłych” śmiertelników.

A jak to u mnie wygląda?

"Od zawsze" pasjonowały mnie komputery i programowanie. Okazuje się, że podobnie do matematyki czy grafiki, informatyka również jest taką "uniwersalną rampą" do różnych dziedzin ludzkiego życia. Dzięki temu, że wylądowałem w tej branży, miałem okazję zapoznać się szczegółowo z mnóstwem różnych rodzajów biznesów. Za każdym razem byłem zdumiony różnicą w percepcji danej firmy (czy branży) widzianej od środka oraz od zewnątrz.

Podobnie do wymienionych wyżej dwóch blogerów, ja również nie jestem ekspertem w żadnej z dziedzin, które zaraz wymienię, niemniej jednak dzięki pracy w IT udało mi się nakarmić swoją ciekawość w takich oto działkach:

  • Zautomatyzowana produkcja żywności
  • Bankowość korporacyjna i detaliczna
  • Obsługa inwestycji
  • Ubezpieczenia
  • Poker
  • Produkcja i sprzedaż mebli kuchennych
  • Utrzymanie i konserwacja taboru kolejowego
  • Szkolnictwo publiczne i prywatne
  • Badania kliniczne
  • Usługi internetowe i telekomunikacyjne
  • Produkcja i sprzedaż odzieży
  • Energetyka

Dość niezwykłe jest to, jak wymienione tu branże są do siebie podobne, gdy spojrzeć na nie z perspektywy danych komputerowych. Wszędzie mamy tabelki, cyferki, sumy oraz nieśmiertelne SELECT * FROM. Od czasu do czasu trafi się jakaś hurtownia danych (tu jest jeszcze więcej podobieństw!). Tu i ówdzie wyrośnie z kurzu i brudu jakiś prekambryjski system oparty o połączone ze sobą łykiem kamienne abakusy, niekompatybilny z czymkolwiek (czasem nawet sam ze sobą), od którego zależy przyszłość firmy.

Najciekawsze jednak w tym wszystkim jest przyjmowanie wiedzy o tym, jak dany biznes działa, jakie są w nim przepływy informacji, ludzi, towarów i pieniędzy. I tak dalej.

W sumie to cieszę się, że nie zostałem kowalem 😉

https://xpil.eu/rq6

12 komentarzy

    1. Ja bym raczej stawiał na dziadka Bernoulliego i jego Prawo Wielkich Liczb, ale, jak mawiają lokalni, whatever floats your boat 😉

  1. Kiedyś wypiłem jedno piwo więcej niż powinienem i zapadłem w pewien rodzaj rozkminy, która doprowadziła mnie do pewnego wniosku, że w zasadzie wszytko, co robisz na komputerze (grafika, muzyka, wyszukiwanie porno) od strony maszyny w pewien sposób sprowadza się do SELECT * FROM. Oczywiście programy muzyczne, graficzne czy do montażu video nie korzystają z SQL, bo byłoby to nieefektywne, ale generalnie wszystko sprowadza się do odczytu danych, wykonaniu na nich pewnych funkcji i zapisaniu z powrotem. Gdzieś w międzyczasie pojawiają się bardziej skomplikowane algorytmy (np. do obróbki obrazu czy przetwarzania w przestrzeni 3D), ale w większości przypadków nie są niezbędne. Taka hurtownia danych wymaga co prawda ogarnięcie nieco więcej zależności między tabelami ale za to nie potrzebuje nawet linijki specjalistycznego algorytmu. Ot, dużo dodawania i kilka nieco bardziej skomplikowanych zapytań do bazy. Na dobrą sprawę taki Facebook też. Co prawda nie wiemy, jak działa algorytm do wyświetlania postów, ale możliwe, że nie jest bardzo skomplikowany tylko po prostu zakręcony i zaciemniony.

    Nie jest to odpowiedź na cały wpis, bo generalnie moje zdanie na ten temat znasz (chociażby z mojego wpisu), ale odnośnie tego fragmentu bazodanowego. Tak mi się skojarzyło, bo jest sobota i właśnie schładzam browara…

    1. Widziałem z bliska kilkanaście projektów hurtowni danych. Większość niedziałających lub działających tak, że lepiej byłoby je skasować, ale skoro już zainwestowano kupę kasy, to wszyscy udają, że jest fajnie. Głównie dlatego, że były prowadzone przez gości, którzy przeczytali książkę przy piwku i wydawało im się, że taka hurtownia to tylko parę SELECT-ów 😉

      Widziałem też kilka takich, które działają do dziś i wszyscy są z nich zadowoleni. Te były prowadzone przez ekipę ludzi, którzy na temacie zjedli zęby.

      Dlatego jeżeli uważasz, że hurtownia danych to tylko parę sprytnych SELECT-ów, to daj znać jak kiedyś będziesz komuś robił taką hurtownię. Będę wiedział, gdzie łapać klienta na poprawki :)))

      1. Nie do końca się zrozumieliśmy. Przede wszystkim struktura bazy danych, jej logika i powiązania tablic muszą być sensownie przemyślane. Na pewno też jest coś więcej niż kilka sprytnych selectów (np. takich na 80 linii, które łączą wszystkie tablice joinami, groupami i innymi bajerami, który w życiu pewnie nigdy nie użyłem).

        Pisząc o skomplikowanych algorytmach miałem na myśli raczej takie związane z wyższą fizyką (symulacja zjawisk fizycznych), matematyką i geometrią (przekształcenia 3D) czy inne fraktale służące do przetwarzania obrazu, sztucznej inteligencji (np. do rozpoznawania obiektów) czy innych wykorzystywanych w wyspecjalizowanych aplikacjach do montowania i compositingu czy nawet CAD.

        Jedna hurtownię kiedyś poprawiałem (czyt. pisałem od nowa) właśnie po kimś takim, który obczajał SQL przy piwku. Chociaż wyszło mi to lepiej to dzisiaj mogę stwierdzić, że pewnie niewiele lepiej (to był mój pierwszy poważny projekt, jeszcze przed moim CMS-em). Hurtownia nadal działa (po 9 latach), ludzie jej używają, reklamacji nie mam. Ale gdybym miał do niej teraz usiąść, to pewnie zaprojektowałbym całkiem od zera i zrobił o niebo lepiej. A za kolejne 10 lat pewnie podobnie 🙂

        Hurtownię w lepszym lub gorszym stopniu byłby w stanie ogarnąć sam, opisanych wyżej algorytmów absolutnie nie.

        1. Zagadnienie hurtowni danych jest sformalizowane od lat; dziś już nie trzeb wymyślać koła, wystarczy skorzystać z gotowej, przemyślanej i przetestowanej metodologii (jest ich kilka do wyboru, każda ma swoje wady i zalety, choć wolę o nich myśleć bardziej jako o słabszych i silniejszych stronach).

          I powodzenia życzę wszystkim, którym się wydaje, że hurtownię danych da się zdefiniować na poziomie stricte bazodanowym. To tylko fragment. Owszem, istotny, ale w oderwaniu od reszty komponentów raczej bezużyteczny.

          Przepisałeś od nowa hurtownię danych? Sam?

          No to szacun…

          Nawiasem mówiąc to, że projekt działa 9 lat później, to miłe uczucie. Też mam kilka takich perełek, których powinienem się w zasadzie wstydzić, bo teraz zrobiłbym je kompletnie inaczej, ale które ciągle działają, o czym wiem od zadowolonych użyszkodników.

            1. No cóż. Nie każdy “siedzi” w branży, więc nie musisz znać tego pojęcia. Nawiasem mówiąc wprowadził je Bill Inmon (jeden z “Wielkich” świata komputerów) na cztery lata przed moimi urodzinami, a więc solidnie ponad 40 lat temu.

  2. Ja w sumie nic nie umiem i w zasadzie nie zajmuję sie niczym sensownym i cieszę się, że jestem nikim. Nie zwracam uwagi i dzięki temu mogę robić co chcę … w czasie wolnym od nic nie robienia i bycia nikim 🙂

    1. I’m nobody! Who are you?
      Are you nobody, too?
      Then there’s a pair of us—don’t tell!
      They’d banish us, you know.

      How dreary to be somebody!
      How public, like a frog
      To tell your name the livelong day
      To an admiring bog!

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.