Junior developer po kursie programowania – czy to ma znaczenie? Czy brak kierunkowych studiów bardzo utrudnia wykonywanie zadań? Jak wygląda typowy dzień pracy? Czy naprawdę można zostać programistą po weekendowym kursie?
Ten wpis jest drugim z serii o junior developerach. W pierwszym artykule pisałam o tym, kiedy zacząć szukać pierwszej pracy jako młodszy programista. Dziś natomiast kilka przemyśleń i faktów o tym, jak wygląda praca jako junior developer bez studiów informatycznych, tylko po kursie programowania. Bardzo dziękuję dziewczynom z grupy Programuj, dziewczyno! za udział w ankiecie dotyczącej tego tematu, bo dzięki niej mogłam poukładać ten wpis w logiczną całość 🙂 Zaczynamy!
Najpierw kilka informacja dla nakreślenia sytuacji: jestem junior front-end developerem po kursie programowania. Z wykształcenia natomiast filologiem i magistrem stosunków międzynarodowych (sic!). Z początkiem lutego zacznę dziesiąty miesiąc pracy jako junior developer, obecnie w drugiej firmie. Pracuję w różnymi technologiami, najpierw z Angularem, teraz zaczynam z Reactem. O samym kursie programowania, który ukończyłam, pisałam tutaj, także chętnych odsyłam do drugiego artykułu. Dostaję od Was wiele pytań różne aspekty mojej pracy. Poniżej znajdziecie odpowiedzi na najcześciej poruszane kwestie. Artykuł wyszedł mi bardzo długi, dlatego postanowiłam podzielić go na dwie części. Przed Wami porcja numer jeden!
Jak wyglądała rekrutacja?
Rekrutacja na stanowiska junior front-end developera zazwyczaj wygląda dość podobnie. Miałam okazję wziąć udział w kilku procesach rekrutacyjnych i właściwie zawsze dostawałam do wykonania jakieś zadanie techniczne. Kolejnym etapem była rozmowa, która czasem również zawierała pytania techniczne. Zagadnienia poruszane i w zadaniach i w rozmowach dotyczyły podstaw wybranych technologii, np. JavaScriptu czy wężej – Angulara. Jeśli chodzi o szczegóły, to wszystko oczywiście zależy od firmy. Brałam udział w rekrutacji, w której musiałam zakodować aplikację według szablonu, a potem dopisać do niej logikę. Zdarzyło mi się też dostać do rozwiązania zadania z JavaScriptu. Jednak przy rekrutacji warto pamiętać, że startujemy na stanowisko juniora i firma zazwyczaj zdaje sobie sprawę z tego, że na początku będzie w nas inwestować. Dla mnie problemem na początku było przyznanie się, że czegoś nie wiem, ale potem uznałam, że najwyżej dana firma mnie nie zatrudni. Za każdym razem otwarcie mówiłam, że skończyłam kurs, a reszty uczę się sama, nie mam mocnych technicznych podstaw tzn. takich ze studiów.
Często na rozmowach na juniora możemy mieć wrażenie, że to będzie super jak dana firma nas zatrudni, więc nie zadajemy wielu pytań. A naprawdę warto! Byłam na rozmowie, na której zaczęłam zadawać sporo pytań o technologię. I okazało się, że wprawdzie stanowisko nazywa się junior front-end developer, ale firma tak naprawdę szuka kogoś, kto będzie kodował mailingi tylko w HTML i CSS. Mnie bardzo zależało na nauce JavaScriptu, więc wiedziałam, że stanowisko nie jest dla mnie. A gdybym nie zapytała, kto wie, może właśnie teraz kodowałabym jakiegoś maila 😉 Nie mówię oczywiście, że maile są złe, ale warto określić sobie cel, z jakim przychodzimy na rozmowę. To naprawdę pomaga.
Jak wygląda typowy dzień pracy?
Zarówno w obecnej, jak i w poprzedniej firmie, rytm pracy wyznacza Scrum. O tym, czym jest Scrum i jak wygląda więcej pisałam w tym artykule, dlatego tutaj będzie bardziej o pracy z mojej perspektywy. Podczas tzw. daily zespół spotyka się i zdaje sobie relacje z postępów prac oraz dzieli się problemami. Ja wtedy staram się komunikować, gdy mam jakiś większy problem. Potem, gdy nie ma żadnych innych spotkań, przez resztę dnia pracuję nad swoimi zadaniami. Mam naprawdę duże szczęście, bo w obu pracach dostawałam (i dostaję) zadania z realnych projektów, dzięki czemu naprawdę dużo się uczę.
W teorii całe dnie pracuję więc nad swoimi zadaniami, w praktyce natomiast… zadaję mnóstwo pytań! Ja ogólnie nie mam problemów z zadawaniem pytań, więc bywa ich naprawdę sporo. Z jednej strony takie pytania są fajne, z drugiej – na samym początku często wpadałam w pułapkę zadania pytania, zanim zastanowiłam się nad rozwiązaniem sama. Wprowadziłam więc zasadę rozkładania sobie problemu na części pierwsze, próby rozwiązania samemu, a dopiero gdy w godzinę nie wiem, jak coś zrobić, pytam. I oczywiście staram się zadawać konkretne pytania, raczej nie w stylu “A jak to zrobić?”, tylko bardziej “Mam to i to, myślę, że można zrobić to tak, ale brakuje mi takiego i takiego elementu”. Oczywiście wiele też zależy od zadania i tego, czy mam jakiś konkretny czas na wykonanie zadania. Często też pracuję w formie pair-programmingu z bardziej doświadczonymi osobami. Początkowo bardzo dziwnie mi się pracowało, gdy ktoś patrzył mi przez ramię i na bieżąco poprawiał, ale to wynikało z faktu, że nigdy nie wykonywałam wcześniej tego typu pracy. Jednak praca koncepcyjna bardzo różni się od takiej zwykłej np. jako konsultant, z którą miałam do czynienia wcześniej.
I jak już swoje zadanie wykonam to przychodzi czas na code review. Oj, bardzo ciężko to znosiłam na początku! A moi koledzy z zespołu, przyczepiali się dosłownie do wszystkiego 😉 Teraz wiem, że to działało (i działa!) tylko i wyłącznie na moją korzyść. Gdy już ktoś kiedyś skomentował jakiś mój błąd, jest duża szansa, że nie popełnię go znowu. Sama biorę udział w code review także jako osoba sprawdzająca kod. Oczywiście w większości przypadków nie mam takiej wiedzy, by wyłapać błędy jakie pojawiają się w kodzie bardziej doświadczonych osób. Ale bardzo dużo się uczę patrząc na to, jakie rozwiązana stosują inni. Staram się również w miarę możliwości pytać autorów kodu, gdy nie wiem, jak działa dana część albo dlaczego akurat w ten sposób została zmieniona.
Czy brak studiów bardzo daje w kość?
Oto jest najważniejsze pytanie! Oczywiście, że brak studiów daje w kość. Nie będę tego ukrywać. Na pewno o wiele szybciej i łatwiej radziłabym sobie z niektórymi problemami, gdybym miała kiedyś zajęcia z zaawansowanej matematyki, algorytmów, sieci komputerowych, itp. Nie jest jednak tak, że brak studiów uniemożliwia mi wykonywanie mojej pracy. Na pewno o wiele więcej muszę nadrabiać, doczytywać, pytać. Dużo też uczę się w praktyce i dopiero jak ktoś pokaże mi dane rozwiazanie, wiem jak coś zrobić. A gdybym miała za sobą kilka skończonych projektów na studiach, wiedziałabym jak do tego podejść.
Nie jest jednak tak, że codziennie rwę sobie włosy z głowy i żałuję, że nie poszłam na informatykę 😉 Nie dostaję bardzo zaawansowanych zadań, dlatego mogę stopniowo poszerzać swoją wiedzę i budować ją w oparciu o to, co już udało mi się zrobić. Zdobywanie wiedzy w praktyce to naprawdę super forma nauki. Czasem brakuje mi znajomości fachowego słownictwa, bo na przykład nie znam danego pojęcia, ale wiem jak to coś działa. I potem, gdy ktoś pyta mnie o tę rzecz, ja nawet nie wiem, że wiem, o co chodzi. Kolejna sprawa to fakt, że jest wiele spraw, o których po prostu nie mam pojęcia. Jednak przez kilka lat studiów człowiek spotyka się z wieloma pojęciami i zagadnieniami i potem gdzieś tam one zostają. A jak się nie spotkał, to trudno, żeby sobie o nich przypomnieć. Jednak dzisiaj mamy internet! I wiele można nauczyć się z kursów. Dlatego staram się, jak tylko mogę, robić kursy uzupełniające wiedzę. Grunt to dużo samozaparcia.
A gdy mój kod trafia do realnego projektu, z którego korzysta klient, to wiem, że w sumie to przecież ten kod pewnie nie jest taki zły. I jestem z siebie dumna, że coraz więcej wiem i nadal się uczę. Gdyby ktoś te prawie 2 lata temu powiedział mi, co będę robić w pracy, pewnie bym się popukała w czoło. Nigdy nie spodziewałam się, że nauczę się jak pisać funckjonalności na stronie czy w aplikacji. A robię to z sukcesem! Oczywiście często potrzebuję pomocy bardziej doświadczonych osób, ale jestem juniorem i cały czas się uczę. Mam nadzieję, że za jakiś czas będę mieć wystarczającą wiedzę, by wskoczyć poziom wyżej.
Jakie są największe wyzwania?
Największym wyzwaniem chyba jest udowodnienie sobie (i innym), że naprawdę można z sukcesem zmienić branżę i nie odstawać od reszty. Wiem, że mam braki w wiedzy teoretycznej. Staram się to jednak nadrabiać praktyką, czyli po prostu koduję jak najwięcej, uczę się, sprawdzam, kombinuję. I dużo daje mi też obserwacja bardziej doświadczonych osób podczas pracy. Podpatruję praktyki, podejście do problemu, sposób rozwiązania trudniejszych zagadnień. To ogromnie dużo mi daje.
A w następnej części…
W tym artykule to by było na tyle. Mam nadzieję, że uznacie te odpowiedzi za przydatne. W kolejnej części odpowiem między innymi na poniższe pytania:
- na ile kurs programowania przygotował mnie do pracy
- jak wygląda kwestia zarobków
- jak wygląda współpraca z innymi osobami w zespole
- czy drugi raz zdecydowałabym się na zmianę branży
Chcesz się czymś podzielić? O coś zapytać? Napisz komentarz pod postem, maila do mnie na joanna@wakeupandcode.pl, wiadomość na fanpage Wake up and Code albo post w grupie Programuj, dziewczyno!