Smart kontrakty i blockchain – to nie takie trudne jak myślisz
Jakiś czas temu na moją skrzynkę mailową wpadła wiadomość od Piotra Michalaka z InstytutKryptografii.pl dotycząca kursu programowania smart contract. Tematu tego na blogu do tej pory nie poruszałem, głównie z tego powodu, że moja wiedza w tym zakresie jest w zasadzie zerowa. Kiedyś coś tam obiło mi się o uszy, ale nigdy nie zagłębiałem się dalej.
Piotr zapytał się czy byłbym zainteresowany przerobieniem wydanego przez jego firmę kursu, a następnie podzielenia się moimi spostrzeżeniami z Wami. Pomyślałem sobie, że będzie to świetna okazja do zdobycia choćby podstawowych wiadomości z tej dziedziny, a jednocześnie fajny materiał dla Was, zwłaszcza dla tych, którzy są zainteresowani programowaniem smart kontraktów i ogólnie technologią blockchain.
Autorem kursu jest Marek Śledziński, programista z dwunastoletnim stażem. W czasie wolnym prowadzi stacjonarne warsztaty, gdzie przeszkolił już naprawdę sporo osób. Ma ogromną wiedzę, którą przekazuje w przystępny sposób. Jego kurs programowania smart kontraktów, składa się z krótkich, kilkunastu minutowych nagrań, a każde z nich objaśnia osobne zagadnienie. Ideą powstania kursu była rzekomo chęć pomocy polskim programistom by stali się specjalistami na światowym rynku blockchain. Czy się to udało? Zobaczymy.
Dzięki szkoleniu łatwiej jest przeskoczyć początkowe bariery jakie stawiane są przed developerami. Przystępując do kursu, poza wszystkimi niezbędnymi materiałami otrzymałem również dostęp do zamkniętego forum, na którym można zadawać pytania dotyczące przerabianych zagadnień oraz poznać innych programistów smart kontraktów. Warto jeszcze wspomnieć o przygotowanej przez autora liście pytań rekrutacyjnych, które pomogą lepiej przygotować się do pierwszej rozmowy o pracę.
Kurs składa się dokładnie z trzydziestu modułów, z czego każdy z nich podzielony jest na co najmniej dwie, a w niektórych przypadkach nawet i ponad trzydzieści kilku minutowych lekcji. Jest to ok. 9-10h nagrań plus 2h ćwiczeń co sumarycznie daje 12-13h materiału edukacyjnego. Odpowiada to mniej więcej trzy dniowemu stacjonarnemu szkoleniu biorąc pod uwagę przerwy kawowe, na lunch i ogólnie mniejszą “konkretność i mięsistość” takiego spotkania na żywo.
Oferta ta kierowana jest nie tylko do programistów, ale również i managerów, scrum-masterów czy też product-ownerów. Jeśli osoba zarządzająca zespołem developerów rozumie zagadnienia techniczne to chyba wszyscy się ze mną zgodzą, że ogólnie wpływa to pozytywnie na realizację założonych zadań i celów.
Blockchain to nie tylko klepanie kodu, ale ciekawe wyzwania programistyczne ocierające się o matematykę. To co jest „przekleństwem” studentów informatyki (a przynajmniej dużej części) w pracy zawodowej jest zbawieniem. Chyba każdy programista marzy o tym, żeby trafić na ciekawy projekt, gdzie poza klepaniem kodu będziemy mogli zrobić coś wymagającego nieco innego podejścia oraz oryginalnych rozwiązań.
Systemy informatyczne ciągle rosną. Rośnie liczba przetwarzanych przez nie danych, a tym samym zwiększa się zapotrzebowanie na moc obliczeniową. Można to rozwiązać poprzez dokładnie nowych urządzeń, zwiększanie ilości pamięci RAM czy też mocy procesora. Takie działania bardzo szybko okazują się jednak niewystarczające. Linie graniczne, których nie jesteśmy w stanie w ten sposób przeskoczyć są bardzo nisko zawieszone. I tutaj właśnie na białym koniu wjeżdża decentralizacja, blockchain i smart kontrakty.
Na temat smart contracts pierwszy raz usłyszałem na ostatnim wykładzie przedmiotu, który nazywał się „obliczalność i złożoność” na jaki miałem okazję uczęszczać na I roku studiów magisterskich z informatyki. Dziedzina ta wcale nie jest nowa – istnienie smarct contractów przewidziano na wiele lat przed bitcoinem. Temat ten został poruszony nie przez prowadzącą, ale specjalnie zaproszonego programistę, który na co dzień zawodowo zajmuję się tą tematyką. To co utkwiło mi w pamięci po tej prezentacji to właśnie zdanie, że być może dzisiaj nienawidzimy „obliczalności i złożoności”, ale w przyszłości będziemy wszyscy marzyli, żeby trafić na projekt, który będzie wymagał wiedzy z tej dziedziny.
Kurs Marka wprowadza słuchacza w tematykę smart kontraktów poczynając od decentralizacji, konceptów, podstaw blockchain’a, algorytmu konsensusu, ethereum, solidity, funkcji definiowalnych, kompozycji kontraktów, interakcji między kontraktami, a kończąc na testowaniu. Jest to materiał, którego nie znajdziecie ot tak w internecie. Praktyczne przykłady oraz forma kursu powodują, że nauka staje się naprawdę przyjemna. Sam się wkręciłem, mimo że jak pewnie wiecie obecnie całą swoją uwagę skupiam na całkowicie innej technologii.
Nagrania, które składają się na całość materiału to po prostu prezentacje z komentarzem autora oraz elementami dodatkowymi takimi jak diagramy, ilustracje itp. Nie jest to oczywiście sam tekst, ale – jak to mówił jeden z moich wykładowców – raczej forma „kolorowanki dla dzieci”, czyli czarno białe diagramy i symboliczne ilustracje, aczkolwiek wystarczające do przedstawienia tematu w czytelny sposób.
Mamy też bonusowe materiały, które nakierowują na dalszy rozwój oraz listę polecanych artykułów, kursów i książek z którymi warto się zaznajomić.
Werdykt? Moim zdaniem kurs jest godny polecenia, dobrze przygotowany, bogaty w treści i warty swojej ceny szczególnie biorąc pod uwagę fakt, iż omawia niszową, wąską tematykę, która może przyczynić się do rozwoju kariery zawodowej w konkretnym, dobrze płatnym kierunku.
Nie jest on co prawda idealny, ale warty poświęcenia czasu i pieniędzy. Zdaję sobie bowiem sprawę, że pewnie dla części z Was jego forma nie będzie odpowiednia. Nie każdy lubi uczyć się oglądając video. Mi osobiście zdecydowanie łatwiej było by gdybym miał również dostęp do materiałów w wersji tekstowej. To jednak kwestia osobistych preferencji.
Przydało by się również trochę więcej praktycznych przykładów i zastosowań omawianych zagadnień. Tutaj mam nadzieję, że zmobilizuję autora do dalszej pracy. Ogólnie nie ma jednak co narzekać, pora zanurzyć się w odmętach blockchaina i smart contractów.
Dostęp do materiałów szkoleniowych można wykupić na stronie InstytuKryptografii.pl, a dokładnie o tu (kliknij). Kurs kosztuje 1497 zł i co warto wspomnieć masz 30 dni na jego przetestowanie. Jeśli w ciągu tego okresu uznasz, że nie spełnia on Twoich wymagań, to bez podania przyczyny można go ewentualnie zwrócić. Takie podejście to już chyba standard w sprzedaży internetowej różnego rodzaju kursów choć trzeba przyznać, nie wszędzie możemy się z nim spotkać.
Jeśli macie jakieś pytania odnośnie szkolenia, zastanawiacie się nad zakupem to śmiało piszcie. Sekcja komentarzy jest do waszej dyspozycji. Na wszystkie wiadomości postaram się odpowiedzieć.