Dzień dobry!
Przede wszystkim chcę przeprosić, bo wiem, że takie tematy przewijały się na forum setki razy. Mimo wszystko, chciałbym założyć ten temat, by uzyskać od Państwa trochę informacji, świeżego spojrzenia a być może pomocy w podjęciu decyzji. Nie wiedziałem również, czy temat założyć w dziale Edukacja czy Kariera, za co moderatora bardzo w tym momencie przepraszam.
Na początku chciałbym się przedstawić. Jestem uczniem ostatniej klasy LO, uczę się tak, że powinienem dostać się na PG na informatykę. Od gimnazjum postanowiłem, że chcę zostać programistą (nie chodziło mi wtedy o zarobki, a o wiedzę jak sprawić by komputer robił to "co chcę"). Jako, że w moim mieście nauczanie informatyki, a tym bardziej programowania w zasadzie nie istnieje, swoją edukację musiałem prowadzić samodzielnie.
Wiem, że studia słabo przygotowują do pracy, że matematyki dużo, że programowania bardzo mało, że nudno, że profesorowie myślą starożytnie, że będę musiał się uczyć rzeczy, których nie będę się chciał uczyć, że to kosztuje pieniądze. Mimo wszystko do tej pory plan mój wyglądał następująco: Koniec LO -> studia 5.5 roku -> jakaś praca i tyle. Ostatnimi czasy zdałem sobie sprawę, że to może nie do końca jest sposób w jaki chciałbym spędzić następne 5 lat.
Do głowy przyszedł mi inny plan. Wyjeżdżam do Gdańska i szukam pracy jako junior developer i "ewentualnie" studia zaoczne. Tu z kolei wątpliwości jest wiele więcej, czy moje umiejętności są dostatecznie wysokie, czy moja osobowość pasuje do tego zawodu (wydaje mi się, że tak), czy pracodawcy nie odeślą mnie z kwitkiem, bo nie mam drogocennego papierka, świadczącego o tym, że jestem inżynierem czy magistrem. Mam świadomość, że głównie liczy się portfolio, w trakcie "tworzenia" jest projekt programu obsługującego hotel. Jeśli uda dokończyć mi się ten projekt to będę mógł powiedzieć, że umiem:
Wybrany język programowania: C++11
- OOP
- Unit Testy (z użyciem biblioteki boost)
- Elementy biblioteki standardowej (kontenery, iteratory, użycie kolejek, list)
- Używanie Gita
- Komunikacja z MySql
- Obecnie staram się korzystać z rad zawartych w "Czystym Kodzie"
- Obsługa wyjątków w stylu pożal się Boże
Jeśli chodzi o wzorce projektowe, to do tej pory użyłem tylko jednego ("Strategia")
Wiem, że tylko wydaje mi się, że to potrafię, a to co zrobiłem do tej pory nijak się ma do tego co czeka mnie w pracy.
O wiele łatwiej będzie mi napisać, czego nie potrafię :):
-Współbieżność, wątki
-Szablony(nie nauczyłem się ich, bo nie potrzebowałem tego)
-Metaprogramowanie
-Umiem tylko podstawy obsługi strumieni.
Oczywiście jestem gotów zmienić technologię, w której bym pracował. Najbardziej interesowałby mnie back-end.
Co przydałoby mi się najbardziej, by z powodzeniem przejść rozmowę techniczną?
Czy może mój nowy plan jest zły? Może powinienem trzymać się pierwotnego?
Dlatego chciałbym zapytać się Was, drodzy użytkownicy, czarodzieje kodu z debuggerami w oczach, może wywróżycie mi przez Internet co powinienem zrobić? Liczę na Wasze doświadczenie, zdrowy rozsądek a przede wszystkim spojrzenie kogoś dojrzałego, kto zna branżę.