Od Juniora do Seniora. Odpowiedzi na pytania społeczności #3
Wracamy do cyklu pytań i odpowiedzi pt. Od Juniora do Seniora. Pokazujemy w nim pytania społeczności, najczęściej początkujących programistów, którzy potrzebują porady od doświadczonych developerów. Pytają o przeróżne sprawy, od tych związanych z nauką, po te dotyczące samego zatrudnienia.
Przed Wami trzecia część cyklu, ale zanim do niego przejdziemy, pokrótce opiszę, czego początkujący dowiedzieli się od ekspertów w poprzednich częściach. W pierwszej części eksperci odpowiedzieli m.in. na pytania dotyczące tego, jak bardzo pracodawcy zwracają uwagę na wykształcenie czy co sądzą o tym, by aplikacje były napisane tylko na JavaScripcie.
Druga seria pytań dotyczyła m.in. tego, dlaczego w ofertach juniorskich na front-end bardzo częstym wymogiem jest np. biegła znajomość PHP, czy jakie są najnowsze trendy we front-endzie, którymi warto się zainteresować? Z trzeciej serii dowiecie się więcej na temat rekrutacji programistów, ale też formy zatrudnienia. Zobaczcie, jak tym razem na pytania odpowiedzieli nasi eksperci.
Spis treści
Pytanie #1
Hubert Morawski: Jak bardzo dla pracodawcy liczą się takie osiągnięcia jak np. wygrana hackathonu?
Odpowiada: Piotr Całka, CEO & Managing Partner w Inspire Labs: wcześniej pełnił funkcje software developera, ISO & traffic managera oraz production managera
Osiągnięcia w stylu wygrana w hackathonie bardzo mocno wpływają na atrakcyjność danego kandydata. Oczywiście wszystko zależy od stanowiska, na które kandydat się ubiega, ale zawsze jest to spory atut. Takie osiągnięcia pokazują, że dana osoba jest zorientowana na realizację konkretnych wartości, jest zaangażowana w rozwój i osiąganie wyznaczonych celów oraz potrafi współpracować w zespole.
Odpowiada: Paweł Elbanowski, CEO Programa™: Team builder and experienced project manager, helping companies and startups facilitate their everyday work since 2007
Według mnie to wartościowy dodatek do CV, ale nie przeważy na decyzji o zatrudnieniu. Takie aktywności potwierdzają Twoje zaangażowanie się w dany projekt, umiejętność pracy w zespole i pod presją czasu – co się chwali na odpowiednim stanowisku (firma IT usługowa, która ma deadline dla klienta). Jeżeli aplikujesz na stanowisko RnD to nie jest to kartą przetargową.
Zawartość Twojego CV ma dawać wartość konkretnemu pracodawcy, dlatego dla każdego profilu firmy powinieneś mieć inne CV, w którym decydujesz, czy dane osiągnięcie jest istotne i należy je uwypuklić, czy nie.
Pytanie #2
Dawid Gałecki: Czy przedsiębiorca (programista php) po roku pracy u pracodawcy ma szansę wnioskować u niego o wynagrodzenie w wysokości 37,5 pln / h? Czy 6300 wyłożone na sprawdzonego pracownika to koszty naprawdę przewyższające możliwości finansowe pracodawcy?
Odpowiada: Michał Miszczyszyn — Type of Web Founder & full-stack JavaScript developer with years of professional experience
Na pytanie czy 6300zł to koszt przewyższający możliwości finansowe pracodawcy jest bardzo trudno odpowiedzieć, bo trzeba by przeanalizować dokładnie czym dany pracodawca się zajmuje, w jakiej branży działa no i oczywiście jakie ma przychody… Ale dlaczego to w ogóle ma dla Ciebie znaczenie? Nie powinno mieć.
Zarobki to kwestia bardzo indywidualna, ale jedno jest pewne: W IT mamy rynek pracownika. Jeśli czujesz, że powinieneś i możesz zarabiać więcej, a aktualny pracodawca nie chce (lub nie może) dać Ci wymarzonej kwoty — to rozejrzyj się za taką firmą, która Twoje wymagania finansowe spełni! Aby ocenić swoje szanse na podwyżkę możesz się posiłkować raportami płacowymi, które publikują różne portale. Przykładowo, raport Sedlak & Sedlak mówi, że programiści PHP po 1 roku pracy zarabiają przeciętnie 3584zł brutto (mediana). Ale pamiętaj, że to tylko statystyka i połowa ankietowanych zarabia więcej. Warto też zwrócić uwagę, że, według Forbes, pracownicy, którzy pracują dla jednej firmy dłużej niż 2 lata zarabiają 50% mniej niż osoby, które zmieniają pracę częściej.
No i na koniec będzie nieco banalnie: Pieniądze to nie wszystko 😉 Pracodawcy oprócz pensji podstawowej mogą oferować różne pozapłacowe sposoby wynagradzania pracowników: Karty sportowe, ubezpieczenie, darmowe lunche… A w ostatecznym rozrachunku na pewno warto wziąć pod uwagę również takie aspekty jak czas dojazdu do biura, możliwość pracy zdalnej czy fundusz szkoleniowy. Trudno to zmierzyć obiektywnie, bo dla Ciebie pewnie sprawy mogą być ważniejsze od innych, ale koniec końców może się okazać, że właśnie te dodatki przeważają na rzecz jednej czy drugiej firmy.
Odpowiada: Paweł Elbanowski, CEO Programa™: Team builder and experienced project manager, helping companies and startups facilitate their everyday work since 2007
Wszystko zależy od pracodawcy i projektów, nad którymi pracujesz. Dla jednych to bardzo dużo, dla innych nie. Prowadzenie działalności to zawsze bilans przychodu i kosztów. Jeżeli klient płaci za Ciebie odpowiednio dużo to Twoja wartość dla pracodawcy jest większa. Jak nie, to niestety z pustego i Salomon nie naleje.
Pytanie #3
Konrad Nizioł: Gdzie jest ta magiczna granica w zadawaniu pytań bardziej doświadczonym programistom, aby nie irytować ich, czy też denerwować za bardzo? Z jednej strony mamy dostęp do internetu, gdzie na Google powinniśmy sobie znaleźć większość rzeczy, jednak perspektywa dostania natychmiastowej odpowiedzi jest dość kuszącą opcją. Czy wy Seniorzy mieliście w pracy taką sytuację, że unikaliście jakiejś osoby, bo męczyła was każdą pierdołą?
Odpowiada: Radek Piekarz, Head of Mobile w Tango Agency
Każdemu juniorowi, z którym zaczynamy współpracować powtarzam, aby nigdy nie bał się pytać. Proszę jednak, żeby najpierw próbował znaleźć rozwiązanie samemu i razem z pytaniem, o ile to możliwe, podał proponowane przez siebie rozwiązania. Uważam, że w naszej branży karcenie lub unikanie osoby, która dużo pyta nie jest dobrym pomysłem. Zbyt duża ilość pytań może sygnalizować źle wyspecyfikowane zadanie lub słaby przepływ informacji, a nie tylko brak wiedzy technicznej. Na każdy z tych problemów, moim zdaniem, należy zareagować i starać się wyeliminować. Jeśli widzisz, że zadajesz dużo pytań z jakiejś działki to może warto się po prostu z tego podciągnąć lub poprosić kogoś z zespołu o wprowadzenie do tematu?
Niestety magiczna granica jest inna dla każdego programisty… jesteśmy tylko ludźmi i chyba nikt nie lubi jak mu się przerywa, z drugiej strony każdy z nas też był kiedyś juniorem i miał swojego seniora ?
Pytanie #4
Tomek Zagórski: Czy celowanie w machine learning ma sens, jeśli z matmą zatrzymałem się na poziomie dobrze zdanej matury rozszerzonej, ale nie miałem jej na studiach? Np. nie mam pojęcia o całkach, różniczkach, czy analizie matematycznej. Do nadrobienia/przeskoczenia czy może być ciężko?
Odpowiada: Krzysztof Dyszczyk, Lead Developer w Inspire Labs
Uczenie maszynowe jest teraz bardzo popularną i szybko rozwijającą się dziedziną, dlatego rozważania i plany, czy związać z nią swoją przyszłość z pewnością mają sens — nawet jeśli miałyby to być plany długoterminowe. W przypadku algorytmów powiązanych z ML, wiedza z matematyki z pewnością jest konieczna (czyli nie do przeskoczenia), ponieważ nawet gdy bazujemy na gotowych rozwiązaniach i bibliotekach, to aby dobrać skuteczny algorytm i zoptymalizować go pod konkretny rozwiązywany problem, potrzebna jest wiedza i intuicja, do zdobycia których warunkiem koniecznym jest matematyka.
Przez „matematyka” mam na myśli głównie wiedzę z: algebry liniowej, statystyki i rachunku prawdopodobieństwa oraz rachunku różniczkowego. Nie oznacza to oczywiście, że niemożliwe jest dokształcenie się w tym kierunku, tylko że potrzebna będzie pewna doza wysiłku i determinacji, zależna od posiadanej wiedzy i zdolności. W sieci jest aktualnie ogromna ilość materiałów i kursów, które przy odpowiednim zaangażowaniu umożliwiają zdobycie potrzebnej wiedzy, nawet bez żadnych nakładów pieniężnych. Portale takie jak Coursera czy Khan Academy udostępniają wiele kursów z algebry liniowej, czy statystyki; publicznie dostępne są darmowe wykłady z Uniwersytetów Harvarda czy Stanforda, nie brakuje także klasycznych kanałów na YouTube, np. 3Blue1Brown, które bardzo obrazowo wyjaśniają, jak działają, kluczowe mechanizmy matematyczne.
Odpowiadając więc bezpośrednio na Twoje pytanie: w ML matematyka jest do nadrobienia, ale nie do przeskoczenia.
Pytanie #5
Arek Stankiewicz: Jako junior chciałbym poznać najlepsza technikę nauki języka. Przede wszystkim chodzi mi tu o pomoc seniora juniorom. Czy sami powinni wyszukiwać rozwiązania (nie raz zajmując przy tym kilka swoich dni) czy lepiej poprosić o pomoc seniora?
Odpowiada: Radek Piekarz, Head of Mobile w Tango Agency
Moim zdaniem najlepszym sposobem na naukę języka, frameworka czy nowej technologii jest po prostu programowanie. Idealnie, jak napisany przez nas kod może sprawdzić drugi programista. Warto też zaglądać do kodu źródłowego bibliotek, z których się korzysta lub projektów open source związanych z aktualnym projektem czy technologią. Bardzo pomaga to w poznawaniu nowych, ciekawych rozwiązań i trików. Każdemu początkującemu programiście polecam także przeczytanie trzech książek:
- „Czysty kod. Podręcznik dobrego programisty” Roberta C. Martina
- „Refaktoryzacja. Ulepszanie struktury istniejącego kodu” Martina Fowlera
- „Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku” Gangu Czterech
Ich lektura, zrozumienie i trzymanie się zawartych w nich dobrych praktyk ułatwi unikanie podstawowych błędów, co z kolei pozwala bardziej doświadczonym kolegom skupić się na pomocy przy trudniejszych problemach, co moim zdaniem jest obopólną korzyścią. Zawsze dobrze jeśli ktoś pierw sam spróbuje znaleźć rozwiązanie, ale jeśli zajmuje to zbyt dużo czasu, wówczas warto spytać się kolegów z zespołu.
Odpowiada: Katarzyna Jastrzębska, sr. developer@24eStore, speaker, mentor
To bardzo dobre pytanie. Jeżeli chodzi o relację seniora z juniorem, to od zawsze jest dosyć trudny orzech do zgryzienia i bardzo indywidualna kwestia. Często w IT spotykam się z bardzo wycofanym i ostrożnym nastawieniem programistów wobec siebie. Sama, jako junior, bałam się przyznać, że potrzebuję pomocy. Jednak programiści najszybciej uczą się dobrych praktyk programowania poprzez współpracę, ciągłe drążenie zagadnienia, dzielenia się kodem z innymi. Trzeba pokonać ten wstyd i wątpliwości i otworzyć się na krytykę. Jeżeli chodzi o opiekę seniora nad juniorem, ja widzę to jako ciągła współpraca, wspólne rozwiązywanie problemów, jak najwięcej pair programming i przede wszystkim, pokonanie tej ‘bariery wstydu’.
Odpowiedzi udzielali:
Piotr Całka, CEO & Managing Partner w Inspire Labs: wcześniej pełnił funkcje software developera, ISO & traffic managera oraz production managera
Paweł Elbanowski, CEO Programa™: Team builder and experienced project manager, helping companies and startups facilitate their everyday work since 2007
Michał Miszczyszyn — Type of Web Founder & full-stack JavaScript developer with years of professional experience
Radek Piekarz, Head of Mobile w Tango Agency
Katarzyna Jastrzębska, sr. developer@24eStore, speaker, mentor
Krzysztof Dyszczyk, Lead Developer w Inspire Labs
—
Dziękujemy Wam za uczestnictwo w pierwszej serii pytań! Zapraszamy do dołączenia do akcji „od Juniora do Seniora”, także zapraszajcie znajomych i bez skrępowania piszcie swoje pytania w komentarzach lub poprzez mail: adam@justjoin.it.