Ostatnie Patoszkolenie w tym roku👇
➡️ 04.06.2024 Architektura 101
Tym razem rozkładamy na czynniki pierwsze zmiany w ocenach pracowników w tech-gigantach. Będzie też o tym, że audyty mogą nie być taką nudą, jak myślisz. Na deser serwujemy gorące newsy z świata baz danych. SLI, SLO i cała masa technicznych smaczków czekają!
Słuchasz Patoarchitektów dzięki Protopii. Sprawdź, jak Patoarchitekci i Protopia mogą Ci pomóc ➡️ protopia.tech
Linki i ciekawe znaleziska:
Szymon Warda: Cześć, słuchacie Patoarchitektów! Prowadzą Szymon Warda…
Łukasz Kałużny: I Łukasz Kałużny. Wszystkie linki gdzieś tu na dole lub na patoarchitekci.io Dacie sobie radę.
Szymon Warda: No to co? Pochwalimy się jeszcze tym, że będziemy szkolili niedługo właściwie. Ty będziesz szkolił z Kubernetesa the Hard Way, a ja będę się chwalił jak tam modelować dane i jak to wszystko ładnie upchać w NoSQL-ach. A potem, jak się okaże, to dokładnie jak upchać też w SQL-u.
Łukasz Kałużny: Dobra, czyli 21 lutego, 22 lutego, link w opisie do zapisów.
Szymon Warda: Dokładnie tak.
Łukasz Kałużny: Dobra Szymonie, co masz w pierwszym short’cie tego roku?
Szymon Warda: No właśnie, ja mam taki ciekawy artykuł zebrany odnośnie performance reviews, Bo zbiera się sezon performance reviews albo był sezon performance reviews itd. I jak wiemy cała idea performance reviews przyszła od wielkich firm technologicznych, w ogóle wielkich firm amerykańskich de facto. A okazuje się, że one coraz częściej od tego odchodzą. Na przykład Google, MS też mieli taki zwyczaj stackowania pracowników, czyli układania ich w kolejności kto jest najlepszy, itd. I okazuje się, że MS od tego odchodzi po prostu, już tego nie będzie robił. Znowu Netflix, Netflix odchodzi od kultury performance reviews w kontekście tego bardziej, że generalnie raczej częstszych rozmów i częstszej informacji zwrotnej niejako do pracowników. Apple w ogóle totalnie olał performance reviews. Google w ogóle przemyślał cały swój system i zmniejszył performance views. Także bardzo ciekawy, ciekawy, ciekawy kierunek. Z całości artykułu jeszcze wynika taki tekst, że przesuwają się dużo bardziej w kierunku zamiast takiego bardzo sztywnego oceniania pracowników zgodnie z jakąś skalą, to po prostu przerzucenia tego na koszt one-on-one’a generalnie, że tam się ma to dziać i będzie to mniej sformalizowane i bardziej zindywidualizowane. Ogólnie ruch ciekawy, może się komuś przyda, bo właśnie robi performance reviews, więc czemu nie.
Łukasz Kałużny: Raczej jest to w całości układanki ciekawe. Chyba od dwóch lat się pojawiają takie informacje. Z drugiej strony to nie jest też tak, jak sobie poszukacie nie znajdziecie aż tak, że oficjalnie to są jakieś tam przebąkiwania i inne rzeczy z całości tej układanki, bo całe jeszcze systemy premiowe i inne takie elementy na tym wiszą i to bardzo mocno.
Szymon Warda: Tak, wiszą tam w ogóle połączone bardzo mocno, też całe stanowiska też i awanse, ale wydaje mi się, że po prostu ludzi się nie uczy jak robić performance reviews. Bo robienie dobrej performance reviews nie jest takie łatwe tak naprawdę. I też zmienia się, wydaje mi się, kwestia pokoleniowa. Inaczej nowe pokolenia podchodzą do performance reviews. To też ja osobiście widzę.
Szymon Warda: Ale też potem trzeba je rozliczyć na koniec, więc zamień performance reviews jakieś. Dobrze Łukaszu, a co Ty tam masz?
Łukasz Kałużny: A ja dzisiaj zamiast linków taki temat. Ostatnio pomagam klientom, teraz zdarzyło się to już kilka razy, więc może warto sobie taką rzecz powiedzieć, pomagam przygotować się do audytów różnego rodzaju. I takie pytanie do Ciebie, po co robi się audyty?
Szymon Warda: Żeby zobaczyć gdzie się jest.
Łukasz Kałużny: No właśnie widzisz i to jest ten najlepszy rodzaj audytów, żeby zobaczyć gdzie się jest, zbenchmarkować się z wiedzą rynku i innymi takimi elementami.
Szymon Warda: Tak, dla mnie to jest bardzo ciekawe generalnie kiedy robi się audyty, bo to z reguły z tego wynika, bo audyty z reguły robi się powiedzmy jak tak, na przykład jak przychodzi nowy dyrektor albo przychodzi nowy kierownik działu czy jakkolwiek to nazwiemy, jakaś zmiana gwardii, jak projekt jest do ubicia, często to też tak wygląda generalnie, audyty zostały po prostu często wykorzystywane jako narzędzia polityczne.
Łukasz Kałużny: Tak, dokładnie to jest najgorszy rodzaj i wszyscy przez to patrzą, że będę oceniany.
Szymon Warda: Tak, audyty jako takie mają ogromną wartość. Wprowadzenie do organizacji nowych podejść i generalnie zobaczenia okiem zewnętrznym kogoś, kto już widział parę razy parę rzeczy de facto.
Łukasz Kałużny: I wiesz co, ja rzucę sobie dwa albo trzy rodzaje audytow, z którymi mam styczność, jeżeli popatrzysz. Jeden, to jest właśnie to, co powiedziałeś, ocena stanu bieżącego. Druga rzecz, to jest powiedzenie sobie gdzie ja będę miał problemy.
Szymon Warda: Tak, dla mnie chociaż to jest taki trochę element tylko oceny stanu tak naprawdę, bo to jednak wychodzi ci po prostu.
Łukasz Kałużny: Tak jest to oceny stanu. I dwa kolejne rodzaje, one są wynikową tego tak naprawdę, jak popatrzysz, dwa kolejne rodzaje, to jest jeden na zasadzie zielonej pieczątki i poklepania się po plecach, że wszystko jest ok.
Szymon Warda: Nikt nie jest ok, ale powiedzmy sobie…
Łukasz Kałużny: Tak, zaraz sobie do tego przejdziemy przy całości. Ale to jest pokazanie, że staramy się i kontrolujemy naszą pracę. I to jest bardzo, bardzo pozytywny rodzaj audytu. I jest trzeci, ten najbardziej sformalizowany, czyli kiedy udowadniamy, że przestrzegamy procesów, norm, albo na przykład jako dostawca, klient mówi, że zgodnie z umową sprawdza, czy robimy wszystko jak należy. Czyli tutaj już się pojawiają audyty bezpieczeństwa, proceduralne i inne.
Szymon Warda: I to są takie audyty, ja to nazywam audyt screenshotowy tak naprawdę, że pokazuje screenshoty, ewentualnie maile maks, albo jakiegoś PDF-a, który pokazuje, że coś robisz zgodnie z tym. To są z reguły, sorry, ale szukanie dupokryt najczęściej.
Łukasz Kałużny: Raczej tak, ISO, ISO i inne takie. Szymon ma pewne traumy.
Szymon Warda: Tak jest.
Łukasz Kałużny: I teraz patrząc się, pomagałem się przygotowywać ostatnio do różnych rodzajów tego typu audytów, czyli od tych i papierowych i do powiedzenia sobie jak to wygląda. I trzeba popatrzeć dwie rzeczy, które są, ludzie zarządzający spaprali korzystając z audytów jako narzędzia politycznego w środku firmy.
Szymon Warda: I teraz wszyscy się ich boją generalnie, bo wszyscy boją się, że to będzie wykorzystane przeciwko nim.
Łukasz Kałużny: Tak i teraz powiedzmy, jeżeli to nie jest audyt, który przychodzi z zewnątrz, który wychodzi poza firmę, to jeżeli jest coś do zrobienia, to jest to pozytywne, bo sorry, nikt nie jest alfą i omegą. Inaczej, zawsze coś będzie.
Szymon Warda: Dla mnie to jest jeszcze jedna rzecz generalnie, to jest to, że jak mówisz, że coś jest do zrobienia, to też może być często wykorzystywane. Audyty z reguły… Na przykład robimy audyt jakiegoś systemu albo jakiegoś procesu, to audyt z reguły to jest też często fenomenalne narzędzie dla nas, ludzi technicznych, do powodzenia: ej, to powinniśmy zrobić. Mówiliśmy, że to powinniśmy zrobić, nie dawać budżetu, to w końcu musimy to zrobić generalnie, bo już nawet inni mówią, że powinniśmy to zrobić. Więc to jest fajna opcja na wyrównanie pewnych rzeczy, ubicie systemów, itd. To jest taki fajny moment na zrobienie kroku do przodu, takiego wielkiego.
Łukasz Kałużny: Raczej tak, przygotowując się do audytu, to, co teraz miałem w ostatnich dniach z jednym klientem, robiliśmy audyt przed audytem. Więc doskonale zdaję sobie sprawę i część z osób może powiedzieć tylko tam: a nie mówiłem.
Szymon Warda: Łukasz, ale przecież to jest często taka sytuacja, że wchodzisz do firmy, nawet, żeby zrobić audyt i zaczynasz rozmowę z kluczowymi osobami w firmie i trafisz na jakiegoś developera z reguły, jakiegoś seniora, który po prostu wydaje się taką marudą. I on ci dokładnie mówi po kolei co jest źle i co jest do poprawy i co trzeba zrobić. Audyt, jest często generalnie wysłuchanie ludzi w organizacji i nadanie głosu pewnym osobom i potem namaszczenie generalnie, że: okej, Ty będziesz tą osobą od zmiany. Więc tak, audyty wnoszą element nowy, ale to jest często też zbudowanie w organizacji pewnej takiej super małej mikro struktury, inaczej będą ludzie słuchani. Więc to też wchodzi, ale to są inne sprawy.
Łukasz Kałużny: Ja sobie teraz patrzę, jak do tego podchodzić. Jeżeli nie jest to narzędzie polityczne i oceniające na zewnątrz, nie ma co się tego bać.
Szymon Warda: Problem jest taki, że nigdy nie wiesz jak to będzie wykorzystywane.
Łukasz Kałużny: Tak i to jest…
Szymon Warda: I tu się nie oszukujmy.
Łukasz Kałużny: Tak, jest najsmutniejsza część. Najważniejsze, ja też widzę jeden pozytyw nawet jeżeli miałoby być źle wykorzystane, często posprzątamy najgorsze rzeczy.
Szymon Warda: Tak, albo zrobimy ruchy, których się wszyscy boją. To też jest bardzo ważne, do ubicia jakiegoś systemu generalnie i przepisania go, albo zastąpienia czymś nowym.
Łukasz Kałużny: Znam różne podejścia, albo rozważenia, że jednak gdzieś za bardzo zaszaleliśmy.
Szymon Warda: Audyt może dać ciekawy kopniak do przodu organizacji. To faktycznie jest fajne.
Łukasz Kałużny: I w niektórych przypadkach pięknie pokazuje, że trzeba postawić gdzie indziej priorytety.
Szymon Warda: Tak, jak najbardziej, bo po prostu zmieniamy cele, podejmujemy decyzje, które powinniśmy już dawno temu podjąć. Dobra, to może nie audytowo, ale dalej formalnie. Saga Alexa Everlofa odnośnie SLI i SLO. Za chwilę dojdzie cały wpis jeszcze odnośnie SLA. Ma chyba z 6 czy 7 wpisów odnośnie, krótkie raczej wpisiki, odnośnie właśnie SLA, SLO itd. i SLI, ale tak, żeby zachęcić ludzi do zerknięcia tam. Jest ciekawy wpis odnośnie SLI czasowych kontra zdarzeniowe. Dlatego, że możemy podejść do właśnie zbierania metryk, wartości czasowo albo zdarzeniowo. Np. przykład, możemy podejść generalnie do określenia naszego SLI jako procent, które się nie udały, czyli które po prostu rzuciły 404 albo 500, albo czas, kiedy system był niedostępny, bo jedno się mapuje całkiem ładnie na drugie. I on faktycznie fajnie pokazuje między innymi ten fakt, że czasowe są z reguły, wchodzimy w czasowe, bo są najprostsze do zrobienia i po prostu takie bardziej intuicyjne de facto. No właśnie, że jakby to Cię interesuje, że system był niedostępny przez 5 minut powiedzmy sobie, a w tym czasie nie obsłużył dwóch requestów, to nic się nie wydarzyło, albo 5 minut i nie obsłużył 10 tysięcy requestów. Dlatego właśnie te zdarzeniowe pokazują właśnie tą skalę problemu jaki mamy. To jest takie ciekawe.
Łukasz Kałużny: Inaczej, tylko jeszcze trafiasz w jedno, bo ja bym bardziej określił też dostępnościowym, bo powiedzenie sobie time based to jest… Ono jest dobre, wszystko zależy przy całości, w którym Ty miejscu to musisz mierzyć.
Szymon Warda: Bardziej bym wiedział, że zależy od tego, jak się umówiłeś z klientem, bo zdarzenia mają dużo plusów. Problem jest taki generalnie, że one finalnie i tak będziesz musiał je przemapować na budżet niedostępności, który z reguły jest czasowy. I tu się komplikuje, że finalnie na tym czasowym wylądujemy. Ale to jest tylko taka zachętka, bo on to fajnie rozpisuje, całkiem ciekawie do tego podchodzi.
Łukasz Kałużny: Najważniejsza - olewanie working hours i powiedzenie sobie 24/7, tak jak powiedziałeś, to jest zwykle chyba największa choroba.
Szymon Warda: Tak, czy w ogóle powiedziałbym tak. Ja mam jeszcze jedną taką ciekawą rzecz, która dla mnie by była taka domyślnie - DynamoDB. Pamiętasz, jak parę odcinków temu mówiliśmy o tym, żeby teraz rozbijać…
Łukasz Kałużny: Na różne tabele.
Szymon Warda: Dokładnie tak. To teraz wiesz co wprowadziło Dynamo? Transakcyjność między tabelami, czyli transakcje rozproszone, bo to może być między wieloma maszynami. Czyli wprowadzili dwie osobne - transaction get items, transaction write items, osobne funkcje, które generalnie po prostu wykonują serię…
Łukasz Kałużny: Czyli lecą transakcyjnie.
Szymon Warda: Tak, transakcyjnie, dokładnie. I w ogóle w artykule super, zero minusów, itd. Jak się wejdzie w papier, który opisuje to dokładnie, to wychodzi, że to jest dwa razy wolniejsze od zwykłych operacji, a to jest dużo DynamoDB.
Szymon Warda: Mnie dziwi, że tylko tyle. Więc jestem ciekawy skąd ten cały ruch, bo wydaje mi się, że znowu chcemy, znowu przychodzimy i przychodzą ludzie, którzy generalnie znają jakoś tam SQL-a, itd. i chcemy znowu zamodelować sobie dane ładnie będą nasze klasy wyglądały.
Łukasz Kałużny: Wiesz co, ja dokładnie o tym pomyślałem, że ktoś chyba zamiast MyRocksa chciał zrobić DynamoDB.
Szymon Warda: Tak, ale wydaje mi się, że po prostu znowu wchodzimy w to generalnie, że mapujemy dane tak samo jak nasze klasy, a nie dane. Dane powinny być jak dane po prostu. Dlatego dotykamy tego ORM-a, żeby przemapować dane na klasy, a nie po prostu żeby to nie było jeden do jednego. Więc nie jestem happy z tego powodu.
Łukasz Kałużny: Model składowania versus model w kodzie…
Szymon Warda: To są inne rzeczy.
Łukasz Kałużny: Tak, trzeba się z tym pogodzić.
Szymon Warda: A co jest jeszcze ciekawe? Z całym ruchem wokół Domain-Driven Design, gdzie dokładnie to właśnie DDD mówi, że inaczej składujesz, dalej jakoś nie do końca to przebiło się widzę. I mam jeszcze drugie, znowu z bazy danych. MySQL 8.2 wprowadza transparentny podział read-write’ów. Czyli łączy się do portu read-write, to jak robisz zapis to leci do primary, robisz odczyt, leci do secondary automatycznie.
Łukasz Kałużny: W innych bazach też to się w driverach pojawiało, takie podejście.
Szymon Warda: OK, tylko teraz generalnie czy zrobiłbyś to jako automagicznie, żeby to się działo, bo czas synchronizacji będzie tam występował, tam możesz mieć niespójności. Dla mnie to jest proszenie się o problemy.
Łukasz Kałużny: Raczej chcesz świadomie się na poziomie na przykład drivera przekierować na przykład requesty do raportów takich na danych transakcyjnych.
Szymon Warda: Dokładnie tak, z tym się zgodzę, ale nie na zasadzie generalnie, że po prostu masz innego stringa i on automatycznie te rzeczy rozrzuca. I też trochę to znowu jest wprowadzenie automagii, która kopnie, będą takie małe problemy, że coś się nie pokazuje, które…
Łukasz Kałużny: Inaczej, witamy w świecie eventual consistency.
Szymon Warda: Tak, właśnie, ale po to masz bazę relacyjną, żeby tego nie mieć. I to jest część takiego problemu, że ludzie będą robili F5, żeby odświeżyć, albo będą czekali, itd. Problem jest taki, że jak w takim systemie wystąpi taki problem i pójdzie fama, że tak trzeba robić, to wszyscy, niezależnie co się będzie działo, będą tak go obsługiwać, będą czekali i mówili, że coś tam się wydarzy.
Łukasz Kałużny: Obejrzyj jak Twój system jest wykorzystywany przez userów po roku.
Szymon Warda: Tak, dokładnie. I co będzie w takim systemie? To będzie po prostu wykorzystanie F5 albo zrobienie czegoś i czekanie i potem okaże się, że wszyscy marudzą: bo i tak trzeba minutę odczekać, żeby coś się pokazało, że się w ogóle wydarzyło. Tak że nie, jakoś tak nie do końca mi ten ruch powiedzmy dobrze brzmi. Dobrze, tyle chyba Łukaszu.
Łukasz Kałużny: To co, zawijamy?
Szymon Warda: Zawijamy. Na razie.
Łukasz Kałużny: Trzymajcie się. Hej.