Od Juniora do Seniora: Odpowiedzi na pytania społeczności #6
W szóstej części naszej akcji „Od Juniora do Seniora” ponownie zebraliśmy najciekawsze pytania juniorów, które zawsze chcieli zadać swoim starszym kolegom i koleżankom. Tym razem pytali o to, na co zwrócić uwagę ucząc się JavaScriptu, co seniorzy i rekruterzy myślą o programistach po bootcampach i od jakiego języka backendowego warto rozpocząć naukę. Sprawdźcie, jakimi radami podzielili się seniorzy.
Spis treści
Pytanie #1
Krystian Grzesik: Chcę zostać Frontend deweloperem. Aktualnie zgłębiam tajniki CSS i niedługo chciałbym zacząć uczyć się JavaScriptu. Czy jest coś, na co powinienem zwrócić szczególną uwagę, by zmaksymalizować swoje postępy?
Odpowiada: Bartosz Cytrowski. Projektant i programista interfejsów użytkownika. Pracował w projektach fullstackowych opartych na Javie, .Necie, PHP i Node.js. Na sali w infoShare Academy spędził niemal dwa tysiące godzin w roli trenera.
Na pewno zwróciłbym uwagę na solidne podstawy — polecam Ci książkę “JavaScript For Kids” Nicka Morgana. Unikaj też rzucania się na głęboką wodę — spróbuj zbudować kilka “kół od nowa”, żeby zrozumieć mechanikę tego języka. Najprostsze wydają się najpopularniejsze elementy stron www: karuzela ze zdjęciami, animacja uruchamiana dopiero, gdy jakiś element pojawi się w oknie przeglądarki przy przewijaniu strony czy też oznaczanie aktywnej sekcji w menu.
Do momentu, w którym nie będziesz w stanie napisać samodzielnie prostej gry w oparciu o HTML i CSS, najlepiej odetnij się od wszelkich portali z nowinkami JS-owymi. Bardzo łatwo jest się na początku zniechęcić, więc staraj się robić małe kroki: kółko i krzyżyk, snake, space inviders, pacman samotnik (w labiryncie, ale bez duchów ;))
Kolejnym naturalnym krokiem będzie poznanie kilku najpopularniejszych bibliotek (2-3 max), które pozwolą Ci zbudować aplikację pokroju listy zadań, kalendarza lub książki kontaktowej. Tematy te zwykle poruszane są we wprowadzeniach lub popularnych tutorialach do nauki danego narzędzia. Polecam też na później todomvc.com — można tam zobaczyć na ile różnych sposobów da się zrobić właśnie apkę do zarządzania zadaniami.
Żeby cała zabawa w zostawanie front-endowcem była jeszcze ciekawsza, polecam Ci nauczyć się obsługi gita oraz npm — im szybciej tym łatwiej się później odnaleźć w morzu gotowych bibliotek.
Pytanie #2
Jacek Rajczak: Chciałbym się dowiedzieć, jak w branży programistycznej postrzegane są osoby po bootcampach? Spotkałem się już z różnymi opiniami na ten temat, ale bardzo ciekawi mnie jakie zdanie na ten temat mają seniorzy.
Odpowiada: Maciej Puchała. Business Development Manager w Right Information
Prowadzimy u nas w firmie stałą rekrutację na Javę, C# i PHP i to co widzę po rozmowach rekrutacyjnych z osobami po bootcampach to przede wszystkim brak zaangażowania w proces rozwoju siebie jako programisty. Jako osoba, która odpowiada w firmie również za rekrutację, mogę wskazać, że poza skończonym bootcampem, wymagamy, aby osoba, która wcześniej była fizjoterapeutą, budowlańcem, operatorem pompo-wtryskiwarki, czy miała jakikolwiek inny zawód, wykazała ekstremalną chęć nauki i zrozumienia, jak rozwiązywać problemy. Programowanie to wbrew pozorom nie jest oczywisty zawód i ktoś, kto kończy tylko 360 godzinny kurs nie jest w stanie samodzielnie zacząć programować. Z perspektywy firmy, chcielibyśmy zobaczyć działającą aplikację, napisaną przez taką osobę, usłyszeć opowieści z czym miała problem i jak go rozwiązała — bo będąc na stanowisku nawet juniora, musi takie rzeczy umieć zrobić.
Chcąc zostać programistą, kucharzem, piekarzem czy specjalistą w danej dziedzinie, nie wystarczy 360 godzin żeby zmieniło nam się życie i żebyśmy zaczęli zarabiać dwa razy więcej — a takie oczekiwania ludzie mają po bootcampach. Trzeba na wiele godzin dziennie się zanurzyć w temat, nie przespać kilkudziesięciu nocy i napisać swój kawałek kodu, żeby zrozumieć o co chodzi. Bootcamp to początek drogi — uważam, że bardzo dobry, ale niestety sprzedaje się go z nieuczciwą wizją bliskiej przyszłości.
Odpowiada: Bartosz Cytrowski. Projektant i programista interfejsów użytkownika. Pracował w projektach fullstackowych opartych na Javie, .Necie, PHP i Node.js. Na sali w infoShare Academy spędził niemal 2 tysiące godzin w roli trenera.
Tak się składa, że szkolę na bootcampach od ponad dwóch lat i często słyszę opinie o osobach, które poniekąd dzięki mojej pracy dostały się na rynek IT. Prawie wszyscy są pod wrażeniem ich determinacji i tempa w jakim chłoną nowe informacje. Dla firmy stanowią też bardzo dobrą inwestycję, jeżeli się ich odpowiednio pokieruje — przyrost umiejętności zaraz po bootcampie jest największy. Lojalność tego typu deweloperów również jest wyższa niż seniora, który w każdej chwili może zmienić pracę. Poza tym jako, że od początku nauki są pod okiem trenera, to ciężko im wypracować sobie złe nawyki.
Inna sprawa, że ratują sytuację — uczelnie wyższe nie są w stanie zaspokoić zapotrzebowania na kadrę IT. Zapotrzebowanie to jednak w większości dotyczy specjalistów. Problemem jest to, że ani uczelnia, ani bootcamp nie wyprodukuje specjalisty — to od firmy zależy czy dana jednostka się nim stanie i czy wzmocni jej szeregi. Uważam to za rozsądny kompromis.
Pytanie #3
Karol Nowak: Jaki język backendowy uważacie za najprostszy do startu, pierwszej pracy?
Odpowiada: Aleksandra Bralczyk. IT Rekruter w Netcompany
Sama się zastanawiałam pod tym kątem dla siebie. Jestem rekruterem IT, ale by lepiej zrozumieć to, czym się zajmuję próbowałam z paroma językami programowania. W moim przypadku był to Python, a potem trochę Javy. Zrobiłam też wielką sondę wśród programistów, nikt nie odpowiedział mi konkretnie. Wydawać by się mogło, że nie istnieje ,,ten jedyny” język — najbardziej przystępny do nauki. Jest wiele platform e-learningowych. Spróbuj, a następnie zobacz co jest dla Ciebie najbardziej przystępne. Pooglądaj też filmiki ekspertów. Zbadaj rynek. Sprawdź oferty dla juniorów w miejscach, które są w pobliżu Twojego miejsca zamieszkania, albo w miejscach, do których chciałbyś się przeprowadzić. Przygotuj się jednak na brak konkretnej odpowiedzi. Myślę, że jeśli chodzi o języki programowania, te najczęściej używane na rynku, to w prawie każdym przypadku będzie całkiem przystępnie na początku. To wszystko ze względu na szeroką dostępność materiałów do nauki.
Pytanie #4
Mateusz Szymaniak: Chciałbym też się dowiedzieć jak wygląda dzień/tydzień/miesiąc programisty. Czy wygląda to mniej więcej tak, że przychodzi się do pracy, pisze się kod, jakieś zebranie, kodowanie, przerwa, znowu kodowanie, zakończenie pracy i do domu? Czy zawsze są takie same dni w pracy programisty?
Odpowiada: Piotr Mionskowski. Dancing with Code w Bright Inventions
Myślę, że sporo zależy od firmy w jakiej pracujesz. Opowiem jak wyglądają dni w Bright Inventions, gdzie pracuję. Rzeczywiście jest tak, że przez większą cześć dnia “kodujemy”. Pod hasłem “kodowanie” kryje się jednak wiele aktywności. Są to między innymi:
- programowanie nowych i rozwijanie istniejących funkcji systemów i aplikacji,
- testowanie napisanego kodu, zarówno automatycznie jak i manualnie,
- czytanie, analiza i recenzja kodu napisanego przez kolegów czy to w formie code review, czy pair programming,
- analiza wydajnościowa aplikacji i jej części,
- debugowanie, lub jak kto woli odpluskwianie, które często wymaga zagłębienia się w nieznane dotąd odmęty systemu.
Oczywiście, nie wszystkie z tych zadań każdy wykonuje w tym samym zakresie. Sporo zależy tutaj od zainteresowań, doświadczenia i sytuacji oraz etapu na jakim jest dany projekt. Niemniej jednak “kodowanie” to tylko część pracy. W Bright Inventions pracujemy blisko z klientami stąd często się z nimi spotykamy, zarówno wirtualnie, jak i w rzeczywistości. Na takich spotkaniach zwykle:
- rozmawiamy o problemie, pomyśle, jaki ma klient,
- proponujemy rozwiązania problemów wraz ze wstępną analizą złożoności, kosztu, czasu,
- analizujemy powierzone projekty i zadania w celu wykluczenia niespójności z platformą i/lub aplikacją,
- przedstawiamy analizy, opinie o rozwiązaniach, bibliotekach, szablonach, frameworkach, technologiach w celu doboru korzystnego zestawu.
Ponadto ważnym elementem pracy jest nauka. Spotykamy się często, na krótkich prezentacjach, przygotowanych przez pracowników, traktujących o ciekawych aspektach pracy programisty. Piszemy również artykuły na naszego bloga, w których poruszamy tematy związane z wykorzystywanymi technologiami oraz opisujemy różne podejścia do rozwiązywania konkretnych problemów. Możliwość ciągłego zgłębiania wiedzy i dzielenia się nią stanowi tę pracę naprawdę wyjątkową i satysfakcjonującą.
Pytanie #5
Marcin Przywóski: Gdzie szukać pierwszej pracy w IT?
Odpowiada: Aleksandra Klimaszewska. Junior Recruitment Specialist w IT Kontrakt
Ze swojej strony polecam komunikację bezpośrednio z firmami. Zdarza się, że firma nie ma otwartej rekrutacji, ale posiada czas i zasoby, żeby kogoś podszkolić. Czasem dobre wrażenie potrafi zdziałać cuda.
Odpowiada: Aleksandra Bralczyk. IT Rekruter w Netcompany
Polecam założenie konta na GitHubie i dobre, porządnie napisane projekty na nim. Fajnie kiedy GitHub pokazuje Twoje możliwości i staje się Twoją wizytówką. Zdecydowanie bardziej interaktywnie działa to wtedy na rozmowie — techniczny rekruter może się odnieść do tego, co już zrobiłeś. Z kolei rekruterom, którzy przeglądają Twoje CV pokazujesz też, że jesteś aktywny w środowisku i zaangażowany w kodowanie. Odnosząc się jeszcze do tego, o czym wspomniała Aleksandra. ,,Networking” potrafi naprawdę zdziałać cuda. Wiele firm organizuje imprezy zapoznawcze, gdzie przedstawiają firmę i różne projekty, którymi się zajmują. W Netcompany na przykład mamy wypady do kina lub restauracji ze studentami/osobami, które zaczynają swoją przygodę z IT. To dobry moment, żeby zapytać devów z danej firmy, jak wygląda ich praca na co dzień oraz zapoznać się z ludźmi z tamtejszego działu rekrutacji. Na pewno Cię zapamiętają, możesz potem śmiało do nich wrócić z zapytaniem o otwarte stanowiska.