Mentionsy Mentionsy
Sprawny Programista » Programowanie
Sprawny Programista » Programowanie

IT w Waszych pytaniach

20.05.2024 ·1 godz 11 min

SP#40 IT w Waszych pytaniach https://stormit.pl/it-w-waszych-pytaniach/

Czy rynek nasycił się już programistami? Czy nie jest tak, że pracodawcy niechętnie zatrudniają juniorów? I to bym sobie rozbił na dwa pytania. Pierwsze to, czy rynek nasycił się już programistami? Przez ten moment, kiedy rzeczywiście mieliśmy to zatrzymanie, można było przez chwilę tak powiedzieć. Natomiast tak jak już przed chwilą się do tego odniosłem, wracamy do tego trendu. Na razie jeszcze w niektórych filmach trochę nieśmiało. Ale jednak wracamy do tego dobrego nurtu. A druga część, czy pracodawcy niechętnie zatrudniają juniorów? I znowu tutaj muszę jakby trochę szerzej odpowiedzieć, żeby dać Wam taki kontekst. Bo zobaczcie, kim jest tak naprawdę junior? Junior często jest swego rodzaju inwestycją dla firmy.

Czyli jeżeli ktoś decyduje się na zatrudnienie juniora, to musi mieć przestrzeń zarówno czasową, finansową, ale też taką organizacyjną, żeby przygotować taką osobę do tego projektu. I to jest taki totalny kontrast, jak zatrudniamy kogoś bardziej doświadczonego. Oczywiście bardziej doświadczonej osobie, Będziemy musieli zapłacić odpowiednio więcej, ale taka osoba prawie że z dnia na dzień jest w stanie wejść do tego projektu, jest w stanie sobie poradzić z tym projektem i od razu jest w stanie generować tą wartość, gdzieś radzić sobie w projekcie. Natomiast taki junior musi się odrobinę rozpędzić i właśnie nie każdy projekt do tego się nadaje.

Nie w każdym mamy chociażby osoby bardziej doświadczone, które mogłyby taką osobę wdrożyć. Nie zawsze mamy czas. Niestety biznes zazwyczaj nie jest dobrze poukładany i to nie jest tak, że możemy sobie pozwolić, żeby ktoś przez trzy czy przez sześć miesięcy na spokojnie wdrażał się do tego projektu. Najczęściej trzeba jednak wejść i coś tam już robić i to rzeczywiście powoduje, że wiele firm jakby nie chce bezpośrednio współpracować z juniorami, ale no to nie jest tak, że cały rynek w ten sposób wygląda. Szczególnie te większe firmy, typowe korporacje jednak stosunkowo chętnie zatrudniają juniorów, no bo takie osoby zwyczajnie będą miały niższe stawki, a tam też mamy bardziej różnorodną pracę

I wtedy w tego typu projektach rzeczywiście jest miejsce dla osób z mniejszym doświadczeniem. Idziemy dalej, w takim razie. Jak się przebić w ogromie juniorów? Tutaj jakby podciągnąłbym to trochę pod to, jak wyrównić się, jeżeli mamy więcej niż jednego kandydata, który ma podobne jakby kompetencje. No i w momencie, kiedy mamy stanowisko juniorskie, powiedzmy, że firma decyduje się zatrudnić Kogoś na stanowisko Junior Java Developera i zobaczcie, że te wymagania niezależnie od firmy będą naprawdę bardzo podobne. Można powiedzieć, że to trochę taki standard rynkowy, czego wymagamy od takiej osoby.

Najczęściej będzie to znajomość Gita, będzie to znajomość samej Core Javy, będzie to znajomość takich frameworków jak Jak Spring, jak JPA, może jeszcze gdzieś podstawy, basę danych, czyli taki można powiedzieć core tych najczęściej wykorzystywanych technologii. I co za tym idzie, wiele osób, które będą jednak aplikowały na to stanowisko, będzie wyglądała bardzo podobnie. I to zarówno pod względem kompetencji, czyli to, co sobie wymieniliśmy przed chwilą, ale również pod względem tych umiejętności, które one będą miały, też doświadczenia. Właściwie to są osoby całkowicie bez doświadczenia albo ze stosunkowo niedużym doświadczeniem, czyli może jakiś projekt open source, może jakiś projekt, który samodzielnie realizowali i nawet CV tych osób, które aplikują na pierwsze swoje stanowisko,

To często wygląda bardzo podobnie, bo znowu, te osoby bardzo często przechodzą przez podobny proces. Jak chcą przygotować CV, to wpisują sobie w Google CV dla Junior Java Developera, czy tam dla Junior Developera, znajdują bardzo podobny szablon, właśnie mają podobne doświadczenie I to powoduje, że rzeczywiście nawet jak mamy powiedzmy 10 osób na jedno stanowisko, to te osoby wyglądają podobnie, ich CV wygląda bardzo podobnie i osoba, która teraz będzie musiała podjąć decyzję, kogo z tych osób zatrudnić, naprawdę ma nie lada wyzwanie, no bo wszyscy wyglądają w podobny sposób. Mało tego, wszyscy też często robią bardzo podobne błędy. I to jest jakby sytuacja, można powiedzieć, zastana.

No i teraz pytanie, co ja mogę zrobić, żeby rzeczywiście przebić się, żeby wyróżnić się wśród tych juniorów. Pierwsza na pewno rzecz to nie popełniać tych najczęściej występujących błędów. Czyli wyróżnić się jakością. Naprawdę osoby, które szukają swojej pierwszej pracy bardzo często robią totalnie takie wręcz karygodne, podstawowe błędy. Te CV bardzo często widać po nim na przykład, że nie dość, że ta osoba nie ma całkowicie doświadczenia, co jest w pełni zrozumiałe, ale również nie umie dobrze przygotować takiego profesjonalnego dokumentu. Więc warto tutaj zainwestować trochę swojego czasu, przede wszystkim swojego czasu i wysiłku i właśnie dopracować te CV.

Czyli wszystko to co sobie No ale druga rzecz, nie masz doświadczenia komercyjnego, to musisz postawić na doświadczenie niekomercyjne. Czyli wszelkie takie doświadczenie, gdzie nie masz bezpośrednio za to płacone. To naprawdę może przybierać najróżniejsze formy. Przede wszystkim na samym początku projekty, które realizujesz samodzielnie, czyli można usiąść do komputera, zacząć pisać projekt, najpierw mniejszy, później większy, później jeszcze większy i cały czas to rozbudowywać. Zobacz jak to jest tak naprawdę pięknie ułożone, jaka to jest cudowna branża. Wyobraź sobie, że w ten sposób chciałbyś zdobywać doświadczenie w jakiejś innej branży.

Pamiętajmy o kontekście tej osoby. Rzeczywiście, ja znam zdecydowanie więcej języków programowania, ale tutaj jest naprawdę bardzo ważne. Pierwsza rzecz, nie w wszystkich językach programowania korzystam codziennie w swojej pracy. I znam ich całkiem sporo, ale tak naprawdę na co dzień korzystam przede wszystkim z Javy i w niej mam zdecydowanie największe doświadczenie, więc to jest pierwsza rzecz. Druga rzecz, ja też potrzebowałem naprawdę ładnych kilkunastu lat, żeby poznać te wszystkie języki i to, co sprawdza się w moim konkretnym wypadku jako właśnie osoby, która pracuje w wielu różnych projektach, też ma wiele lat doświadczenia, zdecydowanie nie będzie sprawdzało się w przypadku osoby, która dopiero wchodzi do branży, kiedy

Trafia na te swoje pierwsze projekty, kiedy dopiero uczy się podstaw programowania. W przypadku takiej osoby dużo lepszym wyjściem będzie, jeżeli skupi się na jednym konkretnym wybranym języku programowania i to pod wieloma względami. Zobacz, że jeżeli będziesz chciał zatrudnić się w tym momencie do jakiegoś projektu, to bardzo rzadko mamy takie projekty, że ktoś wymaga od nas tego, żebyśmy byli jednocześnie specjalistami w Javie i jednocześnie specjalistami w dotnecie. Co prawda czasami zdarzają się takie projekty, natomiast ich jakby proporcjonalnie jest naprawdę bardzo, bardzo mało. Najczęściej wymagają od nas, że będziemy specjalistą w jednym konkretnym języku programowania. I teraz, jeżeli ty na początku nie skupisz się na jednym języku, tylko, tak jak tutaj kolega napisał, na przykład zacznie uczyć się Pythona, a po trzech miesiącach przejdzie do Javy, no to w ciągu tych trzech pierwszych miesięcy nauczył się podstaw, zaczął robić coś odrobinę większego i prawdopodobnie pojawiły się jakieś pierwsze większe

I jeden język to nie jest za mało, jeżeli chodzi o pierwszą pracę, ale pamiętajmy o dodatkowych rzeczach, jakie my jako juniorzy jednak musimy umieć. Dlatego, że sam język programowania to rzeczywiście jest za mało w dzisiejszych czasach. Musimy jeszcze znać przynajmniej podstawy, Bas danych, musimy znać przynajmniej jeszcze gita, musimy znać różnego rodzaju frameworki, cały ten ekosystem, który jest dookoła programowania i te rzeczy rzeczywiście musimy tutaj na pewno umieć. Dobrze, idziemy w takim razie dalej. Czy samodzielnie jestem w stanie się tego nauczyć?

No ale zawsze gdzieś tam trzeba tutaj sobie spojrzeć na to z kilku różnych perspektyw. No i jak to mówią, tak liczyć siły na zamiary, czy w ogóle taka osoba ma szansę dostać później pracę. Trzeba zastanowić się ile czasu zajmie ci nauka w tym momencie. Policzmy na spokojnie gdzieś tam z górką, że nie będzie to szło dobrze, że pojawią się po drodze jakieś problemy, że nie zaczniesz od razu, więc policzmy to naprawdę z górką 2 lata nauki i to też przy założeniu, że zaczynasz całkowicie od zera. 42 lata. To dalej z moich wyliczeń wychodzi, że to będzie ponad te dwadzieścia kilka lat gdzieś tam aktywnej pracy. Na początku junior, może nie najlepsze projekty, jeszcze gdzieś tam dorzućmy do tego ten rok.

Ale niektóre z tych osób nie czuły się na tyle kompetentne, żeby dalej rozwijać się w kierunku architektury, nie chciały iść w kierunku zarządzania i zostały przy wykonywaniu konkretnie swojego konkretnie swojego zawodu, czyli dalej aktywnie programował. I to spowodowało, że rzeczywiście na rynku pojawiło się dużo osób, które mają te 50 i więcej lat i są aktywnymi programistami. I jakby stało się to normalne. A co za tym idzie, też nowe osoby, które później zaczynają swoją przygodę z programowaniem, dzięki temu mają taką większą łatwość, żeby odnaleźć się na rynku właśnie z osobami w podobnym wieku. No i jeszcze teraz tutaj pytanie, co jeżeli mamy takiego juniora, który jednak ma doświadczenie juniora, ale ma już około 40 lat, no musimy się siłą rzeczy liczyć z tym, że będziemy mieli stanowisko typowo juniorskie, ale więc też od razu pensję typowo juniorską, ale jeżeli na to się godzimy, to jak najbardziej też firmy się na to godzą.

Patrząc na tą konkretną sytuację, ja tutaj raczej szedłbym w tym kierunku, niż taką standardową ścieżkę, żeby zostać junior developerem. Łyczek wody i idziemy dalej. Ile czasu zajęłoby napisanie prostej aplikacji nie mając zielonego pojęcia o programowaniu oraz czy akces jest dobrym sposobem na naukę prostych form bazodanowych? Ile czasu? To jest zawsze takie bardzo niejednoznaczne pytanie, dlatego że nie mamy tutaj wszystkich informacji, nie mamy czasu o Twoim zaangażowaniu, o Twojej aktualnej wiedzy, więc trudno jest na to odpowiedzieć jednoznacznie, ale gdzieś postaram się przynajmniej przedziałami.

żeby nauczyć się takich totalnych podstaw. W ogóle pierwszą aplikację, jeżeli nawet zaczynasz całkowicie od zera i znasz przynajmniej podstawie, jak korzystać z komputera, to naprawdę można napisać w przeciągu pierwszego popołudnia. Tutaj bardzo mocno zachęcam do odwiedzenia naszego nowego programu Fundamenty Programowania i tam dosłownie w przeciągu pierwszej godziny jesteś przeprowadzony przez cały proces, krok po kroku, jak stworzyć taką pierwszą A nawet już nie pierwsze, bo gdzieś tam kolejne te mini aplikacje, więc tutaj można sobie zacząć. Ale zobacz, że to są tylko i wyłącznie podstawy. Później, żeby nauczyć się tak w miarę płynnie core Javy, żeby tworzyć już odrobinę większe aplikacje, pierwszy taki troszkę większy projekt, to powiedzmy, że jest kwestia gdzieś tam około

Od czego zacząć naukę Javy? Myślę, że tutaj bardzo dobrym punktem odniesienia będzie ten program, który przed chwilą Wam podsyłałem, czyli Fundamenty Programowania. Zdecydowanie tam zachęcam, żeby od tego zacząć. Tam jest wytłumaczona pierwsza aplikacja, tam też jest Cały taki większy warsztat na temat podstaw obiektowości, też tam jest pięć takich większych później aplikacji, więc nie tylko same podstawy, ale gdzieś tam idziemy kawałek dalej już w tym kierunku, więc zdecydowanie dobry punkt startowy. Na jakim poziomie należy mówić w języku angielskim? Pytanie, co chcemy w tym wypadku osiągnąć, dlatego że to jakby nie jest zawsze jednoznaczne.

Jaka jest absolutnie niezbędna wiedza na dzień dobry? Tutaj podeślę Ci taki e-book nasz Osiem rzeczy. Tak, e-book Osiem rzeczy, które musisz poznać, żeby dostać pracę jako Junior Java Developer i zdecydowanie zachęcam żeby zobaczyć, jak tam to wygląda. Tam przede wszystkim są takie rzeczy jak znajomość technologii, znajomość odpowiednich frameworków, gita, żeby odnaleźć się w projekcie, żeby szukać informacji. No i to jest taki core, od którego zaczynamy, a później to też bardzo mocno już zależy od konkretnie naszego projektu.

To, co jest najgorsze, to jak ktoś zrobi sobie tydzień, dwa przerwy i później ta przerwa bardzo szybko się zmienia z dwóch tygodni na dwa miesiące i wtedy zapominamy. Wtedy też spada taka motywacja, coraz trudniej nam jest zacząć, a po powrocie trzeba zacząć prawie że od zera, bo niewiele pamiętamy. Więc naprawdę warto sobie ustawić nawet w kalendarzu takie przypomnienie, powiedzmy co sobotę o dziewiątej, bo akurat w sobotę co dziewiątej mamy nasze konsultacje w ramach kierunek Java, przyjść na takie spotkanie. To może być spotkanie nawet tylko i wyłącznie z Tobą, ale oczywiście I to jest naprawdę bardzo istotne.

Naprawdę znajdziecie tam całą wielką basę różnego rodzaju pomysłów na projekty. W jakiej kolejności przyswajać sobie wiedzę programowania? Jak powinna wyglądać ścieżka nauki? Tutaj zdecydowanie najpierw podstawy. Ja bardzo gorąco zachęcam do tego, żeby zaczynać od core Java, czyli żeby nie iść od razu w jakieś frameworki, w jakieś nowości, zaawansowane rzeczy, dlatego że to nie jest jeszcze dla Ciebie na tym etapie. Nauczyć się podstaw, dobrze sobie poznać Java i kiedy orientujesz się w tym już na tyle dobrze, że jesteś w stanie przygotować swoją jakąś pierwszą, odrobinę większą aplikację konsolową, Kiedy masz te dobre praktyki programistyczne też już przynajmniej na podstawowym poziomie zrobione, czyli jeżeli znasz już testy, wiesz jak działa czysty kod, przeszedłeś przez jakiś proces code review, czyli kiedy to już w miarę się tam unormowało, to wprowadzamy sobie kolejne rzeczy.

Wprowadzamy sobie Springa, wprowadzamy sobie JPA, wprowadzamy sobie Kolejno bazy danych i tworzymy kolejną już odrobinę większą aplikację, właściwie już odrobinę większy projekt, ale właśnie wszystko musi być po kolei. Kiedy ta warstwa webowa jest już wprowadzona, no to znowu jakby ustabilizujmy to, zadbajmy o te testy, o tą jakość, więc uczymy się jak tutaj Jak to wszystko otestować? I tu też zajdzie już naprawdę całkiem sporo czasu. Kiedy to wszystko mamy? Gdzieś tam pomyśleć o tym, jak to automatyzować, gdzieś wprowadzić sobie podstawy DevOps. No i przez wszystkie te kroki przechodzimy w programie kierunek Java, więc tam możecie przynajmniej na agendę zerknąć, zobaczyć, jak to wszystko wygląda, dlatego że ona właśnie jest ułożona według tego procesu, jak to sobie kolejno wprowadzać.

O, to jest bardzo fajne pytanie. Kiedy junior staje się midem? Kolejne pytanie, takie troszkę niejednoznaczne, na które stosunkowo trudno odpowiedzieć, ale ja bym powiedział, że te stanowiska juniorskie midów i seniorów równią się przede wszystkim takim poziomem odpowiedzialności. Czyli to nie jest tak, że mamy jakąś sztywną listę wymagań, że od tego poziomu jesteś midem, a od tego poziomu jesteś seniorem. Też w wielu projektach to będzie całkowicie inaczej wyglądało. Widziałem takie sytuacje, że naprawdę mint jak przechodził do innego projektu absolutnie nic nie robił I nagle był takim całkiem niezłym seniorem.

Więc jakby te wymagania też równią się bardzo mocno od firmy. Ale w dużym uproszczeniu przyjmuje się tak, że junior jest taką osobą, którą trzeba się zaopiekować. Czyli, że ona nie jest w stanie jeszcze sama Witam serdecznie. Część tych prostszych rzeczy sama sobie rozwiąże, doszuka sobie tych informacji, czyli dostaje jakieś ogólne zadanie, jest w stanie zweryfikować to zadanie, jest w stanie zweryfikować też sensowność tego zadania i je zrealizować.

Jeżeli chcesz tylko i wyłącznie spróbować, czy programowanie jest dla ciebie naprawdę na upartego, możemy zacząć pisać pierwsze aplikacje, nawet korzystając z przeglądarki, nawet korzystając z telefonu. Mamy różnego rodzaju kompilatory, nawet kompilatory Javy, które działają z poziomu przeglądarki i taką prostą aplikację możemy tam napisać. Tylko. To, co sprawdza się na samym początku, zdecydowanie nie będzie sprawdzało się gdzieś tam w późniejszych etapach przy takim normalnym pracowaniu. Jeżeli już myślimy o programowaniu tak typowo komercyjnie, zawodowo, to jednak komputer jest podstawowym narzędziem naszej pracy. Ja w ten sposób o nim myślę i nie żałuję tutaj dodatkowych pieniędzy, żeby zainwestować w ten sprzęt, ale znowu, to co sprawdza się w moim wypadku, niekoniecznie sprawdza się w przypadku juniora.

I ostatnie pytanie, które nam zostało i w ten sposób zamkniemy też nasze dzisiejsze rozważania. Umowa o pracę czy B2B, ale konkretnie dla juniora? I tutaj odpowiedzmy sobie najpierw na pytanie, dlaczego w ogóle ludzie decydują się na współpracę na B2B, a nie na umowie o pracę? Przede wszystkim ze względu na podatki oraz ze względu na taki komfort, na swobodę tej współpracy. Dlatego, że pracując na umowie o pracę płacisz proporcjonalnie wyższe podatki i to ma dużo większe znaczenie, kiedy te nasze pensje są wyższe, czyli gdzieś tam jak dochodzimy do tych 20, 30, 40 i więcej tysięcy, ma to już naprawdę kolosalne znaczenie, jak musimy zapłacić odpowiednie podatki, szczególnie teraz, kiedy te podatki zostały pozmieniane, więc dlatego dużo osób decyduje się na rozliczenie na B2B,

Na firmie no to mamy wiele dodatkowych benefitów, bo możemy sobie wiele rzeczy wrzucać w koszty, możemy potencjalnie podjąć współpracę z innymi firmami, możemy też samodziennie realizować jakieś zlecenia i to są rzeczywiście rzeczy, z których ja osobiście mocno korzystałem, ale wiadomo, że nie każdy będzie z tego korzystał. Jeżeli w swoim wypadku nie potrzebujesz takich rzeczy, to niekoniecznie będzie to dla ciebie na korzyść. Jeżeli chodzi o Dodatkowe urlopy, płatne, niepłatne, to zawsze to jest kwestia negocjacji. Zdarzały mi się na przykład kontrakty, że rozliczałem się na fakturze, a miałem dodatkowo raz, że inny okres wypowiedzenia, takie jak chciałem, dwa właśnie płatne urlopy. Więc zawsze pamiętajmy, że to jest kwestia negocjacji. I po takim wstępie, jak to ma się do samego juniora?

Pokazano pierwszych 25 dopasowań — doprecyzuj frazę, aby zawęzić wyniki. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.