Wywiad z Allardem Buijze – twórcą frameworka Axon, który powstał przypadkiem

Do startu Infoshare 2021 zostało jedynie kilkanaście dni. Z tej okazji przeprowadziliśmy wywiad z jednym z tegorocznych prelegentów, którym jest Allard Buijze. Allard jest twórcą i CEO AxonIQ, który tworzy Axon Framework, czyli Framework Java dostarczający implementacje najważniejszych elementów budulcowych. W wywiadzie zapytaliśmy Allarda właśnie o ten framework, ale także o jego karierę i wystąpienie na Infoshare.

Programowaniem zacząłeś się interesować bardzo wcześnie, bo już w wieku sześciu lat. Opowiedz nam o kontekście – skąd wzięło się u chłopca zainteresowanie pisaniem kodu?

Mój ojciec pracował w tamtym czasie dla firmy naftowej. Zobaczyli, że komputery osobiste są na rynku i zdali sobie sprawę, że ważne jest, aby ludzie przyzwyczaili się do „tych rzeczy”, ponieważ staną się one ważnym atutem dla wszystkich pracowników. Dostaliśmy więc Commodore 64 i nawiązałem kontakt z kilkoma innymi (starszymi) dzieciakami, którzy mnie po nim oprowadzali. Moi rodzice kupili 2 książki, w których były małe programy. Zacząłem je dosłownie kopiować, a potem powoli wprowadzałem modyfikacje, które pomogły mi zrozumieć, co oznaczają instrukcje.

Jak wyglądały Twoje pierwsze „poważne” kroki w nauce programowania?

Musielibyśmy cofnąć się w czasie o co najmniej 10 lat. Miałem przyjaciela, którego ojciec też kodował. Dzielił się ze mną swoimi pomysłami, a ja zacząłem programować w innych językach niż tylko podstawowy. Pascal był jednym z tych języków. Pamiętam, że byłem zdumiony faktem, że można było napisać program bez ani jednego wystąpienia instrukcji „goto”. Wyobrażasz sobie?

Jak znalazłeś swoją pierwszą pracę w IT? Czego Cię to nauczyło?

W czasie studiów miałem kilka prac. Każda z nich była interesująca z innych powodów, ale prawdziwe „uczenie” nastąpiło w mojej pierwszej pracy po ukończeniu studiów. Dołączyłem do zespołu pracującego nad usługą dla dużej firmy lotniczej, zajmującego się migracją ich backendowego systemu sprzedaży biletów. Byliśmy jednym z innowacyjnych zespołów i patrzyliśmy na ten nowy, błyszczący framework o nazwie Spring. Poza wszystkimi technicznie interesującymi rzeczami, ten projekt nauczył nas, że nasz zawód polega na pracy zespołowej bardziej niż na czymkolwiek innym. Spędziliśmy mnóstwo czasu na dzieleniu się wiedzą poprzez programowanie w parach, prezentacje, etc., była o wiele większa niż w wielu innych projektach w tamtym czasie.

Czy pamiętasz jakiś projekt/zadanie, które sprawiło, że poczułeś się ponadprzeciętnym programistą?

Każdy, kto znajduje się w środowisku, które wydobywa z niego to, co najlepsze, może być ponadprzeciętnym programistą. Są po prostu rzeczy, w których jesteś dobry i takie, w których nie jesteś aż tak dobry. Upewnij się, że znajdujesz się w środowisku, w którym cenią to, w czym jesteś dobry. Pomaga to, gdy nie skupiasz się na jednym narzędziu, ale raczej na koncepcjach, które pozwalają ci rozwijać się w czasie.

Osobiście zacząłem nurkować w Domain-Driven Design w 2008 roku i wkrótce potem też w CQRS. Byłem zafascynowany tym, jak te koncepcje pozwolą programistom o wiele lepiej zarządzać podstawową złożonością (złożonością, która po prostu istnieje, a nie taką, która jest wprowadzana przez technologię). Oprócz tego, że byłem zapraszany na konferencje, aby mówić o tych koncepcjach, ludzie zaczęli mi również płacić za przeloty na drugą stronę planety, aby pomóc im ulepszyć ich oprogramowanie. Tego typu rzeczy zdecydowanie pomagają czuć się bardziej docenianym.

ZOBACZ TEŻ:  Buduj pewność siebie w różnych obszarach. Historia Agaty Cieplik z Dropboxa - część 2

Jakie są Twoje preferencje: wolisz małe organizacje zatrudniające do 100 osób w firmie czy korporacje z 1000 pracowników?

Pracowałem w firmach zatrudniających 200 000 pracowników i w takich, w których było ich zaledwie kilkunastu. Obie mają swoje uroki. Zdarza się, że duże organizacje mają o wiele więcej zasad i przepisów, z którymi trzeba sobie poradzić. Jednak w niektórych przypadkach nie przeszkadza im to w tworzeniu innowacyjnego oprogramowania. Mniejsze organizacje często mają więcej elastyczności.
Myślę, że dla mnie cel firmy i wpływ, jaki jednostka może mieć na osiąganie celów, byłby ważniejszy niż jej wielkość.

Na InfoShare 2021 będzie Pan przemawiał jako twórca Axon Framework. Dlaczego zdecydowałeś się napisać swój własny framework?

Właściwie to się nie zdecydowałem :). Kiedy zacząłem pisać „framework” w 2009 roku, miał to być sposób na nauczenie się jak CQRS i Event Sourcing są tworzone w Javie. Nie mogłem znaleźć niczego, co mogłoby mi pomóc, więc zacząłem pisać przykładową aplikację. Ponieważ zauważyłem, że jest w niej dużo hydrauliki, umieściłem ją w osobnym module, który nazwałem Axon. Na początku 2010 roku, pewna firma z Francji poinformowała mnie, że używa „frameworka” w produkcji. Dopiero wtedy sam zacząłem używać Axona w projektach.

Jakie były jego założenia i czy udało się je przenieść do obecnej wersji frameworka?

Celem frameworka było dostarczenie narzędzi i wytycznych, które pomogą programistom wdrożyć CQRS i Event Sourcing. Chciałem jednak, aby był on wolny od jakichkolwiek uprzedzeń co do faktycznie używanych narzędzi. Zasadniczo, można skonfigurować Axona w dowolny sposób. To daje użytkownikowi końcowemu prawo wyboru.
Podczas dyskusji ze Starszym Architektem z Thoughtworks, zauważył on, że programiści, którzy nie wiedzą co wybrać, byliby wspomagani przez więcej uprzedzeń w domyślnych ustawieniach, które zakłada framework. Tak więc od tego momentu Axon „promował” pewne podejścia do używania go, jednocześnie umożliwiając zmianę, jeśli użytkownik sobie tego życzy.
Do dziś, mimo że domyślne ustawienia dość mocno ewoluowały, wciąż można zmienić każdy aspekt tego, jak framework powinien działać dla Ciebie.

Ciekawi mnie jak wygląda promocja tego typu projektu, produktu. Co trzeba zrobić, aby świat IT usłyszał o nowym frameworku?

Programiści czerpią informacje z różnych źródeł. Jednym z nich są konferencje i tam też lubię bywać. Wystąpienia publiczne były dla mnie czymś do czego musiałem się przekonać, ale kiedy już pokonałem początkową tremę, zacząłem czerpać przyjemność z dzielenia się swoją wiedzą.
W AxonIQ mamy wielu ludzi, którzy wspierają nas na różne sposoby. Podczas gdy ja lubię przemawiać na scenie lub na meetupach, niektórzy koledzy wolą blogować lub nagrywać filmy.
Ale w świecie open source słowo z ust do ust jest również ważne. Więc jeśli używasz frameworka open source i jesteś z niego zadowolony, to przekaż te nowinę dalej.

Co chciałbyś przekazać odbiorcom? Dlaczego powinni być zainteresowani Axonem?

Event-Driven jest ważnym paradygmatem dla współczesnego rozwoju oprogramowania. Niestety, narzędzia, których używamy są wciąż oparte na „starym sposobie” i próbują nas wygodnie przestawić na ten paradygmat. Dla prawdziwej zmiany, czasami musimy podjąć niewygodne decyzje i znaleźć komfort w nieznanym. Możesz to zrobić całkowicie samodzielnie lub skorzystać z frameworka takiego jak Axon, który pomoże Ci to osiągnąć. Zanim się zorientujesz, zdasz sobie sprawę, że nie jest to aż tak niewygodne, jak myślałeś, że będzie.

Jeżeli chcecie spotkać Allarda na żywo i usłyszeć jego prelekcje o tytule: „Event-Driven Microservices with Axon and Spring Boot: excitingly boring”, to koniecznie wpadnijcie na Infoshare 2021 już 14-15 października! Wszystkie szczegóły znajdziecie tutaj.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Autor CoreJS w więzieniu? Śniadanie z programowaniem #23