Droga do pierwszej pracy #3 - Kryzys

Ruby On Rails

W czasach poszukiwania przeze mnie języka “dla siebie” i poznawania różnych środowisk i technik pracy miałem epizod z Ruby i frameworkiem Ruby On Rails, który skończył się tragikomicznie. Wysłałem CV na staż do jednej z Krakowskich firm skuszony wizją 3 miesięcznego, płatnego szkolenia z RoR. Niestety w porywie emocji nie wpadłem na to, że trzeba znać trochę więcej niż składnie Ruby, o czym boleśnie przekonałem się na rozmowie kwalifikacyjnej przez Skype’a.

Zdając sobię sprawę z tego, że do rozmowy mam jeszczę parę godzin postanowiłem szybko powtórzyć sobie podstawy Ruby. Jak się wtedy okazało, nie było to powtórzenie a raczej nauka składni i podstaw tego języka, ponieważ ostatni kontakt z Ruby miałem dwa miesiące wcześniej w serwisie codecademy . Zaczęła się panika, stres, myśli czy aby nie odwołać rozmowy i uniknąć blamażu na całej linii. Postanowiłem jednak przystąpić do rozmowy, która okazała się bardziej techniczna niż się tego spodziewałem.

Pani z HRu po krótkim przedstawieniu się momentalnie zaczęła kanonadę pytań związanych z frameworkiem RoR. O ile na pierwsze w stylu “dlaczego akurat nasza firma” czy “dlaczego akurat ten język” udało mi się przebrnąć, to przy pytaniach czysto technicznych poczułem się, jakbym musiał stąd czym prędzej uciekać. Określeń używanych przez moją rozmówczynie nie słyszałem nigdy wcześniej i nawet próby szukania przeze mnie informacji w Google (!!!) spełzły na niczym. A to była dopiero jedna z trzech części rozmowy. Nie odpowiedziałem na żadne z pięciu pytań i rekruterka postanowiła przerwać proces rekrutacji i zachęcić do ponownego odezwania się w przyszłości.

Aftermath

Rozmowę można określić blamażem na całej linii, po którym przez kilka następnych dni nie miałem ochoty patrzeć na nic związanego w jakikolwiek sposób z kodem. Stwierdziłem, że nieprędko zrobię coś takiego jak tamtego czerwcowego popołudnia. Wyciągnąłem z tej wówczas tragicznej, teraz komicznej sytuacji trzy ogromnie ważne dla mnie wnioski.

  • Nigdy nie wysyłaj aplikacji na stanowisko, o którym nie masz zielonego pojęcia.
  • Jeżeli miesiąc temu “uczyłeś się” składni jakiegoś języka w serwisie podobnym do Codecademy - nie jesteś w żaden sposób gotowy na pracę jako programista w tym właśnie języku. Programowanie to nie składnia. Na to składa się coś znacznie więcej.
  • Przed przystąpieniem do rekrutacji na programistę zadaj sobie pytanie: czy potrafię rozwiązać jakiś konkretny problem, zbudować jakąś aplikację?

W swojej pierwszej pracy na etacie w Krakowie miałem do czynienia z ludźmi, którzy z takiego założenia wyszli i trafili na dzień testowy. Rekrutacja na stanowisko stricte juniorskie, dla ludzi potrafiących zakodować layout z pliku .PSD i napisać prosty skrypt w JS.

Layout nie był złożony, a zadanie z JS polegało na… wyświetleniu okna alert po 60 sekundach od wejścia na stronę. Tak się złożyło, że dostałem prace kandydatów do oceny. Ile osób na około 12 napisało skrypt? Okrągłe 0. Dodatkowo pojawił się jegomość, który nie potrafił nawet ruszyć z zakodowaniem layoutu i wyszedł po półtorej godziny walki z Sublime Textem wcześniej szukając w sieci layoutu, który miał zakodować. Na dodatek starał się wyciąć skryptem do Photoshopa jak najwięcej HTML i CSS a jakby tego było mało na jego publicznym portfolio znalazły się projekty pobrane ze stron z darmowymi szablonami podpisane jego imieniem i nazwiskiem. Pan najwidoczniej wyszedł z założenia, że wystarczy znać cztery tagi HTMLa na krzyż żeby przejść przez proces rekrutacji, ale nie tędy droga.

Powracając z dygresji do głównego tematu wpisu: sytuacja trochę mnie przybiła, ponieważ w nieco brutalny sposób zdałem sobie sprawę, że nic nie umiem. Nie dowiozłem żadnego projektu do końca, nie orientowałem się w strukturze języka, znałem tylko podstawową składnie. Nie widziałem też kodu żadnej dużej aplikacji. Nie wiem co sobie wtedy pomyślałem, ale prawdopodobnie dużą rolę w mojej decyzji odegrał fakt, że firma oferowała szkolenie z języka Ruby i frameworka Ruby on Rails.

Od tamtej pory nigdy nie wysłałem zgłoszenia na jakieś stanowisko jeżeli nie byłem pewien, że potrafię zrobić coś w danym języku od 0.

Kilka tygodni później postanowiłem wraz z kolegą, z którym rozmawiałem na temat programowania od długiego czasu wysłać zgłoszenie na płatny staż do jednego z Krakowskich korpo, ponieważ moja znajomość Javy w tamtym okresie była entry-level. Równocześnie zaaplikowałem na staż w kolejnym krakowskim korpo. Niestety (albo i stety) oba zgłoszenia nie spotkały się z pozytywną odpowiedzią.

Pewnego dnia zadzwonił do mnie ów kolega, który poinformował mnie, że dostał się na staż jako front end developer. Poczytałem trochę artykułów na ten temat i postanowiłem, że spróbuje iść w tym kierunku, bo front end na pierwszy rzut oka trafił do mnie w stu procentach. Następnym krokiem było pewne zlecenie, które opiszę już w następnym odcinku.