Szukanie pierwszej pracy – co jest ze mną nie tak?

0

Cześć!

Mam moment zwątpienia, więc proszę o radę.

Od października będę studentem 3 roku informatyki (specjalizacja programistyczna). Chciałbym się podjąć pracy zawodowej (studiować będę zaocznie) i równocześnie rozpocząć pracę w zawodzie, ale przeglądam oferty pracy i powoli zaczynam wątpić w możliwość znalezienia jakiejkolwiek i nie wydaje mi się, by ukończenie studiów mogło mi wiele pomóc.

Znam jako tako C/C++, gorzej Javę, znajomością technologii webowych nie miałbym odwagi się pochwalić.

Od jakiegoś czasu przeglądam oferty pracy publikowane na różnych portalach. Wniosek jest jeden: na stanowisko początkującego programisty powinienem mieć co najmniej roczne doświadczenie i Javę biznesową z milionem frameworków w jednym palcu. Albo jako początkujący koleś od backendu wypadałoby znać dobrze obiektowo PHP, mieć 2 letnie doświadczenie zawodowe, JavaScript, Ajax, 10 standardów HTMLa, różnice w przeglądarkach, 3 rodzaje baz danych, itd…

Mieszkam w Bielsku-Białej (ok. 200 tyś. miasto). Zaczynam się zastanawiać, czy to, że coś mi się wydaje doświadczeniem niemożliwym do zdobycia w domu / na uczelni, nie oznacza zwyczajnie, że jestem dupa, a nie koder i powinienem od teraz nie spać, nie widywać się z rodziną, tylko siedzieć nad książkami, żeby móc znaleźć pracę za minimalną krajową (a to minimum roczne doświadczenie? nakłamać w CV?)…

Chcę być programistą bo to po prostu lubię, ale często czytam też, że programowanie to świetny pomysł na życie. Zaczynam wątpić w to powoli…

Macie jakiś pomysł co robić?

0

Jak chcesz w Javie pracować to ogarnij trochę Hibernate i Springa, a potem wal na rozmowy, ale najpierw poczytaj jak się dobrze zaprezentować. Wcale nie musisz być kozakiem z miliona frameworków.

Zresztą nie macie tam jakiegoś Comarchu? :P

0

Nigdy z tym nie miałem styczności, w planie studiów też nigdy tego nie widziałem. Wyszedłem z założenia, może głupiego, że to jest zbyt trudne na poziom akademicki, bo trzeba prawdziwego dużego projektu, by był sens się w to bawić. Załóżmy (może słusznie), że tak nie jest. Czy więc ogarnięcie >trochę< (?) jest czymś, co przeciętny programista jest w stanie zrobić w domu w sensownym czasie?

0

Czy więc ogarnięcie >trochę< (?) jest czymś, co przeciętny programista jest w stanie zrobić w domu w sensownym czasie?

Oczywiście, że tak. I to nie tylko "trochę". Większość z nas uczy się programowania w domu. A to, co uważasz za sensowny czas pozostaje sprawą subiektywną oraz zależy od czynników takich jak szybkość uczenia się.

Znam jako tako C/C++, gorzej Javę, znajomością technologii webowych nie miałbym odwagi się pochwalić.

No to przyznaj sam - to faktycznie mało, zwłaszcza, że C/C++ nie są najpopularniejszymi językami, w których możesz znaleźć pracę.

Wyszedłem z założenia, może głupiego, że to jest zbyt trudne na poziom akademicki

Ja bym podszedł do tego zupełnie odwrotnie - to poziom programowania na studiach jest zbyt mały i trzeba wnieść się ponad tę kapotę polskich uczelni.

Robiłeś jakieś projekty na studiach? Masz kod, który możesz pokazać?

0

Dzięki za odpowiedzi!

Nie mam problemu z douczaniem się w domu. Bez tego marny byłby mój los (w moc zbawczą studiów przestałem wierzyć niestety dopiero rok temu). Rzecz w tym, że w pewnym momencie mam opanowane jako tako parę technologii najbardziej podstawowych, a dalej jest taki wachlarz możliwości, że gdybym się miał uczyć każdej rzeczy, która mnie jakoś kiedyś zaciekawiła, pewnie do końca życia bym się uczył i niczego bym się nie nauczył. Dlatego pytam konkretnie o Hibernate i Spring. Spotkałem się z opinią, że dobre opanowanie to kilka lat pracy przy prawdziwym projekcie, więc proszę o wybaczenie mi mojego sceptycyzmu.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Jedno mówią, że bujda, inni że prawdę pokazuje.

Tak, trochę projektów zrobiłem, ale niestety dwa najfajniejsze poszły z dymem, bo z ext4 nie idzie odzyskiwać danych :( . Niestety to, co obecnie posiadam nie jest tym, czym bym się chciał chwalić.

0

Ranking Tiobe nie odzwierciedla polskiego rynku pracy, więc w tym wypadku, nie kieruj się nim.

A co to były za projekty, które poszły z dymem? W każdym razie i tak coś będziesz musiał pokazać.

0

Cholera, niedobrze, ale dobrze wiedzieć, że trzeba coś ludziom pokazać.

Jeden to był saper w C, drugi fajniejszy, to był, również pisany w C, symulator zarządcy procesów, w teorii mający pokazać różnice w wydajności różnych algorytmów. Ostatnio z nudów napisałem Sapera w C++…

Z Javą gorzej, bo paskudny kod mam w tym co robiłem :/
– kalkulator w Swingu
– wielowątkowy komunikator z serwerem i klientem
– Arkanoid w Java2D.

1

No to weź jakieś te swoje aplikacje i napisz je tak, żebyś był z nich dumny, a potem będziesz się nimi mógł pochwalić. Na pewno pracodawca patrzy lepiej na kogoś, kto zrobił już jakiś projekt porządnie niż na kogoś, kto tylko robił tysiąc nieudanych prób.

0

To mi się podoba, dobra rada, dzięki :)

To jeszcze pozostała kwestia wymaganego przez wszystkich doświadczenia. Tego się nie da obejść. Nie mam porównania – czy możliwe jest, że mieszkam w dziurze gdzie po prostu za mało firm funkcjonuje by trafić na oferującą choćby jakiś staż, czy jednak to normalne, że każdy chce mieć doświadczonych programistów i nikt nie chce im umożliwiać zdobywania pierwszych doświadczeń?

Zastanawiam się też czy w ogóle jest w tym wszystkim coś niezwykłego. Szukam pracy przez ogłoszenia, ale może ogłoszenia zawsze są kierowane już do doświadczonych programistów, a początkujący gdzie indziej powinni szukać ofert staży, czy coś tam?

0

Ogłoszenia są generalnie na wyrost. Jeżeli nie umiesz się dobrze sprzedać to musisz spełniać te wymagania. Ja mam dopiero rok tzw komercyjnego doświadczenia, a idę do roboty gdzie jest wymagane 2+ lat i w ogóle części wymagań nie spełniam, a już z tych mile widzianych to chyba większość :P

W CV i na rozmowach generalnie nie kłamię, ale staram się zaprezentować jak najlepiej. Do prezencji zalicza się także np opinia o innych, np byłym pracodawcy czy uczelni. Staraj się nie narzekać na nikogo, co najwyżej opisz sytuację i spróbuj jakoś ją usprawiedliwić. Nie zapomnij też o asertywności.

Szukam pracy przez ogłoszenia, ale może ogłoszenia zawsze są kierowane już do doświadczonych programistów, a początkujący gdzie indziej powinni szukać ofert staży, czy coś tam?

Ja zacząłem od stażu w Comarchu, który przyjmuje co rok praktycznie masowo studentów. Comarch raczej mało płaci, ale daje styczność z dużymi projektami, czym można się pochwalić na rozmowie u kolejnego pracodawcy :P

0

Ja unikam oceniania swoich umiejętności (kiedyś przeczytana rada na blogu doświadczonego programisty). Zawsze jednak zastanawiam się gdzie leży granica minimum, by czymś sens było się chwalić. A jeśli to sensu nie ma i lepiej jednak pisać jaki poziom wiedzy się posiada w danym zakresie, to tym bardziej, jakie kryteria oceniania w ogóle przyjmować???

Comarch – wczoraj plułem sobie w brodę jak znalazłem ogłoszenie o praktykach na okres wakacji… A potem doczytałem, że i tak nie w mojej mieścinie, więc nic nie straciłem. W każdym razie jestem w stanie pracować za minimalną krajową, jeśli tylko wiązałby się z tym rozwój pod okiem doświadczonych kolesi.

0

Moim zdaniem możesz w ogólności lekko zawyżać swoje umiejętności (i tłumaczyć się, że ci pytanie nie siadło) pod warunkiem, że masz jakieś mocne strony, o które zapyta cię pracodawca (czy tam jakiś inny dupas od przesłuchiwania) i zrobisz dzięki temu na nim dobre wrażenie. Warto pisać, że coś znasz chociażby teoretycznie, pod warunkiem, że nie będziesz pisał, że to dobrze znasz (tzn kłamał/ zmyślał).

Ja unikam oceniania swoich umiejętności (kiedyś przeczytana rada na blogu doświadczonego programisty).

Masz linka do tego postu?

PS:
Do tej pory studiowałeś zaocznie czy dopiero zaczniesz?

0

http://blog.gutek.pl/post/2009/02/21/Piszemy-CV-%28Curriculum-Vitae%29.aspx

Rok na ATH w Bielsku-Białej. Nie pasowało mi, więc zacząłem od nowa na Uniwersytecie Wrocławskim. Tam zasadniczo było super, tyle że psychicznie nie wytrzymywałem ciśnienia na jednym przedmiocie i musiałem zrezygnować. Teraz dwa lata również dziennie na nie-ważne-gdzie, ale z powodu braku chętnych (prócz mnie) do specjalizacji programistycznej, musiałem przejść na zaoczne, bo tam są chętni (a jak nie, to mam umowę z uczelnią, która mi ma zagwarantować kontynuację kształcenia się w razie czegokolwiek).

0

@Druedain przepraszam, ale dla mnie cały ten temat jest bez sensu. Szukasz pracy i zorientowałeś się że nie masz odpowiednich umiejętności. Normalnym wnioskiem byłoby:

  • douczenie się żeby te umiejętności zdobyć (musi się dać, skoro miliony koderów jakoś sobie radzą)
  • szukanie pracy o innym profilu (na przykład na testera mógłbyś się kwalifikować)
  • zajęcie się ekstremalnym wypasem owiec :P
    Faktem jest że zaczynając 3 rok studiów nie będziesz jeszcze umiał wszystkiego, ale skoro znasz słabo 2 języki programowania (zapewniam cię że C++ znasz słabo) i do tego żadnych frameworków to znaczy że zwyczajnie nic samodzielnie nie robiłeś i sam jesteś sobie winien.
    Do czytania: http://www.coreservlets.com/ ;]
0

Jesteś tego pewny? Gdybym ten temat nie powstał, nie wiedziałbym np. w jaki sposób interpretować oferty pracy.

Specyfiką studiów jest to, że mam szansę nauczyć się wszystkiego po trochu i niczego w szerszym zakresie. Za półtora roku będę mieć pewnie więcej rzeczy do wpisania w CV, ale żadna z nich nie będzie zwiększała moich szans na rynku pracy, bo to będą umiejętności niezależne.

Niech będzie nawet, że znam w stopniu beznadziejnym. Tylko co to właściwie znaczy? Że nie znam STLa i Boosta? Że nie zrobiłem niczego powyżej 10k linijek kodu?

Dzięki za stronkę!

0

Chcę zaznaczyć, że ja nie oczekuję prowadzenia za rękę i prostych schematów chodzenia na skróty. Mogę siedzieć w domu i uczyć się na własną rękę (właściwie to właśnie robię). Będę wybierać to co mi się najbardziej podoba, napiszę może jakiś większy program. Skończy się tym, że za rok będę dokładnie w tym samym miejscu: nowa wiedza, której żaden pracodawca i tak nie oczekuje, a dalej brak wiedzy potrzebnej by zacząć pierwszą pracę. Właśnie dlatego zadaję tutaj te pytania… Jestem mądrzejszy o Hibernate i Spring dla Javy, ale co z C++?

0

Jeśli chodzi o C++ to pewnie Qt, ale co to za problem przejrzeć oferty pracy?

0

Nie pomyślałem o tym by zrobić rozeznanie sprawdzając ogłoszenia spoza mojego miasta. Dzięki!

0

Jeśli chodzi o C++ to zwykle:

  • dobra znajomość mechanizmów języka (wkaźniki, szablony etc)
  • dobra znajomość STL żeby nie wymyślać koła na nowo
  • zwykle także znajomość Boost
  • często znajomość Qt

Z tą Javą to oprócz Hibernate zainteresowałbym się JPA ;)

0

Druedain, wydaje mi się, że jak chcesz się rozwijać, to warto raczej wybrać się do dużego miasta, nawet na jakieś darmowe praktyki. Są firmy, w których można się bardzo dużo nauczyć z programowania, czego sam albo z uczelni nie masz szans wynieść. Studenci chodzą przecież na praktyki, łączą to z zajęciami i wielu z nich zostaje potem na stałe albo przynajmniej może się rozeznać, czego jeszcze musi się nauczyć. Tylko trzeba firmę dobrze wybrać, że trafić w sensowne miejsce.

0
  1. Jeśli szybko chcesz wystartować z pracą to zainteresuj się webdev: PHP, JavaScript, CSS, HTML, MySQL/PostgreSQL.
    Możesz to zrobić próbując robić poprawki do znanych systemów OSS (np. Drupal) lub biorąc na siebie implementację projektów dla organizacji non-profit (strona dla schroniska czy sierocińca).

Po mniej więcej 1/2 .. 1 roku będziesz mógł się starać o pracę.

  1. Jeśli masz trochę więcej czasu to możesz zainteresować się językami Java lub C#.
    Nie wiem ile czasu zajmuje nauczenie się tych technologii żeby zdobyć pracę - ale chętnie się dowiem.
  • zaleta: dużo ofert pracy
  1. Jeśli masz naprawdę dużo czasu i nie chce Ci się pracować, możesz nauczyć się C++
  • duuużo nauki: C++, STL, Boost, OOP, GoF, TMP, C++11, VS/GCC+Code::Blocks, Qt/Wx/GTK+
  • mało ofert pracy
1

Złapanie roboty np w Androidzie nie powinno być trudne - nie trzeba tam znać "miliona frameworków", czasem wystarczy machnąć jakąś swoją nietrywialną aplikację.

W Bielsku coś mało ofert jest chyba. Polecam przenieść się do większego miasta, wynająć mały pokój za małe pieniądze i w ten sposób zaczynać.

2
vpiotr napisał(a):
  1. Jeśli masz naprawdę dużo czasu i nie chce Ci się pracować, możesz nauczyć się C++
  • duuużo nauki: C++, STL, Boost, OOP, GoF, TMP, C++11, VS/GCC+Code::Blocks, Qt/Wx/GTK+

Nie demonizowałbym tak C++, to nie jest tak, że jak nie znasz idealnie template'ów, boostów i innego C++11, to nie możesz pracować jako programista w tym języku. Jak ja szukam ludzi na staż to dużo ważniejsze dla mnie są umiejętność programowania, wiecie taka niezależna od języka (algorytmy, struktury danych, logiczne myślenie, zagadnienia z danej dziedziny w której robimy itp.). O to o wiele trudniej, natomiast znajomość języka można nadrobić zadając lekturę "obowiązkową" do domu.

0
Mr Obvious napisał(a):

Jak ja szukam ludzi na staż to dużo ważniejsze dla mnie są umiejętność programowania, wiecie taka niezależna od języka (algorytmy, struktury danych, logiczne myślenie, zagadnienia z danej dziedziny w której robimy itp.). O to o wiele trudniej, natomiast znajomość języka można nadrobić zadając lekturę "obowiązkową" do domu.

Może jesteś rodzynkiem, ja nie widziałem ogłoszeń z C++ które by akceptowały kogoś kto ma mniej niż 2-3 lata doświadczenia zawodowego w tym języku.

Aktualnie nie widzę możliwości, żeby ktoś programując w C++ nie znał STL czy szablonów, chyba że ten ktoś ma wspierać stare systemy lub programuje telewizory / pralki (Embedded C++).

0

<quote="884802">

Mr Obvious napisał(a):

Aktualnie nie widzę możliwości, żeby ktoś programując w C++ nie znał STL czy szablonów, chyba że ten ktoś ma wspierać stare systemy lub programuje telewizory / pralki (Embedded C++).

Pomiędzy znaniem, a znaniem bardzo dobrze jest przepaść. Moja branża to gamedev na platformy mobilne.

0
Mr Obvious napisał(a):

Moja branża to gamedev na platformy mobilne.

Czy mobilny gamedev wykorzystuje pełny język C++? (STL, szablony, Boost, wyjątki)?

0
vpiotr napisał(a):

Czy mobilny gamedev wykorzystuje pełny język C++? (STL, szablony, Boost, wyjątki)?

Nie mogę oczywiście mówić za wszystkich, ale ogólnie STL, boosty i wyjątki są rzadko spotykane w gamedevie, nie tylko mobilnym ;)

0

Może jesteś rodzynkiem, ja nie widziałem ogłoszeń z C++ które by akceptowały kogoś kto ma mniej niż 2-3 lata doświadczenia zawodowego w tym języku.

To by oznaczało, że nie ma możliwości dostania pracy bez doświadczenia...
A ja akurat dostałam pracę na stanowisku "programista c++", kiedy wiedzę z niego miałam zerową (tylko wtedy jeszcze tego nie wiedziałam, tak niska była moja wiedza) i doświadczenie też zerowe. Już po zatrudnieniu zmieniono zdanie i przypisano mnie do innego zespołu, ale powodem nie były moje umiejętności czy doświadczenie.

0

W dużych projektach rzeczy typu inteligentne wskaźniki, interfejsy noncopyable itp. implementuje się od nowa. Dunnoh why, ale taką tendencję widzę.

Natomiast, o ile dobrze pamiętam, firma, która wykorzystuje Boosta w swoich grach - Paradox Interactive.

0
Shalom napisał(a):

@Druedain przepraszam, ale dla mnie cały ten temat jest bez sensu. Szukasz pracy i zorientowałeś się że nie masz odpowiednich umiejętności. Normalnym wnioskiem byłoby:

  • douczenie się żeby te umiejętności zdobyć (musi się dać, skoro miliony koderów jakoś sobie radzą)
  • szukanie pracy o innym profilu (na przykład na testera mógłbyś się kwalifikować)
  • zajęcie się ekstremalnym wypasem owiec :P
    Faktem jest że zaczynając 3 rok studiów nie będziesz jeszcze umiał wszystkiego, ale skoro znasz słabo 2 języki programowania (zapewniam cię że C++ znasz słabo) i do tego żadnych frameworków to znaczy że zwyczajnie nic samodzielnie nie robiłeś i sam jesteś sobie winien.
    Do czytania: http://www.coreservlets.com/ ;]

fajna stronka, orientujesz sie czy jest cos podobnego dla technologii .NETowych?

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