Przekwalifikowanie się na Software Developer'a

1

Szanowni Państwo

Właśnie podjąłem decyzję przekwalifikowania się na programistę. Mój wybór padł na C# (C sharp), ponieważ miałem już z nim do czynienia na studiach (programowanie strukturalne i modułowe, podstawy programowania obiektowego). Dla tego teraz zacząłem kurs odraz od projektów. Planuję zrobić ten kurs:

I teraz moje pytanie. Co dalej? Jaki jeszcze kurs polecacie ukończyć? Co jeszcze "trzeba" umieć jako software developer? Tak tak, rozumiem. Programować, programować i jeszcze raz programować, ale domyślam się, że nie tylko po prostu projekt w C#? Pewnie jeszcze jakieś inne języki/programy musiałbym się nauczyć obsługiwać? Jak wygląda to w praktyce? Wystarczy, że na rozmowie pokażę im przykłady aplikacji napisanych w czystym C# i wytłumaczę gdzie i co "zakodziłem" czy jeszcze jakieś dodatkowo coś trzeba umieć? Pewnie GitHub jest niezbędny dla programisty?

Interesuje mnie przekwalifikowanie się na inżyniera oprogramowania a nie webdevelopera. Raczej wolę programy i "algorytmy" niż "pozycjonowanie" kontentu na stronie i żeby ładnie wyglądało.

1

Jeśli mówimy o C# to od razu dopisz sobie do listy ASP.NET Core/ASP.NET MVC (to starsza wersja). Jakiś ORM też będzie raczej potrzebny, więc niech będzie Entity Framework.
Poza tym coś o testach jednostkowych warto wiedzieć, nawet jak ostatecznie w firmie "kiedyś będą" to sporo rozmów będzie pytanie o nie zawierać.
Git to teraz też must have (chyba, że interesują Cię projekty dojrzewające przez dziesięciolecia w piwnicach banków).
Skoro ASP.NET to jakieś podstawy HTML, CSS i JS się przydadzą, bo co prawda nie będziesz musiał robić designu, ale w końcu albo ten design trzeba jakoś włożyć do aplikacji albo coś tam poprawić.
GitHub nie jest niezbędny, ale na początek może pomóc (albo bardzo zaszkodzić).
Projekty w czystym C# są praktycznie bezwartościowe w kwestii zatrudnienia, chyba, że idziesz na bezpłatne praktyki albo są to jakieś magie robione na naprawdę wysokim poziomie, jakieś biblioteki, które rozwiązują powszechny problem albo złożone algorytmy.

Da się iść inną ścieżką w C# ale sądzę, że 90-95% pracy to aplikacje webowe, czasami trafi się coś w WinForms albo WPF na desktopa ale w tym momencie to powoli coraz większa nisza.

10

Oh shit here we go again...

gornada napisał(a):

Właśnie podjąłem decyzję przekwalifikowania się na programistę.

Tak samo jak 500 innych osób.

gornada napisał(a):

I teraz moje pytanie. Co dalej? Jaki jeszcze kurs polecacie ukończyć? Co jeszcze "trzeba" umieć jako software developer?

Trzeba umieć szukać informacji. Znalazłeś kurs ale nie zapytałeś google co powinieneś umieć.
Zacznij od tej roadmapy - Jak już się z nią zapoznasz i podejmiesz kolejną decyzję o ścieżce...
Skorzystaj z tej roadmapy

gornada napisał(a):

Jak wygląda to w praktyce? Wystarczy, że na rozmowie pokażę im przykłady aplikacji napisanych w czystym C# i wytłumaczę gdzie i co "zakodziłem" czy jeszcze jakieś dodatkowo coś trzeba umieć?

Nie. Nie wystarczy. Musisz posiadać wiedzę na odpowiednim poziomie w wielu różnych "podgrupach" danej technologii. Roadmapy wyżej doskonale to ukazują. Małe szanse, że ktoś będzie patrzeć w to co napiszesz. 99% szans, że będziesz musiał rozwiązać zadanie, napisać w domu projekt, wykazać się wiedzą teoretyczną i praktyczną podczas rozmowy z kimś z zespołu - interview questions.

gornada napisał(a):

Pewnie GitHub jest niezbędny dla programisty?

Bardziej git. Niezbędna natomiast jest jedynie wiedza.

gornada napisał(a):

Interesuje mnie przekwalifikowanie się na inżyniera oprogramowania a nie webdevelopera. Raczej wolę programy i "algorytmy" niż "pozycjonowanie" kontentu na stronie i żeby ładnie wyglądało.

Inżynier oprogramowania to bardzo szerokie pojęcie. Najpierw doczytaj co ów inżynier robi. Jak wchodzisz w działkę aplikacji web to podstawowa wiedza "web" jest już dzisiaj wszędzie wymagana.
Oznacza to, że jak np. piszesz moduł formularza zamówień to musisz umieć sobie ten formularz zaprojektować. W najbardziej archaiczny sposób ale mimo wszystko. Później pewnie ktoś od frontu przerobi go i tak na wersję ładną dla oka.

Jak wolisz programy i algorytmy to raczej nie ten język. Nie to, że nie można. Ale nie widziałem ofert pod C#, które opierały się o ostrą algorytmikę. Do tego wybiera się raczej inne języki.
W tym natomiast robi się desktop (nadal) i web (coraz więcej). I bardziej niż bardzo zaawansowana algorytmika raczej liczy się wiedza domenowa + znajomość dodatkowych narzędzi poza samym C# jak bazy danych, loggery, middleware, kontrola wersji, protokoły i umiejętność ich wykorzystania, MVC, REST, LINQ, wzorce projektowe - znowu wszystko masz na roadmapach.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.

1

A ja zadam pytanie inne, skoro robisz przekwalifikowanie to czym się wcześniej zajmowałeś? Możesz wiedzę którą obecnie posiadasz z byłego doświadczenia połączyć z programowaniem i np. iść w branżę którą się zajmowałeś wcześniej + konkretnie zajmować się IT.

Jest wiele niszy gdzie brakuje dobrego eksperta/profesjonalisty z danej dziedziny wiedzy + jeszcze jest w stanie ogarnąć to pod kątem IT.

1

Wcześniej, czyli teraz, zajmuję się automatyką. Konkretnie pracuję na utrzymaniu ruchu.

0

Skoro jesteś automtykiem to moze idź w kierunku programowania jakich maszyn czy robotów albo integracja maszyn z softem. Tu raczej technologie desktopowe. WinForms się trzyma mocno albo wpf jeśli masz ciagotki masochityczne :)

1

Trochę offtop, ale ostatnio coraz częściej odczuwam, że przebranżowienie(zostanie) programistą to złota recepta na sukces.. A nawet lek na całe dotychczasowe zło w naszym życiu. Nie mówię akurat o Panu, nic złego nie mam na myśli. Tylko tak jakoś często gęsto widzę takie wpisy.

0

Rynek pracy bądź co bądź kusi ofertami pracy dla IT wciąż.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.

Z tego też powodu przerzuciłem się na to:

łatwiej też o agregację zdobywania wiedzy po kolei po kolejnych filmikach. Myślę też założyć blog jako forma dzielenia się zdobytą wiedzą (prezentacja jak do portfolio).

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

0

@gornada:

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Tak, lepiej używać tych rzeczy z Core w nazwie (na ten moment)

0
gornada napisał(a):

Rynek pracy bądź co bądź kusi ofertami pracy dla IT wciąż.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.

Z tego też powodu przerzuciłem się na to:

łatwiej też o agregację zdobywania wiedzy po kolei po kolejnych filmikach. Myślę też założyć blog jako forma dzielenia się zdobytą wiedzą (prezentacja jak do portfolio).

Nie wydaje mi się żeby to była jakakolwiek różnica poza pocięciem tego na mniejsze części. Nie zaszkodzi obejrzeć ale po obejrzeniu, napisaniu jakichś prostych rzeczy skupiłbym się jednak na czerpaniu wiedzy z jednej dobrej książki, która wyjaśni mnóstwo rzeczy, których w żadnym video nigdy nie będzie.
+
Jestem niesamowicie zdziwiony jak WSZYSCY przebranżeniowcy nie potrafią zarządzać swoim czasem marnując go na rzeczy w ogóle nieistotne. W Twoim przypadku i tych 500 osób jak Ty jest fakt zakładania bloga. I po co? Po to żeby po raz 143843843 opisywać jak działa pętla czy tablica? Skup się na nauce, a nie pierdołach.

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Stosunek projektów w Core vs. projekty bez Core nadal jest olbrzymi na niekorzyść Core. Szanse, że wejdziesz z ulicy do Core są dużo mniejsze niż wejście do jakiegoś old projektu, którego doświadeczeni już nie chcą obsługiwać.

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

Możesz tylko znowu nie wiem po co? Dla siebie? Dobre rozwiązanie + nauczysz się gita. Dla kogoś? Nikogo nie interesują mini projekty. Chyba, że planujesz napisać menadżer pakietów pod Windowsa wraz z własnym terminalem kompletnie od zera. Wtedy warto mieć taki projekt w profilu (tej skali).

0

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

Możesz tylko znowu nie wiem po co? Dla siebie? Dobre rozwiązanie + nauczysz się gita. Dla kogoś? Nikogo nie interesują mini projekty. Chyba, że planujesz napisać menadżer pakietów pod Windowsa wraz z własnym terminalem kompletnie od zera. Wtedy warto mieć taki projekt w profilu (tej skali).

W ramach prezentacji wiedzy? Z pustego CV chyba żaden rekruter nie zaprosi mnie na rozmowę? A tak to będę miał dowód. Choćby głupi blog prezentujący czego ostatnio się nauczyłem, albo aż projekt pokazujący, że coś tam umiem skompilować. No bo z jakoś muszę rekruterowi udowodnić, że coś umiem i warto mnie zaprosić na rozmowę? A nie że tylko sobie napisałem, że niby umiem a może wcale nie jest to prawda?

4
gornada napisał(a):

W ramach prezentacji wiedzy? Z pustego CV chyba żaden rekruter nie zaprosi mnie na rozmowę? A tak to będę miał dowód. Choćby głupi blog prezentujący czego ostatnio się nauczyłem (...)

Żyjesz w jakimś wyimaginowanym świecie w którym firma, która szuka programisty przegląda github albo jego osobistego bloga, który nie różni się od 500 innych blogów.
Wiesz ile jest takich blogów jak Twój? Setki w kraju i setki tysięcy na świecie. Zaśmiecające tym samym wartościowe blogi, których odkopanie w gąszczu tego śmietnika jest wyzwaniem dla kogoś szukającego wartościowej treści.
Jesteś w stanie dostarczyć tam treści bogate, wartościowe treści? Podam przykład takiego bloga:
https://os.phil-opp.com/

Dostarczysz treści zbliżonej jakości? Nie dostarczysz. Więc żadnej firmy nie interesuje Twój blog. Pojmij w końcu, że ludzi chętnych są setki/tysiące. Patrząc po tematach na forum jesteście jak armia klonów. Każdy z was ma ten sam zestaw "pomysłów":

  • Napiszę tysiąc mini projektów
  • Przepiszę tutorial
  • N***am zielonych kwadracików na github
  • Otworzę blog i będę pisać
  • Zrobię apkę to-do
  • Klepnę kolejnego cruda
  • Napiszę kalkulator/notatnik/kółko i krzyżyk
  • (...)
gornada napisał(a):

(...) albo aż projekt pokazujący, że coś tam umiem skompilować. No bo z jakoś muszę rekruterowi udowodnić, że coś umiem i warto mnie zaprosić na rozmowę? A nie że tylko sobie napisałem, że niby umiem a może wcale nie jest to prawda?

Czasy gdy za:

coś tam umiem skompilować

brali do pracy bezpowrotnie minęły kilka lat temu kolego. Nie musisz udowadniać niczego rekruterowi tylko pracownikowi, który sprawdza wiedzę. Rekruter to ma zrobić ogólne rozeznanie w potencjalnym kandydacie do pracy.

Zadam Ci teraz pytanie. Nie musisz mi odpowiadać, bo generalnie nie interesuje mnie Twoja odpowiedź. Bardziej chodzi o to żebyś sam sobie odpowiedział. Skoro już wdepnąłem w ten wątek to kontynuuję tę podróż w nieznane, a więc pytanie brzmi:

  • Dlaczego robiąc wszystko jak wszyscy masz być inny/lepszy/bardziej wartościowy niż wszyscy przez co rekruter/firma ma wybrać właśnie Ciebie?

I na tym kończę swoje wywody. Twój temat nie różni się niczym od innych tematów na które natrafiłem na tym forum. Nie sądziłem, że będzie tego tak dużo, a w praktyce każdy pyta o to samo i robi dokładnie to samo.
Dzisiaj mądrzejszy o własne doświadczenia skupiłbym się na solidnej nauce zarówno teorii jak i prraktyki. Na tyle żeby prowadzić swobodną rozmowę z kimś technicznym i odpowiadając na jakieś głębsze aspekty danej technologii, a nie tylko tak/nie/nie wiem.

Przerobiłbym solidnie porządną książkę od początku do końca. Później popisał do tego kodu podpierajac się tą książką i dokumentacją. Następnie przeczytałbym ją jeszcze raz ale bez przerabiania i skupił na tym czego nie rozumiem (będzie tego mnóstwo). Z tą wiedzą pisał coś dalej żeby testować różne podejścia do programowania i sprawdzać na ile sposobów mogę napisać taką samą rzecz.
Następnie wziąłbym się za podstawowe struktury danych i porozwiązywał realnych problemów. W międzyczasie wymyśliłbym jakiś jeden porządny projekt i postarał się go dociągnąć do końca. Poprosił kogoś o review, poprawił bugi w międzyczasie oczywiście utrwalając wiedzę + nabywając nową uderzyłbym do jakchś firm na staż.
Tyle. Aż tyle bądź tylko tyle zamiast marnować czas na bzdury.

Good luck.

0

Dzięki za komentarz. Na pewno się tym pokieruje i a propos. Jaki podręcznik do C# polecasz? Od razu sięgnąć po C# wzorce projektowe a podstawy programowania ogarnąć z YT czy jedna kupić podręcznik programowania C# od podstaw(i który)?

1

Nie mam pojęcia po co ludzie dalej chcą się przekwalifikowywać skoro u mnie na juniora przyszło podobno 300 CV.
Filtracja już jest ostra, postawcie się na miejscu HRek, która musi to ogarnąć i wy****ć z marszu połowę ot tak.

1
gornada napisał(a):

Szanowni Państwo

Właśnie podjąłem decyzję przekwalifikowania się na programistę. Mój wybór padł na C# (C sharp), ponieważ miałem już z nim do czynienia na studiach (programowanie strukturalne i modułowe, podstawy programowania obiektowego). Dla tego teraz zacząłem kurs odraz od projektów. Planuję zrobić ten kurs:

I teraz moje pytanie. Co dalej? Jaki jeszcze kurs polecacie ukończyć? Co jeszcze "trzeba" umieć jako software developer?

Trzeba umieć być wytrwałym. Wytrwałym w nauce (a nie, że coś się naumiesz i będziesz wiedział, tylko to musi być kropla drążąca skałę), wytrwałym w szukaniu pracy(wiadomo), ale również wytrwałym w codziennych wysiłkach (np. może się zdarzyć, że będziesz się głowił kilka dni nad jakimś problemem i będziesz miał dość, ale będziesz czuł, że już za późno, żeby się cofnąć i że musisz rozwiązać ten problem, usunąć tego buga).

Jednak za tą wytrwałością jeszcze musi się kryć pewnego rodzaju chęć do rozwoju, ewolucji, eksperymentów, podejścia badawczego (np. jak rozwiązujesz buga, to testujesz wiele hipotez "dlaczego bug istnieje". Albo np. dokonujesz refaktoringu(przeróbki) istniejącego kodu, bo widzisz lepsze rozwiązanie, bo już na poziomie percepcji jesteś nastawiony na szukanie coraz to lepszych rozwiązań (a nie na tłuczenie tego samego w kółko).

Jaki jeszcze kurs polecacie ukończyć

No ale wspomnianych rzeczy na żadnym kursie się nie nauczysz, bo to cechy charakteru, a nie coś, co sobie ogarniesz z kursu.

Nie chcę oceniać po jednym poście, ale masę jest osób, które chcą tylko wejść w temat, pouczyć się kursów od a do z, wszystko podane mieć na tacy i chcą zrobić tylko tyle, żeby "wystarczyło". Stąd pewnie ostry post @purrll .

0

Przede wszystkim darujcie sobie te małe projekciki typu kalkulator itp. Tak naprawdę one niewiele wnoszą do nauki. Zamiast robić kilkadziesiąt drobnych projektów trzeba zrobić jedne, ale duży np. jakiś system magazynowy. Poza tym oglądanie tych kursów to tak naprawdę tylko punkt wyjścia do dalszej nauki. Gwarantuję, że jak nawet skupiony obejrzysz kurs to później jak usiądziesz do pisania kodu to jeszcze wyjdzie tysiąc innych problemów, które nie były na tym kursie omawiane.

1

Dzięki wszystkim za podpowiedzi. Na pewno się nimi pokieruję.
Oprócz C# zacząłem powoli ogarniać SQL stąd:

A co do książek o których mówiliście to tutaj polecał trzy:

Tylko one nie są bezpośrednio o programowaniu. Pewnie warto jest przeczytać tylko najpierw bym wolał, tak jak mówiliście, o C sharp. Księgarnia Helion wśród najbardziej popularnych polecała tą:
https://helion.pl/ksiazki/c-praktyczny-kurs-wydanie-iii-marcin-lis,cshpk3.htm

Samo przekwalifikowanie się na programistę. Od zera do junior developera podobno może zając nawet tylko pół roku:

Ja nie zakładam takiej wersji, bo 4 h codziennie i 8 h w weekendy to bardzo dużo i chyba nie dam rady aż tyle czasu na to wydzielić. Jednak myślę, że w rok dałbym radę.

EDIT: między innymi dla tego, że po jakiś czas temu skończyłem studia. A w pracy raczej pracowałem niż uczyłem się i jak teraz wracam do nauki to czuję, że mózg zapomniał jak to jest, uczyć się intensywnie. Aż przypomniały się te czasy kiedy człowiek cały czas się czegoś uczył i ciągle rozwijał swój mózg. Jest to pewna forma motywacji :D

2

No tak. Wiadomo już skąd Twoja chęć do przebranżowienia się. Naoglądałeś się kołczów, którzy (nie mogę użyć innego słowa) pi***olą, a ciemny lud to łyka w każdej ilości. Dla dobra tego forum i czytających później ten wątek wykasuj linki do tych bzdur z youtube.

2
gornada napisał(a):

Dzięki wszystkim za podpowiedzi. Na pewno się nimi pokieruję.
Oprócz C# zacząłem powoli ogarniać SQL stąd:

A co do książek o których mówiliście to tutaj polecał trzy:

Tylko one nie są bezpośrednio o programowaniu. Pewnie warto jest przeczytać tylko najpierw bym wolał, tak jak mówiliście, o C sharp. Księgarnia Helion wśród najbardziej popularnych polecała tą:
https://helion.pl/ksiazki/c-praktyczny-kurs-wydanie-iii-marcin-lis,cshpk3.htm

Samo przekwalifikowanie się na programistę. Od zera do junior developera podobno może zając nawet tylko pół roku:

Ja nie zakładam takiej wersji, bo 4 h codziennie i 8 h w weekendy to bardzo dużo i chyba nie dam rady aż tyle czasu na to wydzielić. Jednak myślę, że w rok dałbym radę.

EDIT: między innymi dla tego, że po jakiś czas temu skończyłem studia. A w pracy raczej pracowałem niż uczyłem się i jak teraz wracam do nauki to czuję, że mózg zapomniał jak to jest, uczyć się intensywnie. Aż przypomniały się te czasy kiedy człowiek cały czas się czegoś uczył i ciągle rozwijał swój mózg. Jest to pewna forma motywacji :D

Za ciągłe polecanie tak słabej książki jak Czysty Kod Martina, to powinni karać.
Ta książka ma takie wady jak:

  • wskazówki dotyczące bardzo ważnych kwestii, takich jak wyjątki, są potraktowane po macoszemu na 5 stron
  • za to, mamy całe rozdziały o tym jak doprowadzić do stanu używalności API starej wersji Java i niekończące się listingi kodu na 20 stron.
  • lanie wody, brak dokładnego opisu czegokolwiek
  • fanatyczne wręcz poglądy o konwencjach nazw itd

Co to da początkującemu? Takie porady, to niech sobie w buty wsadzi.

Pragmatyczny programista, to raczej książka dla osoby, która już jakąś wiedzę posiada.
Bo żeby czytać o tym jak pisać kod ... trzeba najpierw potrafić ten kod samemu napisać.

No chyba, że dla autora początkujący programista, to faktycznie programista, a nie adept.

1

"16000 na rękę w pół roku"

Programista 22k w pół roku.
Programista 21k w pół roku.
Programista 19k w pół roku.

https://zarobki.pracuj.pl/kalkulator-wynagrodzen/16000-netto

I to mi się podoba.
Przynajmniej zrywa ze stereotypem Programista 15k w 3 miesiące.

PS
I i odpowiednio dobrany font na czerwonym tle ;)
Żeby zarabiać w tej branży trzeba "umieć w sztuczki"

2

Łatwo jest sprzedać marzenia. Gorzej z ich realizacją.

2
purrll napisał(a):

Żyjesz w jakimś wyimaginowanym świecie w którym firma, która szuka programisty przegląda github albo jego osobistego bloga, który nie różni się od 500 innych blogów.

chyba we wszystkich firmach w jakich pracowałem do rekrutacji zaangażowani byli zwykli developerzy - od nich zależało czy cv które przeszło wstępną filtrację (po słowach kluczowych) przejdzie do etapu rozmowy rekrutacyjnej. Często też zwykli developerzy prowadzili rozmowy rekrutacyjne. Tak więc to czy ktoś wejdzie na bloga i sprawdzi kod na githubie to sprawa osobista - tyle podejść ile ludzi.
Osobiście przeprowadziłem koło setki rozmów i przefiltrowałem tysiące cv i jeśli ktoś podawał linka do githuba albo bloga to prawie zawsze wchodziłem. Zazwyczaj były to te same programiki do zrobienia w godzinę typu kalkulator jednostek, czy ogólnie jakieś inne kopiczki. Zazwyczaj nastawiało mnie to negatywnie do kandydata już na tym etapie i szczerze mówiąc chyba poważniej traktowałem ludzi którzy nie próbowali się chwalić takim kodem. A w ogóle to natrafiłem chyba tylko na dwóch kandydatów którzy mieli się czym pochwalić i mieli jakieś dokończone, ambitne projekty.

Pewnie link do githuba lepiej wygląda niż puste CV ale moim zdaniem i tak znajdzie się kandydat z jakimkolwiek doświadczeniem i to prędzej on dostanie pracę niż ktoś z linkami. Bardziej bym poszedł w kierunku stażu albo freelancingu żeby mieć co tam wpisać bo zapełnienie githuba czymś co może dać Ci pracę zajmie dużo więcej czasu

1
obscurity napisał(a):

Osobiście przeprowadziłem koło setki rozmów i przefiltrowałem tysiące cv i jeśli ktoś podawał linka do githuba albo bloga to prawie zawsze wchodziłem.

Rozmowa to powiedzmy kwadrans.
Przejrzenie CV z wrzuceniem do systemu, wejście na github, ewentualnie rozmowa.
Przy tysiącach CV na jednego programistę to spokojnie wyjdzie rok - niech będzie minus urlop - tylko na przeglądanie CV w poszukiwaniu cud githubów.

Dlatego duże firmy mają działy HR albo wynajmują na zewnątrz firmy do przejrzenia wstępnego tych tysięcy CV co inaczej robili programiści.

Ale Janusz przegląda albo CV sam albo z pomocą 2 programistów (wtedy w rekrutację zaangażowane jest 100% zasobów)

1

Już widzę co się tera będzie działo, jak gruchnie ta fala pozwalnianych z branży hotelarskiej, reklamowej, eventowej itp. istny wysyp tematów :D

2

Skoro już mowa o rekrutacji to i ja dodam 5gr od siebie. Generalnie im większa i porządniejsza firma tym bardziej ustandaryzowany i niezależny od biorących udział w rekrutacji proces. W większości warszawskich ogarniętych firm proces wygląda następująco:

CV -> Codility/HackerRank/DevSkiller (w zależności czy algo czy praktyka) -> HR CV filtr + sprawdzenie LinkedIn/Facebook (nie chcemy zatrudniać rasistów i nazistów itp.) + rozmowa miękka z kandydatem jeżeli jest taka potrzeba + test angielskiego -> Otwarcie procesu

Olbrzymia ilość osób zostanie odfiltrowana już na etapie Codility. W dalszej kolejności idzie to na oko tak:

Telefon + edytor kodu z opcją kolaboracji / Screen sharing - kandydat wykonuje proste zadanie. Rozmowa krótka 30min 45 góra, po prostu taki lepszy filtr. Biorą w niej udział programiści. Na koniec rozwiązanie zadania wpada do systemu i jest publicznie dostępne (dla osób wewnątrz firmy) do oceny. Otwartość oceny sprawia że jak oceniający ma zły dzień to można jego decyzje skorygować. Jest to też feedback wyższego rzędu (meta-feedback?) o tym że np. oceniający X do tej roboty się nie nadaje. W mojej opinii wszystkie rozmowy z kandydatami powinny być nagrywane a potem przeglądane przez HR. Eliminuje to z procesu rekrutacji (po stronie firmy) ludzi którzy się do kontaktu z drugim człowiekiem nie nadają lub robią firmię złą opinię.

Jeżeli kandydat przetrwał obie rundy, i ma jeszcze chęć na kontakt z firmą to jest zapraszany do biura gdzie co najmniej 2 osoby będą go oceniać. Zazwyczaj bierze się 2 osoby z różnych zespołów, na chyba że zespół rekrutuje dla siebie (albo dla siebie, albo do firmy z możliwością że trafi do twojego zespołu). Na tym etapie powinni znaleźć się kandydaci którzy rokują na że zostanie im złożona propozycja pracy. To jest najbardziej kosztowny etap rekrutacji, w teorii powinniśmy odsiać na 2 poprzednich większość aplikacji tak żeby teraz mieć max 10 osób do przepytania na stanowisko. Inżynierowie podobnie jak poprzednio oceniają kandydata i wbijają w system rozwiązania + wypełniają standardowy kwestionariusz. Znów uważam że powinno być to nagrywane i audytowane przez zewnętrzne działy np. HR.

Jeżeli firma podejmie decyzje (najczęściej mgr na spotkanie z inżynierami i na podstawie danych z systemu) to jest składana propozycja pracy + rozmowa z mgr. o tym jaki to będzie konkretnie zespół.

Ja tak widzę rekrutację w porządnej, dobrze zorganizowanej i dużej firmie. Google ma proces jeszcze bardziej złożony. Większość małych firemek rekrutuje po prostu na gębę (telefon + podróż do biura) - prowadzi to często do patologii.

Generalnie rekrutacja, jeżeli komuś nie zależy na firmie X to gra liczb. Jeżeli OP zaczyna karierę to radzę wysłać CV do 20 firm i poczekać na odzew. W najgorszym wypadku OP nauczy się co mu na rozmowach nie wychodzi lub jakich tech. musi się douczyć.

Nie jest też tajemnicą że niska stawka potrafi otworzyć drzwi do wielu nie-technicznych korpo które pracy programistów nie cenią (jak wiadomo zasoby się wykorzystuje). Więc jak nic się nie uda złowić to radzę obniżyć widełki i przez rok się przemęczyć.

Dobra okazja żeby się wypromować to też meetupy (ok może nie teraz). Wystarczy zrobić 2 lub 3 prezentację i powiedzieć że szuka się pracy na końcu - czasami to działa. Warto też popytać wśród znajomych może jakiś pracuje już w korpo i będzie wstanie OPa "wkręcić".

2
0xmarcin napisał(a):

Skoro już mowa o rekrutacji to i ja dodam 5gr od siebie.

Zakładając, że to nie FAANG = superowy wpis w CV, to po tym maratonie rekrutacyjnym zatrudniony człowiek odchodzi po przepracowaniu czasu krótszego od tego ile trwał cały wieloetapowy proces rekrutacji. Co wtedy?
W większości dużych korpo robi się w Polsce to samo, różni się technologia: A lub B, ale kasa podobna, warunki podobne. Po co więc zaliczać dziesięciobój rekrutacyjny żeby za dwa miesiące stwierdzać - o kurde i znowu to samo a miało być...

Nie wliczam w to start-upy, bo na miód utalentowanych marketingowców od cudów na kiju nie daję się złapać.

0

Dzięki bardzo za liczne komentarze i pro tipy na temat rekrutacji od strony kandydata i samej rekrutacji jako takiej od strony firmy. Na pewno ta wiedza pomoże mnie i innym którzy ten wątek przeczytają :)

Niestety trochę odbiegliśmy od głównego tematu tego wątku. Zanim zacznę wysyłać CV to najpierw chcę się tego wszystkiego nauczyć i zrozumieć :)

Zacząłem się uczyć samego C# i SQL ( na razie w SQL server management studio). Jeśli chodzi o same podręcznik to z tego co przeszukałem internet to tak naprawdę nadaje się wszystko i nic. Czyli jakikolwiek podręcznik o C#, bo wszystkie z grubsza mówią o tym samym gdy samego programowania jako takiego można nauczyć się z kursów (jak nie z YT to z udemy/khan/coursera, z tym że w tych drugich będzie to płatne). Dlatego myślę o tej książce:
https://helion.pl/ksiazki/programowanie-asynchroniczne-i-rownolegle-w-c-kurs-video-poziom-podstawowy-jaroslaw-porwol,vasynp.htm#format/w
Może nie jest "scricte" o samym C# a o już zaawansowanych jego funkcjach w konkretnych frameworkach. Co o tym myślicie?

Jeśli już "nauczę się" C# i SQL na poziomie dopuszczalnym i chciałbym zrobić kolejny krok. To w jakim kierunku powinienem się udać? od jakiego frameworku zacząć?
-WPF application dla aplikacji desktopowych?
-MVC dla windowsowskich web aplikacji?
-ASP.NET core dla wieloplatformowych aplikacji webowych?
-Xamarin dla aplikacji moblinych?
Chodzi o samą naukę a nie docelowy framework w jakim chciałbym robić w przyszłej pracy (prawdopodobnie będę musiał umieć więcej niż jeden).

0

Wnioskując po wszystkich komentarz zacząłbym po prostu przerabiając podstawy i biorąc się za ambitny projekt rozkładając go na mniejsze części (tak żeby to połapać i później spiąć) kolejne kalkulatory czy todo nie przyczynia się w żadnym stopniu do zdobycia pierwszej pracy. Ogólnie teraz żeby wbić się na juniora trzeba mieć kupę szczęścia albo być naprawdę nie tyle dobrym co kumatym.

Powodzonka

6

Link, którzy wrzuciłeś, to nie książka, ale kurs wideo, i w dodatku taki, który nie będzie dobry dla osoby początkującej, bo dotyczy jednego aspektu .NET.

Najwięcej pracy jest (i prawdopodobnie będzie) w ASP.NET i ASP.NET Core. Gdzie IMO jak umiesz ten nowy (Core), to "powrót" do starego nie zmienia samych koncepcji (póki mówimy o MVC albo WebAPI), aczkolwiek wprowadza sporo nowych fajnych rzeczy.

Wczoraj rozmawiałem z koleżanką, która czasami rekrutuje - i doszliśmy do stwierdzenia, że liczy się to, aby zrobić coś sensownego, a nie kolejną niedziałającą listę rzeczy do zrobienia. Najlepiej jakiś projekcik, którego faktycznie będziesz używał. Zastanów się - co by się przydało? Czego ci brakuje? Co ciebie interesuje? I w zależności od tego dobierzesz sobie technologię i nauczysz się podczas robienia tego czegoś. Nie ucz się "na sucho".

0

Tak jak napisał @Ktos nasz forumowy nauczyciel ;-) Zrób coś niebanalnego. Z moim propozycji to jakieś rozszerzenie do VS jeśli tego ide używasz lub jakąś bibliotekę open source. Możesz też dołączyć do istniejącego projektu ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1