salary 1319059 ml

Jestem za stary i nie mam wykształcenia, aby zacząć programować zawodowo

Dramatyczna historia transformacji psychologa w programistę Ruby On Rails. Materiał, który nadaje się na dobry film.

Czy ktoś z Was tak myśli? Jestem pewien, że tak. Skąd ta pewność - zapytacie, a odpowiedź jest banalna - sam tak miałem.

Aktualnie, mając trochę ponad 32 lata, od kilku lat programuję już zawodowo w jednej z najlepszych polskich firm tworzących aplikacje webowe w Ruby on Rails i Javascript. Gdybyście jednak pięć lat temu powiedzieli mi, że tak będzie, to w najlepszym razie popatrzyłbym się na Was dziwnie.

Z wykształcenia jestem psychologiem, którego jedyną stycznością z programowaniem był Turbo Pascal w liceum na lekcjach informatyki. Dodajmy, że większość czasu i tak graliśmy w Quake’a czy Duke Nukem 3D. Na studiach była jeszcze Statistica do obróbki danych z badań, ale na pewno nie można powiedzieć, że byłem przygotowany, aby zacząć programować. Jedyne, co było na moją korzyść, to fakt, że nigdy nie przeszkadzała mi nauka matematyki, ale też nie garnąłem się do niej. Po prostu gdy była taka potrzeba, to się uczyłem, a później zapominałem.

Start na rynku pracy był dla mnie sporym rozczarowaniem. Zacząłem jako rekruter w jednej z większych firm na polskim rynku. Umowa o pracę i przyzwoita jak na pierwszą pracę płaca może się wydawać wszystkim, o czym można marzyć. Tak jednak nie jest, a na pewno nie gdy jeszcze nie mamy dużych wydatków czy zobowiązań rodzinnych. Zrezygnowałem więc po około roku, by spróbować innych rzeczy. Zająłem się fotografią i przez jakiś czas z tego żyłem. Dobrze było łączyć pasję z pracą, ale po raz kolejny rozczarował mnie rynek, na którym działałem. Jak najniższe ceny, a najlepiej gdy zlecenie było wykonywane w zamian za wpis w portfolio. Tak, jestem pewien, że Wy także to znacie, jeśli zajmujecie się jakąś pracą twórczą.

Zrobiłem więc kolejne podejście do stałej pracy i zaczepiłem się w firmie tworzącej oprogramowanie, głównie w PHP i Ruby on Rails. Można powiedzieć, że to był pierwszy krok ku mojej obecnej pracy, ale nie uprzedzajmy faktów. Stanowiska asystenta zarządu nie można nazwać specjalistycznym, nawet przy bardzo dobrych chęciach. Jednak miałem okazję obserwować, jak koledzy prowadzą projekty, jak pracują z klientami i programistami. To mi się spodobało, wyglądało na ciekawe i nie zbyt trudne do nauczenia się.

Rozmowa z szefem i mam mój mały trzyosobowy zespół i pierwszy projekt. Przewińmy teraz historię o rok do przodu. Zespół ma już ok. 10 programistów, kilka projektów na raz i zaczynają się schody. Dopóki pracuję z samymi bardzo dobrymi programistami, to wszystko jest ok i mogę im ufać. Spora rotacja w firmie sprawia jednak, że trafiają mi się też ci gorsi, którym muszę wierzyć na słowo. Po jednej czy dwóch sytuacjach, gdzie dowiedziałem się, że coś jest nie tak dopiero, gdy było już bardzo późno, zdecydowałem, że warto byłoby samemu móc ocenić choć trochę, jak wygląda projekt od strony kodu. Akurat w tym czasie realizowałem głównie projekty Ruby on Rails i to ten framework wybrałem jako pierwszy do nauki. To była pierwsza styczność z nowoczesnym językiem programowania, jakim jest Ruby. Bardzo pobieżna styczność, jednak samo spróbowanie sprawiło, że chciałem więcej. To było to coś - tworzyć nawet banalne aplikacje, ale tworzyć samemu i być odpowiedzialnym za swoją pracę, a nie za pracę innych, gdy nawet nie można stwierdzić, co ci inni robią. Gdy po jakimś czasie odszedłem z firmy miałem już zarys, co będzie dalej.

Niestety tylko zarys póki co. Dorywcze zajęcia wystarczały na skromne utrzymanie, ale nie chciałem tak długo. Mam przyjaciela Tomka, który jest znakomitym programistą. Zapytałem go, co mam zrobić, jakie materiały zdobyć, aby się nauczyć programować w Ruby on Rails. Na co on odpowiedział: “Nie rób tego. Naucz się programować w Ruby.” To było bardzo ważne.

Jeśli trochę śledzicie rynek IT i popularne języki, to na pewno widzieliście ogłoszenia z ofertami pracy dla programistów Ruby on Rails i kursy czy poradniki, jak się go tego szybko nauczyć. Z perspektywy czasu jestem bardzo wdzięczny za ten kubeł wody na moją rozpaloną pomysłem nauki Ruby on Rails głowę. Ruby on Rails jest frameworkiem, czyli tylko szkieletem aplikacji webowej, zestawem narzędzi, które mają ułatwić jej budowanie ( dokładniejsza definicja tutaj ). Jak można się domyślić, jest on napisany w Ruby, który jest właściwym językiem programowania. I tutaj dobra rada numer 1 - chcecie pisać aplikacje z użyciem frameworka? Nauczcie się najpierw dobrze języka, w którym został on napisany. To ma tę dodatkową zaletę, że sam Ruby może posłużyć Wam także do napisania aplikacji desktopowej czy nawet mobilnej. Nie zapominając, że taka nauka pomoże w zrozumieniu ogólnych koncepcji programowania, które będą bardzo przydatne w późniejszym okresie.

No dobrze, wiedziałem więc już, że Ruby ma być moją pierwszą miłością, logicznym krokiem była intensywna nauka. W dzień byłem Clarkiem Kentem pracując bez większych aspiracji, a wieczorami zamieniałem się w Batmana czytającego książki, robiącego kursy i piszącego swoje pierwsze programiki. Gdy wspomniany już wcześniej Tomek zaproponował mi pierwszą pracę przy komercyjnym projekcie, nie wahałem się ani chwili. Następnego dnia byłem już u nich i w mozole dłubałem swojego pierwszego scrapera (program do zbierania danych ze stron internetowych) w Ruby. Zadawałem mnóstwo pytań i sporo się uczyłem. To był krótki, ale intensywny czas.

No dobrze, powiecie. Zacząłem dzięki znajomościom. Pomogło mi to bardzo, prawda. Jednak już miesiąc później pojekt się skończył i musiałem szukać czegoś innego. Przeglądałem ogłoszenia i szukałem staży, cały czas ucząc się pilnie. Pisałem do różnych firm, aż w końcu znalazłem taką, która zechciała mnie przyjąć na staż, a później normalnie już zatrudnić. Dalej już poszło :)

Poszło, ale to co trzeba sobie uświadomić, to konieczność ciągłej nauki i rozwoju. Także nadrabiania zaległości z algorytmów, baz danych i kilku innych przedmiotów, które większość koleżanek i kolegów poznała na studiach. Faktycznie studia nie są do niczego potrzebne w tym fachu, ale ich brak trzeba nadrobić w ten czy inny sposób. Chcę powiedzieć, że absolutnie nic nie stoi na przeszkodzie, aby w dowolnym momencie spróbować swoich sił w programowaniu. Miejcie świadomość, że to nie jest dla każdego, ale każdy może spróbować i przekonać się na własnej skórze.

Jeśli Was to wciągnie, to gwarantuję, że ucząc się kolejnych rzeczy, będziecie odczuwać ogromną satysfakcję, która przewyższy każdy frustrujący moment po drodze.

Ach, jeszcze jedna bardzo ważna sprawa. Programowanie nie ma płci - jeśli będąc kobietą zastanawiasz się, czy to dla Ciebie, bo przecież programiści to zwykle faceci, to natychmiast przestań. Jak pokazują kolejne edycje Rails Girls Warsaw, wspaniałego wydarzenia promującego naukę programowania wśród kobiet, czy też bardzo zdolne juniorki, z którymi mam przyjemność pracować, ważne są tylko chęci i zapał do nauki. A jeśli ktoś mówi Wam inaczej, to przestańcie słuchać, a zaoszczędzony czas lepiej będzie poświęcić przeczytaniu ciekawego posta na blogu.

Spróbujcie, najlepiej już dziś, to moja dobra rada numer 2. Internet jest pełen dobrych materiałów. Właściwie, nie musicie daleko szukać, jeśli Ruby to jest to, od czego chcecie zacząć ;)