MARGO

Historie naszych Konsultantów

Wywiad z Marcinem – ekspertem Margo w obszarze mikroserwisów


 

 

 

Do Margo dołączyłeś pod koniec zeszłego roku. Aktualnie realizujesz projekt dla jednego z międzynarodowych banków. Czego dotyczy ten projekt?

Projekt zakłada stworzenie repozytorium, w którym będą przechowywane wszelkiego rodzaju pliki binarne, które są wykorzystywane przez inne aplikacje – a więc pliki Word, Excel, obrazki, .pdf, itp. Choć projekt w opisie wydaje się być prosty, to jednak trzeba uwzględnić wiele czynników – np. jak zapewnić dostępność tych danych, gdy zepsuje się serwer i jak w ogóle zabezpieczyć system, żeby w takiej sytuacji te pliki np. nie zniknęły, jak ograniczyć dostęp do części danych tylko dla wybranej grupy osób, jak umożliwić kategoryzację plików w podziale na foldery, itp.

Co z Twojego punktu widzenia jest innowacyjne w tym projekcie?

Rozwiązanie to ma zapewnić jak największą reużywalność, co jest zgodne z najnowszymi trendami, szczególnie w globalnych organizacjach. Dotychczas w wielu dużych firmach różne działy tworzyły analogiczne rozwiązania – każdy na swoje potrzeby. Obecnie coraz więcej organizacji przykłada wagę do tego, by z jednego rozwiązania mogło korzystać jak najwięcej działów. W przypadku mojego projektu oznacza to, że aplikacja, którą stworzymy będzie dostępna w tzw. sklepie api, do którego będą miały dostęp wszyscy użytkownicy. Z punktu widzenia organizacji umożliwi to też analizę tego, kto i na ile korzysta z różnych rozwiązań.

Aplikację stworzyliście od podstaw. Wkrótce będzie wchodziła na produkcję. Jaka jest Twoja wartość dodana jako Konsultanta Margo w tym projekcie?

Gdy dołączyłem do projektu, wstępne wymagania były już zebrane, ale pewne rzeczy trzeba było jeszcze doprecyzować, pewne pozmieniać, gdyż wizja samego narzędzia też trochę uległa zmianie. Równolegle pracowałem nad architekturą samego rozwiązania, a ponieważ specjalizuję się w mikroserwisach i wiem, że idealnie nadają się do tego typu projektów, zaproponowałem, żeby oprzeć naszą aplikację na tym rozwiązaniu. Moja propozycja została pozytywnie przyjęta i dostałem kredyt zaufania. Technologicznie system postanowiłem oprzeć na sprawdzonych frameworkach – Spring i Hibernate.

Jesteś dużym zwolennikiem mikroserwisów. Jaką według Ciebie dają przewagę i jak ich wykorzystanie może wpłynąć na konkurencyjność firmy?

To co najbardziej cenię w mikroserwisach, to reużywalność w szczególności podstawowych funkcjonalności, które muszą być częścią każdej aplikacji, np. zabezpieczenia, zapisywanie plików, itp. Mając kilka aplikacji monolitycznych, musimy tworzyć tę samą funkcjonalność kilka razy.  Wykorzystując mikroserwisy tworzymy raz dany komponent, który później jest wielokrotnie wykorzystywany. Z tego względu architektura mikroserwisów wydaje się być szczególnie korzystna dla dużych organizacji, które mają wiele aplikacji. Niewątpliwą zaletą jest też duża skalowalność – dokładanie pamięci przy monolicie może być bardzo kosztowne, a przy mikroserwisach wystarczy, że dołożymy pamięci tylko do komponentu, który tego wymaga.


To co najbardziej cenię w mikroserwisach, to reużywalność. Zaletą jest też duża skalowalność

A jak w ogóle zaczęła się Twoja przygoda z mikroserwisami?

Staram się być na bieżąco z nowymi trendami, więc o architekturze mikroserwisów słyszałem zanim stały się na dobre popularne, natomiast sam zacząłem z nich korzystać, gdy uzyskały mocne wsparcie Springa. Pierwsze realne doświadczenie zdobyłem w projekcie transformacji aplikacji monolitycznej na architekturę mikroserwisów. Przerobiłem już na tyle dużo różnych przypadków, że teraz chętnie dzielę się tą wiedzą z innymi.

No właśnie – w ramach Margo prowadzisz szkolenia wewnętrzne dla naszych Konsultantów programujących w Javie. W znacznej mierze są to doświadczeni Programiści z poziomu seniora. Jak przygotowujesz się do tych szkoleń, aby były dla nich interesujące?

Wiadomo, że nie mogę przedstawiać treści, które są łatwo dostępne w internecie. Stawiam na swoje doświadczenie. Wiele przypadków już przerobiłem na własnej skórze. Czasem po wielu godzinach poszukiwań znalazłem szczątkowe informacje o tym, co można w danej sytuacji zrobić. Do części rozwiązań dochodziłem sam. I może wyda się to nieco dziwne, ale paradoksalnie większym wyzwaniem było dla mnie przeprowadzenie warsztatu dla studentów Politechniki Wrocławskiej. Parafrazując słowa Einsteina – najlepiej poznać, czy ktoś jest ekspertem w danej dziedzinie, gdy potrafi o skomplikowanych rzeczach mówić prostym językiem.

Ten cel udało Ci się osiągnąć – wszyscy uczestnicy szkolenia zgodnie zadeklarowali chęć zarekomendowania warsztatu znajomym, a blisko połowa dała najwyższe noty podkreślając, że wiedza została przekazana w przystępny sposób. A czy Ty pamiętasz jeszcze siebie z czasu studiów? Jak zaczęła się Twoja przygoda z programowaniem?

To chyba było powołanie – jedni czują, że chcą zostać księdzem i ciągnie ich w stronę Watykanu, a mnie jakoś zawsze ciągnęło do komputerów 😊 W zasadzie nie widziałem nigdy innej opcji. Pierwsze programy pisałem już w liceum zarabiając pieniądze na drobne wydatki. Ale rozpatrywałem dwie ścieżki – programowanie i zabezpieczenia sieciowe. Natomiast, jak rozejrzałem się po rynku, to jednak ofert dla programistów było znacznie więcej, więc finalnie wybrałem tę ścieżkę.

A czemu postawiłeś na Javę?

Wiedziałem, że chcę się wyspecjalizować w jednym obszarze. W tamtym czasie wszystkie języki, z jakimi miałem styczność wydawały mi się ciekawe, więc przyjąłem dwa kryteria wyboru – liczba ofert pracy w danym języku oraz wysokość zarobków w danym obszarze specjalizacji – także był to wybór czysto biznesowy 😊 Dodatkowo Java jest na tyle popularna, że nie ma obaw jak przy technologiach niszowych, że może zostać wkrótce wyparta przez inne rozwiązania.

W stosunkowo krótkim czasie udało Ci się zdobyć dużą wiedzę i doświadczenie. Jesteś Architektem i Starszym Programistą. Współpracujemy ze sobą w ramach Margo i to, co ja szczególnie doceniam, to fakt, że jak coś ustalimy, to nasz action plan jest natychmiast wdrażany w życie i mam poczucie, że taki sposób działania doprowadził Cię do punktu, w którym dzisiaj jesteś. Drugą cechą, która z moich obserwacji, koreluje z sukcesem w danej dziedzinie jest skupienie uwagi na konkretnym obszarze, bez rozdrabniania się. A jak to wygląda z Twojej perspektywy?

Podstawowa sprawa to spędzanie jak najwięcej czasu na samym programowaniu, jak i na pogłębianiu i utrwalaniu swojej wiedzy w tym zakresie. Ja praktycznie poświęcam na to cały dzień – budzę się rano, potem właśnie to robię i wieczorem kładę się spać 😊 W ramach Margo realizuję projekt dla banku, potem przeznaczam czas na pracę w start-upie lub przeprowadzam weryfikacje techniczne Kandydatów w Margo w ramach procesu rekrutacyjnego, coś doczytuję. Summa summarum zbiera się z tego znacznie więcej godzin niż tylko 8 godzin pracy. Ponadto z racji tego, że pracowałem na kontraktach w różnych firmach, udało mi się zebrać zróżnicowane doświadczenia. W każdej firmie podchodzi się do tematu nieco inaczej, w jednej np. projekty są prowadzone w bardzo rzetelny sposób i każdy dokładnie wie, co, kiedy i jak ma zrobić, w innej stawia się mocno na testy i TDD, a w jeszcze innej można poeksperymentować z nowymi technologiami. Dzięki temu zyskuje się pełniejszy obraz tego, co w ogóle można zrobić i jak zrobić to optymalnie, bo widzieliśmy już co się sprawdzało, a co nie. Ponieważ inni dostrzegli we mnie potencjał, miałem to szczęście, że w zasadzie od początku mogłem pracować z osobami dużo bardziej doświadczonymi ode mnie i mogłem się od nich wiele nauczyć. Ważne jest inspirujące otoczenie, w którym się przebywa.

 

Marcin – Konsultant Margo – Senior Java Developer / Architect specjalizujący się w mikroserwisach. W Margo prowadzi szkolenia oraz weryfikacje techniczne w ramach procesu rekrutacji.

Rozmawiała Magdalena Kanik, HR Specialist.

Java
Margo
Microservices
Spring
Aktualności

MARGO na Warsaw J/va Meetup

Zapraszamy na J/vacon - Warsaw J/va Meetup #2 - 10 grudnia 2018 w Warszawie. Wydarzenie zrzesza pasjonatów: Java, Java EE, JavaFX, Spring, JavaServerPages, Java SE, Java ME, architektury aplikacji, aplikacji mobilnych. MARGO jest Sponsorem Złotym wydarzenia.

21/11/2018 Więcej 
Aktualności

Modern Android Development: nowe elementy języka Java

Od ukazania się w 2008 roku Androida 1.0, ekosystem Android przeszedł olbrzymią ewolucję, szczególnie w ostatnich latach, dzięki nowym elementom języka Java, zmianom związanym z terminalami i pojawieniem się nowych narzędzi. Ewoluowały również zalecenia oraz dobre praktyki.

28/05/2018 Więcej 
Aktualności

Jakub, Quant Developer specjalizuje się w Microsoft .net

W ciągu ostatnich 8 lat miałem okazję pracować dla czołowych instytucji finansowych w Warszawie. Przez ten czas zajmowałem się głównie rozwojem oprogramowania. Na początku mojej kariery miałem do czynienia z technologiami C++ oraz Java, szybko jednak odkryłem C# co zadecydowało o moim dalszym rozwoju w kierunku .NET.

Więcej 
Aktualności

Firma Margo znajduje się na liście 500 najdynamiczniej rozwijających się firm we Francji

W piątek 9 lutego francuski dziennik ekonomiczny Les Echos opublikował swój nowy ranking 500 Czempionów Rozwoju we Francji. Po raz kolejny znalazła się w nim firma Margo.

09/02/2018 Więcej 
Aktualności

Wewnętrzne szkolenie z mikroserwisów

W poniedziałek 5 lutego odbyło się w Margo szkolenie wewnętrzne dla Programistów Java.

06/02/2018 Więcej 
Aktualności

Bez KID nie ma umowy!

Projekt mający na celu regulację detalicznych produktów zbiorowego inwestowania i ubezpieczeniowych produktów inwestycyjnych (PRIIPs) rozpoczął się w 2012 r. Powód był słuszny: produkty te stanowią postawę detalicznego rynku inwestycyjnego i reprezentują kwotę 10 bilionów euro w Europie.

24/01/2018 Więcej