jak poprawić swoje kompetencje?

0

No więc tak. Jestem studentem na II semestrze i za rok chciałbym się załapać na jakieś praktyki. Aktualnie znam na średnio-zaawansowanym(tzn. tyle, ile było na zajęciach) poziomie Javę i C++ no i potrafię coś pisać w C. Nie ukrywam, że spodobała mi się Java(ma to sens?), a swoją przyszłość chciałbym związać z programowaniem. Czego powinienem się nauczyć przez ten rok, żeby być w miarę konkurencyjnym na rynku? Nie odrzucam opcji nauczenia się nowego języka(wręcz przeciwnie, chciałbym np. poznać C#), ale najpierw wolałbym doszlifować swoje umiejętności w tych językach, które znam. Polecicie w jakim zakresie warto się doskonalić, jakieś książki?

1

Jeśli chcesz poprawić swoje kompetencję to skup się na wzorcach projektowych oraz popularnych frameworkach, które przyśpieszają pacę. Przejrzyj kilka ofert pracy i zobaczysz co jest obecnie popularne na rynku.

0

Java ma sens, skoro Ci się podoba. Mało sensu, zwłaszcza na początku ma nauka rzeczy które Ci się nie podobają (mimo, że wzbogacają wiedzę).
C# ogarnąć też sobie możesz podstawy, może Ci się spodoba bardziej ;-)

Co do tego, czego warto się nauczyć - tak jak wyżej, przejrzyj ogłoszenia. W .NET najbardziej popularnym w ogłoszeniach frameworkiem zdaje się być MVC, a w Javie (nie znam się i nie orientuje) odpowiednikiem tego jest bodajże Spring MVC, ale nie wiem czy na takim samym poziomie, albo większym, nie ma czegoś bardziej pożądanego od Javowców. Na pewno warto wymienić jeszcze Android SDK. Ale zweryfikuj to przeglądając ogłoszenia :-)

0

Dodam tylko, że poziom "średnio-zaawansowany" nic nie mówi pracodawcy o Twojej znajomości Javy. Dopisek "tyle ile na zajęciach" oznacza, że liznąłeś jakieś podstawy. Tylko tyle. Tak naprawdę w CV podajesz język, który umiesz jako ten, w którym od pierwszego dnia jesteś gotowy pracować. Jeśli chodzi o Javę to przydałoby się ogarniać standardowy zestaw do pracy: JDK 8, jUnit, Hibernate, Spring, Maven/Gradle, Git. Do tego warto znać kilka wzorców projektowych i trzymać się SOLID i DRY.

0

Bez udzielania się na StackOverflow oraz regularnych kontrybucji na GitHubie ciężko będzie konkurować z A-playerami.

3
gepir napisał(a):

Jestem studentem na II semestrze. (...) Aktualnie znam na średnio-zaawansowanym(tzn. tyle, ile było na zajęciach) poziomie Javę i C++

Po roku studiów to znasz co najwyżej podstawy dwóch języków. To nie jest poziom zaawansowany, to nie jest nawet poziom średni. Nie masz praktycznego doświadczenia z językiem, nie znasz frameworków, nie umiesz pisać testów, nie umiesz zaprojektować architektury, nie używałeś DI, zapewne nie wiesz co to SQL ani ORM nie mówiąc już o świadomym używaniu ich, nie pracowałeś w Agile, nie kumasz systemów kontroli wersji, zarządzania zadaniami ani CI.
Nie "czujesz" tematu. Sama umiejętność zrobienia forka, utworzenia wątku czy praktyczna znajomość IPC to czubek góry lodowej.

Nie chcę Cię zgnębić, chcę Ci uzmysłowić, że zaledwie liznąłeś temat. Skorzystanie z praktyk, stażu lub praca na jakąś część etatu w roli juniora, ewentualnie udział w jakimś projekcie open source to dobry pomysł na to, żeby przekuć tę odrobinę teorii na tony praktyki. A jeśli będziesz mieć szczęście i trafisz na dobrego mentora, który będzie mógł poświęcić trochę czasu na wytłumaczenie Ci "dlaczego tak, a nie inaczej", to całuj go po stopach.

0
ŁF napisał(a):

[...] to całuj go po stopach.

To akurat może odstraszyć mentora.
Z całą resztą jak najbardziej się zgadzam.

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