Blockchain, DevDebata

Jak zacząć pracę w blockchainie? Devdebata

blockchain początek

Zdaniem Marka Kirejczyka, CEO EthWorks, w ostatnich latach środowisko „blockchain” przeszło wielką zmianę – urosło przynajmniej o dwa rzędy wielkości. – Z czasem mam nadzieję, że blockchain zrewolucjonizuje wszystkie branże, nie tylko związane z finansami – dodał. Zaprosiliśmy trzech blockchain engineerów o różnym poziomie doświadczenia, by dowiedzieć się od nich, jak weszli do branży i co doradzają początkującym.

W devdebacie udział wzięli:

  • Artur Kozak. Lead backend developer w Ramp. Od początku działania projektu, odpowiedzialny za architekturę blockchainową i backendową systemu. Od zawsze związany z programowaniem, w przeszłości rozwijał chmurę Google’a i systemy płatności mobilnych. Współtwórca m.in. biblioteki TypeChain i mówca na spotkaniach Warsaw TypeScript.
  • Marek Kirejczyk. CEO Ethworks, software house’u specjalizującego się w rozwiązaniach opartych o blockchain, Ethereum i smart contracts. Klientami firmy są topowe brandy blockchain m.in. Bitcoin Foundation i Ethereum Foundation. Popularyzator technologii i felietonista Forbesa. Inżynier, twórca projektów open-source, autor popularnych bibliotek takich jak Waffle i useDApp. Organizator Ethereum Meetup Poland – największego meetup’u blockchain w Polsce.
  • Daniel Izdebski. Junior Blockchain Engineer w Ethworks. Od ponad pół roku związany z branżą blockchain. Wcześniej student, który pracował jako freelancer przy projektach webowych i mobilnych.

Jak zaczęliście pracę w blockchainie?

artur kozak ramp network

Artur Kozak:

Blockchain zainteresował mnie z technologicznego punktu widzenia, więc chodziłem na meetupy tematyczne i zdobyłem trochę wiedzy z internetu. Gdy nadarzyła się okazja wraz z kolegą pomagaliśmy freelancersko kilku projektom blockchainowym. Kolejnym z nich był Ramp, gdzie zespół i projekt zainteresował mnie na tyle, że postanowiłem zostać na dłużej.

marek kirejczyk

Marek Kirejczyk:

Właściwie przypadkiem, trafił mi się mały projekt do zrobienia po godzinach oparty o Ethereum. Ponieważ już wcześniej interesowałem się Bitcoinem, zacząłem studiować temat głębiej, a nawet poleciałem na konferencję Ethereum. Na konferencji zobaczyłem możliwości technologii i poznałem pierwszego klienta. Tak założyłem Ethworks. Był to wtedy skok na głęboką wodę, ale udało się i dzisiaj jesteśmy jedną z najbardziej znanych firm usługowych na świecie w tej przestrzeni.

daniel izdebski ethworks

Daniel Izdebski:

Przez przypadek. Z racji tego, że zaczynałem ostatni rok studiów, gdzie zajęć już prawie nie ma, mogłem pozwolić sobie na znalezienie pracy. Gdy zacząłem się rozglądać po różnych stronach, wpadła mi w ręce dość dziwna oferta pracy: „Poszukiwany Junior Blockchain Developer bez znajomości technologii blockchain. Wszystkiego cię nauczymy!”. Brzmiało to dość abstrakcyjnie.

Wydawało mi się, że o Bitcoinie i blockchainie trochę wiem, ale nie potrafiłem sobie wyobrazić pracy przy tej technologii, bo przecież blockchain to tylko gloryfikowana baza danych. Z ciekawości zaaplikowałem i tak znalazłem się w Ethworks. Tutaj zostałem nauczony czym tak naprawdę jest blockchain i jakie problemy rozwiązuje. Po ponad pół roku pracy w branży mogę szczerze powiedzieć, że zakochałem się w tej technologii i nie wyobrażam sobie pracy gdzie indziej.

Jak po tych doświadczeniach dzisiaj weszlibyście do branży? Co zrobilibyście inaczej?

Artur Kozak:

Prezentacje i dyskusje z technicznie zaznajomionymi ludźmi to dla mnie najlepszy sposób na wstępne poznanie nowej branży (tęsknię za stacjonarnymi meetupami…). Jeśli technologia nam się spodoba, można już spróbować swoich sił w startupie lub software house – większość projektów blockchainowych nie szuka od razu pracowników głęboko doświadczonych w samym blockchainie, więc dokładniejszą wiedzę można nabyć od zespołu już w praktyce.

Marek Kirejczyk:

Moim zdaniem najłatwiej wejść przez technologie, które już się zna. Na przykład jeśli ktoś jest dobry we front-endzie to warto spróbować zbudować front-end do aplikacji blockchain, a nawet znaleźć pracę w firmie blockchain. Jeśli ktoś jeszcze nie jest pewien czy chce wchodzić w blockchain, warto dołączyć do jednego z licznych hackathonów czy zrobić sobie kurs on-line. Małą inwestycją czasu można się przekonać czy temat jest faktycznie interesujący dla Ciebie.

Daniel Izdebski:

W branży tak młodej jak blockchain ciężko o tak zwanych „wyjadaczy”. Dlatego też jest pełno miejsca do popisu dla osób, które dopiero teraz chcą wejść w świat blockchainu. Ostatnimi czasy pojawia się masa kursów online, które wprowadzają do tej tematyki. Meetupy i hackathony to także wspaniałe okazję by zdobyć nową wiedzę, poznać ludzi czy zbudować jakiś fajny projekt, który może pozwolić na łatwiejsze znalezienie pracy w blockchainie. Gdybym mógł cofnąć czas to na pewno spróbowałbym swoich sił na hackathonach. Praktyka czyni mistrza!

W poprzedniej devdebacie o blockchainie padło stwierdzenie, że blockchain zrewolucjonizuje “tylko internet, finanse i prawo”. Zgadzacie się z tym twierdzeniem?

Artur Kozak:

Jest to bardzo silne stwierdzenie, więc nie do końca się zgadzam, ale po części rozumiem skąd się wzięło. Po sukcesach i wykładniczym wzroście wartości pierwszych projektów blockchainowych nastąpił boom, pojawił się ogrom startupów chcących popłynąć na tej fali popularności. Wiele projektów można było wtedy podsumować pytaniem: to naprawdę świetny pomysł, ale po co na blockchainie? Myślę że obecnie sytuacja się trochę unormowała i jeszcze sporo do odkrycia przed nami.

Pojawiają się ciekawe i praktyczne przykłady użycia rejestrów rozproszonych, czyli blockchainów nie tylko jako walut, np. gry kartami kolekcjonerskimi zabezpieczone on-chain. Cytując puentę wspomnianej wypowiedzi z poprzedniej debaty: “Rakiety, którymi dolecimy na Marsa nadal będą odrzutowe nie blockchainowe” – tak, podobnie jak wprowadzenie e-maili czy smartfonów nie zmieniło sposobu napędu rakiet, ale możliwe, że blockchain będzie wykorzystany gdzieś w procesie ich produkcji, np. do publicznej i transparentnej weryfikacji testowania komponentów pomiędzy poddostawcami.

Marek Kirejczyk:

To już się dzieje. Na razie jest to mało widoczne przeciętnego zjadacza chleba, ponieważ dotyczy głównie osób zajmujących się finansami, inwestowaniem czy nawet czystą spekulacją. Jeśli jednak popatrzę na środowisko „blockchain” dzisiaj i 4 lata temu, to mówimy o czymś większym o przynajmniej dwa rzędy wielkości. Z czasem mam nadzieję, że blockchain zrewolucjonizuje całe branże, nie tylko związane z finansami. Pozwoli na większość transparentność, ale i jednocześnie prywatność. Przyspieszy liczne procesy i redukuje narzut prawny wielu operacji.

Warto zrozumieć, że to jeszcze długa droga i dla zwykłego człowieka to mogą być rzeczy mało widoczne zwłaszcza początkowo. Jeszcze dość długo blockchain i krypto będzie kojarzył się z dynamicznymi cenami kursów. Docelowy potencjał blockchain’a jest trudny do ocenienia, ale mam nadzieję, że kiedyś wybory czy referenda będą odbywać się na blockchainie i przybliżą nas do demokracji bezpośredniej czy nawet demokracji płynnej. W ten sposób w pełni wykorzystają możliwości tej technologii dając transparentność (nie możność oszukiwania) i prywatność (kto jak głosował będzie tajne). To oczywiście jest dość odległa wizja.

Daniel Izdebski:

Nie zgadzam się. Blockchain to dość młoda technologia więc nie da się przewidzieć jakie rozwiązania oparte o tą technologię powstaną i jakie sektory zrewolucjonizuje. Internet, finanse i prawo to sektory, w których już teraz możemy znaleźć zastosowania dla blockchainu, ale kto wie co kryje przed nami przyszłość. W ostatnich paru latach blockchain przeżył boom technologiczny. Kto w 2015 roku spodziewał się, że powstanie coś takiego jak DeFi (zdecentralizowane finanse) i będzie realnym kandydatem do zastąpienia tradycyjnej bankowości? Kto wie na jaki pomysł wpadniemy za 6 lat.

Myślę, że w bliskiej przyszłości wiele ludzi postawi na bezpieczeństwo i transparentność danych, a blockchain to idealna technologia, która może być w tym celu użyta. Już teraz podejmowane są próby by używać tej technologii na przykład w medycynie. Cypr obecnie używa blockchainu do walidacji certyfikatów przyznanych osobom zaszczepionym na COVID-19. Czas pokaże czy takie rozwiązanie jest lepsze od tradycyjnych baz danych.

Jakie są najbardziej popularne języki programowania wykorzystywane w blockchainie?

Artur Kozak:

To pytanie można zrozumieć w trzech kategoriach. Jeśli mowa o językach dosłownie “w” blockchainie, czyli w których pisze się same węzły obsługujące sieć, to prowadzą wydajne języki niższego poziomu: kiedyś C++, obecnie coraz częściej nowocześniejsze Go i Rust. Niemniej są też ciekawe odstępstwa, np. Tezos napisany jest w większości w OCamlu. Większość czytelników będzie jednak interesować interakcja z blockchainami – tutaj bezspornie przoduje JavaScript, a właściwie to TypeScript, jako języki znane przez większość programistów oraz dostępne i na frontendzie i na backendzie.

Rosnąca popularność TypeScriptu nad zwykłym JavaScriptem jest tutaj bardzo pomocna, bo dzięki dobremu typowaniu można łatwo i płynnie zacząć korzystać nowych bibliotek, często bez konieczności zagłębiania się w dokumentację lub żmudnego testowania w praktyce. Trzecią kategorią są języki do pisania smart kontraktów – specyficzne dla danego blockchaina, więc wymagają znajomości jego działania, ale przeważnie mają składnię inspirowaną jednym z bardziej znanych języków. Najpopularniejszym takim językiem jest Solidity, wzorowany składniowo na Javie lub JavaScripcie – ale nie jest to jedyny język kontraktów dostępny w Ethereum, jest też np. Viper ze składnią wzorowaną na Pythonie, a wszystkie kompilowane są do tego samego kodu maszynowego (EVM).

Marek Kirejczyk:

W blockchainie każdy znajdzie coś dla siebie. Nie tylko całą gama języków, ale też zagadnień: bezpieczeństwo, kryptografia, sieci komputerowe, kompilatory, czy szeroko pojęty research, a nawet tak egzotyczne rzeczy takie jak formalna weryfikacja. Ale przede wszystkim bardziej przyziemnie – frontend i backend. Słowem, czego dusza zapragnie. Najpopularniejsze technologie to JavaScript/TypeScript, python, C++ Go, Rust. Do pisania smart-kontraktów trzeba nauczyć się nowych języków (np Solidity).

Daniel Izdebski:

Blockchain to technologia, której można użyć w każdej kategorii więc każdy znajdzie tutaj swoją niszę. Najczęściej używanymi językami są JavaScript/TypeScript, Python, Go i Rust. Aczkolwiek jednym z bardziej kluczowych języków jest jednak Solidity. To w nim pisana jest zdecydowana większość smart kontraktów. Do pisania smart kontraktów można też użyć języka Vyper opartego na Pythonie. Oprócz języków stricte wysokopoziomowych, są też projekty, które używają języków niskopoziomowych takich jak C czy C++. Dlatego też jak wcześniej wspomniałem – każdy znajdzie tutaj coś dla siebie.

Gdzie zdobywać niezbędną wiedzę o blockchain?

Artur Kozak:

Jednym zdaniem: w internecie, jak w każdej innej dziedzinie programowania. Osobom nowym w tematyce blockchainowej polecam Ethereum Whitepaper, który w przystępny sposób omawia cele i historię powstania oraz sposób działania blockchainów (Bitcoina i Ethereum). Wiele innych projektów też udostępnia podobny dokument opisujący jego założenia. Dalej najlepiej będzie spróbować się w praktyce: pobrać węzeł testowy wybranego blockchaina, poszukać rekomendowanej biblioteki klienckiej i małej przykładowej aplikacji, uruchomić wszystko, a następnie spróbować dodać kilka nowych funkcji. Dobrym źródłem wiedzy są też warsztaty wprowadzające – łatwiej będzie zacząć pracę z pomocą osób znających kruczki danej technologii i bibliotek.

Marek Kirejczyk:

Piękno blockchaina polega na tym, że cała wiedza jest dostępna w internecie. Są tutoriale, kursy, meetupy i hakatony on-line. Polecamy też naszą wspólną inicjatywę siostrzaną do 0xHack – 0xpoland.dev Dla najbardziej ambitnych polecam czytanie dokumentacji czy paperów. Ale najwięcej można się nauczyć po prostu dołączając do jednej z firm pracujących z blockchainem.

Daniel Izdebski:

Jednym słowem: internet! Whitepaper Bitcoina i Ethereum to dwa rewelacyjne materiały, które wprowadzą każdego w świat blockchainu. Oprócz tych dwóch dokumentów, wszystkie projekty blockchainowe mają swoje dokumentacje powszechnie dostępne w internecie. Tam można poczytać o założeniach każdego z nich i o tym jak dokładnie działają. Meetupy i hackathony to także świetne miejsca do zdobywania wiedzy. Na takich eventach można znaleźć prawdziwych ekspertów w dziedzinie blockchaina, którzy z chęcią dzielą się wiedzą. Meetup 0xpoland i hackathon 0xhack to idealne miejsca, by się doszkolić poprzez wzięcie udziału w prelekcjach czy workshopach.

Mam wrażenie, że pandemia zmieniła rynek pracy i wielu z nas coraz bardziej docenia “stabilność” branży, w której pracuje. Co Waszym zdaniem przemawia za tym, że blockchain możemy zaliczyć do branż “stabilnych”?

Artur Kozak:

Pandemia i zdalny tryb życia zbiegły się w czasie z rosnącą popularnością blockchainów, ale na pewno częściowo przyspieszyły ich rozwój. Jeszcze parę lat temu była to młoda technologia, używana głównie przez entuzjastów technicznych nowinek lub spekulantów giełdowych. Dopiero od niedawna blockchainy stają się popularne i przystępne dla wszystkich, przestają wymagać specyficznej wiedzy i zyskują kolejne realne zastosowania – a to właśnie wyznaczniki dojrzałej, stabilnej technologii.

Marek Kirejczyk:

W branży blockchain brak rąk do pracy jest problemem stabilnym. W czasie bessy, ludzie budują, firmy są dobrze ufundowane, a wiele z nich jest bardzo dochodowa. W czasie hossy, zyski i finansowania biją kolejne rekordy, więc deficyt programistów rośnie. Więcej osób dołącza się do branży, ale nigdy wystarczająco by w pełni zaspokoić ich potrzeby. Kiedy znów przychodzi bessa, wszyscy budują, żeby zbierać plony w czasie hossy, więc dalej brakuje rąk do pracy. I tak w kółko.

Daniel Izdebski:

Zdecydowanie możemy zaliczyć branże blockchainu jako „stabilną”. Obecna hossa pokazała, że coraz więcej dużych firm jest zainteresowanych w tej technologii np. Tesla czy Visa. Tak duże firmy zawsze ciągną za sobą mniejsze, a więc zawsze jest coś do zbudowania. Popyt na blockchain developerów jest duży i według mnie na przestrzeni następnych lat będzie on tylko rosnąć.


globalne możliwości just join it

Zdjęcie główne artykułu pochodzi z unsplash.com.

Redaktor naczelny w Just Geek IT

Od pięciu lat rozwija jeden z największych polskich portali contentowych dot. branży IT. Jest autorem formatu devdebat, w którym zderza opinie kilku ekspertów na temat wybranego zagadnienia. Od 10 lat pracuje zdalnie.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/jak-zaczac-prace-w-blockchainie-devdebata/" order_type="social" width="100%" count_of_comments="8" ]