Każdy język programowania ma swoich niestrudzonych ewangelistów. Osoby te na każdym kroku z powodzeniem udowadniają, że przy odrobinie zaangażowania można z danego języka wyczarować prawie wszystko. W dzisiejszym artykule mam przyjemność rozmawiać z Bartoszem Jabłońskim, który zna SASa jak mało kto w Polsce, a nawet na świecie.
Mój dzisiejszy gość jest niezwykle aktywnym człowiekiem. Na co dzień pracuje w banku, ale na tym jego aktywność zawodowa się nie kończy. Jako uznany specjalista programowania w SAS angażuje się w rozwój polskiego community. W wolnych chwilach wzbogaca oprogramowanie tworząc rozszerzenia oraz udowadnia, że nauka SAS ma przyszłość. Dodatkowo uczy nowe pokolenia SASowców jako nauczyciel akademicki. Co ciekawe, twierdzi, że jak do tej pory nie zdarzyła mu się sytuacja zawodowa, w której musiałby do rozwiązania zadania użyć innego oprogramowania niż SAS.
Tyle słowem wstępu, a teraz pora na zaopatrzenia się w kawę lub herbatę (wedle preferencji) i zaczynamy wywiad. Jest długi, ale bardzo dobrze się go czyta – szczerze polecam, bo mój rozmówca to osoba wyjątkowo interesująca, a przy tym obdarzona poczuciem humoru i niesłychanie skromna.
Krzysiek Stencel – ZobaczDane.pl (K): Witaj Bartku. Na polskiej, jak i międzynarodowej scenie SAS-owej nie jesteś postacią anonimową. Z drugiej strony – nie wszyscy znają i używają SAS-a. Dlatego też na początek proszę powiedz kilka słów o sobie.
Bartosz Jabłoński (B): Cześć Krzyśku, bardzo mi miło, że możemy porozmawiać. Pochodzę z Mazur, a moje dzieciństwo spędziłem w leśniczówce na skraju lasu… hehe… ale może nie sięgajmy aż tak daleko w przeszłość. To jest tak: z wykształcenia jestem matematykiem, z zawodu „przetwarzaczem danych” (nie powiem „dejta sajentistem” bo nie wierzę w to określenie), lubię też zwrot „ten gość, co go wołają, jak ktoś ma problem z SASem”, a że SASa używam od ponad dziesięciu lat to czasami udaje się pomóc.
Studiowałem na Wydziale MiNI na Politechnice Warszawskiej, gdzie obroniłem też doktorat. Obecnie mam przyjemność prowadzić na MiNI zajęcia z „programowania w SASie”. Pracuję w bankowości (w działce AML), ale mam też doświadczenie w telekomunikacji i badaniach klinicznych. Jestem współzałożycielem Polskiej Grupie Użytkowników SASa (www.polsug.com).
(K): OK – zacznijmy od Twoich początków. Jesteś matematykiem – nawet doktorem po Politechnice Warszawskiej. Kiedy po raz pierwszy usłyszałeś o SASie? Jak przebiegał Twój proces nauki?
(B): Miałem to szczęcie, że SASa nauczyłem się na studiach. Choć z punktu widzenia tego jak odbywało się to w przypadku większości moich koleżanek i kolegów z roku, moja droga była trochę niestandardowa.
Kiedy pierwszy raz usłyszałem od „starszych roczników” o zajęciach z „Przetwarzania i analizy danych w systemie SAS” prowadził je wtedy, czyli około 2002 roku, dr Wojciech Matysiak. Przedmiot był obieralny, ale spokojnie można powiedzieć, że były to jedne z najbardziej „pożądanych” zajęć na moim Wydziale. Prawie wszyscy moi koledzy, którzy myśleli poważnie o przyszłości zawodowej, zapisywali się na zajęcia u Wojtka. Gdy dotarliśmy do czwartego roku (2005) tylko kilka osób, w tym ja, nie zapisało się na „SASa”. Widziałem jak współlokatorzy z akademika siedzą godzinami (dosłownie) i po nocach, i rozwiązują zadawane przez Wojtka prace domowe.
Na zajęcia z SASa „zapisałem się” w 2009, w połowie studiów doktoranckich. Moja motywacja była zupełnie „niebiznesowa” i wiązała się z pewna anegdotą. W 2005 roku mój współlokator z akademika Michał Ludwicki miał do przekazania innemu koledze duży plik, około 650MB (Ci którzy pamiętają tamten okres domyślają się co to mógł być za plik), i nie było sposobu żeby wysłać go mailem w całości. Mój współlokator zzipował plik i podzielił go na kawałki wielkości 1.44MB za pomocą TotalCommandera, a potem napisał w SASie makro, które w pętli wysłało te pliki w serii e-maili. Gdy to zobaczyłem od razu wiedziałem, że kiedyś, w przyszłości, chciałbym się nauczyć tej „sztuczki”. Poszedłem więc we wrześniu 2009 do doktora Matysiaka i zapytałem czy w ramach zajęć na studiach doktoranckich mógłbym przychodzić na jego wykład i laboratoria. No i zgodnie z utartym schematem: siedziałem godzinami (dosłownie, co najmniej 10-12 godzin tygodniowo) i po nocach, i rozwiązywałem zadawane przez Wojtka prace domowe, równolegle czytając dokumentację SASa. Miałem też to szczęście, że zacząłem przygodę z SASem od wersji 9.1.3, więc od początku miałem dostęp do najnowszych rozwiązań.
Potem doszła do tego też praktyka zawodowa, która dużo mi dała. Miałem szczęście, bo na mojej drodze spotkałem kilku naprawdę dobrych profesjonalistów i też tyle rozumu, że słuchałem co do mnie mówili.
Naprawdę spory „skok rozwojowy” wydarzył się też, gdy natrafiłem na internetową bibliotekę artykułów z konferencji SASowych na stronie www.lexjansen.com. Kilka lat temu aktywnie zacząłem udzielać się w najstarszej SASowej grupie dyskusyjnej na świecie: SAS-L. Poznałem tam wielu wspaniałych specjalistów, a dyskusje z nimi wręcz wykładniczo przyspieszyły mój rozwój.
No i jeśli mam być szczery, to mój proces nauki nie „przebiegał”, on raczej cały czas trwa.
(K): Jak wiadomo SAS wytwarza oprogramowanie specjalistyczne, które nie jest znane dla przeciętnego programisty. Co sprawiło, że zdecydowałeś się rozwijać właśnie w kierunku SAS, a nie innych języków programowania?
(B): To w jaki sposób, i w jakiej formie, odbywały się zajęcia, na których uczyłem się SASa miało ogromny wpływ na to, że poszedłem „ścieżką SASowca”. Po semestrze zajęć u Wojtka, mimo niewyspania i ciężkiej pracy, miałem poczucie, że się czegoś nauczyłem. Wiedziałem, że SAS jest to pierwszy język programowania, który naprawdę dobrze rozumiem i o którym naprawdę dużo wiem. Wcześniej uczyłem się Turbo Pascala, C i C++, ale przy żadnym z tych języków nie miałem poczucia, że „umiem płynnie w nim mówić”. Dopiero używając SASa myślałem o moim programowaniu w kategorii „native speaker”. Szło mi to na tyle dobrze, że w kolejnym roku akademickim Wojtek zaproponował mi dołączenie do jego ekipy i prowadzenie jednej z grup laboratoryjnych.
(K): Spędzasz pewnie mnóstwo czasu przetwarzając dane, czy programując w SAS 4GL. Za co lubisz SASa, a co byś w nim poprawił?
(B): SASa lubię za to, że jeszcze nie zdarzyła mi się sytuacja zawodowa, w której musiałbym do rozwiązania zadania użyć innego oprogramowania niż SAS, serio. SAS jest naprawdę dobrze funkcjonującym narzędziem, kiedy połączy się wydajność i szybkość 4GLa z elastycznością makroprogramowania, dostaje się bardzo solidny zestaw. A jeśli ma się jeszcze odrobinę szczęścia do administratora serwera, który włączy na maszynie opcję XCMD, to nie ma o czym mówić.
Zawsze też lubiłem prostotę typów danych w SASie, jest liczba, jest tekst i już, ma się wszystko co potrzebne do szczęścia. Wiem, trochę upraszczam.
Jeśli chodzi o rozwój, hmm… Ze mną to jest tak, że gdy brakuje mi czegoś w SASie, to z użyciem makroprogramowania lub procedury FCMP (służącej do tworzenia funkcji użytkownika) jestem w stanie „dopisać” sobie brakujące elementy. Gdybym miał na to wpływ, to poprosiłbym SASowe R&D o dopieszczenie procedury FCMP. FCMP już teraz jest jak diament, ale moim zdaniem potrzebuje oszlifowania żeby stać się brylantem.
Z innych pomysłów, to od jakiegoś czasu pracuję nad projektem narzędzia do tworzenia pakietów do dzielenia się kodem w SAS, taki odpowiednik R-owych pakietów, czy Python-owych modułów, który rozwijam na GitHubie (https://github.com/yabwon/SAS_PACKAGES). Robię to bo myślę, że fajnie by było mieć taką funkcjonalność w BASEie.
(K): Ostatnio na blogu pisałem o tym artykuł, ale zapytam teraz Ciebie. Dlaczego wciąż warto uczyć się SAS w 2021 roku?
(B): Po pierwsze – doświadczenie. SAS jako narzędzie i język programowania dostępny i rozwijany jest od wczesnych lat 70-tych. Jego twórcy mają ogromny zapas doświadczeń w jego budowaniu, testowaniu i we współpracy z klientami. Tak długi okres kooperacji z klientami i ciągły nacisk na jakość wsparcia powoduje, że ludzie z SAS Technical Support naprawdę znają się na rozwiązywaniu problemów. Zaletą „długowiecznego” języka programowania (4GL jest starszy niż SQL, czy C) jest też to, że na większość pytań użytkowników ktoś już udzielił odpowiedzi, wystarczy odrobinę poszukać w sieci. Po drugie – wsteczna kompatybilność. Sytuacja w której nowa wersja „wywraca do góry nogami” pracę 4GLa jest w SASie nie do pomyślenia. Po trzecie – stabilność. Po postawieniu serwera SAS trzeba naprawdę się postarać żeby go „zepsuć”. Po czwarte – wydajność. SAS daje sobie radę z dużymi danymi przy niewielkim wykorzystaniu zasobów. Jakiś czas temu, w ramach eksperymentowania, udało mi się przetworzyć pięćdziesięcio-gigabajtowy zbiór nie przekraczając 250 megabajtów (tak megabajtów) RAMu. Po piąte – społeczność. Ekipa ludzi używających SASa jest bardzo aktywna, co roku organizuje konferencję SAS Global Forum (wcześniej SUGI – SAS Users Group International), przy okazji której powstaje rewelacyjna baza wiedzy i artykułów. Aktywnie działa forum communities.sas.com, gdzie można znaleźć odpowiedź na niejedno SASowe pytanie. Do tej pory działa (najstarsze) forum dyskusyjne: SAS-L, pierwsze rozmowy pojawiały się tam już w latach 80’tych.
(K): Gdybyś w tej chwili stał przed wyborem języka czy programu do nauki – to jaka byłaby Twoja decyzja? SAS, Python, R, czy coś innego?
(B): Trudno odpowiedzieć na to pytanie. Hmm… To zależy… Gdybym nie miał mojego doświadczenia i miał teraz 22 lata podejrzewam, że (sugerując się trendami i hype’m) poszedłbym w stronę Pythona. Ale z moim „plecakiem doświadczeń” (bo to jeszcze nie jest bagaż) mogę sobie pozwolić na pewną refleksję: kilka lat temu Big Data miała „skasować” relacyjne bazy danych, potem R miał „zastąpić” SASa, teraz mówi się, że Python jest „królem”… poczekałbym jeszcze kilka lat…
Osobiście moje preferencje to z oczywistych względów SAS, a zaraz za nim R, którego nauka kosztowała mnie dużo wysiłku, ale dała mi tez wiele radości, nauczyła mnie też innego spojrzenia na dane. Interesuje mnie też rozwój języka Julia i powoli zabieram się do jego nauki.
Ale prawdę mówiąc, to nie lubię tych wszystkich dyskusji w stylu „Język X vs. Język Y”, mają one zawsze charakter rozmów „o wyższości Bożego Narodzenia na świętami Wielkiej Nocy”. Języki programowania to tylko narzędzia, a każdy rzemieślnik wie, że posiadanie dobrego młotka nie wymaga wyrzucania kombinerek.
To tak jakby pytać: jaki jest najlepszy samochód na świecie? Może Porshe 911 Carrera? Hmm… A jak masz zabrać sześcioosobową rodzinę na piknik nad jeziorem? W takiej sytuacji nawet Multipla wydaje się lepszym pomysłem.
(K): Teraz trochę z innej beczki. Kim jest SASENSEI i jak nim zostać?
(B): Moim zdaniem Sasensei to cierpliwy/wytrwały pasjonat. Ale po kolei. Strona www.sasensei.com jest interaktywnym quizem wiedzy o SASie, stworzonym i rozwijamy przez ekipę ludzi po dowództwem Allana Bowe oraz wzbogacanym przez społeczność. Zabawa polega na tym, że odpowiada się na pytania dotyczące SASa lub rozwiązuje się quizy, za co zdobywa się punkty i kolejne rangi. Po zdobyciu odpowiedniego poziomu można tworzyć nowe pytania i dodawać je do bazy wiedzy. Liczba pytań w bazie przekracza dwa tysiące i dzieli się na kilkanaście różnych kategorii.
Rangi uczestników gry stylizowane są na japońskie sztuki walki, najpierw są pasy: biały, żółty, zielony, czarny, potem zostaje się Sasamurai, następny jest AsSASsin, a Sasensei to najwyższy stopień, który osiąga się po zdobyciu pięciu tysięcy punktów. Mimo że Sasensei to najwyższy stopień, to nieoficjalnie, każde kolejne 5000 to następny stopień „mistrzowski” dan. Ja mam trzeci. W sasensei gra ponad pięć tysięcy ludzi na całym świecie, a na obecną chwilę mamy 31 Sasenseiów, w tym 4 z Polski!
Teoretycznie dotarcie do ostatniej rangi jest możliwe w kilka tygodni, o ile pamiętam rekord wynosi chyba 6, ale zdobycie wiedzy, która na to pozwoli, wymaga o wiele więcej czasu i zaangażowania, stąd moje określenie „cierpliwy pasjonat”. Trzeba chcieć się uczyć oraz poświęcić na to czas, jak z każdym hobby.
(K): Oprócz bycia ekspertem SAS na co dzień pracujesz również w bankowości. Czym tam się zajmujesz?
(B): Z tym ekspertem to bym nie przesadzał, umówmy się może, że mam dobrze ugruntowaną wiedzę w pewnych obszarach dotyczących pracy z SASem. Jest taki dowcip, w którym programista SAS trafia na lampę z dżinem i prosi: “I wish I had all the answers to everything about how SAS works.” Dżin spełnia życzenie, a dowcip kończy się tak: „The genie shook his head and waved his arms a third time. In an instant, the SAS programmer was buried beneath a mountain of papers and books.”
SAS jest tak rozległym ekosystemem, że tu nie ma ekspertów. Jeśli ktoś twierdzi inaczej kłamie.
Pracuję w Citibank Europe PLC w dziale zajmującym się przeciwdziałaniu praniu brudnych pieniędzy (AML). Do zadań naszej jednostki należy monitorowanie ustawień parametrów systemu wychwytującego podejrzane zachowania. Zajmuję bądź zajmowałem się między innymi rozwojem narzędzi wspomagających monitoring, szkoleniem kadry, współpracą z technologią w zakresie konfiguracji serwera SAS, a także „lokalnym wsparciem SASowym”.
(K): Aktywnie działasz w PolSUG – mógłbyś powiedzieć kilka słów na ten temat?
(B): Pomysł na PolSUGa (Polish SAS Users Group) urodził się wczesną wiosną 2018, namówił mnie do tego wspomniany już Allan Bowe. Razem z Anetą Chabowską-Wachowicz i Krzysztofem Sockim zorganizowaliśmy pierwsze spotkanie w czerwcu 2018 i od tamtej pory, metodą małych kroczków, wspólnie staramy się rozwijać polską społeczność użytkowników SASa. Zaczęło się od (prawie) co kwartalnych spotkań, potem doszła grupa na LinkedIn, udało nam się zdobyć oficjalny kanał na stronie SASowego forum dyskusyjnego (https://communities.sas.com), a na jesieni 2020 uruchomiliśmy stronę www.polsug.com Zachęcam do odwiedzenia strony, zapisania się do grupy na LinkedIn oraz przede wszystkim do dyskusji na forum! No i oczywiście przyjścia (choćby wirtualnie) na spotkanie Polish SAS Users Group! Najbliższy zaplanowany termin (wirtualnego) spotkania to 21 kwietnia 2021.
(K): Twoja aktywność jest doprawdy imponująca… Jak godzisz swoje obowiązki zawodowe, pracę na rzecz community SAS oraz wykładanie na uczelni?
(B): Mogę sobie pozwolić na te aktywności przede wszystkim dzięki mojej wspaniałej żonie Kasi. Jej organizacja naszego życia rodzinnego daje mi na tyle wolnej przestrzeni, że jestem w stanie realizować moje pasje. Jeśli chodzi w zajęcia ze studentami, to Kasia wie ile frajdy mi one sprawiają i mamy umowę, że mogę prowadzić do 4 godzin zajęć semestralnie. Jeśli chodzi o PolSUGa to jest to wysiłek grupowy i pomagają mi w nim Aneta i Krzysiek, o których już wspominałem. Spotkania PolSUGa odbywają się kwartalnie co daje nam wystarczający margines żeby zmieścić się w czasie, który możemy poświęcić na nasze hobby.
Zakończenie
Bartku – bardzo dziękuję za interesujący wywiad. Przyznacie sami, że dobrze się go czytało, a przy tym niósł ze sobą wiele wartościowych informacji. Bartek to mega doświadczony specjalista SAS, który uważa, że w dalszym ciągu warto uczyć się tego środowiska. Dzisiejszego gościa bloga ZobaczDane.pl znajdziecie na LinkedIn – tutaj jest jego profil.
Do zobaczenia!!!