Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Życiowe zmiany - praca - nauka - JAVA

hm147 09 Sty 2018 17:08 1413 31
  • #1 09 Sty 2018 17:08
    hm147
    Poziom 3  

    Cześć,
    Powoli uczę się Javy. Co się przydaje z Javą? Co jest jeszcze wymagane dla stanowiska młodszy programista?
    Czego warto się uczyć? Jaką drogę sobie wybrać? Co jest na czasie? Prosiłbym o rady.

    Niestety nie wiem, co chciałbym programować, po prostu to co mi się spodoba to to robię - dlatego co mi radzicie?

    Dodam, że mam wykształcenie średnie informatyczne, więc mam jakąś wiedzę ogólną z informatyki. Zdaję sobie sprawę, że jak brać na poważnie programowanie to z 2 lub 3 lata trzeba poświęcić... - ale spokojnie damy radę. :)

    0 29
  • Pomocny post
    #2 09 Sty 2018 17:21
    JacekCz
    Poziom 36  

    Java ma różne odcienie (zastosowania). Myślę że jako juniora to pracodawca cię w szczegółach podszkoli.
    Jak będziesz czytał ofert pracy - i zobaczysz J2EE, co jest dość częste, to się czyta jako rzeźbienie w starych wersjach.

    Ucz się Javy nie starszej niż 8, i JEE nie starszej niż 7.

    Poszukaj na YT materiałów z JUG Warszawa, Toruń

    0
  • #3 10 Sty 2018 17:37
    hm147
    Poziom 3  

    Dzięki. a np. swing ,git lub podobne? Oprócz Javy z tego co widzę to warto również inne rzeczy znać? Na początek czego jeszcze sie uczyc?

    0
  • #4 10 Sty 2018 17:55
    JacekCz
    Poziom 36  

    hm147 napisał:
    Dzięki. a np. swing ,git lub podobne? Oprócz Javy z tego co widzę to warto również inne rzeczy znać? Na początek czego jeszcze sie uczyc?


    Swing jest biblioteką GUI (chyba) żyjąca intensywnie w app korporacyjnych i rządowych, po trosze zamienianą na JavaFX. Trzeba zrozumieć dobry sposób jej użycia (z Model'ami itd)
    Git nie jest tematem Javowskim.

    Warto się uczyć dobrego designu obiektowego, warstw odpowiedzialności (tj uciekać gdzie pieprz rośnie od "brzydkich" przykładów czy to JSP, czy kiepskiego kodu Swingowego).
    Zaprzyjaźnić się ze skrótami: JPA2, CDI, zapoznanie z kontenerami JEE (serwerami apliakcji TomEE, Glasshfish, JBosss), webservisy czyli JAX-RS i JAX-WS.
    Ja osobiście dużo żyję z Apache Wicket (fw webowy o bdb architekturze, choć nie jest dużo stanowisk pracy na niego). Warto wiedzieć o co chodzi w JSF2 (choć niektórzy uważają za technologie schyłkową) z Primefaces i kilkoma wiodącymi fw.

    Programowanie z użyciem adnotacji (wcześniej zalecałem Javę nie mniej niż 8 i JEE nie mniej niż 7, właśnie dlatego).
    Aha, realny programista raczej się nie spotyka z całością JEE, to jest kilkanaście technologii, nie da się i nie ma potrzeby znać od razu wszystkich

    0
  • #5 10 Sty 2018 20:44
    hm147
    Poziom 3  

    Czyli podsumowując? Czego się uczyć patrząc pod względem przyszłej pracy?

    0
  • #6 10 Sty 2018 20:52
    JacekCz
    Poziom 36  

    1. Najbardziej to nauczyć się uczyć. Nie da się spocząć na wiedzy "na chwilę T-zero".
    2. Nie da się ściśle zaplanować "umieć to i tylko to, co pracodawca chce".
    3. Ciekawi Cię to, czy tylko
    4) chcesz dla papierka?

    1+3 to na pewno dasz radę, nawet jak nie trafisz idealnie w 2
    4 to niech inni doradzą.

    0
  • Pomocny post
    #7 10 Sty 2018 21:38
    kornik280
    Poziom 18  

    hm147 napisał:
    Czyli podsumowując? Czego się uczyć patrząc pod względem przyszłej pracy?


    Na pewno oprócz samego języka programowania to:
    -SQL
    -GIT lub SVN
    -Continuous Integration

    0
  • #8 12 Sty 2018 21:06
    hm147
    Poziom 3  

    dzięki.
    a Swing jest dalej popularny ? Ucz się go? Czy czego jeżeli chodzi o grafike, okienka z javą? Czy java + wyswietlenie na strong internetowych?

    0
  • #9 17 Sty 2018 22:59
    hm147
    Poziom 3  

    Doradzi ktoś?

    0
  • #10 17 Sty 2018 23:18
    JacekCz
    Poziom 36  

    Swing jest bardziej popularny niż SWT (oba uprawiam/uprawiałem).
    W pewnym spojrzeniu nie da się żyć bez GUI. Od paru lat próbuje nam się powiedzieć, że tylko web. Pewnych pomysłów "apliakcji wykonywanej na moim komputerze" nie da się zastąpić http.
    Wszellkie okienko co napiszesz, kalkulator, to będzie właśnie we Swingu. Trzeba go znać, choćby żeby wiedzieć, czego się jeszcze nie zna.
    Więc z tych dwóch lepiej się uczyć Swinga. Ma zdrowe ujęcie obiektowe (MVC), czy po pewnym otrzaskaniu się "Obiekt głowny" - "listener" to rodzi się intuicja, która jest bdb gruntem pod JSF, Wicket, Injection *)

    *) mam na myśli, że w szkolnym przedstawieniu obiekt to "jest coś", a metoda "coś robi". Otóż nie, dopiero jak prze-migrujemy głowę na "obiekty czynnościowe", wtedy zaczynamy naprawdę OOP

    Ile masz do tej pracy? pół roku? rok? trzy lata? Ucz się tego, gdzie odkryjesz w sobie iskrę. Udział (albo bardzo świadome używanie, współudział testerski) na jakimś opensursie.
    Jako hipotetyczny pracodawca na projekt budowany w Wicket bym wolał pasjonatów Swinga (ja ich douczę bez utraty czasu projektu), niż z kursu dla bezrobotnych z plikiem świadectw kursów unijnych

    W hipotecznym wielkim webowym projekcie i tak zespoły sa podzielone, ten front, ten backed, ten dbarchitect. Tak już podobno programistów "multistack" już nie ma. Aplikując w coś takiego, celujesz w jedną z umiejętności, a nie we wszystkie.

    0
  • #11 17 Sty 2018 23:19
    gaskoin
    Poziom 38  

    hm147 napisał:
    dzięki.
    a Swing jest dalej popularny ? Ucz się go? Czy czego jeżeli chodzi o grafike, okienka z javą? Czy java + wyswietlenie na strong internetowych?


    To zależy. Swing jest w zasadzie martwy na rzecz JavaFX i aplikacji webowych, w których używa się innych technologii. Z drugiej strony możesz trafić do projektu z aplikacją napisaną w Swingu. Ja bym Ci proponował, jeśli musisz, to zrobić sobie parę okienek żeby zobaczyć jak się to je i nie inwestował w Swinga zbyt wiele czasu.

    Chyba @JacekCz w punkcie 1. wszystko idealnie ujął. Nauczyć się uczyć. Możemy Ci wymienić co trzeba umieć, ale nie ogarniesz tego wszystkiego w rozsądnym czasie. Bardziej się ceni łebskich ludzi niż orłów z Javy. Pamiętaj, że programista to nie jest zawód klepacza kodu. Czasami trzeba postawić jakiś np. search index, skonfigurować go, albo naprawić.

    JacekCz napisał:
    Jako hipotetyczny pracodawca na projekt budowany w Wicket bym wolał pasjonatów Swinga (ja ich douczę bez utraty czasu projektu), niż z kursu dla bezrobotnych z plikiem świadectw kursów unijnych


    Ostatnio popularne są szkółki dla programistów. Po studiach ze smażenia naleśników idziesz do takiej szkółki i po roku jesteś programistą, Pomagają nawet znaleźć pracę. Niestety jest popyt więc spodziewaj się w ciągu najbliższych lat spadku jakość albo zarobków. Podejrzewam, że to pierwsze, ale obyśmy do tego czasu już nie byli zdolni do pracy :)

    JacekCz napisał:
    W hipotecznym wielkim webowym projekcie i tak zespoły sa podzielone, ten front, ten backed, ten dbarchitect. Tak już podobno programistów "multistack" już nie ma. Aplikując w coś takiego, celujesz w jedną z umiejętności, a nie we wszystkie.


    Są są :) Zarówno w małych, średnich jak i korpo firmach. Co z tego, że masz dba jak gość jest z kraju curry i nie wie co to jest foreign key? Kończy się to tak, że gość wykonuje swoją pracę Twoimi rękami.

    0
  • #12 27 Sty 2018 16:11
    hm147
    Poziom 3  

    Czyli w sumie ciężko stwierdzić za co się brać dla początkujących ;p

    0
  • #13 27 Sty 2018 16:17
    JacekCz
    Poziom 36  

    hm147 napisał:
    Czyli w sumie ciężko stwierdzić za co się brać dla początkujących ;p


    Bez "wrodzonej ciekawości" najlepiej nie brać się za nic.
    (posiadając w/w cokolwiek się nauczysz, odniesiesz korzyść. Ale to Ciebie nie dotyczy)

    Wątek się wyczerpał, wnioskuje o zamkniecie

    0
  • Pomocny post
    #14 27 Sty 2018 18:00
    linuxtorpeda
    Poziom 20  

    @JacekCz , nie ty zakładałeś, nie ty zamykasz.

    @hm147, jeśli sam z siebie nie interesujesz się Javą i technologiami pochodnymi, to imo najlepszymi krokami będą:
    1) nauka tego, co najczęściej pojawia się na ofertach pracy (chyba najbardziej oczywista odpowiedź),
    2) ukończenie jakiegoś tematycznego prestiżowego kursu, zdobycie certyfikatu,
    3) pójście na studia kierunkowe.

    0
  • #15 28 Sty 2018 06:36
    JacekCz
    Poziom 36  

    gaskoin napisał:
    .... dba jak gość jest z kraju curry i nie wie co to jest foreign key?


    linuxtorpeda napisał:
    ....jeśli sam z siebie nie interesujesz się Javą i technologiami pochodnymi, to imo najlepszymi krokami będą:
    ... studia ...
    ...zdobycie certyfikatu ...


    Widzę kraj schabowego bardzo dąży do kraju curry.

    Billboardy przed sklepem pokazują sukces człowieka, który dowozi im szczypiorek i marchewkę. Przecież żadna ustawa nie zmusza do uczenia się programowania (w dowolnym języku)

    Kol @hm147 od trzech lat zadaje pytania "czego sie uczyć?", deklaruje, że coś czyta, ale po dwóch latach tego "czytania" nie umie słowami opisać algorytmu. Po 2-3 latach można być ekspertem w dowolnej dziedzinie programowania, a w zasadzie kilku.

    Kol @linuxtorpeda studiowanie jest to: gruntownie poznawać, badać coś; zapoznawać się z czymś, przyglądając się czemuś uważnie lub czytając coś
    https://sjp.pwn.pl/sjp/;2576386

    0
  • #16 28 Sty 2018 11:53
    linuxtorpeda
    Poziom 20  

    JacekCz napisał:
    Kol @linuxtorpeda studiowanie jest to: gruntownie poznawać, badać coś; zapoznawać się z czymś, przyglądając się czemuś uważnie lub czytając coś
    https://sjp.pwn.pl/sjp/;2576386

    Nie wiem w sumie, do czego wyżej napisany komentarz się odnosi. Wyrażenie "pójście na studia kierunkowe" dość jednoznacznie definiuje, co miałem na myśli. Wyczuwam niechęć do studiów; też za nimi nie przepadam, ale imo to nadal najsensowniejszy wybór w życiu. Po pierwsze spełnia się w ten sposób wymóg formalny wielu pracodawców, przez co łatwiej zdobyć pracę na rynku, nie posiadając do końca wyrobionych umiejętności. Po drugie, mimo że studia w PL są dalekie od ideału, to jednak pewne hasła-klucze się w międzyczasie pojawiają i można jednak w ich czasie liznąć paru technologii. Jak wiadomo, im szybciej się znajdzie pracę w zawodzie, tym lepiej, po zatrudnieniu czas gra już tylko na naszą korzyść, w pracy spędzamy 8h dziennie i to tam mamy okazję nauczyć się najwięcej.

    JacekCz napisał:
    Widzę kraj schabowego bardzo dąży do kraju curry.

    Owszem, ale to już bardziej wygląda na problem systemowy (sposób finansowania uczelni wyższych; nastawienie prywatnych R&D w Polsce na development zamiast na research, itp.), aniżeli problem z samymi koderami.

    0
  • #17 28 Sty 2018 13:12
    JacekCz
    Poziom 36  

    linuxtorpeda napisał:
    JacekCz napisał:
    Kol @linuxtorpeda studiowanie jest to: gruntownie poznawać, badać coś; zapoznawać się z czymś, przyglądając się czemuś uważnie lub czytając coś
    https://sjp.pwn.pl/sjp/;2576386

    Nie wiem w sumie, do czego wyżej napisany komentarz się odnosi. Wyrażenie "pójście na studia kierunkowe" dość jednoznacznie definiuje, co miałem na myśli. Wyczuwam niechęć do studiów; też za nimi nie przepadam, ale imo to nadal najsensowniejszy wybór w życiu.


    Niechęć do studiów chyba u pytającego?
    1. Studia sa fantastycznym okresem, jeśli ciekawość materii i pasje się schodzą z proponowanym tokiem (skończyłem 2x).

    2. Studia nie mają sensu, jeśli "skazaniec ma studia" ma to narzucone, nie ma w tym "jego"
    3. Największym problemem studiów wyższych nie ejst problem finansowania, ale zaangażowania. Mając w grupie 90% zer trzeba zajęcia prowadzić na ich poziomie

    Ludzi typu 2 i 3 zatrudniałem. Byli tak ciency, że na rozmowie kwalifikacyjnej nawet nie umieli złapać koła ratunkowego

    Kwalifikacje o jakich mówimy proponują 100 godzinne kursy "prosto z bezrobocia". Teoria mówi nauczenie szeregowego programisty naprawdę nie wymaga studiów 3 ani 5 letnich. Kurs kilkaset godzin (na kimś z pasją) potrafi zrobić użytecznego programistę. Bez pasji tylko świstek w unijnymi gwiazdkami.

    0
  • #18 28 Sty 2018 14:26
    linuxtorpeda
    Poziom 20  

    JacekCz napisał:
    Niechęć do studiów chyba u pytającego?
    1. Studia sa fantastycznym okresem, jeśli ciekawość materii i pasje się schodzą z proponowanym tokiem (skończyłem 2x).

    Tak, mam niechęć. W sumie nie rozumiem, jak można wymagać zainteresowania całym tokiem studiów. Poza tym zakres jest tak szeroki, że żeby robić pewne rzeczy świadomie, a nie co 5 min używać StackOverflow, trzeba się wyspecjalizować w max. kilku przedmiotach.

    JacekCz napisał:
    2. Studia nie mają sensu, jeśli "skazaniec ma studia" ma to narzucone, nie ma w tym "jego"

    Oczywiście, że studia są narzucone. Nie wiem, jak mocno trzeba się oszukiwać, by to zaprzeczać. Studia po części determinują Twój status społeczny i majątkowy. Gdyby chodziło tylko i wyłącznie o zainteresowania, to by wystarczyło kupić książkę.

    JacekCz napisał:
    3. Największym problemem studiów wyższych nie ejst problem finansowania, ale zaangażowania. Mając w grupie 90% zer trzeba zajęcia prowadzić na ich poziomie

    Te "zera" (jak to dość nieładnie określiłeś) ktoś przyjął na studia, bo spełnili wymagania minimalne przy naborze. Natomiast poprzeczka jest postawiona nisko dlatego, że obecny model finansowania uczelni zakłada, że uczelnia dostaje stałą kwotę na każdego studenta, niezależnie od jego wyników w nauce na poprzednich etapach edukacji. W dodatku takie osoby są też w stanie najczęściej skończyć studia. Masz pretensje do absolwentów, że system jest wadliwy.

    JacekCz napisał:
    Ludzi typu 2 i 3 zatrudniałem. Byli tak ciency, że na rozmowie kwalifikacyjnej nawet nie umieli złapać koła ratunkowego

    To zmień kryteria rekrutacji tak, by przychodziło ich jak najmniej. Jeśli uważasz, że spora część absolwentów szkół wyższych nie spełnia twoich wymagań, to po prostu nie wymagaj od kandydatów o pracę ukończenia studiów.

    JacekCz napisał:
    Kwalifikacje o jakich mówimy proponują 100 godzinne kursy "prosto z bezrobocia". Teoria mówi nauczenie szeregowego programisty naprawdę nie wymaga studiów 3 ani 5 letnich. Kurs kilkaset godzin (na kimś z pasją) potrafi zrobić użytecznego programistę. Bez pasji tylko świstek w unijnymi gwiazdkami.

    Pasja to jest sprawa osobista każdego pracownika. Pracownik musi posiadać umiejętności. Gdyby studia nie były "o wszystkim i o niczym" i jednocześnie w sposób rzetelny sprawdzały nabyte umiejętności, to byś miał gwarancję, że absolwent posiada wiedzę deklarowaną na jego suplemencie do dyplomu. Póki coś się nie zmieni, to pracodawcy nadal będą poszukiwać mitycznych "ludzi z pasją".

    0
  • #19 28 Sty 2018 14:57
    JacekCz
    Poziom 36  

    linuxtorpeda napisał:
    ....Póki coś się nie zmieni, to pracodawcy nadal będą poszukiwać mitycznych "ludzi z pasją".


    Ależ są tacy ludzie, i pracodawcy ich wypatrują. Nie są mityczni.
    Może nie jest ich dużo, ja sobie przerobiłem regułę Pareto i przyjmuję, że jest ich 10%, tworzą 90% wartości firmy.
    Elektryk, monter (w genach, z rodziny brażnowej). Genialna ciastkarka. Utalentowany pedagog. Zaangażowany specjalista od przetworów owocowych. Niektóry programista.
    Mój osobisty sprawdzian: zostawiony sam sobie, bez narzucania, zajmie się zawodem czy telewizorem, fejsem itd

    Oczywiście, nie wierzę w nabór z wypisanym na sztandarach "szukamy ludzi z pasją", ale zachodzi takie filtrowanie. każdy z nich pojedynczo jest wart tyle, ile brygada innych, i to jest widoczne.

    0
  • #20 28 Sty 2018 15:43
    linuxtorpeda
    Poziom 20  

    JacekCz napisał:
    linuxtorpeda napisał:
    ....Póki coś się nie zmieni, to pracodawcy nadal będą poszukiwać mitycznych "ludzi z pasją".

    Ależ są tacy ludzie, i pracodawcy ich wypatrują. Nie są mityczni.
    Może nie jest ich dużo, ja sobie przerobiłem regułę Pareto i przyjmuję, że jest ich 10%, tworzą 90% wartości firmy.


    No cóż, sam siebie uważam za człowieka z pasją, aczkolwiek czasem trudno pasję przenieść do pracy, gdy menedżer zachowuje się jak kozi bobek z kompleksami lub bawi się w micromanagement. Część też próbuje wymieszać kompetencje członków zespołu, dając im rzeczy do pracy, które nie leżą w ich specjalizacji - w takim przypadku sensowniejsze byłoby zatrudnienie studenta bez sprecyzowanej ścieżki rozwoju.

    Wracając do tematu - żeby wdrożyć się w zawód, warto też po prostu realizować własne projekty, pomagać na forum, analizować rozwiązania cudzych problemów, itp. Wg mnie nie ma sensu robić z siebie męczennika i uczyć się pod konkretne oferty pracy nietypowych technologii.

    0
  • #21 28 Sty 2018 23:42
    gaskoin
    Poziom 38  

    Uważam, że to absolutnie nie jest problem uczelni, tylko ludzi.
    Nie można oczekiwać, że po studiach ktoś będzie orłem. Na studiach nie ma bardzo wielu rzeczy potrzebnych programiście, albo są poruszane bardzo powierzchownie. Masz w końcu tylko 5 lat, a chcesz studentom pokazać szerokie spektrum możliwości :)

    Ad rem.

    linuxtorpeda napisał:
    Wg mnie nie ma sensu robić z siebie męczennika i uczyć się pod konkretne oferty pracy nietypowych technologii.

    To prawda, jak wyżej napisałem, cenię sobię łebskich ludzi. Jednak jak się przejdziesz po rozmowach rekrutacyjnych to zgadnij jakie usłyszysz pytania? A no takie:

    - Jak w springu zrobić xxx ,a jak w hibernacie yyy, a jak w kafce zzz
    - a co to jest hashmapa, a co to jest CAS, a co to jest piggybacking?
    - a proszę mi napisać program, który robi X, proszę pamiętać o poprawnej synchronizacji i złożoności obliczeniowej/pamięciowej najlepiej O(-500)


    Wszystkie pytania super, tylko że w realiach:

    - Podstawowego wykorzystania springa (kontener IOC, MVC etc.), hibernata (proste mappingi) i innych technologii jesteś w stanie się nauczyć bardzo szybko.
    - Pytania o hashmapy, synchronizację etc. uważam za pozbawione sensu bo kandydaci przychodzą wykuci z takich rzeczy. Chłop może mieć blade pojęcie o tym a i tak odpowie na pytanie. Można go męczyć i drążyć żeby sprawdzić, czy faktycznie rozumie o czym mówi Jednak szczegóły każdemu mogą gdzieś zawsze umknąć i jest to krzywdzące dla osób, które faktycznie coś wiedzą
    - Co do programu. Masz godzinę/dwie na rozmowie na program, jesteś w stresie. Z nerwów nie wpadniesz na najlepszy pomysł i będziesz chciał na początek zrobić program "byle żeby działał". Potem nie starczy Ci czasu na jego poprawienie i zoptymalowanie. W rzeczywistości optymalizacja = kupa w kodzie. Najpierw się pisze żeby było ładnie, a jeśli są problemy to dopiero wtedy zabieramy się za optymalizacje.
    - Co do synchronizacji w programach. Sam Goetz w swojej książce pisze, żeby uciekać się do synchronizowania tylko jeśli już naprawdę musisz. W przeciwnym wypadku korzystaj z gotowych frameworków.

    Te rozmowy w ogóle nie sprawdzają, czy ktoś używa mózgu. Wiadomo, że odfiltrują kilku naprawdę kiepskich kandydatów, ale dzięki nim zatrudnia się rzecze Januszów :)


    Poza tym widzę po ludziach w pracy i kandydatach ciekawe zjawisko, może ktoś inny się wypowie z czego to może wynikać. Takie sytuacje:

    - Gość przychodzi i mówi "ej Michał bo ja tu mam błąd". Nie zajrzy w logi, nie przeanalizuje ich co zrobił źle, tylko oczekuje z niewiadomych mi przyczyn, że ja to zrobię za niego
    - Pisze gość jakiś buraczany kod i jak mu mówisz, jak należałoby to poprawnie zrobić to słyszysz tekst w stylu "noooo, ale to kupa roboty, tak było najprościej i już nie chcę tego zmieniać". Potem oczywiście piekło w utrzymaniu
    - Teksty w stylu "a bo ja jestem developerem javy i nie muszę w sumie nic wiedzieć o żadnych tomcatach, mavenie itd. Ja tylko pisze kod"
    - Jestem w stanie namnożyć przykładów bez liku :)




    Edit:

    - na certyfikaty z programowania javy nikt już nie patrzy
    - na skończone studia powoli też nie
    - po 2-3 latach nie można być ekspertem w żadnej dziedzinie programowania. Sięgając pamięcią wstecz po 3 latach pracy mi się wydawało, że wiem już wszystko. Teraz wiem, że nie wiem nic :)
    - zgodzę się z @JackiemCZ, że to kwestia zaangażowania

    0
  • #22 29 Sty 2018 00:37
    linuxtorpeda
    Poziom 20  

    gaskoin napisał:
    Uważam, że to absolutnie nie jest problem uczelni, tylko ludzi.
    Nie można oczekiwać, że po studiach ktoś będzie orłem. Na studiach nie ma bardzo wielu rzeczy potrzebnych programiście, albo są poruszane bardzo powierzchownie.

    Właśnie sobie zaprzeczyłeś. Jak widać to JEST problem omawianego materiału na studiach, tj. studia nie wiedzą, do jakiego zawodu przygotowują. Później w internetach jest masa komentarzy typu "studia nie mają przygotowywać do zawodu, tylko a) uczyć jak się uczyć, b) uczyć ogłady i kultury, c) uczyć tzw. życia", nie muszę chyba mówić, że to jakieś patologiczne usprawiedliwianie obecnego stanu rzeczy.

    gaskoin napisał:
    Masz w końcu tylko 5 lat, a chcesz studentom pokazać szerokie spektrum możliwości

    Po liceum każdy mniej więcej powinien wiedzieć, w jakim zawodzie chce pracować. Studia __kierunkowe__ to nie liceum __ogólnokształcące__, jak same nazwy wskazują. A jeżeli sam zakres materiału jest na tyle szeroki, to wybór specjalizacji powinien następować możliwie szybko.

    gaskoin napisał:
    Te rozmowy w ogóle nie sprawdzają, czy ktoś używa mózgu. Wiadomo, że odfiltrują kilku naprawdę kiepskich kandydatów, ale dzięki nim zatrudnia się rzecze Januszów

    Problem numer dwa - brak rzeczowej weryfikacji na etapie rekrutacji, a później są narzekania na pracowników, niespełnione nadzieje, itp. Imo dość dobrą formą są krótkie (ok. 3 h) testy polegające na pisaniu programu wg specyfikacji w wybranej technologii. Niestety, niektórzy pracodawcy są na tyle niepoważni, że wysyłaja test w np. C++, a później wymagają pisania w Javie. Przypadek z mojego otoczenia - zatrudniono pewną osobę jako programistę C++/Qt, w pierwszym tygodniu pracy kazano mu się przesiąść na Java/Android.

    gaskoin napisał:
    - Gość przychodzi i mówi "ej Michał bo ja tu mam błąd". Nie zajrzy w logi, nie przeanalizuje ich co zrobił źle, tylko oczekuje z niewiadomych mi przyczyn, że ja to zrobię za niego

    To chyba polska mentalność, żeby próbować rozmawiać pod byle pretekstem. Chociaż z drugiej strony, pracując ze starszymi wiekiem programistami, takich sytuacji miałem o wiele mniej, może to też kwestia zdyscyplinowania.

    gaskoin napisał:
    - Pisze gość jakiś buraczany kod i jak mu mówisz, jak należałoby to poprawnie zrobić to słyszysz tekst w stylu "noooo, ale to kupa roboty, tak było najprościej i już nie chcę tego zmieniać". Potem oczywiście piekło w utrzymaniu

    Jego kod - jego sprawa. Jeżeli część osób w zespole popełnia kardynalne błędy, to warto określić zbiór dobrych praktyk w Coding Standardzie firmy i weryfikować nowo powstający kod pod jego kątem w czasie review będącego częścia procesu tworzenia oprogramowania. Zaglądanie zza ramienia i podpowiadanie jest dość wkurzające w czasie pracy, "dobre rady wujków" mam zwyczaj ignorować.

    gaskoin napisał:
    - Teksty w stylu "a bo ja jestem developerem javy i nie muszę w sumie nic wiedzieć o żadnych tomcatach, mavenie itd. Ja tylko pisze kod"

    No to zwalniasz niekompetentną osobę przy zbliżającej się okazji. Kto ma za niego robić zadania jak nie on sam?

    gaskoin napisał:
    - na certyfikaty z programowania javy nikt już nie patrzy
    - na skończone studia powoli też nie

    Za to brak ukończonych studiów wszyscy zauważą, ew. to będzie pretekstem do niższej pensji. Powszechnie wiadomo, że taka osoba ma mniejsze pole manewru na rynku pracy, a więc i gorszą pozycję do negocjacji.

    gaskoin napisał:
    - po 2-3 latach nie można być ekspertem w żadnej dziedzinie programowania. Sięgając pamięcią wstecz po 3 latach pracy mi się wydawało, że wiem już wszystko. Teraz wiem, że nie wiem nic

    Zależy od dziedziny i zależy, jak definiujesz eksperta.

    gaskoin napisał:
    - zgodzę się z @JackiemCZ, że to kwestia zaangażowania

    Co nie zmienia faktu, że zdobyte dyplomy powinny poświadczać wiedzę, a nie być bezwartościowym świstkiem. Gdyby każdy mógł wygrać prawo jazdy w chipsach, to też byś oskarżał część osób o brak chęci do nauczenia się przepisów, czy ustawodawcę, który zezwolił na rozdawanie w ten sposób prawa jazdy? Zdobycie dokumentu potwierdzającego kwalifikacje powinno być na tyle proste, by nie zniechęcać osób posiadających odpowiednią wiedzę, i na tyle trudne, by osoby bez wiedzy nie mogły ww. dokumentów otrzymać. A na chwilę obecną zostaje wam poważniej podejść do rekrutacji.

    0
  • #23 29 Sty 2018 09:31
    gaskoin
    Poziom 38  

    linuxtorpeda napisał:
    Właśnie sobie zaprzeczyłeś. Jak widać to JEST problem omawianego materiału na studiach, tj. studia nie wiedzą, do jakiego zawodu przygotowują. Później w internetach jest masa komentarzy typu "studia nie mają przygotowywać do zawodu, tylko a) uczyć jak się uczyć, b) uczyć ogłady i kultury, c) uczyć tzw. życia", nie muszę chyba mówić, że to jakieś patologiczne usprawiedliwianie obecnego stanu rzeczy.


    Tu nie ma się co licytować bo problem jest zarówno z zaangażowaniem studentów, niemożliwą ilością materiału do przerobienia, czasem poziomu samych wykładowców, itd itp.

    linuxtorpeda napisał:
    A jeżeli sam zakres materiału jest na tyle szeroki, to wybór specjalizacji powinien następować możliwie szybko.

    Wybór specjalizacji następuje z reguły na ostatnim roku :)

    linuxtorpeda napisał:
    Niestety, niektórzy pracodawcy są na tyle niepoważni, że wysyłaja test w np. C++, a później wymagają pisania w Javie. Przypadek z mojego otoczenia - zatrudniono pewną osobę jako programistę C++/Qt, w pierwszym tygodniu pracy kazano mu się przesiąść na Java/Android.

    Jeżeli ktoś chce się nauczyć Javy, ale zna tylko C++/QT to nie widzę problemu. Chyba, że dostajesz taką niespodzianką "w twarz" to coś innego, spotkałem się z 2 firmami, które tak robią.

    linuxtorpeda napisał:
    Jego kod - jego sprawa. Jeżeli część osób w zespole popełnia kardynalne błędy, to warto określić zbiór dobrych praktyk w Coding Standardzie firmy i weryfikować nowo powstający kod pod jego kątem w czasie review będącego częścia procesu tworzenia oprogramowania. Zaglądanie zza ramienia i podpowiadanie jest dość wkurzające w czasie pracy, "dobre rady wujków" mam zwyczaj ignorować.

    No właśnie nie jego kod bo pracujesz w zespole. Niejednokrotnie potem musisz przecież w takim kodzie potem grzebać (nowe featury, bugi itd). Już nie raz dostałem w twarz za cudze faile bo ktoś zostawił bombę w kodzie.
    Rozumiem irytacje na "dobrego wujka", ale review z jakimi się spotkałem to są często już review post factum. Jeżeli gość poświęcił na pisanie kodu dwa tygodnie/miesiąc i po tym czasie prosi Cię o review, to jeżeli pokażesz mu poważny błąd w architekturze tego kodu to jak myślisz co gość zrobi? Poświęci kolejne 2 tygodnie na usuwanie kodu i pisania go na nowo, tydzień na refactoring, czy może pogłaszcze Cię po głowie i obieca, że zrobi to za pół roku? :) W takim review możesz mu co najwyżej powiedzieć, żeby zmienną inaczej nazwał.

    linuxtorpeda napisał:
    No to zwalniasz niekompetentną osobę przy zbliżającej się okazji. Kto ma za niego robić zadania jak nie on sam?





    Nie jest to w cale takie proste jak Ci się wydaje. Szczególnie wtedy, gdy nie jesteś osobą, która może tego zrobić, a musi się z takimi osobami borykać. Są też przypadki, że niekompetentne osoby są nad Tobą.

    linuxtorpeda napisał:
    Za to brak ukończonych studiów wszyscy zauważą, ew. to będzie pretekstem do niższej pensji. Powszechnie wiadomo, że taka osoba ma mniejsze pole manewru na rynku pracy, a więc i gorszą pozycję do negocjacji.

    Z tego co obserwuję, to powoli zaczyna być inaczej. Z resztą to w Polsce tak było, że się trzymało kurczowo zawodu. W stanach w jeden dzień sprzedajesz kebaby, w drugim jesteś przedstawicielem handlowym a w trzecim programistą.

    linuxtorpeda napisał:
    Zależy od dziedziny i zależy, jak definiujesz eksperta.

    To jest śliskie :)

    linuxtorpeda napisał:
    Co nie zmienia faktu, że zdobyte dyplomy powinny poświadczać wiedzę, a nie być bezwartościowym świstkiem. Gdyby każdy mógł wygrać prawo jazdy w chipsach, to też byś oskarżał część osób o brak chęci do nauczenia się przepisów, czy ustawodawcę, który zezwolił na rozdawanie w ten sposób prawa jazdy? Zdobycie dokumentu potwierdzającego kwalifikacje powinno być na tyle proste, by nie zniechęcać osób posiadających odpowiednią wiedzę, i na tyle trudne, by osoby bez wiedzy nie mogły ww. dokumentów otrzymać. A na chwilę obecną zostaje wam poważniej podejść do rekrutacji.


    Jeżeli byłeś na studiach to sam pewnie znasz osoby, które je ukończyły najmniejszym wysiłkiem "naukowym". Arcymistrzowie w ściąganiu :) Mają papier tak samo jak i Ty. Co do jakości certyfikatów oracla przykładowe pytanie, które pokazuje, jakiej wartości są to certyfikaty.

    Pytanie brzmi: Jak się zachowa poniższy kod?

    Code:
    public static void main(String[] args) {
    
        System.out.println("Hello");
        https://www.elektroda.pl
        System.out.println("World");
    }

    1
  • #24 29 Sty 2018 12:00
    JacekCz
    Poziom 36  

    wpadł mi mailing, kurs C++ 80h + 40h pracy własnej, przy zerowej wiedzy początkowej, "zainteresowania matematyczne mile widziane"
    W oficjalnej deklaracji mówiąc o "postawach" oraz o Qt, i o poziomie "juniora".
    W obszernej propagandzie (na wiele przewijanych ekranów) o lotach kosmicznych, mikrokomputerach, karierze, cudach na kiju (w tym obiecują aktywnośc w Javie, PHP)

    Mnie samego by sie nie dało nauczyć C++ w 80h tak naprawdę do głębi, ale na pewno bym odróżniał main() i klamerki. Łącznie z Qt w 120h ... chyba geniuszy by musieli przyjmować.

    Tym niemniej to mniej więcej odsłania ilośc godzin, ile jest potrzebna na elementarne oswojenie się z językiem. Na miarę ile ktoś ma w sobie tupetu, pójść na rozmowę kwalifikacyjną, licząc na głupszego po drugiej stronie biurka, albo bardzo dociśnięty dział HR w korporacji.
    Studia naprawdę nie są wymagane aby być szeregowym juniorem.

    Seniorem, czy "multistack" jest niemożliwe bez w/w ciekawości, czasu spędzonego w zawodzie.
    Dodano po 48 [sekundy]:

    gaskoin napisał:

    Pytanie brzmi: Jak się zachowa poniższy kod?

    Code:
    public static void main(String[] args) {
    
    System.out.println("Hello");
    https://www.elektroda.pl
    System.out.println("World");
    }


    EDIT:
    Dobre :)
    kod składa się z etykiety, po czym jest jednoliniowy komentarz. Pierwotnie mój umysł szukał jakiegoś unikodu w komentarzu - to źródło fajnych zagadek javowskich dla C/C++ programersów.

    0
  • #25 30 Sty 2018 21:11
    virers
    Poziom 5  

    A co myślicie o takich językach programowania jak Scala czy Kotlin, mam dużo darmowych materiałów do tych technologi. Jak dla mnie Kotlin jest prostszy od Javy i fajniejszy, nie posiada Nulla. Na różnych stronach i forach piszą, że to fajna alternatywa dla przestarzałej już Javy. Teraz jak chcesz pisać nowoczesne aplikacje na Androida to warto znać Kotlina. Natomiast Scala fajnie się sprawdza w aplikacjach webowych, do tego ma Scala.js i nie musisz się babrać z JavaScript. Masz jeden język do backendu i frontendu, to trochę kusi, coś jak Node. Podoba mi się jeszcze pod JVM język programowania Ceylon od RedHat, wybrał bym go do nauki dla własnego projektu, jest taki jakiś najprostszy z tych czterech.
    https://ceylon-lang.org/

    0
  • #26 30 Sty 2018 22:17
    gaskoin
    Poziom 38  

    Scala wbrew pozorom jest dość trudna. Żeby dobrze w niej pisać trzeba ją dobrze znać bo to taki multi-purpose language. Poza tym autorzy ją rozwijają nie patrząc na kompatybilność wsteczną. Są nawet dowcipy typu: "Programuję w Scali! W której wersji?". Do dużego projektu póki co bym się w to nie pchał. Do nauki, czy projektów z krótkim cyklem życia - jak najbardziej bo jest bardzo popularna.

    Kotlin jest super na Androida, który nie ma jak na razie w ogóle wsparcia do Javy powyżej wersji 6, można w nim pisać zwięźlej chociażby ze względu na lambdy. I ma chyba najlżejszy runtime, nie licząc natywnego.

    Ceylon to egzotyk, szczerze mówiąc pierwszy raz go widzę :) Jak się go nauczysz, to nie wiem czy ktoś poza Tobą będzie go znał. Na SO jest niecałe 100 pytań z niego.

    Potęgą Javy jest to, że jest kompatybilna wstecz (choć z tym bywa różnie) i to ją jeszcze trzyma przy życiu.

    0
  • #27 31 Sty 2018 10:59
    JacekCz
    Poziom 36  

    gaskoin napisał:

    Potęgą Javy jest to, że jest kompatybilna wstecz (choć z tym bywa różnie) i to ją jeszcze trzyma przy życiu.


    Wieści o śmierci Javy paradoksalnie nie przychodzą od "konkurencji", tylko z innych języków JVM. Im młodszy (Kotlin) tym ma większa enegrię głosicielką

    Po sformalizowaniu przejścia Sun->Oracl byłe okres nie wydawania wersji, ale potem sie to zdynamizowało. Konsorcjum 3-4 największych graczy jest optymalne żeby nie spocząć w samozadowolenie, a zarazem chaos dynamiki tego nie rozwali
    Lubię poczyta czy developers.redhat, czy bardziej ludzkie niż były dawniej blogi Oracja, czy z ekosystemu groovy'go
    Projektowane sa ciekawe ficzery języka, i genialny rozwój silnika JVM, można temu towarzyszyć, skutecznie używać.

    Do języków JVM dorzucę Groovy, może być kompilowany z typami restrykcyjnymi, albo nie

    JA osobiście nie mówię ostatnio o świecie Javy, tylko o świecie języków JVM

    0
  • #28 10 Lut 2018 05:19
    virers
    Poziom 5  

    Mi jakoś Java i Scala nie przypasowała, ta obiektowość Javy jest dla mnie zawiła i bardzo skomplikowana. Zacząłem się uczyć JavaScript i jest o wiele łatwiej i jakoś prościej. Sam Linus Torvalds też nie lubi Javy. Gdy nie wyjdzie mi z nauką programowania, to wiedza z Javascript przyda mi się przy tworzeniu jakichś małych stron, a Java to bardziej nastawiona na korporacje, programowanie grupowe i wielkie serwisy bankowe.

    0
  • #29 10 Lut 2018 16:40
    JacekCz
    Poziom 36  

    virers napisał:
    Mi jakoś Java i Scala nie przypasowała, ta obiektowość Javy jest dla mnie zawiła i bardzo skomplikowana.


    Myślę że obiektowość Javy jest bardzo bliska teoretycznym postulatom obiektowości. Naprawdę zawikłana koncepcja to jest w C++.
    Reszta porównań poniżej.

    virers napisał:

    Zacząłem się uczyć JavaScript i jest o wiele łatwiej i jakoś prościej.

    Obiektowość JS jest ... "dziwna", a wielu dyskutuje czy to jest prawdziwa obiektowość. A język ma problem z jednoznacznością, długoterminową konserowalnościa kodu.

    W tym segmencie podoba mi się koncepcja Lua. Oficjalna dokumentacja nie zarzeka się, że to jest "prawdziwa" obiektowość (podstawowymi koncepcjami jest tablica i funkcja jako "primary object"). Jest dynamiczna obiektowość w stylu a'la JS (jak dla mnie lepsza), przy czym sam język jest o wiele bezpieczniejszy, żadnych tam wątpliwości co do 'this' itd...
    Silnik Lua napisany w C jest nie tylko jawny, ale dbd udokumentowany, o całkiem niewielkiej ilości kodu, bo celem jest wbudowywanie w wieksze aplikacje. Polecam w kategorii "zobaczyć, jak to jest robione". Kto z was studiował któryś z silników JS?

    Dla chętnych na inny odcień obiektowości w świecie Javy, poprawny ale bardziej dynamiczny, rękami i nogami polecam Groovy

    virers napisał:

    Sam Linus Torvalds też nie lubi Javy.

    Argument z pogranicza śmieszności. W przypadku tej osoby oczywiście że woli C (który zna perfekcyjnie) , jego prawo i szanuję.
    Bardziej mnie przekonuje argumentacja świata Javy i C#, że C/C++ jest ryzykownym językiem, a już zwłaszcza dany totalnym amatorom.

    virers napisał:
    ... a Java to bardziej nastawiona na korporacje, programowanie grupowe i wielkie serwisy bankowe.

    błąd

    Próba podsumowania: ćwiczmy umysł, poznawajmy różne ujęcia. Niekoniecznie każde 1:1 przyda się w pracy, ale wyćwiczony umysł tak.

    0
  • #30 12 Lut 2018 23:15
    gaskoin
    Poziom 38  

    virers napisał:
    Mi jakoś Java i Scala nie przypasowała, ta obiektowość Javy jest dla mnie zawiła i bardzo skomplikowana. Zacząłem się uczyć JavaScript i jest o wiele łatwiej i jakoś prościej. Sam Linus Torvalds też nie lubi Javy. Gdy nie wyjdzie mi z nauką programowania, to wiedza z Javascript przyda mi się przy tworzeniu jakichś małych stron, a Java to bardziej nastawiona na korporacje, programowanie grupowe i wielkie serwisy bankowe.


    Z językami ze słabym typem trzeba bardzo uważać (JS), można bardzo prosto wpaść we własne pułapki.
    Z resztą programiści "Full Stack" często muszą znać javascripta, jave/C# + jeszcze inne języki. Często jest to koło 8-10 języków albo i lepiej. Nie jest to więc tak, że nauczysz się JSa zamiast czegoś. Najlepiej nauczyć się obu a zacząć w tym przypadku jednak proponowałbym od Javy.

    0
  Szukaj w 5mln produktów