konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Jak można mówić o braku konieczności znajomości OOP w odnisieniu do JAVA czy C#? C++ też powstał właśnie po to żeby tą obiektowość wspierać. Pewnie że ciężko jest nauczyć OOP a tym bardziej z ulicy bo po pierwsze przyczyn pewnych problemów można by się doszukać w systemie szkolnictwa a po drugie tylko pewien odsetek będzie programistami. A to że reszta studiuje na informatyce to jest tylko i wyłącznie efekt szału uczelnianego i mówienia o wysokich zarobkach programistów. Wielu wydaje się że jak się nauczy programować to będzie zarabiać nie wiadomo ile, tymczasem rzeczywistość okazuje się być brutalna.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Zgadzam sie. Osoboscie znam przypadki osob ktore pomimo studiow i szczerych checi potrafia jedynie programowac metoda kopiuj-wklej. Niestety tak jak chirurg potrzebuje wrodzonych zdolnosci manualnych tak dobry programista musi miec to cos w glowie zeby potrafic myslec obiektowo. Ot predyspozycja.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

@Mateusz Gajewski nie ma czegoś takiego jak "predyspozycja". Jest tylko zaangażowanie we własny rozwój i wiele godzin włożonych w ciężką pracę nad sobą.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

W takim razie jak wyjaśnić rozrzut w ocenach uczniów w szkole i to że ktoś jest lepszy z innych przedmiotów np. humanistyczne a ktoś inny w przedmiotach ścisłych? Jeśli by nie było predyspozycji to każdy nadawałby się do określonej pracy a tak niestety nie jest (a właściwie to bardzo dobrze że tak jest bo tak to mielibyśmy samych programistów, a gdzie piekarze, murarze, lekarze czy inne zawody).

A co do OOP, paradygmat dość dobrze oddaje w informatyce to jak rzeczywistość jest postrzegana przez mózg, czyli jako obiekty. I każdy taki obiekt można zdefiniować za pomocą klasy. Zresztą dotyczy to też niektórych typów danych które mają własne metody.

Programowanie metodą kopiuj-wklej jest prostą metodą do błędów w kodach, owszem można coś takiego zastosować jak się komuś nie chce klepać kodu a to potrafi być żmudne, prawda jest jednak taka że takie coś jest uznawane za antywzorzec a więc nie powinno być stosowane. Wikipedia jasno definiuje listę antywzorców projektowych, mających wpływ na jakość oprogramowania oraz ilość problemów w pracy. Tak naprawdę dzięki OOP programowanie jest dość proste, trzeba tylko przestrzegać istotnych zasad jak SOLID, KISS, DRY i znać wzorce projektowe.Ten post został edytowany przez Autora dnia 01.02.14 o godzinie 17:00

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Dariusz R.:
W takim razie jak wyjaśnić rozrzut w ocenach uczniów w szkole i to że ktoś jest lepszy z innych przedmiotów np. humanistyczne a ktoś inny w przedmiotach ścisłych?

Bardzo prosto, przedmioty ścisłe wymagają poświęcenia nieco większej ilości czasu (przynajmniej na początku) na zrozumienie i rozwiązanie problemu. Z drugiej strony, aby z przedmiotów nazwanych przez Pana "humanistycznymi" uzyskać dobre wyniki w szkole, wystarczy jedynie nauczyć się regułek / wypisać definicje na ściągi. Idąc najmniejszą drogą oporu przez etap edukacji nie jest się ani tzw "ścisłowcem", ani tzw "humanistą". A niestety większość taką drogę właśnie obiera.

Dodatkowo, nie przekładał bym ocen zdobytych w szkole na jakikolwiek wskaźnik 'predyspozycji". Spotkałem wiele osób którzy zdobyli bardzo dobre wyniki na rozszerzonej maturze z matematyki, a na studiach kuleli z podstaw programowania. Przyczyna tego jest bardzo prosta - zamiast "tracić" czas na zastanawianie się jak właściwie działają proste programy w C, woleli "korzystać" z "beztroskiego życia studenckiego", robiąc programy na zasadzie "CTRL + C, CTRL + V, już gotowy program mam", najczęściej również nie tracąc czasu na jakąkolwiek analizę rozwiązania. Taki stan rzeczy propaguje się na kolejne lata studiów, gdzie już najczęściej nie ma czasu na wrócenie do korzeni..

Lekarz, piekarz, murarz czy prawnik nie jest dobry w swoim zawodzie bo "się nadaje" lub "bo ma predyspozycje" (pomijając warunki fizyczne w przypadku prac siłowych, aczkolwiek one też mogą być wynikiem pracy...), lecz dlatego, że poświęcił x czasu na naukę i doskonalenie swoich umiejętności.

Nie neguję faktu że pewne osoby są kreatywne, "open-minded", świetnie się czują w tworzeniu przeróżnych dzieł sztuki. Inne mają doskonałe zdolności manualne, a jeszcze inne potrafią myśleć analitycznie. Tylko czy to wynik tej magicznej "predyspozycji"? Czy może jednak proporcja odzwierciedlająca kto ile tak naprawdę spędził czasu na czym? Wiele osób niestety spędza większość czasu na niczym, i w rezultacie nie mają żadnych predyspozycji...

Jedno, z czym nie można się sprzeczać, to fakt, że osoba która ma chęci i samozaparcie łatwiej się nauczy np. OOP, niż osoba która jest zamknięta na zmiany i takich chęci nie przejawia.Ten post został edytowany przez Autora dnia 01.02.14 o godzinie 17:32

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Marcin G.:
Bardzo prosto, przedmioty ścisłe wymagają poświęcenia nieco większej ilości czasu (przynajmniej na początku) na zrozumienie i rozwiązanie problemu. Z drugiej strony, aby z przedmiotów nazwanych przez Pana "humanistycznymi" uzyskać dobre wyniki w szkole, wystarczy jedynie nauczyć się regułek / wypisać definicje na ściągi. Idąc najmniejszą drogą oporu przez etap edukacji nie jest się ani tzw "ścisłowcem", ani tzw "humanistą". A niestety większość taką drogę właśnie obiera.

Nie zgadzam się z tą opinią. Pamiętam jeszcze z czasów szkoły podstawowej a później średniej, nigdy nie lubiłem takich przedmiotów jak język polski czy historia, ciężko było się tego nauczyć i w ogóle miałem słabe oceny. Co innego jeśli chodzi o fizykę czy chemię, później wybrałem elektrotechnikę a nie mechanikę bo w tym pierwszym czułem się lepiej. Nawet jeśli chodzi o języki obce to angielskiego było się łatwiej nauczyć niż niemieckiego (to z czasów studiów). Musi być na to jakieś wyjaśnienie.
Dodatkowo, nie przekładał bym ocen zdobytych w szkole na jakikolwiek wskaźnik 'predyspozycji". Spotkałem wiele osób którzy zdobyli bardzo dobre wyniki na rozszerzonej maturze z matematyki, a na studiach kuleli z podstaw programowania.

Na studiach to ja miałem tego typu sytuacje, że jakiegoś dnia było zaliczenie o którym nawet nie wiedziałem, a mimo to uzyskałem zaliczenie. Dziwne. Inni wkuwali wiedzę z tych przedmiotów i nie wszyscy uzyskali zaliczenie. Chociaż z drugiej strony to nawet wykładowca kiedyś powiedział, że jeśli ktoś był dobry w szkole średniej to nie koniecznie był dobry na studiach.

Co do programowania, kiedyś zaczynałem od pascala bo c++ wydawał się dość trudny i prawdę mówiąc nigdy nie lubiłem tego języka ze względu na jego składnię (te magiczne gwiazdki jako wskaźniki). Teraz sprawa wygląda inaczej bo wszystko sprowadza się wyłącznie do możliwości (przede wszystkim technologii), chociaż JAVA czy C# jest o niebo lepsza ze względu na dużo prostsze i szybsze tworzenie aplikacji.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Edukacja jest ważna, ale jednak ciężko mi wytłumaczyć fakt, że są programiści, którzy po prostu to "czują" (na pewno każdy spotkał w swojej karierze zawodowej takie osoby). Nie bardzo widzę tu inne wytłumaczenie niż właśnie "predyspozycje". Praca nad swoją wiedzą jest bezapelacyjnie ważna, ale tacy osobnicy muszą jej włożyć znacznie mniej niż tzw "ogół".
Krzysztof T.

Krzysztof T. Umysł nie jest
naczyniem, które
trzeba napełnić,
lecz ogn...

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Edukacja, edukacją ważne jest odpowiedzenie sobie na pytanie:
-"co chcę w życiu robić i zacząć to robić!"

Dodatkowo, mówicie szkolnictwo, znam gościa który skończył studia i specjalizację "Budownictwo" na Politechnice, a w pewnej dużej korporacji jest mega mózgiem, genialnym programistą, ma on 2 appki na Androida zarabiające bardzo dobrze na swego pana. Pytanie brzmi dlaczego?
Bo po pracy godzinami uczył/uczy się i rozwija, koduje, czyta.

Wybraliśmy "ciężki" zawód który wymaga non stop doskonalenia, bycia na czasie, znania pewnych procedur i podejść (clean code, TDD, wzorce)

Nic nie wzięło się od pstryknięcia palcami i powiedzenia sobie chcę być i dalej nie robić nic .....
Zadania na Juniora hm... zależy gdzie chcesz trafić i co robić, dla pewnych firm podstawowa znajomość JavaScript+Html i odrobina wiedzy z OOP (np w języku Java) wystarczy.
Jeżeli chcesz trafić i robić coś fajnego, to OOP nie wystarczy. Przede wszystkim umysł i sposób myślenia, ugryzienia problemu.
Sam wiem, jak zaczynałem brakowało mi takiego zamysłu "kombinowania" jak ugryźć problem... czy można np w konstruktorze zainicjalizować jakieś zmienne, obiekty (np. mapy, listy które potem wykorzystam).

Na Juniora wydaje mi się, że OOP wystarczy + SQL i relacyjne bazy danych i logika, dużo myśleć zanim się coś powie napisze, 2x się zastanowić, bo są pytania typu: czym się różni Integer od int, albo różnica między valueOf a parseXXX? To normalka.

Wzorce, clean code, tdd to raczej bym zaliczył do programisty na poziomie normal.
Praca, praca i jeszcze raz praca nad samym sobą tylko to zaowocujeTen post został edytowany przez Autora dnia 01.02.14 o godzinie 21:08

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

"Wzorce, clean code, tdd to raczej bym zaliczył do programisty na poziomie normal."

Tu Cię zaskoczę, ale opanowanie software craftsmanship to poziom ekspercki a nie "normal" :) Oczywiście mam na myśli tutaj dogłębne zrozumienie skąd wzięły się pewne wzorce (i ich kwestionowanie) a nie ich bezmyślne stosowanie.
Jakub Miąskowski

Jakub Miąskowski Specjalista
zastosowań
informatyki

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

podczas całej dyskusji nie zauważyłem aby ktoś poruszył kwestię szkoleń, certyfikatów w Javie ma ktoś może pojęcie jak to się ma podczas rekrutacji ?
Piotr Jasiulewicz

Piotr Jasiulewicz PHP/Java
professional

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Zalezy od tego gdzie ta rekrutacja - w Londynie ludzie raczej sie wstydza przyznac, ze maja cert bo slyszalem, ze duzo oszustw bylo z tym zwiazanych (albo ktos mowil, ze ma, a nie mial, albo ktos zdawal jakos kombinujac itd)

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Są certyfikaty na tyle poważnie traktowane, że można sprawdzić kandydata prosząc o numer certyfikatu i sprawdzając na stronach organizacji, która takowy wystawiła.

Co do zdawania certyfikatów żeby znaleźć lepszą pracę? Nie jestem przekonany, choć dla Junior'a to każdy dodatkowy wpis w CV może mieć znaczenie ;)

To, co naprawdę będzie zyskiem, to wiedza, która zostanie w głowie po przygotowaniach do takiego certyfikatu - np. SCJP. O ile ktoś uczył się naprawdę, a nie liczył na szczęście.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Rafał G.:
Co do zdawania certyfikatów żeby znaleźć lepszą pracę? Nie jestem przekonany, choć dla Junior'a to każdy dodatkowy wpis w CV może mieć znaczenie ;)

Niektórzy twierdzą że certyfikaty podnoszą wynagrodzenie o jakiś procent, nie wiem może o 10% więcej. W każdym razie OCJP (dawniej SCJP) byłoby dobrym dowodem na znajomość JAVA ale oczywiście kosztują.
To, co naprawdę będzie zyskiem, to wiedza, która zostanie w głowie po przygotowaniach do takiego certyfikatu - np. SCJP. O ile ktoś uczył się naprawdę, a nie liczył na szczęście.

I tutaj znowu spotkałem się z twierdzeniami, że SCJP a właściwie OCJP można przejść pozytywnie pod warunkiem wcześniejszego przygotowania się do takich i tu mógłbym się zgodzić. Generalnie fajny patent na zarabianie, choć nie twierdzę że nie warto, w końcu jakieś niuanse JAVA też mogą się przydać.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Tak - czytałem gdzieś kiedyś wyniki badań nad zarobkami, z których wynikało, ze posiadacze certyfikatów zarabiają więcej. Pytanie jednak, czy nie pomylono przyczyny i skutku. Mam na myśli to, że (poza osobami, które po prostu kolekcjonują certyfikaty) na ogół certyfikat ma ta osoba, która inwestuje w siebie i swoją wiedzę, a co za tym idzie jest po prostu lepszym kandydatem, co z kolei przekłada się na pensję.

SCJP to typowe wykuwanie specyfikacji :) Choć chyba SCWCD jest jeszcze gorsze pod tym względem. Niemniej ucząc się do SCJP całkiem porządnie sobie ugruntowałem wiedzę - więc pożytek jakiś z tego był :)

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Rafał G.:
Tak - czytałem gdzieś kiedyś wyniki badań nad zarobkami, z których wynikało, ze posiadacze certyfikatów zarabiają więcej. Pytanie jednak, czy nie pomylono przyczyny i skutku. Mam na myśli to, że (poza osobami, które po prostu kolekcjonują certyfikaty) na ogół certyfikat ma ta osoba, która inwestuje w siebie i swoją wiedzę, a co za tym idzie jest po prostu lepszym kandydatem, co z kolei przekłada się na pensję.

SCJP to typowe wykuwanie specyfikacji :) Choć chyba SCWCD jest jeszcze gorsze pod tym względem. Niemniej ucząc się do SCJP całkiem porządnie sobie ugruntowałem wiedzę - więc pożytek jakiś z tego był :)

Sprzężenie zwrotne :) To tak jakby powiedzieć, że ludzie grający w golfa stają się przez to bogatsi :P Nie za specjalnie wierzę w wartość certyfikatów. Jeżeli po 10 latach od jego zdania nie używaliśmy wiedzy z jego zakresu to czy jesteśmy jeszcze kompetentni w tej dziedzinie? :) Sens takich certyfikatów byłby jedynie wtedy kiedy odnawiane by były np co 2-3 lata :)

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Głupie zadanka tego typu:


package scjp;

public class SCJP
{

public static int myFunc(int x)
{
int y = ++x;
return ++y + y-- - --y;
}

public static void main(String[] args)
{
int x = 2;
System.out.println(myFunc(--x));
}
}


I co się tutaj wyświetli:

a) 1
b) 2
c) 5
d) błąd kompilacji

albo to:


package scjp;

public class SCJP
{

public static int myFunc(int x)
{
if (x == 0)
{
return 1;
}
else
{
return myFunc(x - 1) + x;
}
}

public static void main(String[] args)
{
int x = 7;
System.out.println(myFunc(myFunc(x)));
}
}


I co się tutaj wyświetli?

a) 1
b) 100
c) 436
d) 1250
e) błąd kompilacji

Jeśli ktoś rozwiązuje tego typu teściki zdalnie to można to dość prosto sprawdzić:

http://www.compileonline.com/compile_java_online.php

No i tutaj można sobie zadać pytanie o przydatność tego typu wiedzy bo instrukcje w zadaniu 1 napewno nie ułatwiają a wręcz utrudniają życie programiście. Ktoś mi napisze jaka jest poprawna odpowiedź (oczywiście nie używając kompilatora wyżej)?

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Zadanie które pokazałeś w każdym języku będą miały taką samą odpowiedź (rodzina C) także to raczej znajomość ogólnych zasad programowania a nie specyficznych dla Javy zagadnień.

W 1 odpowiedź to 5 ponieważ do funkcji zostanie przekazana wartość 1 (pre-inkrementacja zmiennej x). Następnie w funkcji mamy przypisanie y = 2 (pre-inkrementacja zmiennej x). Wynikiem jest dodanie (3 (pre, y = 3) + 3 (post, y = 2) - 1 (pre, y = 1))Ten post został edytowany przez Autora dnia 03.02.14 o godzinie 22:58

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Ktoś mi napisze jaka jest poprawna odpowiedź (oczywiście nie używając kompilatora wyżej)?


Poprawną odpowiedzią będzie wsadzenie na głowę pachołka drogowego (jest duży wybór: http://www.sklepdrogowy.pl/Pacholki_drogowe-k47-0-3-de... każdemu, kto odważy się commitować coś takiego do repozytorium. ;-)

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Ale tu nie chodzi o commity czegoś takiego tylko chciałem pokazać problem związany z takimi testami. Ta pre-inkrementacja (pre-dekrementacja) jak również post-inkrementacja (albo post-dekrementacja) pokazana w tym pierwszym przykładzie w praktycznym zastosowaniu to nonsens i w niczym nie ułatwia życia. To samo odnośnie rekurencji w drugim przykładzie.

Rozwiązując takie zadanka w warunkach gdy nie ma dostępu do kompilatora, choćby online pod podanym przeze mnie linkiem takie zadanka są testem w którym wymaga się aby każdy kto odważy się takie rozwiązać udzielił poprawnej odpowiedzi niejako analizując to z głowy. To by oznaczało brak sprawdzenia wyników takiego kodu za pomocą kompilatora. W praktyce nie sprawdzenie efektów takiego kodu byłoby uznane za antywzorzec. Szczegóły są zresztą w Wiki.

Jasne że czegoś takiego nie commitowałbym na SVN czy GIT bo kod z obu tych zadanek jest dość trudny do zrozumienia, no chyba że ktoś w pamięci potrafi analizować to jakie wartości przyjmują zmienne.

konto usunięte

Temat: Pytanie do Specjalistów Javy, HR i ludzi specjalizujących...

Mateusz G.:
Zadanie które pokazałeś w każdym języku będą miały taką samą odpowiedź (rodzina C)

Nie do końca.
http://stackoverflow.com/questions/17514805/behaviour-...



Wyślij zaproszenie do