Zaczynając naukę programowania, mamy do wyboru cały wachlarz języków. Ale IT, to nie tylko programowanie — jest dużo różnych ścieżek rozwoju i na początku ciężko jest zdecydować się na jedną. W ogóle, w życiu są miliardy możliwości i to jest ogromny dylemat: „Co robić?”. Wielu ludzi ma z tym problem i czasem bardzo późno odkrywa swoje „powołanie”. Mnóstwo osób, wkraczających w świat IT zastanawia się, w którym kierunku pójść i czy aby na pewno się do tego nadaje. Jeśli i Ty nie możesz spać w nocy, z powodu podobnych dylematów, to nie martw się — ja również przez bardzo długi czas tak miałam. Więc jeśli chcesz, to opowiem Ci jak to wyglądało u mnie.
Ale najpierw zaparz sobie kawę i usiądź wygodnie, bo ja nie umiem opowiadać historii krótko i zwięźle 😉

O to, by opowiedziała jak wyglądało jej poszukiwanie własnej drogi zawodowej i dlaczego wybrała taki a nie inny język programowania, poprosiliśmy Joannę, która po wielu latach ‚znaków zapytania’ w końcu trafiła na SWOJĄ technologię:) Zapraszamy do ciekawej i barwnej lektury;-)

W czasach, kiedy żyły dinozaury i nie było jeszcze GitHuba – czyli moje pierwsze kroki w IT

Pytanie „Co robić w życiu?” zadajemy sobie w sumie dość wcześnie, bo już wybierając profil szkoły. Mamy wtedy kilkanaście lat i jesteśmy święcie przekonani, że to jest bardzo ważna decyzja, która będzie miała wpływ na całe nasze życie. Ale przecież wcale tak nie jest, choć odkrywamy to dopiero po latach. U mnie akurat, ta decyzja była stosunkowo prosta — będąc w gimnazjum, po prostu zakochałam się w algorytmice. Pokazywanie komputerowi co ma robić i myślenie jak komputer sprawiało mi ogromną frajdę! Ktoś pewnie powie „No, fajnie, od zawsze miałaś do tego predyspozycje, więc teraz siedzisz sobie na macierzyńskim, piszesz dla zabawy aplikacje na telefony, a po urlopie zaczniesz pracować jako programistka i będziesz zarabiać dużo hajsu. Szczęściara!” No nie, nie do końca tak to u mnie wyglądało 😉 Poza algorytmami fascynowała mnie wtedy również muzyka i gra na instrumentach, literatura, kinematografia, malarstwo, rękodzieło, fotografia, taniec, żeglarstwo, uczenie innych… Wiele rzeczy i naprawdę było mi trudno coś wybrać. Zresztą, do dziś robię większość z tych rzeczy jako hobby i przez pewien czas rozważałam zamienienie niektórych z nich w swoją pracę, ale o tym później.

W LO uczyłam się już poważniejszego programowania. Głównie back-end, C++, algorytmy, struktury danych, trochę baz danych i odrobina front-end. Więc liznęłam ciut więcej niż schematy blokowe, z którymi miałam do czynienia wcześniej. Idąc na studia, miałam nieco większy dylemat pt.: „Co robić?”. Kręciło mnie programowanie, ale widziałam, że pomimo naprawdę intensywnej pracy przez ostatnie lata umiem bardzo mało, a mój kod z pewnością wywołałby uśmiech politowania na twarzy niejednego developera. Poza tym nie znałam nikogo z branży IT, kto mógłby mi cokolwiek doradzić. Od jedynego człowieka z mojego otoczenia, który miał kiedyś do czynienia z programowaniem dowiedziałam się, że on jeszcze nie widział nigdy kobiety programistki, że w sumie to jest męski zawód i nie wie, jak kobiety sobie poradzą w takim zdominowanym przez facetów świecie. To było ponad dekadę temu, więc ten odsetek kobiet w IT, wsparcie dla nich i budowanie świadomości ich obecności były niewielkie. Nie było wtedy Women In Technology, Geek Girls Carrots, ani niczego podobnego. Ba! Ciężko było wtedy nawet o jakiekolwiek kursy programowania, a Stack Overflow i GitHub jeszcze nie istniały. Więc miałam spory kłopot, wybierając kierunek studiów. Lubiłam programować, ale nie wyobrażałam sobie siebie, jako programistki (przecież programistki nie istnieją!) i nie widziałam swojej przyszłości w tym zawodzie. Więc poszłam na Informatykę i Ekonometrię na UEK, żeby móc robić to, co lubię i uczyć się czegoś, do czego się nadaję (bo kobiety pracują przecież jako księgowe, prawda? 😉 ).

Błądzić ludzka rzecz, więc lepiej zawrócić, niż iść w złą stronę

Jednak dopiero w trakcie studiów rozpoczęłam intensywne poszukiwania odpowiedniej pracy dla siebie i trwały one prawie dekadę. Marzyłam o tym, żeby zostać wielką ekonomistką — zafascynowała mnie ekonometria i badania operacyjne (i znów algorytmy, ale od innej strony — dopiero teraz sobie to uświadomiłam). Porzuciłam więc kodowanie i uczyłam się ekonomii. Po jakimś czasie uznałam, że mam do tego za małą głowę i jednak nie będę drugim Keynesem ani Smithem. Po licencjacie poszłam na marketing międzynarodowy, zamierzając szturmem podbić rynek e-marketingu i e-commerce. Zaczęłam pracę w tym kierunku, pracowałam w start-upie, miałam staż w prestiżowej firmie w dziale marketingu, realizowałam jakieś własne projekty, dużo się uczyłam i szukałam wielu możliwości. Pasjonowało mnie to, było fajne, ale… nie czułam tej „chemii”. Zaczęłam rozglądać się za czymś innym. Miałam otworzyć działalność gospodarczą i sprzedawać własnoręcznie tworzoną biżuterię, miałam prowadzić szkołę tańca, organizować eventy, zaczęłam pisać bloga… Nie pamiętam co jeszcze, ale sporo tego było. Wielu rzeczy próbowałam i nigdzie nie poczułam „tego czegoś”. A ja sobie ubzdurałam, że chcę lubić swoją pracę, że chcę rano w podskokach biec do firmy i nie móc się doczekać, aż wreszcie tam dotrę. Koniec i kropka! Szukałam Świętego Graala i byłam zdeterminowana, żeby go odnaleźć.

Po co o tym wszystkim piszę? Bo wybrać język programowania, to pół biedy. Najpierw trzeba się zastanowić, czy aby na pewno zawrotna kariera programistki, programisty to coś dla mnie. Czy w ogóle IT, czy może jednak rybołówstwo? Jeśli już jesteś w tym miejscu, że zastanawiasz się jaki język, to zakładam, że już masz pewność, że jednak IT, a nie cokolwiek innego, że już wiesz, że na pewno programowanie, a nie grafika komputerowa, testowanie, analityka… jest tego naprawdę sporo! Przecież „Informatyk”, czy „ktoś z branży IT” to nie tylko programista. Ale zakładam, że to już sprawdziłaś, sprawdziłeś i już wiesz.

Kiedy tak szukałam idealnego zajęcia dla siebie, mój mąż zapytał: „A czemu porzuciłaś programowanie?”. To było trudne pytanie i wcale nie było mi łatwo na nie odpowiedzieć. Argument „Bo nie ma kobiet programistek” upadł z głośnym hukiem. Ale zostały inne powody, więc musiałam się z nimi uporać. Między innymi: wybrać kierunek, w którym iść, jakiś język i branżę, dla której chcę pisać (bo wbrew pozorom to też może mieć ogromne znaczenie!). Więc znów stanęłam w tym samym miejscu, w którym jesteś teraz Ty. A o co chodzi z tą branżą dla której się programuje? Już wyjaśniam.
Załóżmy, że mamy programistę Java. Tworzy oprogramowanie dla działu medycyny. Osobiście boi się wszystkich lekarzy, mdleje przy pobieraniu krwi i dostaje gęsiej skórki na samą myśl o szpitalu i chorobach. Praca mu idzie opornie i strasznie się w niej męczy. Popołudniami, dla odstresowania, analizuje sobie fundusze inwestycyjne, śledzi mWIG40, mimo iż jego znajomi w ogóle nie wiedzą o istnieniu takiego indeksu i fascynuje się bankowością. Czy to oznacza, że Java to nie jest język dla niego i powinien czym prędzej zacząć się uczyć .NET? Absolutnie nie! Może akurat jest geniuszem Javy, ale po prostu nie rozumie branży, dla której pisze. Przecież chodzi o to, żeby lubić swoją pracę, a język sam w sobie wcale tego nie determinuje. Jak już trochę się nauczysz, to odkryjesz, że zasadniczo, niektóre języki programowania niewiele się między sobą różnią. Obiektowe są obiektowe i tak samo trzeba rozumieć obiektowość, strukturalne są strukturalne i trzeba wiedzieć jak z tego korzystać. Zupełnie inaczej musi myśleć programista Asemblera, a inaczej Java, Python czy Ruby.

Więc dylemat „jaki język” można też ugryźć od innej strony – „jaki kierunek”, „jaka branża”, „co tworzyć”. Twoje zainteresowania, poprzednia praca oraz znajomość pojęć i schematów, które trzeba zaprogramować może być dla wielu pracodawców na wagę złota. Nie raz programiści muszą uczyć się np. finansów i rachunkowości, żeby być w stanie pisać programy dla księgowości. Albo firmy zatrudniają księgowych z predyspozycjami do kodowania, żeby ich nauczyć programować i mieć pracowników, którzy nie popełniają poważnych błędów merytorycznych, z powodu braku odpowiedniej wiedzy specjalistycznej. Jeśli interesują cię szeroko pojęte „internety”, to może raczej idź w kierunku front-end — będzie Ci łatwiej odnaleźć się tam, bo to będą rzeczy, które znasz i lubisz. Jeśli jakaś konkretna branża, to sprawdź jakie języki w niej dominują. A jak już wspomniałam, pewne grupy języków niewiele się między sobą różnią, więc gdy wybierzesz jakikolwiek, to po jakimś czasie bez problemu nauczysz się innego.

Z językiem programowania nie jest jak z tańcem, że każdy ma swój własny charakter, stylistykę, że można go dobrać pod osobowość człowieka i istnieje całkiem spora szansa, że bardzo szybko uda się trafić w ten ulubiony. Ktoś energiczny, żywiołowy, w gorącej wodzie kąpany pewnie polubi jive. Rumba to z kolei taniec pełen uwodzenia, romantyzmu. Fokstrot będzie idealny dla skrupulatnego i pracowitego perfekcjonisty. Osoba sensualna, umiejąca nawiązywać kontakty z innymi i budować głębokie relacje, zakocha się w tangu argentyńskim. A miłośnik folkloru z uśmiechem na ustach będzie ciął hołubce na parkiecie i polubi tańce ludowe. Tym tanecznym krokiem wróćmy jednak do tematu programowania. Sposób „na branżę” nie gwarantuje Ci ekspresowego sukcesu, bo znów pozostaje dylemat „który z tych popularnych w branży języków wybrać?”. Ale może pomóc coś znaleźć, podpowiedzieć jak szukać.
Choć wcale nie musi i wręcz może utrudnić 😉

Sprawdzony i skuteczny sposób, na odkrycie idealnej ścieżki kariery dla siebie

Jednak z całą pewnością jedynym skutecznym sposobem jest… wytrwale próbować 😉Kiedy już zdecydowałam się, że jednak wracam do programowania, to po prostu zaczęłam tworzyć własne projekty w różnych językach — w myśl złotej zasady początkujących developerów, który chcą się nauczyć programować. (Uwaga, jeśli właśnie zaczynasz swoją przygodę z programowaniem, to ta zasada może odmienić Twoje życie!) A brzmi ona następująco:

Żeby pisać, trzeba pisać”.

Nie pytałam nikogo „Ej, jaki język jest prosty? Od czego zacząć?” Bo każdy powie coś innego. Ponoć HTML i CSS są dobre na początek. Ja tego nie potwierdzam. Podchodziłam do tematu kilkakrotnie, stworzyłam kilka stron, ale nigdy nie sprawiało mi to szczególnej frajdy (a raczej mnie irytowało). Nie będę tworzyć stron internetowych, bo mnie to nie kreci i już. Jeśli chodzi o back-endowe języki, to miałam już pewne doświadczenia z Java i C++, więc uznałam, że nie ma sensu wygrzebywać kolejnego języka obiektowego, tylko dlatego, że ktoś powiedział, że zaczął od Pythona i było łatwo. Skoro umiem dwa pokrewne, to trzeciego też się nauczę bez problemu.
Mam nadzieję, że rozumiesz te wszystkie programistyczne pojęcia, o których wspomniałam. Tą są absolutne podstawy, ale jednak są one niezbędne do podjęcia decyzji „który język”.
I nie bój się kilka razy wchodzić do tej samej rzeki. Jak wspominałam — kilkakrotnie próbowałam front-endu i teraz jestem pewna, że nie. Bazy danych też ugryzłam parę razy i wciąż nie za bardzo za nimi przepadam (a mimo to, siedzę teraz intensywnie nad SQLite — no i gdzie tu sens i logika!?). Do programowania aplikacji mobilnych też podchodzę po raz kolejny, mimo iż kiedyś, na studiach uznałam, że nie za bardzo mi się to podoba.

„Krok 1: rób to”*

Więc jak widzisz, próbowałam na prawdę dużo różnych rzeczy, po kilka razy a teraz uczę się przede wszystkim Javy, XML i mozolę się (na własne życzenie!) z SQLite.
A dlaczego akurat te języki? Bo pokochałam tworzenie aplikacji mobilnych! Za każdym razem czuję dreszczyk emocji, kiedy coś tworzę. Po prostu kręci mnie to, że ja tu sobie siedzę, programuje, a potem ktoś pobierze tę appkę na swój telefon i będzie z niej korzystać. Mnie to ekscytuje i za każdym razem, kiedy powstaje coś nowego, to czuję się tak, jakbym właśnie odkryła prawdziwą miłość swojego życia. Czuję motyle w brzuchu. Więc jak już uda Ci się odkryć idealny zawód dla Ciebie, czy język programowania, to z całą pewnością będziesz to wiedzieć, poczujesz to!

No dobra, ale aplikacje mobilne, to nie tylko Android, więc czemu wybrałam akurat to? W sumie to naukę Androida zaczynałam, nie mając zielonego pojęcia, czy mi się to w ogóle spodoba, czy nie. Po prostu — nadarzyła się okazja, żeby spróbować czegoś nowego, więc spróbowałam. I akurat trafiłam. Od chwili, gdy napisałam swój pierwszy w życiu program, minęło kilkanaście lat. Przez ten czas bardzo długo szukałam co chcę programować i czy w ogóle. I teraz już wreszcie wiem. Ale nie zamykam się na jedną tylko technologię. Marzy mi się, żeby wszyscy mogli korzystać z moich aplikacji, bez względu na to, jaki mają telefon. Więc jak tylko będzie się okazja, to spróbuję jeszcze czegoś innego. A może jednak zostanę przy Androidzie i zgłębię się w Android Things? Bo to też wydaje mi się ciekawe i ekscytujące!
Więc zauważ — wybrałam języki, z którymi na pozór wcale się nie polubiłam kiedyś. Których się uczyłam i z jakichś przyczyn zrezygnowałam. Idzie mi ciężko, wymaga to dużo pracy, czasu i energii. Ale każdy sukces sprawia mi ogromną satysfakcję.
Język, w którym piszesz, to tylko jakieś słowa, ciągi znaków, które mogą mieć jakiś sens, lub żadnego. Ważniejsze jest co piszesz i co z tego powstanie. Bo przecież o to właśnie chodzi w programowaniu — żeby coś stworzyć.

___
https://youtu.be/LXM_tGHcuMo

Joanna Hulek

Absolwentka Uniwersytetu Ekonomicznego w Krakowie, stypendystka w programie Udacity Android Scholarship for EU, w którym zdobyła certyfikat Android Basics Nanodegree by Google. Tworzy aplikacje mobilne, bo ją to cieszy i sprawia ogromną frajdę. Od zawsze, jej największym marzeniem związanym z programowaniem było pisać ładny, przejrzysty i optymalny kod. Chciałaby, żeby ktoś kiedyś nazwał ją „Wisławą Szymborską programowania” i żeby wszyscy korzystali z napisanych przez nią aplikacji. Prywatnie, miłośniczka tańca, żeglarstwa, kuchni swojego męża i długich spacerów. Matka dwójki małych dzieci, która w wolnych chwilach stara się wyłuskać czas na programowanie, czytanie książek i własnoręczne tworzenie pięknych rzeczy.