Artykuł oryginalnie został opublikowany na łamach marcowego magazynu TIMM. Sprawdź wydanie online >>

Na wywiad z Mateuszem czekałam jak na premierę dobrej książki. Zakochany w programowaniu deweloper, entuzjasta dzielenia się wiedzą. Zawsze zastanawiało mnie co go tak motywuje do działania i skąd bierze się ta otwartość? Przeczytajcie sami! 

Barbara: Mateusz, twój zawód to deweloper. Jak zaczęła się Twoja przygoda z programowaniem?

Mateusz: Z programowaniem miałem styczność po raz pierwszy na studiach. Poznawaliśmy kolejne języki programowania począwszy od C, C++, a nawet na chwilę przewinął się Assembler (do dzisiaj przechodzą mnie ciarki, gdy sobie o nim przypomnę). Wtedy zauważyłem, że to mi się nawet podoba. To uczucie, gdy skończyłem pisać jakiś prosty programik i nagle rezultat pojawiał się na ekranie komputera. No nie do opisania. Takie małe szczęście. W końcu na jednych zajęciach pojawiła się Java i to było to. Od razu się w niej zakochałem.

Pod koniec drugiego roku wypożyczyłem z biblioteki kilka książek do nauki tego języka i przerabiałem je przez całe wakacje. Dzień w dzień przepisywałem każdy przykład i starałem się zapamiętać jak najwięcej. Po trzecim roku zrobiłem praktyki w jednej z wrocławskich firm, w technologii Java EE. Nie podeszło mi. Skończyłem praktyki, wróciłem na ostatni semestr studiów i wtedy na zajęciach moim oczom ukazał się Android. Miałem telefon z Androidem, potrafiłem co nie co napisać w Javie, pomyślałem więc, że warto spróbować. To była końcówka roku 2013 i ta przygoda trwa do dzisiaj. Tak więc aktualnie zajmuję się tworzeniem aplikacji na Androida właśnie.

Jak na przestrzeni lat Twojej kariery zmieniało się Twoje podejście do programowania, biznesu, działania na rynku?

Na początku mojej kariery miałem szczęście pracować w jednym z wrocławskich software house’ów, Droids On Roids, gdzie możliwości na rozwój mieliśmy całe mnóstwo. Praktycznie nie mieliśmy ograniczeń, jeżeli chodzi o nowe inicjatywy. Od zawsze kręciły mnie społeczności. Taką pierwszą małą grupą, do której należałem, byli programiści i programistki Androida. To właśnie z nimi organizowaliśmy cotygodniowe spotkania, na których dzieliliśmy się wiedzą z projektów i to tam zrodził się pomysł na stworzenie wydarzenia TOAST – Android Developers Meetup, czyli spotkania dla deweloperów, ale już na skalę całego Wrocławia. Warto zaznaczyć, że oprócz poznawania nowych ludzi i rozwoju naszych umiejętności technicznych, rozwijamy w sobie również umiejętności komunikacyjne, kooperacyjne czy organizacyjne. Z perspektywy czasu, z czystym sumieniem mogę zapewnić, że wszystkie one są bardzo wartościowe i przydają się na co dzień podczas pracy nad bieżącym projektem i po prostu w życiu.

Podejście do programowania zmieniało się u mnie powoli, a dzisiaj jest już diametralnie inne. Na początku, gdy poznawałem dopiero świat programowania, tworzenia aplikacji komercyjnych, najbardziej zależało mi na samym pisaniu kodu. Na niczym więcej. Tylko kodować i uczyć się nowych zagadnień związanych z kodem. Wiedziałem, że był jakiś klient, ale wtedy jeszcze było za wcześnie, żeby mnie do niego dopuścić. Dzisiaj już wiem dlaczego. Nie byłem po prostu gotowy. Nie zależało mi na jego dobrze, tylko na moim. Funkcjonalności do napisania miały być fajne, a klient miał nie narzekać i nie wydziwiać. Reszta zespołu też miała mi nie przeszkadzać. Gdy się nad tym zastanowimy, to nie jest to coś niespotykanego. 

Mateusz Budzar

Na początku kariery programisty, każdemu zależy na jak największym i jak najszybszym rozwoju technicznym. Im więcej wyzwań i im więcej kodu napiszemy, tym sprawniej poradzimy sobie z każdymi kolejnymi wyzwaniami technicznymi. Jednak dochodzimy do pewnego momentu, gdzie rozwój już nie jest tak samo dynamiczny. Jesteśmy coraz bardziej świadomi, czego jeszcze nie wiemy, która wiedza jest bardziej wartościowa. Wejście na kolejne etapy kształcenia wymagają nieco więcej świadomej pracy i cierpliwości. Wtedy jest czas na podniesienie głowy znad komputera i rozejrzenie się wokół. Dopiero wtedy dostrzegamy klienta, potocznie nazwanego biznesem. Zaczynamy zdawać sobie sprawę z tego, że to nie biznes jest dla nas (żebyśmy mogli bawić się w pisanie kodu), tylko to my jesteśmy dla biznesu.

Powinniśmy zrobić wszystko, żeby spełnić jego wymagania, żeby był zadowolony i żeby w ogólności odniósł sukces, dzięki oprogramowaniu, które dla niego piszemy. Zaczynamy wtedy rozumieć, co my w tej pracy robimy i po co w niej jesteśmy.

Świetna sprawa! Kręcą Cię społeczności, prowadzisz bloga, niedawno uruchomiłeś ze znajomymi podcast dla deweloperów i masz ku temu powody! 

Ja to w ogóle gaduła jestem i to pewnie przez to. Lubię rozmawiać z ludźmi. Czerpać od nich garściami, z ich doświadczenia, pomysłów. Generalnie lubię mówić. Pewnie czasami mógłbym się przymknąć, bo mówię za dużo, ale nic na to nie poradzę. Aktywności, o których wspomniałaś, polegają właśnie na rozmowie. Czasami jest to dialog, jak w przypadku organizowania wydarzeń, a czasami monolog, jeżeli chodzi o bloga. W każdym z tych przypadków po drugiej stronie ktoś jest. Nasi koledzy i koleżanki organizatorzy, prelegenci, których zaprosiliśmy na wydarzenie, uczestnicy wydarzenia, słuchacze, czy czytelnicy. Spotkanie z każdą z tych osób, wychodzenie ze swojej strefy komfortu, niesamowicie rozwija, otwiera wiele nowych możliwości, nowe znajomości. Nie jesteśmy w stanie sobie wyobrazić, co pociągnie za sobą nowa aktywność czy znajomość. Jedna prowadzi do drugiej i to jest cudowne. To mnie chyba najbardziej motywuje, ta nieprzewidywalność, przekraczanie swoich granic i poznawanie nowych ludzi.

Zdecydowanie się z tym zgadzam! Opowiedz coś więcej o swoim blogu – jest dość oryginalny, nieprawdaż?

To wszystko przez umiejętności miękkie! Są one w dalszym ciągu niedoceniane przez programistów, a bardzo cenione, czy może coraz bardziej, przez firmy i pracodawców. Same umiejętności techniczne w pracy programisty mogą czasami nie wystarczyć. Z bardzo wielu powodów. I o tym właśnie jest mój blog – zamiensmokinapandy.pl. O tym nie usłyszymy na studiach. Nie jest to zarzut, stwierdzam fakt. O tym, co jest potrzebne, aby stać się programistą, dowiemy się dopiero po rozpoczęciu pierwszej pracy. W wielkim skrócie – to umiejętności miękkie pozwalają nam skorzystać z umiejętności technicznych. Przynajmniej ja tak uważam. To my jesteśmy odpowiedzialni za nasze relacje z klientem, za jakość oprogramowania, za dostarczanie kolejnych wersji aplikacji. Jeżeli jesteśmy na pierwszej linii frontu i bezpośrednio współpracujemy z klientami (a tak się może zdarzyć), to jedynie odpowiednie umiejętności miękkie są w stanie zagwarantować nam presję czasu na znośnym poziomie, czas na jakość kodu i brak nadgodzin. 

No dobra, ale co do tego mają smoki i pandy? 

Metaforycznie całkiem sporo, ale o tym każdy czytelnik powinien przekonać się osobiście. Formę wpisów celowo wybrałem taką, by mnie w żaden sposób nie ograniczała. Póki co podoba mi się przedstawianie codziennych problemów programistów przeniesionych do alternatywnego świata. Opowiadam w formie historii, która oczywiście kończy się morałem. Samo opowiadanie i perypetie głównych bohaterów są, jakby to powiedzieć, dziwne, ale to pewnie dlatego, że ja jestem dziwny. Zasada jest jedna – co pojawia się w głowie, to pojawia się we wpisie.

Skąd pomysł na Piątki na produkcji

To inicjatywa, którą zajmujemy się z Michałem Jawulskim od stycznia tego roku. Historia, która towarzyszy jej początkom, jest całkiem zabawna. Michał pewnego razu napisał na Twitterze, że brakuje mu we Wrocławiu społeczności poruszającej tematy ważne dla programistów, ale tych już bardziej doświadczonych. Dostał jedno polubienie. Moje. Po kilku dniach czy tygodniach dostałem od Michała wiadomość z pytaniem, czy rozkręcamy nową społeczność. Czytam. Myślę. Czytam jeszcze raz. Po prostu mnie zaskoczył! Jestem zdania, że zawsze warto próbować nowych wyzwań, więc w końcu odpisałem: “Jasne!”. Potem dopiero mi wytłumaczył, że to przez moje polubienie odezwał się właśnie do mnie.

Tematyka szybko stała się dla nas jasna – coś dla doświadczonych programistów. Wiele jest inicjatyw skierowanych dla początkujących, a dla tych już z wieloma latami na karku – znacznie mniej. A pytań jest sporo. Kiedy mogę powiedzieć o sobie Senior Deweloper? Powinienem troszczyć się o młodszych programistów? Czy lepiej się pracuje w startupie czy w korporacji? Muszę skończyć jako manager? Jeżeli nie, to co czeka mnie po 10 latach programowania? I wiele, wiele innych. Co ciekawe, od początku zastanawialiśmy się nad formą. Nie było dla nas oczywiste, jak to chcemy ugryźć. Oboje zgodziliśmy się co do tego, że w wypadku tego typu tematów, najbardziej wartościowa będzie rozmowa.

Zaproszony gość zamiast wygłoszenia prelekcji, siada koło nas i razem dyskutujemy na wybrane zagadnienie. Taka rozmowa na żywo, najlepiej przed ludźmi. Dzięki temu uczestnicy wydarzenia również mogą wziąć w niej aktywny udział. Stwierdziliśmy, że skoro będziemy rozmawiać i nie będzie slajdów, to możemy całość nagrać i wrzucić do sieci w formie podcastu. I tak powstał podcast na żywo.

Piątki na produkcji
źródło: Facebook Piątki Na Produkcji

Słucham Twojej opowieści i myślę, że śmiało można o Tobie powiedzieć “doświadczony”. Po tylu latach i pracy nad produktami, z takiego teoretycznego punktu widzenia, kim dla Ciebie jest deweloper?

Deweloper jest w pewnym sensie usługodawcą. Czy może raczej jest pracownikiem firmy usługowej – to w sumie zależy, czy prowadzimy własną działalność gospodarczą czy nie. Brzmi trochę tajemniczo, a może nawet zbyt formalnie, ale tak o tym dzisiaj myślę. Na “usługę” składa się oczywiście całe mnóstwo aktywności. Celowo definiuję dewelopera w ten sposób, tak pospolicie. Dzięki temu łatwiej zrozumieć, że nasz zawód nie jest czymś nadzwyczajnym, jest po prostu kolejnym zawodem. Zarabiamy pieniądze, dlatego że wykonujemy jakąś usługę. Dzisiaj to już nie jest tylko pisanie kodu. Do naszych obowiązków należą również: pozyskiwanie wymagań, pomoc w ustalaniu priorytetów, szacowanie czasu na wykonanie danych funkcjonalności, dbanie o jakość oprogramowania, rozwiązywanie problemów (nie zawsze technicznych), współpraca z innymi grupami (takimi jak graficy, managerowie), sprawne reagowanie na zmiany. Można by powiedzieć, że programista dzisiaj to taki trochę człowiek-orkiestra.

Gdybyś miał przed sobą nowicjusza, pełnego zapału do nauki programowania, jakich rad byś mu udzielił?

Znajdź firmę, która organizuje staże. Najwięcej i najszybciej uczymy się naszego zawodu na żywym organizmie, na prawdziwym projekcie, z prawdziwymi wyzwaniami. Oczywiście wcześniej warto nauczyć się podstaw języka programowania, który nas interesuje. Później szlifować go już przy wsparciu innych. Sam język programowania nie jest na początku aż tak istotny, choć poleciłbym wybrać jeden z tych najbardziej popularnych. Społeczności topowych technologii są największe, a w sieci znajduje się najwięcej materiałów do ich nauki. Wspomniałem, że Java to była moja pierwsza miłość. Dzisiaj programuję w Kotlinie. Z naszym pierwszym wyborem nie będziemy związani do końca życia, więc nie trzeba się nad tym wyborem szczególnie głowić. Później, gdy już zrozumiemy, co nam się podoba, a co nie, zawsze możemy zmienić język czy technologię.

Jakie społeczności i spotkania we Wrocławiu polecasz? Gdzie można posłuchać o czymś, co pomaga być lepszym deweloperem?

Wszystkie! Mówię poważnie. Jeżeli istnieje jakaś społeczność i istnieje już jakiś czas, to znaczy, że przynosi wartość, że ludzie w tej społeczności się lubią i uczą się od siebie nawzajem. Konkretne społeczności, które mógłbym wymienić, są oczywiście związane w jakimś stopniu ze mną. Jeżeli chodzi o technologie Googlowe (ale nie tylko), to z pewnością będą to wszystkie grupy GDG – w moim przypadku GDG Wrocław. Androidowcy obowiązkowo powinni pojawić się na spotkaniach TOAST – Android Developers Meetup. Javowcy na JUGach (Java User Group). Oprócz samych społeczności i wydarzeń przez nie organizowanych, zdecydowanie polecam uczestnictwo w konferencjach. Do bliskich mojemu sercu zaliczają się: BoilingFrogs, 4Developers, SegFault i SpreadIT. Z wrocławskich przede wszystkim ta pierwsza. Nie ma co siedzieć w domu, warto wyjść do ludzi. Gdy już to zrobimy, to zaczyna się dziać coś, czego się kompletnie nie spodziewaliśmy. Polecam, bo naprawdę warto. 

Mateusz, wielkie dzięki za rozmowę, na pewno nie jedną osobę zainspirujesz do działania!

Dzięki! Powodzenia! 


Mateusz Budzar

Android Developer mieszkający we Wrocławiu. Jest członkiem grupy GDG Wrocław, organizatorem konferencji DevFest Wrocław, podcastu na żywo Piątki Na Produkcji oraz byłym organizatorem wrocławskiego TOAST – Android Developers Meetup. Od ponad 6 lat jest w związku z urządzeniami mobilnymi. Uwielbia dzielić się tym, czego się nauczył, więc można go spotkać na różnych konferencjach, meetupach i okazjonalnie na blogu. Uważa, że umiejętności miękkie w procesie wytwarzania oprogramowania są niejednokrotnie ważniejsze, niż umiejętności techniczne. Wie, że nic nie wie i czasami wprawia go to w przygnębienie. W wolnym czasie czyta książki, ogląda skróty z meczów NBA i gra w Pokemony.

Twitter: https://twitter.com/MateuszBudzar (@MateuszBudzar)
Linkedin: https://www.linkedin.com/in/mateuszbudzar/
Blog: https://zamiensmokinapandy.pl/ 
Podcast: http://bit.ly/piatki-na-produkcji 


Sprawdź nasze poprzednie wpisy: