Programowanie może być celem samym w sobie lub – jak udowadnia Bartosz Kwieciński – sposobem na spełnienie innych marzeń. Bartek w wieku zaledwie 12 lat stworzył swoją pierwszą stronę internetową, a zaledwie rok później postanowił, że zostanie pilotem. Programowanie i lotnictwo to dziś jego dwie największe pasje.

Jak zaczęła się Twoja kariera programisty?

Jako dziecko dużo grałem w piłkę nożną i w wieku 12 lat postanowiłem zrobić stronę dla Osiedlowego Klubu Piłkarskiego. Pomyślałem, że będzie to fajna promocja. To był rok 2002, czasy HTML4, gdy strony robiło się jeszcze na tabelkach. Ta moja pierwsza strona nie była oczywiście doskonała, wręcz na odwrót – była brzydka i pełna błędów, ale robiąc ją uświadomiłem sobie, że zwyczajnie bardzo mi się to podoba. Kupiłem wtedy taką małą książeczkę do nauki HTML-a i walczyłem dalej. Bawiłem się podstawowymi stronami, potem dorzucałem do nich obrazki, uczyłem się CSS-ów. Po jakimś czasie zauważyłem, że najbardziej brakuje mi automatyzacji, czyli PHP, więc postanowiłem się go nauczyć. Kupiłem Biblię PHP i MySQL, liczącą sobie, bagatela, tysiąc stron i krok po kroku opanowałem wszystko, co było mi wtedy potrzebne.

A skąd sny o lataniu?

Gdy miałem 13 lat, moja Mama zaczęła latać do Stanów Zjednoczonych, a ja wraz z Dziadkiem odprowadzałem ją na lotnisko – wtedy jeszcze Okęcie. Dziadek zabierał mnie na taras widokowy, a ja z daleka podziwiałem te wszystkie wielkie, latające maszyny. To były głównie Boeingi 767. Później wracałem do domu, otwierałem stronę Airliners.net i raz jeszcze oglądałem wszystkie te samoloty. A jeszcze później zaczęła się moja przygoda z symulatorami.

Nie miałem jednak pieniędzy, by od razu iść w tym kierunku, wybrałem więc programowanie, wiedząc, że w tej branży zarabia się porządne pieniądze.

Jak dalej potoczyła się Twoja kariera?

W dalszym ciągu sporo uczyłem się samodzielnie i wkrótce stworzyłem pierwszą aplikację w PHP, czyli system rezerwacji biletów kolejowych. Oczywiście była to kompletna amatorszczyzna, pełna błędów i redundacji.

Co to jest redundacja?

To powtarzanie tego samego kodu w innych miejscach. Powinno się tego unikać. Wtedy jeszcze tego nie wiedziałem. Szybko jednak zacząłem pracę w agencji kreatywnej. Robiłem tam podstawowe rzeczy, takie jak walidacja formularzy czy proste zapytania do bazy danych. Nabrałem jednak doświadczenia i po zdaniu matury przeniosłem się do Warszawy. Tu zacząłem pracę w sieci aptek drogeryjnych i tak rozpoczęła się moja przygoda z takimi CMS-ami jak Prestashop czy WordPress, zacząłem się też uczyć JavaScriptu i jQuery, a wkrótce pojawiła się pierwsza duża aplikacja. Był nią system intranetowy skupiający 20 aptek i 200 pracowników. Jakiś czas potem szukając nowych wyzwań trafiłem do kolejnej agencji kreatywnej, gdzie zajmowałem się customowymi przeróbkami popularnych systemów sklepowych, programowaniem stricte obiektowym, stworzyłem też autorski CMS i poznawałem różne frameworki, np. Zenda.

Kiedy zacząłeś spełniać swoje marzenia o lataniu?

Stało się to dopiero w momencie, gdy otworzyłem własną działalność, co pozwoliło mi zgarniać całą pulę ze zleceń, a nie tylko jakąś jej część, jak to się dzieje w przypadku pracy na etacie. Droga do spełnienia tych marzeń była okupiona harówką po 12-16h dziennie, ale dziś śmiało mogę powiedzieć, że było warto.

Czy teraz, gdy zostałeś już pilotem, zdarza Ci się jeszcze programować?

Nie tylko się zdarza, ale wciąż to robię. Nawet po napiętym sezonie wakacyjnym, w czasie którego mamy mnóstwo rejsów, po powrocie do domu czuję taki głód programowania, że nie mogę się doczekać, aż odpalę komputer. W zasadzie łączę pracę pilota z pracą programisty, z tym, że to drugie robię teraz na zasadzie freelancingu.

Jak wyglądał Twój dzień pracy, gdy jeszcze pracowałeś jako programista na etacie?

Dzień oczywiście zaczynałem od kawy. Bez kawy nie ma myślenia [śmiech]. Po kawie przeglądałem wiadomości, a gdy kofeina zaczynała działać, odpalałem edytor, ściągałem aktualne repozytorium i zaczynałem pracę. Oczywiście co godzinę obowiązkowo przerwa na papierosa i przemyślenia. Jeśli trafiał się jakiś większy problem to rozgryzienia, to przerwy były częstsze. Poza tym zdarzały się momenty, w których nie miałem kompletnie weny twórczej i takie, gdy w jeden dzień wykonywałem pracę zaplanowaną na kolejne trzy dni. Trzeba bowiem pamiętać, że praca programisty jest monotonna, ale wymagająca dużo myślenia i rozwiązywania problemów. Zwykle jest tego więcej niż samego kodowania.

Jakiej rady udzieliłbyś programistom, którzy właśnie stawiają swoje pierwsze kroki w zawodzie?

Najpierw dogłębnie przemyśl i przeanalizuj dane zagadnienie, zastanów się, jakie błędy mogą się pojawić i jak może zachować się użytkownik, a dopiero potem odpalaj edytor. Drugą bardzo ważną kwestią jest to, że programista, gdy zaczyna pisać kod, powinien mieć na uwadze, że ktoś ten kod może kiedyś przejąć. Dlatego powinien pisać kod jasny i czytelny, aby kolejna osoba nie dostała na jego widok zawału.

Jak myślisz, ile czasu potrzeba, by nauczyć się programowania?

Aby samodzielnie coś zaprogramować, potrzeba 2-3 miesięcy rzetelnej pracy, pełnej wytężonego myślenia. Kursy programowania dają znakomite podstawy, ale polecam samodzielne rozszerzanie zdobytej wiedzy. Pewne rzeczy po prostu trzeba samemu doczytać, zastanowić się, zrozumieć, dlaczego jest tak, a nie inaczej. Każda nauka wymaga intensywnej pracy nad sobą i programowanie nie stanowi tu wyjątku.

Jak szukać pierwszej pracy po kursie?

Przede wszystkim trzeba stworzyć kilka projektów i dobrze napisać swoje CV. Należy w nim opisać konkrety: jaki skończyliśmy kurs, jakie technologie poznaliśmy, co wykorzystaliśmy do stworzenia swoich projektów, jaką dokumentację ostatnio przeczytaliśmy. Warto stworzyć własne repozytorium, na przykład na Githubie i załączyć do niego link. Takie repozytorium to dla pracodawcy skarbnica wiedzy o kandydacie, bo nic tak nie weryfikuje umiejętności programisty jak poprawna składnia i porządek w kodzie.

Czy można założyć, że programiści zawsze będą mieć pracę?

Tak, zdecydowanie! Doświadczony programista, czyli taki z minimum rocznym stażem, na pewno nie będzie mieć żadnego problemu ze znalezieniem pracy. A początkujący musi najpierw wykonać trochę pracy własnej, by to doświadczenie zdobyć. Na samym początku Project Manager nie wie jeszcze, czego się może po takiej osobie spodziewać, ale jeśli taka osoba się wykaże, to będzie dostawać coraz trudniejsze zadania do wykonania i w ten sposób nabywać doświadczenie. Musi się jednak naprawdę zaangażować, czytać dużo dokumentacji, zadawać pytania bardziej doświadczonym programistom, a przede wszystkim – samodzielnie myśleć.

Bartosz Kwieciński – Absolwent Politechniki Warszawskiej na kierunku Informatyka, specjalizacja Inżynieria Systemów Oprogramowania. Pilot linii charterowych – lata na Boeingu 737. Fan podróżowania, szybkich samochodów, piłki nożnej i sportu ogólnie.

Wywiad z cyklu: #zakodujmarzenia