Pierwsza praca a umiejętności

0

Witam, proszę was o obiektywną opinię, bez robienia sobie żartów (ironia, itp., itd.) czy z takimi umiejętnościami mam szanse na podjęcie stażu/pracy (mniejsza o zarobki, chciałbym zdobyć doświadczenie, ale nie za darmo) jako programista Javy? Wygłupię się jak gdzieś pójdę zapytać czy mnie przyjmą?

Skończyłem studia (informatyka). Obecnie pracuję w innej dziedzinie IT (na zarobki nie narzekam) - mało istotne, ale piszę to tak na wszelki wypadek żeby uniknąć wyzwisk od nieudaczników, leniów, itp. Po prostu postanowiłem, że chcę robić coś innego w życiu. Nie chciałem być programistą. Teraz zmieniłem zdanie. A programowania uczyłem się tylko tyle co było mi potrzebne na zaliczenie i napisanie aplikacji na pracę dyplomową.

Moje umiejętności (na obecną chwilę):

  1. Pomiędzy podstawowa, a prawie dobra (nie potrafię obiektywnie ocenić) znajomość JavaSE. Zapewne znajdzie się coś czego jeszcze nie wiem.
  2. Obecnie coś koduje w celu jeszcze lepszego ogarnięcia OOP.
  3. Nie znam wzorców projektowych (potrafię tylko wymienić, ale przymierzam się do nauki).
  4. Jestem w trakcie czytania książki" Czysty kod".
  5. Myślę, że opanowałbym jeszcze jakieś podstawy GITa.
  6. Hiper super słaba znajomość SQL (jakieś tam proste rzeczy).
  7. Coś tam z HTML/CSS - ale to nie ma sensu wspominać chyba

W przyszłości chciałbym się zajmować backendem. Zakupiłem już nawet kilka książek na temat Springa, Hibernate i JEE.

Pomysł jest świeży i zastanawiam się czy mam jakieś szanse się gdzieś dostać już teraz z tak małą wiedzą?

4

Hmm,

  1. Java SE, po raz kolejny polecę oficjalny tutorial Oracla: https://docs.oracle.com/javase/tutorial/
    Jest tutaj zawarty absolutny core Javy czyli: OOP, Obsługa plików, Kolekcje, Wielowątkowość, Wyjątki, JDBC, Sockety

  2. Testy: tutoriale do Junita, potem ewentualnie Mockito albo Spock.

  3. Czytelność/dobre praktyki: 'Clean Code' + jakaś książka o wzorcach projektowych.

  4. Wybór dalszego rozwoju: Android czy Web? W Webie polecam zająć się przede wszystkim CDI, JPA, Hibernate, Transakcjami, MVC, REST, jak działa protokół http.

  5. Obsługa IDE i narzędzi programistycznych: Od samego początku wybierz jakieś IDE i staraj się używać skrótów klawiaturowych, w Idei jest nawet plugin, który wyświetla skróty których przy danej akcji mogłeś użyć (nazywa się "Key Promoter"). Dodatkowo Git, Github.

Życzę powodzenia i pozdrawiam.

1

Mysle, ze nie bedziesz mial zadnego problemu. Na staz to naprawde niewiele trzeba oprocz logicznego myslenia, co chyba potrafisz skoro skonczyles informatyke. Poucz sie zgodnie z tym co masz w tej ksiazce http://ocpjp.net

2

Przykładowe pytania z podstaw OOP, którego znajomość jest niezbędnym minimum:

Po co i jak tworzyć intefejsy?
Wymienić kolekcje i pokazać przykłady zastosowań
Do czego można wykorzystać klasy abstrakcyjne?

Przejrzyj też te:
http://www.javatpoint.com/corejava-interview-questions

3

@Davros na oko masz level średniego studenta 2 roku, który wcześniej nie interesował sie informatyką. Myśle że z samych skilli możesz liczyć na jakiś staż, ale na wiele bym nie liczył.
Niemniej przeleciałbym jakiś tutorial do Spring + Hibernate/JPA i przy okazji wersjonowałbym realizacje tego na githubie. Po to po prostu żeby mieć jakieś blade pojęcie o co w tym wszystkim chodzi.
Z wzorcami to jest tak, że póki nie użyjesz kilka razy w prawdziwym kodzie to nie będziesz umiał ;)

1

Ogarnij Jave póki co i gita, doczytaj do końca "Czysty kod" skoro już zacząłeś i o tych wzorcach projektowych. SQL, HTML i CSS chwilowo odpuść, bo wszystkiego naraz się nie nauczysz, a lepiej żebyś był średni z Javy niż słaby ze wszystkiego.

2

Jest OK na staż. Go for it.

4

Ja na maxa chciałem umieć pisać dobry kod, uczyłem się różnych fajnych rzeczy jak kontenery wstrzykiwania zależności, testy jednostkowe, repozytoria generyczne itp odkładając samo programowanie na drugi plan, tzn więcej czasu spędzałem na czytaniu książek, oglądaniu tutoriali - potem pisania jakiś hello worldów z tego co przerabiałem niż na samym programowaniu. Teraz widzę że trochę złą taktykę przyjąłem bo idąc do pierwszej pracy moim zdaniem o wiele bardziej opłaca się nie wiedzieć tych wszystkich rzeczy a umieć dobrze radzić sobie w kodzie, tzn skupić się na OOP, pisaniu crudów, dobrym operowaniu linq na danych z bazy itp. W pracy okazało się że to co umiałem - czyli np. jakies frameworki nie są wgl używane, korzysta się z innych techonlogii których nie znałem i których teraz się uczę ;)
Ale też z drugiej strony to że wiem różne rzeczy znacznie łatwiej mi jest sobie wyobrazić różne sytuacje, np. to że pisałem web serwisy, korzystałem z web API, a w pracy mam WCF o wiele łatwiej jest mi sobie to wszystko połączyć w całość i zrozumieć ;)

0

Aby nie zakładać nowego wątku podepnę się do tematu kolegi. ;)

Mam 23 lata, jestem na 3 roku studiów (dziennie, Informatyka). Jak wiadomo szukam praktyk, które mogły by się przemienić w pracę.
Trudno jest mi mówić o moich umiejętnościach gdyż nie mam porównania. Na studiach jestem raczej dobry, lecz jak wiadomo studia nie są wszystkim posiadam również kilka projektów poza szkołą. Dokładnie o moich zdolnościach świadczą projekty które umieszczam na swojej stronie www.pawelklos.pl zachęcam do "przeklikania" w celu wyrażenia lepszej opinii. W projektach znajduje się prosta gra na Androida, aplikacja sieciowa java EE oraz mała aplikacja w swing-u.

Tak w skrócie:
Java - JAVA EE, JSP, JSF, CSS, Glassfish, Hibernate, Prime Faces
Umiem tworzyć strony w oparciu o wyżej wymienione technologię. Odwoływanie się do bazy, wyciąganie z nich informacji. W sumie dowolność w pisaniu kodu.

JAVA (biblioteka swing) oraz XML
W tym jestem raczej dobry. Posiadam pełną kontrolę nad tym co i jak piszę.

Android
Tutaj jestem początkujący, co prawda nie mam dużych problemów z typowym programowaniem ale z ułożeniem layout-u to już tak.

Jak widać po moich umiejętnościach głównie celuję w Jave i tego nie ukrywam. Posiadam również uczelniane umiejętności pisania w C#. Mogę się pochwalić również średnią znajomością baz danych. Niestety nie miałem jak tego zaprezentować gdyż do tej pory nie miałem dostępnego serwer (Już zakupiony).

Teraz przejdźmy do mniej fajnych rzeczy, czyli:

Angielski: średni, pozwala spokojnie czytać dokumentację i troszeczkę(niewiele) ponad.
Git: bardzo słaba jego znajomość, co prawda umiem coś commitować czy fork-ować ale bez rewelacji.

Najbardziej zainteresowany jestem praktykami w Androidzie, tam dobrze mi się pracowało. A więc czy moje umiejętności wystarczają na pierwszą pracę w kierunku programisty ?
Niedługo zamierzam iść do (i tu bez śmiechu) Comarch-u. ;)

1

Wydaje mi się ze Twoje umiejętności są ok na staż, może nawet na pracę. Ale proszę, oszczędź sobie Comarch, poszukaj gdzieś indziej. To traktuj jako ostateczność.
Co do angielskiego nie martw się. Są firmy ze wymagany jest dobry poziom bo jest kontakt z ludźmi zza granicy, a takie że niski wystarczy.

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