Blockchain developer

W ramach podcastu “Porozmawiajmy o IT” miałem okazję porozmawiać z Marcinem Rzeteckim o blockchain developerze.

Posłuchaj naszej rozmowy w wersji audio 🎧 👇

Moim gościem jest Technical Blockchain Consultant, współzałożyciel i prowadzący stowarzyszenie Blockchain Polska — to jest największa tego typu organizacja w Polsce. Technical Outreach Specialist w Bitcoin Association for BSV Blockchain — globalnej organizacji z siedzibą w Szwajcarii, która działa na rzecz rozwoju biznesu na Blockchainie BSV. Współzałożyciel Start-upu Mysa Finance, wykładowca Blockchain na kolegium Da Vinci. Moim i Waszym gościem jest Marcin Rzetecki.

Cześć, Marcin! Bardzo miło mi gościć Cię w podcaście.

Dzień dobry! Witam Wszystkich. Bardzo mi miło, że dzisiaj tutaj zawitałem i będę mógł powiedzieć kilka słów na temat technologii Blockchain.

No właśnie, bardzo się cieszę, że będziesz mógł się tutaj podzielić wiedzą, bo sam się też pewnie wiele nauczę. A dzisiaj skupimy się na takim wycinku całej tej technologii Blockchain polegającej na roli dewelopera w całym tym ekosystemie, czyli jak wejść do branży jako deweloper, jak się rozwijać, jakie jeszcze inne role niedeweloperskie w tym ekosystemie występują.

Ale chciałbym rozpocząć od standardowego punktu programu, czyli od pytania, czy słuchasz, Marcin, podcastów, jeśli tak, to może masz jakieś swoje ulubione audycje?

Nie słucham podcastów namiętnie, codziennie, co tydzień. Słucham podcastów w momencie, kiedy są one mi potrzebne lub mam więcej czasu. Z takich podcastów dotyczących technologii Blockchain na pewno polecam Blockchain won’t save the world, Anthony’ego Day’a. Jest to bardzo fajny biznesowo-techniczny podcast, pokazujący Blockchain z różnych perspektyw, więc na pewno to. Są też inne podcasty czy filmy na You Tubie, gdzie można się dowiedzieć naprawdę ciekawych rzeczy. Ale to wszystko kwestia czasu i kwestia potrzeby.

Pewnie, fajnie. Dzięki za te rekomendacje.

Myślę, żeby zacząć od takiego uwspólnienia wiedzy, żebyśmy mieli jakiś taki wspólny poziom później do dyskusji, czyli poprosiłbym Cię o takie krótkie wprowadzenie do tego, czym właściwie Blockchain jest i dlaczego uważasz, że jest istotny, bo myślę, że z tego, co mówiłem o Twojej osobie na początku, jasno wynika, że poświęciłeś swoje życie zawodowe Blockchainowi, więc przypuszczam, że jest on dla Ciebie istotny, ale gdybyś mógł powiedzieć ze swojej perspektywy, dlaczego uważasz, że ta technologia może mieć duży wpływ, to byłoby też świetnie na początku.

Ciężko powiedzieć jednym zdaniem, czym jest Blockchain, ale mówiąc w kilku zdaniach, Blockchain po polsku to jest łańcuch bloków. Jest to rosnąca lista rekordów zwanych blokami, które są powiązane ze sobą przy użyciu kryptografii. Czyli każdy kolejny blok jest następcą poprzedniego i są one ze sobą powiązane.

I myślę, że to jest taka ogólna definicja Blockchaina, natomiast sam Blockchain ma w sobie pewne cechy, które wyróżniają go na tle innych technologii. Z takich dwóch głównych pierwsza to niezmienność danych, czyli jeżeli raz zapiszemy informacje na blockchainie czy w tej rozproszonej bazie danych, to nie mamy możliwości ich modyfikacji. Czyli jedyne, co możemy zrobić, to dodać nowe informacje, nowe dane.

Druga istotna cecha to trusted, czyli zaufanie. Czyli w dzisiejszych tradycyjnych systemach baz danych mamy bazy danych scentralizowane i mamy zawsze trzecią stronę, która uwiarygadnia nam, że dane, które się tam znajdują, są zaufane, prawdziwe. W przypadku technologii Blockchain eliminujemy stronę trzecią. Zastępuje ją rozproszona technologia i wtedy możemy uznać, że te dane są zabezpieczone, prawdziwe przez technologię, a nie organizacje typu bank, zakład ubezpieczeń itd.

Super, dzięki za to wprowadzenie. No właśnie, sama technologia ma już kilka lat, to nie jest coś zupełnie nowego, aczkolwiek nie ma też co ukrywać, że taki hype podsycany kryptowalutami na technologię Blockchain to jest kwestia dosłownie kilku ostatnich lat. Generalnie w IT technologie, które mają już te, powiedzmy, naście lat, można uznać za mniej lub bardziej zaawansowane czy też mniej lub bardziej dojrzałe.

Chciałbym Cię zapytać, jak to jest w przypadku Blockchaina. Na jakim etapie rozwoju tej technologii obecnie jesteśmy i czy możemy mówić o takiej pełnej dojrzałości Blockchaina obecnie?

Powiedziałbym to samo, co mówi się w mediach, w różnego rodzaju artykułach: jesteśmy na etapie późnych lat 90., jeżeli byśmy porównywali to z technologią tradycyjnej IT. I wydaje mi się, że fajnym punktem odniesienia jest protokół TCP/IP, podstawa internetu, która powstała w latach 70. i bańka dotcomowa, która była w późnych latach 90. oraz internet, który mamy dzisiaj. Więc potrzebowaliśmy prawie 50 lat, żeby nasza technologia, której na dzień dzisiejszy używamy, języków programowania, komunikacji, protokołów, żeby była na tyle dojrzała, żebyśmy mogli zrobić ciekawe rzeczy.

Tak samo jest z Blockchainem. Dzisiaj jesteśmy na wczesnym etapie, próbujemy różnych rozwiązań, różnych kierunków. Tak naprawdę to, co jest dzisiaj, w moim odczuciu będzie czymś innym za 10, 15, 20 lat. Więc można powiedzieć, że to jest taki proof of concept tego, co będziemy robić w następnych latach.

Właśnie, bo Blockchain jest technologią, która gdzieś u źródła, w tej takiej niższej warstwie odpowiada za możliwości, które są nadbudowywane na tej technologii i oczywiście kryptowaluty, o których dzisiaj raczej nie będziemy mówić, są jakimś takim przykładem aplikacji czy możliwości działania na Blockchainie, ale inną możliwością, nawet ciekawszą, są różnego typu zdecentralizowane aplikacje i to właśnie są tego typu aplikacje, które są później tworzone przez deweloperów Blockchain, o których za chwilę będziemy rozmawiać.

Więc chciałbym Cię poprosić, żebyś powiedział, czym są te DApps, czyli właśnie zdecentralizowane aplikacje działające na Blockchainie.

Zdecentralizowana aplikacja to taka aplikacja, która może działać autonomicznie i zazwyczaj za pomocą inteligentnych kontraktów, które są uruchamiane na Blockchainie. Czyli tutaj analogicznie do całego pomysłu technologii Blockchain, nie potrzebujemy trzeciej strony. Czyli możemy stworzyć zdecentralizowaną aplikację, która używa smart cotractu i w zależności od tego, jakie przyjdą czynniki zewnętrzne, smart contract wykona automatycznie pewne działania.

Czyli np. jeżeli uznamy, że zakładamy się w meczu Belgia — Polska, jeżeli Polska wygra to ja otrzymam n tokenów, a jeżeli wygra Belgia, to Ty, Krzysztof, otrzymasz n tokenów. I na podstawie wyroczni, czyli oracle, która zbierze informacje po zakończeniu meczu z kilku źródeł, jeżeli uzna, że faktycznie Belgia wygrała, to te tokeny zostaną automatycznie Tobie przesłane bez manualnego wykonania przez osobę trzecią. Więc tak możemy w skrócie opisać zdecentralizowane aplikacje.

Oczywiście jako technologia jest tutaj jeszcze wiele do zrobienia. Ciężko mówić, że to są w pełni zdecentralizowane aplikacje, natomiast wydaje mi się, że zmierzamy w dobrym kierunku i tego typu aplikacje będą w jakiś sposób przyszłością, mam takie poczucie, że przechodziliśmy podobne procesy wcześniej, czyli mieliśmy aplikacje desktopowe, potem webowe, mobilne i wydaje i się, że następstwem będą zdecentralizowane aplikacje.

Nie wiem, czy się ze mną zgodzisz, ale obecnie jeśli chodzi zarówno o tego typu aplikacji, jak i kryptowaluty, to sukces tych projektów wynika z uwagi osób zainteresowanych, ale również z uwagi płynącej od deweloperów, w sensie te projekty, które skupiają wokół siebie ambitnych, doświadczonych deweloperów, mają większą szansę, żeby się przebić.

Ale też nie ma co ukrywać, że tych ludzi po prostu brakuje na rynku. Całe IT cierpi na brak doświadczonych programistów, Blockchain nie jest tutaj wyjątkiem.

Czy są jakieś przyczyny, które jesteś w stanie zauważyć, które wpływają na to, że zarówno deweloperów, jak i innych specjalizacji związanych z Blockchainem obecnie tak bardzo brakuje na rynku?

Byłem deweloperem 12 lat i wydaje mi się, że w jakiś sposób odkryłem ten problem, dlaczego brakuje deweloperów. Jest ich na pewno z roku na rok coraz więcej i wydaje mi się, że to jest dobra wiadomość. Natomiast zła jest taka, że mamy jeszcze uczelnie, które w żaden sposób nie próbują dotykać technologii Blockchain. Natomiast wracając do tematu deweloperów, wydaje mi się, że pierwsza taka główna zasada to jest informacja, albo ten cały hype, który jest wkoło kryptowalut. To, że to jest piramida finansowa, to, że to są tylko kryptowaluty i za tym nic więcej nie stoi.

I teraz, jeżeli ktoś nie zagłębi się w tę technologię, nie poczyta, nie zobaczy, jakie są możliwości, to wydaje mi się, że będzie żył tym poczuciem, o którym piszą media, że to jest hype, oszustwo, że to nie ma przyszłości. I my jako stowarzyszenie Blockchain Polska próbujemy na różne sposoby edukować, pokazywać, że Blockchain to nie do końca kryptowaluty, natomiast to jest technologia, która jest częścią tradycyjnego IT. Nie ma czegoś takiego, że jeżeli budujemy aplikację w oparciu o technologię Blockchain, to 100% tej aplikacji jest blockchainowe. To jest zazwyczaj od 10 do 30% i warto się uczyć tej technologii, ponieważ ona daje nowe możliwości, które z dużym prawdopodobieństwem w przyszłości będą się skalowały i będzie coraz większa ich użyteczność. Czyli ten hype i poczucie, że to jest piramida finansowa to pierwsza rzecz.

Druga sprawa, to jeżeli mówimy o Seniorach, o osobach, które są bardzo doświadczone, przeszły w IT wiele, to jest kwestia chyba takiego poczucia, że już jest mi niepotrzebna ta technologia, że raczej nie chcę do tego wchodzić, nie chcę zmieniać tego, co wiem. I brak takiego poczucia, że to jest wartościowe.

Trzecia rzecz to jest próg wejścia. Wydaje mi się, że wielu deweloperów nawet jeżeli jest zainteresowana tą technologią, to dzisiaj w internecie nie mamy tak bardzo dużo informacji podanych w tak bardzo prosty sposób, żeby wejść i od razu programować. Nie mówię, że programowanie smart contractów czy zrozumienie rozproszonej komunikacji jest skomplikowane, natomiast na pewno wymaga to poświęcenia trochę więcej czasu niż parę dni czy tydzień.

I to są chyba takie trzy główne powody, dlaczego brakuje deweloperów. I czwarta rzecz, którą zdiagnozowaliśmy, to jest brak wsparcia ze strony uczelni i w ogóle rozmawiania i mówienia o smart contractach, o rozproszonej komunikacji. I próbowaliśmy jako stowarzyszenie z wieloma uczelniami podchodzić do tego tematu i wprowadzić Blockchain na uczelnię, jednak dzisiaj uczelnie są na etapie cloud computing i to jest główny cel i wydaje mi się, że potrzebujemy jeszcze troszkę czasu na to, żeby gdzieś to myślenie o technologii zmieniło się na uczelniach. I mam nadzieję, że nie będzie za późno.

Dobrze, to może dołóżmy swoją cegiełkę trochę do edukowania ludzi, że jednak warto. Po co takiemu deweloperowi inwestycja w naukę technologii Blockchain? Po co miałby się decydować, zeby poświęcić swój czas na zdobywanie tej wiedzy i umiejętności?

Zadałbym pytanie, które było w latach 2003–2004, pamiętam, kiedy programowałem aplikacje desktopowe w Delphi: po co mi uczenie się aplikacji webowych? I kto wtedy by powiedział: „przecież Delphi jest super, fajne aplikacje na tym powstają, to wszystko działa, ten web to chyba tak nie do końca jest wartościowy”, a po 20 latach ktoś by powiedział: „wszystko dzisiaj mamy w internecie, w przeglądarkach, w komórkach”. I wydaje mi się, że tutaj ciężko przekonać osoby do tego, że jednak ten Blockchain jest im potrzebny.

Pierwsza rzecz na pewno to jest to, że z mojej perspektywy to jest kolejna forma aplikacji, która będzie w przyszłości funkcjonowała. Ja bym to jeszcze połączył z IoT z Machine Learning, ale to pewnie już nie na dzisiaj ta rozmowa. Trzecia rzecz to na pewno dodatkowa wartość do wynagrodzenia. Tak jak dzisiaj brakuje nam deweloperów różnych profesji, np. go i oni są bardzo wartościowi, tak samo jeżeli jesteś programistą go i znasz np. Blockchain, to będziesz bardziej wartościowym i poszukiwanym na rynku deweloperem, tym samym Twoje wynagrodzenie będzie wyższe ze znajomością Blockchain, niż kiedy go nie znasz.

Czyli taka dodatkowa wartość na rynku, dodatkowa inwestycja, która nie wiadomo, czy w przyszłości nie będzie standardem, czymś tak oczywistym, że nie będziemy już pytać, czy warto, bo to będzie nas otaczało po prostu zewsząd.

Dodałbym takie spojrzenie, że dla końcowego użytkownika nie ma znaczenia, jakiej technologii Blockchain używasz. Dla niego istotny jest interfejs. Natomiast z tyłu będziemy używali Blockchaina i dla deweloperów jest to istotne, ponieważ musimy mieć osoby, które będą to programować, projektować. Dla użytkownika końcowego istotny jest interfejs i tutaj interfejs też musi być zaprogramowany zrozumiale, więc potrzebujemy np. osoby, które rozumieją Blockchain. Więc to jest taka jakby szersza perspektywa, że Blockchain to nie tylko deweloperzy.

Tak, o tym na pewno chciałbym z Tobą porozmawiać, ale jeszcze chwilkę może pozostańmy przy deweloperach. Co byś doradził, w jaki sposób deweloper może rozpocząć swoją przygodę czy zacząć stawiać pewne projekty, jakkolwiek rozpoznawać tę technologię? Jak zacząć?

Wydaje mi się, że na pewno warto zacząć czytać. Poczytać fora w internecie, blogi techniczne, zobaczyć kilka filmów na You Tubie pod względem technicznym, czyli jak się programuje smart contracty, jak działa Blockchain, jakie mamy typy Blockchaina. Druga sprawa to wejście w jakieś community deweloperskie, zaangażowanie się np. w stowarzyszenie Blockchain Polska, żeby bardziej poznać otoczkę, żeby zrozumieć, że nie mamy tylko jednego Blockchaina, jednego łańcucha, mamy ich bardzo wiele. I teraz pytanie, który wybrać i który z tych łańcuchów daje wartość deweloperowi, daje wartość biznesową.

I wydaje mi się, że to są dwie główne cechy, od których warto zacząć. Na pewno próg wejścia programistów bardziej doświadczonych będzie szybszy niż osób, które dopiero zaczynają.

Właśnie, powiedziałeś, że Blockchain to również inne role, nie tylko deweloperzy. IT to nie tylko programiści, Blockchain to też nie tylko programiści. Co z takimi rolami, jak Project Menadżer, Project Owner, jakieś marketingowe role? czy one również mają swoje miejsce w projektach Blockchainowych i czy osób na tego typu stanowiska też brakuje?

Powiedziałabym, że takie osoby są potrzebne i sytuacja jest chyba jeszcze gorsza niż z samymi deweloperami. Bo dzisiaj w tej branży powstają projekty blockchainowe, które używają Blockchaina mniej lub więcej i potrzebni są deweloperzy i cały czas ich brakuje, ale jest ich więcej niż pół roku temu, rok temu. Natomiast jeżeli mówimy tutaj o Product Ownerach, Product Menadżerach czy też nawet o osobach, które testują te aplikacje, jest to troszkę pomijane. I tak samo mówimy tutaj o Designerach, którzy projektują interfejs użytkownika.

Zacznijmy od tworzenia interfejsu. Interfejs jest o tyle istotny, że aplikacje blockchainowe powinny być proste i zrozumiałe, i użyteczne. Więc żeby zaprojektować dobry interfejs, trzeba zrozumieć, jak działa Blockchain, jak działa rozproszenie, jak działają wallety, jak to podłączyć. To samo dotyczy testerów. Też należy zrozumieć, jak testować rozproszone aplikacje, że to nie jest tak samo, jak scentralizowane aplikacje mobilne. I tak samo, jeżeli mówimy o zarządzaniu. Jeżeli zarządzamy projektem jako Project Menadżer, musimy mieć tę świadomość, jaki jest proces developmentu. On jest zazwyczaj bardzo podobny do IT, ale są takie detale, jak smart contracty, jak audyty smart contractów, jak pewne dodatkowe zewnętrzne czynniki, które sprawiają, że zdecentralizowane aplikacje są całkowicie inne niż te scentralizowane, mobilne czy webowe. I nie ma nacisku na te role i mam wrażenie, że tych zapotrzebowanie na te profesje jest duże, a osób na rynku jest mniej niż deweloperów. Więc tutaj też zachęcam nie tylko deweloperów, ale inne osoby, które zajmują się na co dzień zarządzaniem projektami czy jako Product Owner, czy Designer, czy Tester, żeby na to zwrócić uwagę.

👉 Czytaj dalej na: https://porozmawiajmyoit.pl/poit-161-blockchain-developer/

--

--

Dev and life blog. Thoughts about programming, design patterns, Ruby and life.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Krzysztof Kempiński

Krzysztof Kempiński

IT expert. Ruby on Rails/iOS/Elixir programmer. Blogger. Podcaster.