Nailing down bugs in distributed systems – Notatka z nauki

przez Karol Bocian | 1 maja, 2022

W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2018 – Kamil Szymański – Nailing down bugs in distributed systems

Notatka z materiału: Nailing down bugs in distributed systems:

Zanotowałem z tego materiału:

  • Zbieraj wszystkie błędy i logi z nimi związane.
  • Wykrywaj nowe błędy, reaguj na nie i naprawiaj (jeżeli jest to problem) lub dodaj do listy akceptowalnych błędów.
  • Wrzucaj wszystkie logi w jedno miejsce, np. do Kibany.
  • Nadaj ID do transakcji, aby śledzić łatwiej błędy związane z daną akcją.
  • Są błędy, które można naprawić kiedyś, bo mają mały wpływ na biznes i takie, które generują duże straty!
  • Zbuduj system wdrażania poprawek, który w bardzo krótki czasie (mniej niż 3 godziny) buduje aplikację, testuje i wdraża.
  • Rób backupy (poprzednie wersje aplikacji), aby wdrożyć szybko poprzednią wersję aplikacji.
    • Pamiętaj jednak o robieniu bazy danych wstecznie kompatybilnej.
  • Używaj Feature Toggle (a dokładniej Release Toggle) oraz usuwaj stare i nieużywane przełączniki.

Wszystkie posty związane z notatkami z nauki:

    Źródła

    Obraz główny

    Materiał: Nailing down bugs in distributed systems:

    Wszyscy kłamią… — Seth Stephens-Davidowitz

    przez Karol Bocian | 26 kwietnia, 2022
    Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy — Seth Stephens-Davidowitz

    Przeczytałem ostatnio książkę: Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

    Wdrożyłem z książki: Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy:

    1. Używam Google Trends do sprawdzania, czego ludzie naprawdę poszukują. Stawiam na to, co ludzie robią, a nie co mówią.

    Notatki z książki: Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy:

    Big Data daje nam ogromne możliwości. Facebook, Twitter oraz wyszukiwania Google to skarbnica wiedzy. Są to jednak różne dane. Zazwyczaj wyszukiwania w Google są szczere, zaś dane w social mediach są wybrane (tylko piękne zdjęcia i miłe chwile) oraz wyolbrzymione (filtry na Instagramie). Wszyscy kłamią…

    Wyszukiwania w Google pozwalają wykonać wiele badań. Na przykład dane z wyszukiwań pozwoliły znaleźć symptomy raka trzustki. Szukano je w taki sposób:

    1. Szukasz wszystkich osób, które wpisały w wyszukiwarkę, że mają raka trzustki.
    2. Szukasz wszystkich osób, które wpisywały coś w wyszukiwarkę, ale nie mają raka trzustki.
    3. Szukasz różnic między tymi osobami, np.
      1. Pierwsza grupa wpisywała ból pleców i żółknięcie skóry, a grupa druga wpisywała albo ból pleców, albo żółtą skórę, nigdy razem. Ta para jest (może być) symptomem.

    Ludzie oficjalnie nie przyznają się do wielu rzeczy (na FB, w ankietach). Z tego powodu nasz obraz społeczeństwa odbiega od rzeczywistości. Prawdę możemy znaleźć:

    • W prawdziwych działaniach (np. anonimowe głosowanie), ale nie zawsze (np. gdy działanie nie jest anonimowe).
    • W anonimowym wyszukiwaniu informacji w Google i innych wyszukiwarkach (to nie zawsze jest anonimowe, ale ludzie rzadko biorą to pod uwagę). W wyszukiwarkach są szczere i prawdziwe informacje (o ile wyszukiwarka nie podpowiada wpisywanej frazy oraz my mamy małe doświadczenia z danym medium i nie dostosowujemy wpisywanych informacji do niego).

    Przeglądanie wyszukiwań ludzi daje wiele informacji, również o małych grupach (w skali świata są one duże). Można znaleźć wiele korelacji i prognozować przyszłość na podstawie aktualnie wyszukiwanych informacji przez ludzi. Można też obserwować, jak dane działanie zostało odebrane (np. sprawdzić, czy w internecie huczy). Ludzie wpisują w wyszukiwarkę nie tylko pytania, ale również swoje prywatne przemyślenia (Google jest jak konfesjonał).

    Internet to również wiele kłamstw i niedomówień. W mediach społecznościowych zamieszczamy tylko najfajniejsze wycinki naszego życia (często je ubarwiając), a o tej niefajnej części naszego życia w ogóle nie mówimy. Media społecznościowe zawierają takie informacje, którymi podzieliłbyś się z innymi ludźmi — a jak wiemy, tajemnic innym ludziom nie zdradzamy. Media społecznościowe są przeciwieństwem serum prawdy.

    Na przykładzie historii o Netflixie można zobaczyć, że często robimy coś, bo chcemy jacyś być. Np. w Netflixie można było zapisać sobie listę filmów do obejrzenia. I ludzie wpisywali tam bardzo ambitne filmy, ale ich nie oglądali. Dlaczego? Bo zazwyczaj nie chce nam się oglądać wymagających filmów. Wolimy jakieś przyjemne seanse. Dlaczego zatem ludzie ich nie wpisywali? Bo głupio się przyznać, nawet przed sobą samym, że jesteśmy przeciętni, nie interesujemy się ambitnym kinem, lecz zwykłymi romantycznymi komediami.

    Big Data zmieniają formę nauk humanistycznych. Mogą być jak fizyka — oparte na liczbach i prawdziwych działaniach. Pozwalają robić wiele eksperymentów w krótkim czasie. Przydatne są tutaj testy A/B, gdzie prezentujemy części osób opcję pierwszą, a opcję drugą pozostałym i sprawdzamy, jak na nie reagują. Niestety, w naukach humanistycznych nie znajdziemy prostych reguł jak w fizyce. Ludzie wciąż ewoluują, adaptują się i zmieniają.

    W książce przedstawionych jest wiele ciekawych historii. Jedną z nich jest książka o kupowaniu konia wyścigowego. Bogaty szejk zatrudnił specjalistów do wybrania najlepszego konia wyścigowego. Jego specjaliści byli jednak inni niż wszyscy pozostali. Wszyscy specjaliści opierali głównie swoje predykcje co do szans na zwycięstwa danego konia o jego rodowód. Ci specjaliści dodali jednak dużo więcej badań. Mierzyli np. wielkość serca. Po kilku dniach robienia różnych pomiarów specjaliści szejka doradzili mu, aby nie sprzedawał swojego konia, bo on właśnie jest tym najlepszym. Po jakimś czasie ten właśnie koń przeszedł do historii jako najlepszy!

    Inną ciekawą historią jest opowieść o wyszukaniach typu: jak zabić swoją dziewczynę. Takie wyszukiwania czasami kończą się zabójstwami. Czy zatem powinniśmy czytać wszystkie wyszukiwania, a gdy pojawi się powyższe, to wysyłać policję? A co z wolnością słowa i etyką? A może powinniśmy w tej sytuacji powiadomić tę biedną dziewczynę? Co ciekawe, takich wyszukiwań jest bardzo dużo, a zabójstw jest naprawdę niewiele. W dodatku, gdyby przestępcy dowiedzieli się, że są śledzeni, zmieniliby swoje zwyczaje. Oberwałoby się za to (inwigilacją) zwykłym Kowalskim.

    Jest jeszcze inna strona takich wyszukiwań: jeżeli zanonimizujemy dane i będziemy tylko śledzili trendy, wtedy możemy reagować na grupę — bez ograniczania wolności oraz z większą efektywnością. Prawdopodobieństwo, że ktoś, kto wpisał: śmierć muzułmanom, zrobi im krzywdę, jest niewielkie. Lecz prawdopodobieństwo ataku na muzułmanów w mieście, w którym znacząco wzrosła liczba takich wpisów, bardzo się zwiększa. Co zatem można zrobić? Można obserwować trendy i na nie reagować. Np. zaobserwowaliśmy wzrost wyszukiwań: jak popełnić samobójstwo -> robimy kampanie zwiększająca radość z życia. Zaobserwowaliśmy wzrost wpisów: śmierć muzułmanom -> wypuszczamy więcej patroli policji oraz przeprowadzamy akcję integracji ze społecznością muzułmańską.

    I na sam koniec, jedna z najważniejszych rzeczy. Musimy nauczyć się i zwracać na to baczną uwagę: jest ogromna różnica między korelacją i przyczynowością. Korelacja często nie implikuje przyczynowości. W celu wykrycia, czy coś jest ze sobą tylko skorelowane, czy zachodzi przyczynowość, można zastosować środek placebo — część badanych nie dostaje nowego bodźca, lecz myślą, że dostają.

    Wszystkie posty związane z książkowymi wdrożeniami:

      Źródła

      Obraz główny

      • Praca własna – książka: Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy.
      • https://www.pexels.com/video/man-in-a-hammock-at-the-beach-6502118/

      Materiały: książka: Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy:

      • Wszyscy kłamią: big data, nowe dane i wszystko, co Internet może nam powiedzieć o tym, kim naprawdę jesteśmy — Seth Stephens-Davidowitz

       

      Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

       

      Jak odzyskać kontrolę nad aplikacją? Logger – Notatka z nauki

      przez Karol Bocian | 24 kwietnia, 2022

      W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2018 – Bartek Zdanowski – Jak odzyskać kontrolę nad aplikacją? Logger Ci w tym pomoże!

      Notatka z materiału: Jak odzyskać kontrolę nad aplikacją?:

      Zanotowałem z tego materiału:

      • Logi dają informację o tym, co się w danym miejscu dzieje.
      • Warto za pomocą logów zbierać w efektywny sposób informacje oraz śledzić ścieżki działania programu.
      • Jest bardzo wiele frameworków do logowania.
      • Elementy logowania:
        • Loger – wyłapuje informacje.
        • Fomatter – formatuje wyjście (logi).
        • Handler / Appender – zapisuje wyjście.
      • Warto zwrócić uwagę na poziomy logowania i ustalić w zespole jeden standard (co jako error, warning, info).
      • Mapped Diagnostic Context – mapa pozwalająca przechowywać informacje i dawać do nich dostęp z każdego miejsca w celu zalogowania ich.
      • Zalecenia:
        • Ustal w zespole (całej organizacji) jeden standard formatowania logów (mogą one być potem przechwytywane przez inne narzędzia i wyświetlane np. w Kibana).
        • Ustal w zespole jeden standard poziomów logów.
        • Generuj identyfikator, loguj go oraz przekazuj do zewnętrznych systemów.
        • Używaj ElasticSearch i Kibana.

      Wszystkie posty związane z notatkami z nauki:

        Źródła

        Obraz główny

        Materiał: Jak odzyskać kontrolę nad aplikacją?:

        Zakładki w Chrome – Wdrożenie automatyzacji

        przez Karol Bocian | 17 kwietnia, 2022
        Zakładki w Chrome - Wdrożenie automatyzacji

        W ramach moich prac wdrażam w swoim życiu automatyzacje. Przedstawiam Ci kolejną automatyzację, którą wdrożyłem u siebie: Zakładki w Chrome

        Wdrożona automatyzacja: Zakładki w Chrome

        Otwórz konkretną stronę lub zestaw stron

        W Chromie jest opcja, która sprawia, że po włączeniu przeglądarki otwiera się kilka zakładek jednocześnie.  Jeżeli zazwyczaj pracujesz z podobnymi stronami (np. aplikacją do zarządzania zadań), to możesz ustawić te strony jako otwierające się podczas uruchomienia przeglądarki. Otworzą się one automatycznie, a Ty będziesz mógł szybko przejść do pracy.

        Foldery ze stronami

        W Chrome możliwe jest wyświetlenia paska zakładek. Możesz w nim zapisywać linki do stron oraz robić większe struktury: zapisywać link w folderach, a foldery w kolejnych folderach.

        Ja na co dzień używam zakładek zapisanych w folderach. Mam je pogrupowane w różne obszary. Mam na przykład foldery:

        • Codziennie – mam tutaj wszystkie linki do stron, które chcę dzisiaj odwiedzić, np. aplikacja do nauki języków.
        • Nowy post – mam tutaj linki, które przydają mi się w pisaniu nowego posta.
        • Deploy – są tutaj zakładki do stron pozwalających mi zrobić wydanie nowej wersji oprogramowania.

        Otwieram dwoma kliknięciami wszystkie te zakładki, a potem kolejno przez nie przechodzą (są ułożone w odpowiedniej kolejności).

        Wszystkie posty związane z automatyzacjami:

          Źródła dla: Zakładki w Chrome

          Obraz główny

          Źródła:

          Napraw swój zespół – Notatka z nauki

          przez Karol Bocian | 24 kwietnia, 2022

          W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2017 – Anita Przybył – Napraw swój zespół

          Notatka z materiału: Napraw swój zespół:

          Zanotowałem z tego materiału:

          • Zastanów się, czy grupa ludzi, z którą pracujesz, jest zespołem?
            • Wspólne cele.
            • Podział zysków i odpowiedzialności.
            • Dobro ogółu.
          • Badania pokazują, że najbardziej efektywne zespoły mają 5-7 osób.
          • 5 dysfunkcji zespołów:
            • Brak zaufania (brak otwartości).
              • Zaufanie to otwartość oparta na wierze w dobre intencje.
            • Unikanie konfliktów.
              • Niweluj konflikty destrukcyjne.
              • Twórz konstruktywne dyskusje.
            • Brak zaangażowania.
              • Wysłuchuj innych.
            • Unikanie odpowiedzialności.
              • 3 priorytety na tydzień i postęp ich realizacji.
            • Brak przywiązania wagi do wyników.

          Wszystkie posty związane z notatkami z nauki:

            Źródła

            Obraz główny

            Materiał: Napraw swój zespół:

            Myślenie strategiczne — Harris Vincent

            przez Karol Bocian | 26 maja, 2021
            Myślenie strategiczne

            Przesłuchałem ostatnio książkę: Myślenie strategiczne. O doprowadzeniu spraw do szczęśliwego końca. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

            Wdrożyłem z książki: Myślenie strategiczne:

            1. Wybrałem najciekawsze metody i wykorzystuję codziennie:
              1. Wcześniejsze wstawanie.
              2. Pomodoro.
              3. Metoda Ivy Lee — ja stosuję metodę 5 zadań dziennie.
              4. Zasada Pareto.
              5. 90-dniowe wyzwania.
              6. Uzupełnianie kratek.

            Notatki z książki: Myślenie strategiczne:

            W tej książce w bardzo przyjemnej i krótkiej formie zostały omówione ciekawe metody pomagająca lepiej pracować:

            1. Metoda Ivy Lee.
              1. Spisz na kartce 6 zadań do zrobienia jutro.
              2. Rano rób zadania od 1 do 6. Nie możesz zacząć kolejnego zadania, dopóki nie skończysz poprzedniego.
              3. Zrobione zadania skreślaj.
              4. Pod koniec dnia zapisz 6 zadań na jutro (tych niezrobionych dzisiaj przepisz na jutro).
            2. Zasada 80/20.
              1. Zasada Pareto – 20% rzeczy związane jest z 80% zasobami.
              2. Na przykład:
                1. 20% klientów generuje 80% zysków.
                2. 20% działań odpowiada za 80% sukcesu.
            3. Prawo wymuszonej efektywności.
              1. Nigdy nie zrobisz wszystkiego, bo nie będziesz miał czasu na wszystko. Masz jednak czas na zrobienie najważniejszych rzeczy, więc zacznij je robić.
            4. Wizualizacja.
              1. Wizualizuj przyjemny i motywujący efekt- czyste naczynia, skończony projekt, wspaniałe wakacje.
            5. Prowadź codziennie dziennik.
            6. Poznaj prawdę o oczekiwaniach.
              1. Zacznij robić to, czego oczekujesz. Działaj aktywnie i się szkol aktywnie. Chcesz mówić dobrze po angielsku? To zacznij mówić jakoś, a potem to poprawiaj. A nie tylko uczysz się słówek.
            7. Gra z czasem.
              1. Nie staraj się zrobić konkretne zadania i walczyć z nimi, lecz powalcz z czasem. Ustaw timer jak w zawodach biegowych (np. użyj techniki pomodoro) i powalcz z czasem. Ile słów jesteś w stanie napisać w 10 minut? Jak zadzwoni budzik, skończ szybko, aby zbudować głód pracy!
            8. Wstawaj wcześniej.
              1. Rano jest cicho, spokojnie i masz dużo więcej energii niż wieczorem.
            9. Uporządkuj otoczenie.
              1. Posprzątaj biurko, papiery i listę zadań (skreśl większość).
            10. 90-dniowe wdrażanie nawyków.
              1. 21 dni na wdrożenie nawyku sprawia, że jest on bardzo chwiejny. Po 90 dniach codziennego robienia tego samego staje się to Twoją naturą.
            11. Krzesło stresu i zmartwień.
              1. Wybierz jedno miejsce, gdzie będziesz się martwił, stresował i smucił. Dobrze jest to zrobić przed stresującą sytuacją i wyobrazić sobie. Spróbuj wtedy zestresować się, jak najbardziej możesz.
            12. Miłe listy i prezenciki.
              1. Dawaj ludziom upominki, wysyłaj miłe słowa, dziękuj.
            13. Przeanalizuj wieczorem dzień.
              1. Podsumuj dzień, zrób retrospektywę. Nie odtwarzaj złych wspomnień, tylko spróbuj zbudować inny scenariusz: ktoś zrobił coś, zastanów się, jak mogłeś lepiej się zachować. I skorzystaj z tego w przyszłości.
            14. Zrób codziennie 1 rzecz spoza swojej strefy komfortu.
              1. Tak, wiem — banał. Bez tego jednak ciężko jest o rozwój.
            15. Jeśli jesteś na czas, to jesteś spóźniony.
              1. Jesteś spóźniony, bo stanie się jakaś mała rzecz i się spóźnisz. Wyjdź zatem wcześniej.
            16. Uzupełniaj kratki.
              1. Rozpisz na kartce kolejne dni i codziennie zaznaczaj postęp. Ja robię tak z Duolingo. Mam już ponad 700 dni nieprzerwanej nauki. Nie zamierzam tego przerwać!
            17. Umysł przetwarza świat szybciej, niż myślisz.
              1. Pozwól, aby Twój umysł rozwiązał problem. Zajmij go czymś, nie analizuj wszystkiego dokładnie. Zadawaj otwarte pytania i usuń ograniczenia. Wyłącz logiczne myślenie. Na przykład: wypisz na kartce 30 pomysłów na wspaniałą randkę.
            18. Miej tylko 3 foldery w skrzynce e-mail.
              1. Te foldery to:
                1. Archiwum.
                2. Do zrobienia.
                3. Oczekujące na więcej informacji.
            19. Naucz się mówić nie.
              1. Zacznij odmawiać. Twój czas jest więcej wart niż pieniądze. Nie trwoń go, bo ktoś Cię o coś poprosił.
            20. Jedz lekki lunch.
              1. Zapanuj nad swoim ciałem. Poziom glukozy we krwi powinien być stały, jeśli nie chcesz co jakiś czas czuć się ociężały. Jedz mniej cukrów i jedz mniejsze, lecz częstsze posiłki.
            21. Oszacuj czas i dodaj 50%.
              1. Szacując, nie przewidujesz zmęczenia, negatywnych scenariuszy, wpadek. Nie oszukuj się zatem, że wszystko pójdzie idealnie.
            22. Mów, ile masz czasu.
              1. Jeżeli zaczynasz spotkanie lub rozmowę, określ limit czasu — za 15 minut muszę wyjść. Niech rozmowa będzie pełna mięsa, a nie bez potrzeby przedłużana.
            23. Nie żyj według założeń, lecz według faktów.
              1. Ile rzeczy nie wydarzyło się, a tak bardzo się ich bałeś? Pewnie nawet niejednokrotnie wstrzymały Cię przed działaniem. A jakie są fakty? To na nich oprzyj swoje decyzje.
            24. Ćwiczenie z myszą.
              1. Nasze życie przeplata się z naszą wyobraźnią, a w niej są przeróżne rzeczy: dobre i straszne. Spróbuj żyć w prawdziwym świecie, a nie świecie bajek i swoich wyobrażeń. Bajki są dla dzieci. Spójrz prawdzie w oczy.
            25. Dlaczego afirmacje nie działają.
              1. Afirmacje nie działają, bo wybieramy takie, w które tak naprawdę nie wierzymy. Jeżeli w coś nie wierzymy, to tego nie osiągniemy, bo podświadomie robimy wiele, aby jednak tam nie dojść.

            Wszystkie posty związane z książkowymi wdrożeniami:

              Źródła

              Obraz główny

              • Praca własna.

              Materiały: książka: Myślenie strategiczne. O doprowadzeniu spraw do szczęśliwego końca:

              • Myślenie strategiczne. O doprowadzeniu spraw do szczęśliwego końca — Harris Vincent

              Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

              Problem sprytnego programisty – Notatka z nauki

              przez Karol Bocian | 11 kwietnia, 2022

              W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2019 – Piotr Kubowicz – Problem sprytnego programisty

              Notatka z materiału: Problem sprytnego programisty:

              Zanotowałem z tego materiału:

              • Mamy jakieś wyobrażenie siebie jako pracownika (np. programisty) i to wpływa na sposób naszej pracy i nasze rezultaty.
              • Upraszczaj kod.
              • Czytelny kod jest znacznie lepszy niż optymalny, lecz nieczytelny kod, ponieważ zmniejsza liczbę możliwych błędów do popełnienia. Napisz dłuższy kod, który jest czytelniejszy i łatwiejszy do napisania.
                • Kod mniejszy to niekoniecznie kod łatwiejszy do zrozumienia. Często jest wręcz odwrotnie.
              • Robiąc wszędzie skomplikowane rozwiązania, sprawiasz, że inni programiści popełniają dużo błędów.
              • Nie możemy na Code Review przepuszczać sprytnego kodu, który jest nieczytelny (nawet kosztem niedowiezienia sprintu).
              • Czytelność jest najważniejsza.
              • Odpowiednio ukierunkowana rekrutacja:
                • Zastanów się, jak to się stało, że taki pracownik jest w Twojej firmie. Sprawdź, jak wygląda proces rekrutacji. Czy Twoja rekrutacja nie punktuje dodatkowo osób piszących sprytny kod? Czy ona sprawdza, czy dany kandydat świetnie sprawdza się w warunkach w pracy, czy w jakichś wymyślonych (programowanie na kartce, programowanie samemu)?
              • Prawdziwy programista to pracownik, który usprawnia: ma szukać pieniędzy – zarabiać więcej lub oszczędzać więcej.
              • Rozwijaj się, nie tylko czytając książki dla programistów, ale również o:
                • Zarządzaniu.
                • Spotkaniach.
                • Szybkim uczeniu się.
                • Rozmawianiu z ludźmi.
                • Psychologii.
                • Kognitywistyce.
                • Socjologii.
              • Programiści spędzają z kodem tylko połowę czasu swojej pracy.

              Wszystkie posty związane z notatkami z nauki:

                Źródła

                Obraz główny

                Materiał: Problem sprytnego programisty:

                Level-up your culture – Notatka z nauki

                przez Karol Bocian | 29 maja, 2021

                W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2017 – Tomek Dubikowski – Level-up your culture

                Notatka z materiału: Level-up your culture:

                Zanotowałem z tego materiału:

                • Możesz wprowadzać zmiany, budować nawyki oraz zmieniać świadomość ludzi za pomocą gier.
                • Kultura organizacyjna:
                  • Jak wygląda Twoja rekrutacja? Czy podczas niej sprawdzasz, czy nowa osoba jest fajna – pasuje do Twojej kultury organizacyjnej?
                    • Zespół powinien brać udział w rekrutacji osoby do swojego zespołu.
                  • Każdy pracownik musi rozumieć biznes swojej firmy – wiedzieć, co on robi, jak zarabia i po co.
                    • Możesz popracować na stanowisku swojego klienta (np. w magazynie, fabryce, sklepie), aby zrozumieć lepiej biznes.
                  • Codzienna praca:
                    • Skupienie na projekcie.
                    • Zauważanie zmian w organizacji.
                    • Branie odpowiedzialności.
                    • Odpowiedzialnością lidera jest sprawianie, aby zespół kwitł i rósł.
                    • Pracuj zespołowo.
                  • Chcesz zwiększyć motywację? Zadbaj o:
                    • Cel
                    • Autonomia
                    • Mistrzostwo

                Wszystkie posty związane z notatkami z nauki:

                  Źródła

                  Obraz główny

                  Materiał: Level-up your culture:

                  Współbieżność w języku C#. Receptury — Stephen Cleary

                  przez Karol Bocian | 24 maja, 2021
                  Współbieżność w języku C#. Receptury

                   

                  Przeczytałem ostatnio książkę: Współbieżność w języku C#. Receptury. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

                  Notatki z książki: Współbieżność w języku C#. Receptury:

                  1. Współbieżność – robienie więcej niż jednej rzeczy naraz.
                  2. Wielowątkowość – forma współbieżności, w której korzysta się z wielu wątków wykonywania.
                  3. Przetwarzanie równoległe – wykonywanie dużej ilości pracy poprzez rozdzielenie jej na wiele wątków.
                  4. Programowanie asynchroniczne – forma współbieżności, która wykorzystuje obiekty typu future (zwane też odroczonymi) lub wywołania zwrotne w celu uniknięcia niepotrzebnych wątków. Operacja asynchroniczna podczas wykonywania nie blokuje pierwotnego wątku.
                  5. Programowanie reaktywne – deklaratywny styl programowania, w którym aplikacja reaguje na zdarzenia.

                  Najważniejsze uwagi:

                  • Dobrą praktyką jest zawsze wywoływanie metody ConfigureAwait i wznawianie kontekstu jedynie w razie potrzeby.
                  • Jeżeli zaczynasz używać async, to używaj jej do końca i użyj await.
                  • Paralell.Invoke obsługuje równoległość zadań typu rozwidlenie-złączenie.
                  • Kolekcje współbieżne są zwykle bardziej efektywne niż zwykła ochrona regularnej kolejki za pomocą blokady.
                  • Niemutowalność oznacza, że fragment danych nie może ulec zmianom.
                  • Technika Expotential Backoff jest najlepszą praktyką ponawiania, która zapewnia, że nie zalejemy usługi internetowej ponownymi próbami.
                  • Task.Delay możesz użyć w testach jednostkowych, ale w kodzie produkcyjnym używaj CancellationToken.

                  Ta książka, to książka do której warto co jakiś czas wrócić i przejrzeć ją.

                  Wszystkie posty związane z książkowymi wdrożeniami:

                    Źródła

                    Obraz główny

                    • Praca własna

                    Materiały: Współbieżność w języku C#. Receptury:

                    • Współbieżność w języku C#. Receptury — Stephen Cleary

                     

                    Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

                     

                    Jak zbudować skuteczny proces sprzedaży w firmie – Notatka z nauki

                    przez Karol Bocian | 29 maja, 2021

                    W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Jak zbudować skuteczny proces sprzedaży w firmie SaaS / IT – Filip Duszczak, CEO Instream.io

                    Notatka z materiału: Jak zbudować skuteczny proces sprzedaży w firmie:

                    Zanotowałem z tego materiału:

                    • Dobry handlowiec używa wielu narzędzi, a współczesny proces sprzedaży powinien być w większości zautomatyzowany i powinien być dobrze zaplanowanym procesem (pozwalającym przewidywać wyniki).
                    • Klasyczny lejek sprzedaży się zdezaktualizował. Skorzystaj z jego nowej formy.
                    • Zautomatyzuj proces.
                    • Wyspecjalizuj ludzi do robienia konkretnych zadań.
                    • Sprzedaż i marketing to ten sam dział. Pracują razem.
                    • Mierz, rozwijaj się, testuj.
                    • Projektując stronę, myśl o jej konwersji.
                    • Poświęcaj więcej czasu klientom, którzy dużo płacą (zasada Pareto).
                    • Pisz krótkie maile.
                    • Zautomatyzuj wszystko to, co możesz zautomatyzować!
                    • Nagradzaj pracowników, dawaj premie.

                    Wszystkie posty związane z notatkami z nauki:

                      Źródła

                      Obraz główny

                      Materiał: Jak zbudować skuteczny proces sprzedaży w firmie:

                      Engineering architecture – Notatka z nauki

                      przez Karol Bocian | 29 maja, 2021

                      W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami. Ostatnio zapoznałem się z materiałem: Boiling Frogs 2018 – Kuba Kubryński – Engineering architecture.

                      Notatka z materiału: Engineering architecture:

                      Zanotowałem z tego materiału:

                      • Co oznacza, że architektura jest dobra?
                      • Architektura powinna być implementowalna.
                      • Musisz mierzyć wszystko, bo tylko twarde liczby i fakty mówią, czy idziesz w dobrą stronę.
                      • Zwracaj uwagę, po co chcesz zrobić refaktoring. Jaki masz cel? Jak ocenisz, czy go osiągnąłeś? Czy zysk przewyższa koszty? Dawaj wartość biznesową.
                      • Awaria nie jest dopuszczalną opcją.
                      • Zastanów się, gdzie są pieniądze. Na przykład:
                        • Mamy błąd, że dwa razy w roku doładujemy komuś konto. Rocznie tracimy przez to 150 zł. Naprawa tego będzie kosztowała 2 tygodnie pracy programistów i testerów, czyli dużo drożej.
                      • Rozróżniaj dług techniczny od partactwa.
                      • Możesz zbudować organizację podejmującą decyzje oparte na danach (Data Driven).
                      • Buduj metryki:
                        • Pozwalają określić, czy cel jest osiągalny.
                        • Informują, że coś źle działa (alerty) – metryki mogą być biznesowe (np. mało osób zapłaciło) oraz techniczne (np. niedostępna baza danych).

                      Wszystkie posty związane z notatkami z nauki:

                        Źródła

                        Obraz główny

                        Materiał: Engineering architecture:

                        Wizjonerskie organizacje — Jim Collins, Jerry I. Porras

                        przez Karol Bocian | 22 czerwca, 2021
                        Wizjonerskie organizacje

                        Przeczytałem ostatnio książkę: Wizjonerskie organizacje. Skuteczne praktyki najlepszych z najlepszych. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

                        Wdrożyłem z książki: Wizjonerskie organizacje:

                        1. Wyznaczenie rdzennej ideologii i budowanie zegarów.

                        Notatki z książki: Wizjonerskie organizacje:

                        Książka prezentuje wyniki badania, co wyróżnia wizjonerskie organizacje, czyli takie, które istnieją od dziesiątek lat i ciągle dynamicznie się rozwijają.

                        Najważniejsze pytanie dla firmy: Co sobą reprezentujemy i po co istniejemy?

                        Co możemy ulepszyć, żeby jutro działać lepiej niż dziś.

                        Twoim docelowym dziełem jest firma jako taka — praca nad firmą, a nie w firmie.

                        Rdzenna ideologia

                        Sformułuj rdzenną ideologię:

                        • Rdzenne wartości (esencja, czym kieruje się firma — zasady, standardy, praktyki, których nie wolno łamać) – tylko najważniejsze pozycje. Takie, które utrzymasz zawsze (podczas bessy i hossy).
                        • Rdzenny cel — fundamentalna przyczyna istnienia firmy. Inspiruje do działania.

                        Rdzenną ideologię możesz sformułować niekoniecznie dla całej firmy, lecz wyłącznie dla swojego zespołu. Stwórz też wizualizacje przyszłości.

                        Stałość i zmiany w wizjonerskich organizacjach:

                        • Chroń:
                          • Rdzenne wartości.
                          • Rdzenny cel.
                        •  Zmieniaj:
                          • Kulturę i praktyki operacyjne.
                          • Cele szczegółowe i strategie.

                        Wizjonerskie organizacje: zasady

                        Buduj zegary, zamiast biernie odczytywać czas.

                        Nie szukaj wspaniałego pomysłu na biznes ani charyzmatycznego przywódcy. Zbuduj proces (mechanizm) biznesowy, który potrafi radzić sobie i rozwijać się na zmieniającym się rynku. Skupiaj się na tworzeniu i urzeczywistnianiu wizji całej organizacji.

                        Odrzuć tyranię „ALBO” (i zastąp ją geniuszem „ORAZ”).

                        Łącz przeciwieństw w wielu wymiarach decyzyjnych. Zamiast wybierać A lub B, łącz je, aby mieć A oraz B.

                        Więcej niż zysk — organizacja ma większy cel niż zysk.

                        Znajdź cele istnienia organizacji większy niż zysk. Maksymalizowanie zysku i bogactwa akcjonariuszy nie jest siłą napędową. Jest nią potrzeba wnoszenia czegoś wartościowego (usługi lub produktu). Zysk pozwala istnieć, a rentowność jest narzędziem do realizacji większych celów, a nie celem samym w sobie.

                        W wizjonerskich organizacjach rdzenne ideologie są głębsze i bardziej wiążące niż w innych firmach. Wszyscy znają ideologię, żyją nią i pragną realizować (kierownicy i pracownicy). Rdzenna ideologia jest wzmacniana przez szkolenia, rekrutację odpowiednich kandydatów. Wszystkie cele i działania podporządkowane są rdzennej ideologii.

                        Chroń rdzeń i stymuluj postęp.

                        Jedyną niezmienną rzeczą w firmie powinna być jej fundamentalna filozofia, całą resztę można zmieniać. Codziennie trzeba działać i posuwać się do przodu. Rdzenna ideologia umożliwia postęp. Wyznacza granice.

                        Metody chronienia rdzennej ideologii i stymulowanie postępu.

                        Wielkie, ryzykowne, śmiałe cele (BHAG)

                        BHAG to trudne wzywanie wymagające wiele wysiłku. BHAG pomaga, dopóki nie zostanie zrealizowany. Potem trzeba wyznaczyć kolejny. Musi być jasny i ambitny oraz zgodny z rdzenną ideologią. W jego realizację organizacja musi się w pełni zaangażować. Ważne jest, aby mierzyć postępy. Organizacja powinna być tak zbudowana, aby wspierać osiąganie rdzennego celu oraz BHAG-ów.

                        Kultura granicząca z kultem — wszyscy pracownicy muszą wpisywać się w rdzenne ideologie — być ich wyznawcami.

                        Musisz być bardzo zdyscyplinowany. Wprowadź kultyzm wokół rdzennej ideologii, a nie konkretnego człowieka. Wpajaj kulturę pracowników i nie toleruj niezgodności z nią. Pracownicy powinni chcieć pracować w tej firmie nawet za darmo, bo cel firmy spełnia ich prywatne cele oraz czuć się wyróżnieniu, że mogą tutaj pracować (elitaryzm).

                        Najpierw pociski, potem kule armatnie

                        Spróbuj wiele rzeczy i zatrzymaj te, które działają (usługi, produkty). Rób eksperymenty różnych rzeczy, a jak coś się sprawdza, to skup się tylko na tym. Dawaj swobodę operacyjną oraz wspieraj indywidualną inicjatywę, ale sprawuj ścisłą kontrolę ideologiczną.

                        Postaw na ciągłą ewolucję. Wykorzystaj darwinizm w rozwoju organizacji i produktów. Rób eksperymenty, tak jak robi natura (mutacje, błędy replikacji, krzyżowanie):

                          1. Dawaj pomysłom zielone światło.
                          2. Pogódź się z faktem, że błędy będą popełniane.
                          3. Rób małe kroki.
                          4. Dawaj ludziom swobodę, jakiej potrzebują.
                          5. Zbuduj mechanizm: tykający zegar:
                            1. Trzymaj się rdzennej ideologii, reszta nie jest ważna.

                        Stymuluj postęp ewolucyjny.

                        Inkubowanie menedżerów

                        Awansuj kierowników ze swoich pracowników. Muszą oni być wyznawcami rdzennej ideologii. Planuj sukcesję na wiele lat do przodu.

                        Nigdy nie być wystarczająco dobrym

                        Dyscyplina i samodoskonalenie to najważniejsze rzeczy na świecie.

                        Ciągle się doskonal, aby działać coraz lepiej — ta droga nie ma końca — stymulowanie postępu jest stałym procesem: Jak jutro być lepszym niż dziś?

                        W wizjonerskich organizacjach nie ma atmosfery, gdzie jest psychicznie komfortowo. I o to chodzi. Musi być pewne napięcie, które zmusza do rozwoju. Wprowadź mechanizm stymulacji postępu (np. konkurujące między sobą zespoły). Klienci nigdy nie są w 100% zadowoleni — słuchaj ich dokładnie, są świetnym źródłem pomysłów na usprawnienia.

                        Działania do podjęcia:

                        1. Stwórz mechanizmy dyskomfortu.
                        2. Inwestuj długoterminowo, a jednocześnie miej dobre wyniki w krótkim okresie.
                        3. Trzymaj się rdzennej ideologii — podczas bessy i hossy. Przygotowuj się na kryzysy.
                        4. Zapewnij, że wszyscy w firmie rozumieją, iż komfort nie jest stanem pożądanym i ciągle trzeba dążyć do bycia lepszym.

                        Wizjonerskie organizacje: zasady budowy:

                        • Ciężka praca.
                        • Dyscyplina.
                        • Kult rdzennej ideologii przekładany na wszystkie działania (spójność).
                        • Samodoskonalenie.
                        • Nieustane inwestowanie w przyszłość.
                        • Ciągła ewolucja.

                        Wizjonerskie organizacje: najważniejsze metody budowy:

                        1. Zbuduj zegar (na każdym szczeblu organizacji).
                        2. Wprowadź geniusz „ORAZ”.
                        3. Chroń rdzeń i stymuluj postęp.
                        4. Więcej niż zysk — organizacja ma większy cel niż zysk.
                        5. Dąż do spójności.

                        Korzystaj z metody 5 x Dlaczego!

                        Wszystkie posty związane z książkowymi wdrożeniami:

                          Źródła

                          Obraz główny

                          • Praca własna

                          Materiały: książka Wizjonerskie organizacje:

                          • Wizjonerskie organizacje. Skuteczne praktyki najlepszych z najlepszych — Jim Collins. Jerry I. Porras,

                          Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.