CV do oceny - portfolio, projekty

1

Witam.

W końcu muszę zabrać się za szukanie pracy.
Nie czuję się za bardzo na siłach. Wolałbym dalej kodować w mojej jaskini, ale chyba nie jest to za bardzo pożądane w mojej rodzinie. Poza tym do niczego innego się nie nadaję - nie wyobrażam sobie robić coś innego w życiu.

**Mógłbym Was poprosić o opinię na temat mojego CV, strony i moich projektów (zwłaszcza o samej bibliotece pseudo crawlera - link do GitHub)? Albo czegokolwiek, co tam wolicie ;) **

W załączniku przesyłam moje CV

A tutaj jest moja strona, na której można znaleźć moje projekty itp.: michal-szymanski.pl
Szału nie ma (mam nadzieję, że błędów też nie). Projektów nie ma tam tak dużo jakbym chciał, bo wcześniej po prostu nie chciało mi się ich kończyć, inne są stare i brzydkie... aż wstyd się takim czymś chwalić, np. taka aplikacja na Androida do szyfrowania / odszyfrowywania z kodu Cezara/Vigenera.

Swoją drogą hostuję to na moim pierwszym VPS'ie - nie wiedziałem, że to jest takie fajne :D

Staram się o pracę na stanowisku Java / Java Web Developer po stronie backend'u (oczywiście junior).

Pozdrawiam.

2

Napisz to po angielsku. Nawet jeśli aplikujesz do firmy w Polsce, to i tak nie wiesz na czyje biurko twoje CV trafi.

1
  • napisałeś Java - 1,5 roczne wykształcenie a nie ma nigdzie dalszego info o tym, co w tym robiłeś, w jakiej firmie itp.. W oczach rekruterów możesz wyjść na kłamcę/ściemniacza. A jeśli nie, to na pewno będą chcieli ustalić dokładniej co robiłeś. Firmy zwykle się dzielą na te, dla których ważne są skille i mają w dupie lata doświadczenia (aplikując do takiej firmy mógłbyś w ogóle wywalić te wzmianki o doświadczeniu) i na te, które mają w dupie skille i ważne jest dla nich udokumentowane doświadczenie (a tutaj słabo z wiarygodnością moim zdaniem, że sobie coś napisałeś w CV).
  • system kontroli wersji Git (konkretnie GitHub) - to brzmi, jakbyś uważał GitHub za jedną z odmian Gita (czym nie jest), a nie jak hosting dla niego.
  • znajomość konpecji TDD. literówka (w "konpecji"), poza tym nie wiadomo czemu dałeś kropkę na końcu, wszędzie indziej bez kropki, a tutaj kropka.
  • Profesjonalizm I odpowiedzialność - znowu literówka. Powinno być i. I brak przecinka przed co.
  • masz błąd 403 - Access to michal-szymanski.pl was denied na stronie.
2

Mało profesjonalne słownictwo, zrobione na odwal się, styl licealisty piszącego CV na zadanie z polskiego. Zgodnie z tym co napisales w CV moglbys sie zalapac na staz/juniora ale CV odstrasza. Pobierz dobrze napisane CV po angielsku i napisz je w podobnej formie ze swoimi danymi. Nie musi być super fancy, wystarczy ze bedzie minimalistyczne, profesjonalne i schludne.

6
  1. Doświadczenie to musi być czymś poparte, zresztą w ogóle bym tego tutaj nie pisał na liście znanych technologii. Doświadczenie niech wynika... z doświadczenia! Jeśli piszesz że masz 1.5 roku doświadczenia w javie to ja sie pytam "skąd"? Powinieneś mieć listę projektów z konkretnie wypisanym:
  • Co to za projekt
  • Ile trwał
  • Lista technologii

Guzik mnie obchodzi czy cos jest twoim "najbardziej zaawansowanym projektem". Obchodzi mnie ile czasu nad nim pracowałeś i w jakich technologiach.
2. Masz tam jakieś w związku z poniższym a ja żadnego wyjaśnienia poniżej nie widzę. WTF?
3. Niepotrzebnie to tak tam rozwlekasz. Serio mogłeś napisać:

Java: Java 8, Spring 4 (MVC, Security, Boot)
Tools: Maven, git
Testing: JUnit 4, Mockito
Web: HTML, CSS, Javascript (jQuery, TypeScript)
DB: SQL, MySQL
Other: TDD, design patterns

Tą Javę EE bym wyrzucił bo nijak z twojego CV nie wynika żadna jej znajomość, a jeśli juz to należy napisać tak samo jak dla Springa - co KONKRETNIE znasz. Bo że wszystko z JEE to nie wierze (CDI, JPA, JTA, JSF, JAXB, JAX-WS/RS, JMS... itd)

O tym ze CV po angielsku to nawet nie mówie.

Idźmy dalej:

  1. Co to niby ma być za klasa https://github.com/Fantazjatyk/michal.szymanski.crawler/blob/master/src/crawler/configuration/CrawlerRuntimeConfiguration.java ? Za mało miałeś klas to sobie dodałeś? o_O Zresztą ta jej klasa bazowa też jest słaba.
  2. https://github.com/Fantazjatyk/michal.szymanski.crawler/blob/master/src/crawler/utils/MimeTypeRecognizer.java tutaj pięknie, nie dośc że pusty catch na Exception :D to jeszcze piękne return null, które na 100% spowoduje gdzieś wyżej NPE. Bo Optional i Java 8 maja dopiero kilka lat, to możesz nie znać...
  3. UnvalidCollectorException :D no B2 z angielskiego to to nie jest
  4. https://github.com/Fantazjatyk/michal.szymanski.crawler/blob/master/src/crawler/scrapping/SearchEngine.java#L108 widać ze piszesz kod lodówką albo mikrofalówką bo u mnie IDE od razu mówi że te ify są bez sensu i można zrobić po prostu return set.isEmpty()
  5. https://github.com/Fantazjatyk/michal.szymanski.crawler/blob/master/src/crawler/scrapping/collectors/URLCollector.java#L52 moje oczy krwawią. Niby jest tu stream ale zamiast ładnie wołać .filter() to cudujesz z ifami w lambdzie a wyniki zamiast .collect() składasz za pomocą efektu ubocznego w liście utworzonej wcześniej. To juz chyba lepiej by było bez tego streama, bo teraz to zrobiłeś to po prostu nieczytelnie. I tak samo masz to zrobione w reszcie kodu.
  6. Wszędzie masz gołe Object i jakieś castowanie z dupy. Brawo, piszesz w języku silnie typowanym i w ogóle z tego nie korzystasz. Castowanie to jest ostateczność i sygnał że coś jest nie tak, szczególnie jeśli wynika to z twojego kodu (jak jakieś zewnętrzne API zwraca Object to niewiele można zrobić). I potem trzeba robić jakieś https://github.com/Fantazjatyk/michal.szymanski.crawler/blob/master/src/crawler/scrapping/collectors/DomCollector.java#L39 i instanceof no bo po co komu jakieś generici?
    A to tylko z rzutu okiem w kod bo nie mam czasu tego analizować.
2

Dobra rada dla każdego - warto ściągnąc SonarQube i przelecieć swój kod przed pokazaniem komuś, zawsze może coś znaleźć

2
hcubyc napisał(a):

Dobra rada dla każdego - warto ściągnąc SonarQube i przelecieć swój kod przed pokazaniem komuś, zawsze może coś znaleźć

Lub lepiej zainstalować plugin do IntelliJ SonarLint

0

c.d

  1. W załączniku zamieszczam poprawione (według waszych sugestii) CV.

  2. Trochę zrefaktoryzowałem kod w projekcie Crawler, głównie według tego co mówił @Shalom

  3. Sprawdziłem ten projekt w SonarQube i naprawiłem to co wskazał (pomijając jakieś nieistotne bzdety).

  4. Moja strona już działa: www.michal-szymanski.pl

I jak teraz? Co o tym sądzicie?
Wolałbym już skończyć z tym refaktorem, bo mam w planie trochę innych projektów ;D

PS. Klient Crawlera może w ogóle nie zwracać obrazów. Nie potrafię sobie poradzić z tym bugiem, bo powraca po którejś kompilacji. Chodzi o tą klasę DataPostProcessor - czasami tak jakby wraca jej starsza wersja. Próbowałem wyczyścić cache w NetBeans (bo to, niestety, moje IDE) ale nic to nie dało.

1
  1. Nie pisz jakichś "practical knowledge". To jest dość oczywiste.
  2. Jakbym dostał takie CV z samymi "basic" i "insignificatnt" to bym cię nie zatrudnił, nie dlatego że możesz być słaby ale dlatego że masz mało pewności siebie ;]
0

Minęło trochę czasu.

Wtedy - na początku maja - wysłałem CV do trzech albo czterech firm. Odpowiedziała tylko jedna. Niestety, jak przypuszczam, było to raczej badanie rynku.

Od tego czasu minęły już niemal cztery miesiące. Co się ze mną w tym czasie działo?
Przede wszystkim zaliczyłem semestr na uczelni.
Co prawda nie nauczyłem się żadnego nowego frameworka, albo zupełnie nowej technologii, ale to tylko dlatego, że skupiłem się na lepszym poznaniu tego, co wówczas umieściłem w CV.
Ukończyłem dwa kolejne projekty, z czego jeden traktuję jako moją "wizytówkę", ze względu na jego złożoność.
Mniej lub bardziej poprawiłem moje wszystkie poprzednie projekty, z wyjątkiem "Diary". Z rozmowy z HR i Google Analytics wyniosłem taki wniosek, że przeglądającym moje projekty po prostu nie chce się wchodzić na te strony, które wymagają jakiejkolwiek jawnej autoryzacji. Tak więc nie robię już tego - z wyjątkiem Diary.
Poza tym trochę podszkoliłem się w języku angielskim, chociaż - prawdę mówiąc - myślę, że dalej jestem na poziomie B1.


Przechodząc do sedna:
**Prosiłbym Was raz jeszcze o ocenę mojego nowego CV i strony portfolio. **
Jeżeli wam się chce to możecie także przejrzeć kody źródłowe moich projektów (przeleciałem już je SonarQubem) - jeżeli się na to zdecydujecie to zależałoby mi zwłaszcza na ocenie repozytorów projektu TicTacToeOnline (rdzeń gry, klient). To mój obecnie największy projekt - coś czego wcześniej nie robiłem - i efekt końcowy najbardziej mi się podoba.

TicTacToeOnline to cyfrowa adaptacja gry "Kółko i krzyżyk" - bez szaleństw.
Moja gra działa w trybie singleplayer (walka z komputerem na 2 poziomach trudności) i multiplayer (przez sieć). Komunikacja odbywa się poprzez WebSocket.
Niestety ciężko mi się go testuje ("rdzeń" jeszcze nawet spoko, ale klient...) i generalnie nie do końca dobrze to zaprojektowałem, chociaż z dumą przyznam, że wszystko działa tak jak należy.

**Zagrać w TicTacToeOnline możecie tutaj: ** tictactoe.michal-szymanski.pl.

**CV jest w załączniku.
Moja strona portfolio: **michal-szymanski.pl.

Co o tym sądzicie? Czy wszystko działa? Czy coś śmierdzi?
Czy wszystko jest OK?

1

CV to nadal lanie wody lvl over 9000. Zamiast jakiegoś słowno-muzycznego opisu dawa konkrety. Piszesz Spring, ok ale napisz która wersja i której moduły a nie jakieś "focused on bla bla bla". Napisz jak człowiek Spring 4 (IoC, Boot, MVC, Data, RestTemplate...). Tak samo piszesz Java SE ale już nie napisałeś czy to java 1.4 czy java 9, a to róznica jak między krzesłem i krzesłem elektrycznym ;)
Tak poza tym to tragedii nie ma, chociaż opis projektów zrobiłbym z jakąś bardziej zorganizowaną strukturą np.:

Tytuł projektu, czas od do
Jedno zdanie o co chodzi
lista technologii
1

**Ja bym jeszcze zrobił zmiany w CV. **

Po pierwsze zmień interlinię na coś mniejszego. Dwie strony do pierwszej pracy nie są akceptowalne.

Po drugie non-commercial experience wygląda jakby miało spację przed nim - nie powinno czegoś takiego mieć.

Wypieprz Professionality and responsibility, to jest "praca w młodym i dynamicznym zespole" w wersji CV.

Stylistycznie słowo "satisfactory" jest mocno subiektywne, moim zdaniem lepiej jest dać "some experience" albo coś tego typu.

Wyciep to o uczeniu się Javy od dwóch lat. Nie ma to absolutnie żadnego wpływu na cokolwiek. To samo z czasami tworzenia tych projektów - jak ktoś się spyta to im powiesz.

Skonfiguruj sobie https korzystając z let's encrypta, z bardzo głupich powodów bardziej ufam stronom z zieloną kłódeczką.

Software Engineering -> software engineering principles

Masz wpisany TypeScript ale nie masz wpisanych żadnych narzędzi typu transkompilator które powinieneś wykorzystywać jeśli go stosujesz.

To basics w toolach odnosi się tylko do mavena, czy też do gita? Trudno to jednoznacznie sparsować. Zresztą to basics w odniesieniu do mavena można wywalić bo więcej raczej po juniorze nie oczekują.

Wywal informację o braku certyfikatów w języku. Nie ma to żadnego znaczenia, i tak nikt ci nie każe na rozmowę certyfikatu przynieść - swoją drogą są ludzie którzy mają CAE a nie są w stanie jednego zdania od początku do końca przeburknąć, więc sprawdza się to i tak ustnie.

W sekcji other pierwszy punkt zaczyna się z małej litery a reszta z wielkich - wygląda nieładnie.

To heavily w projektach wywal. Proszę.

Oszczędź miejsce wywalając www z linków (ciepnij najwyżej 301kę z nie-www).

Jeśli jakiś projekt jest mniej udany niż inne to go po prostu wypieprz ale zostaw na githubie.

Tak jak powiedziano wszędzie - dawaj wszędzie wersje dziadostwa którego użyłeś.

**
Co do samych projektów:**

Jeśli twierdzisz że znasz mavena ale nie wykorzystujesz go w absolutnie żadnym z projektów to raczej jesteś chyba niepoważny. Do tego nie sądzisz mam nadzieję że sobie sam wymyślę jakie springowe jarki mam sobie zaciągnąć jak będę chciał sobie testowo odpalić projekt?

Struktury katalogów w tych projektach są zrąbane. Zmaveń je.

W jakimś pliku znalazłem takie coś:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

W tym samym pliku są nieużywane importy. Nie jestem robotem, ale zauważyłem to od razu. Przejedź ten kod jakimś linterem przynajmniej (np jakiś nie-nazistowski checkstyle)

Wywal informacje o autorze w plikach. Przy normalnych projektach tego się nie daje bo i tak sporo osób dziubie po kodzie.

Użycie XMLowej konfiguracji springa w nowym projekcie w 2017 roku może być trochę kontrowersyjne.

Masz autogenerowane metody w testach które są nieużywane. Zaśmiecają tylko mózg w trakcie przeglądania, usuń je.

Pomijając "no shit sherlock" w autogenerowanym komentarzu to wygląda jakby było robione na odczep:

    /**
     * Test of getResponse method, of class CrawlersManager.
     */
    @Test
    public void testGetResponse() {
}

Testy powinny mieć opisaną zamierzoną funkcjonalność - na przykład test testRunCrawler sprawdza w zasadzie tylko czy coś się nie wypieprzyło, czy parę pól zostało ustawionych i czy znalazło jakiś obrazek. Nie sprawdza jaki to obrazek. Może warto by było na potrzeby testów postawić jakiś lokalny serwer http i tam wrzucić coś i na tej podstawie sprawdzać czy ci nie ściągnął obrazków których nie oczekiwałeś?

https://github.com/Fantazjatyk/CrawlerWebApp/blob/master/test/java/pl/michalszymanski/web/crawler/services/EmailDelivererTest.java :(

https://github.com/Fantazjatyk/CrawlerWebApp/blob/master/test/java/pl/michalszymanski/web/crawler/services/KeyValidatorTest.java tutaj nie ma opisu tego co oznacza "valid" czy "invalid". Gdzieś powinieneś opisać (w testach, nie w kodzie) jak wygląda poprawny kod.

https://github.com/Fantazjatyk/CrawlerWebApp/blob/master/test/java/pl/michalszymanski/web/crawler/services/TestClass.java rozjechane formatowanie, w dodatku może warto to było zrobić jako klasę wewnętrzną testu który tego używa?

https://github.com/Fantazjatyk/CrawlerWebApp/blob/master/test/java/pl/michalszymanski/web/crawler/Conf.java Nie płacisz za ilość użytych literków. Nazwij tę klasę jakoś lepiej bo później w dużym projekcie trudno do takiego pliku będzie nawigować po nazwie.

CSSy crawlera mają rozwalone formatowanie.

W niektórych formatkach thymeleafa piszesz po polsku, w innych po angielsku. Zdecyduj się albo podepnij i18n.

Zrobię sobie przerwę i będę cisnąć dalej.

1

Ok. Dzięki za wyczerpującą odpowiedź! Mam nadzieję, że to co znajdujesz w moim kodzie to bądź co bądź tylko drobne gafy i śmierdziele...

Spoko. Jutro jeszcze jak będę mieć czas to zobaczę na samego crawlera. Jeśli chodzi natomiast o to co znajduję to nie dałoby to dobrej opinii szczerze mówiąc. Jestem ogromnym hejterem autogenerowanych kawałków kodu - moim zdaniem nie powinny być one oczywiste z wyjątkiem może jakiegoś buildera czy czegoś takiego - tutaj taki autogenerowany kawałek jest co chwilę. Rozwalone formatowanie też nie daje jakiegoś dobrego wrażenia - to są takie rzeczy które bardzo bardzo łatwo zautomatyzować (albo autoformatowaniem którego nie polecam albo jakimś lekkim checkstylem - ja zwykle stosuję tylko nieużywane importy, konwencje nazewnicze, indenty, kilka pustych linii obok siebie i trailing whitespace. Coś do budowania musisz skonfigurować - czy maven, czy gradle - wszystko jedno. Byle nie ant bo to nie 2005 rok. Dorzuć też README bezpośrednio na githubie.

0
Trzeźwy Rolnik napisał(a):

Ok. Dzięki za wyczerpującą odpowiedź! Mam nadzieję, że to co znajdujesz w moim kodzie to bądź co bądź tylko drobne gafy i śmierdziele...

Spoko. Jutro jeszcze jak będę mieć czas to zobaczę na samego crawlera. Jeśli chodzi natomiast o to co znajduję to nie dałoby to dobrej opinii szczerze mówiąc. Jestem ogromnym hejterem autogenerowanych kawałków kodu - moim zdaniem nie powinny być one oczywiste z wyjątkiem może jakiegoś buildera czy czegoś takiego - tutaj taki autogenerowany kawałek jest co chwilę. Rozwalone formatowanie też nie daje jakiegoś dobrego wrażenia - to są takie rzeczy które bardzo bardzo łatwo zautomatyzować (albo autoformatowaniem którego nie polecam albo jakimś lekkim checkstylem - ja zwykle stosuję tylko nieużywane importy, konwencje nazewnicze, indenty, kilka pustych linii obok siebie i trailing whitespace. Coś do budowania musisz skonfigurować - czy maven, czy gradle - wszystko jedno. Byle nie ant bo to nie 2005 rok. Dorzuć też README bezpośrednio na githubie.

Ale ja zawsze używam Mavena. I to od dawna. Skąd wniosek, że go nie używam?
A autogenerowane mam tylko testy i ew. hashcode...

0
Fantazjatyk napisał(a):

A autogenerowane mam tylko testy i ew. hashcode...

  1. Potrafisz wrzucić na githuba tonę kodu. Ile jest commitów, jak wrzucałeś funkcjonalności? Branchowanie i łączenie. Omów historię projektu, co było tak, co na nie, co wynikło z czego itd.
  2. O TDD piszesz, że znasz koncepcję. Nieprawda, nie masz o tym nawet minimum pojęcia. EOT
  3. Wiesz jaki jest i powinien być kontrakt między hashcoe, equals, omparable i komparatorami? Jak to się ma do kolekcji hash i nie-hash'owych? Co dostaniesz z automatu, co robisz ręcznie? W twoim ulubionym IDE są opcje kreatora do generowania takiego kodu. Coś na ten temat?

Nie wpuszczą cię do backendowego projektu bo gdy masz podstawowej wiedzy. Nie wspomożesz, narobisz bałaganu.
LBNL z twoich postów jasno widać jak łatwo wpadasz w irytację.

Chylińska, Foremniak, Wojewódzki 3 razy NIE. Zapraszamy na scenę następnego

0

Poprawiłem CV.

  • rozpisałem moją znajomość Springa na moduły.
  • dodałem wersje
  • zmniejszyłem interlinię
  • dodałem Thymeleaf
  • zmodyfikowałem wypunktowanie.

Co o tym sądzicie?

PS. Na bieżąco usuwam też te śmierdziele z kodów źródłowych.

2

hmn, nie znam javy, ale pierwsze co jest dosyć znacznie widoczne to brzydkie baboki w kodzie strony:

screenshot-20170831113530.png

oczywiście czaje, startujesz bardziej w back, no ale jest to prosta stronka z dwoma divami, więc wypada się przyłożyć
mniejszy minus to używasz do tych dwóch divów jquery/jquery ui/bootstrap co powoduje, że 90% zasobów to biblioteki/skrypty, a zaledwie kilka bajtów to rzeczywista treść strony, trochę średnie, ale bez dramatu
sam layout trochę surowy, oszczędny, może popatrz na material design, byłby akuratny jak dla mnie (pamiętaj, że HaeRy w firmach to wzrokowcy jednak)
jak na dwa latka to musisz nadgonić trochę aby się lepiej sprzedać

1

No po prostu nie ma zmiłuj. Frontendowcowi projekt githuba często może pomóc ale C/Java/Net backendowcowi amatorowi zawsze będzie ostatnim gwoździem do trumny.

1

A nie lepiej backendowcowi napisać RESTa w Springu i tyle? Najwyżej zrobić klienta w jakimś JavaFX

0
scibi92 napisał(a):

A nie lepiej backendowcowi napisać RESTa w Springu i tyle? Najwyżej zrobić klienta w jakimś JavaFX

Masz rację, tak powinienem zrobić. I tak raczej będę starał się robić w przyszłości ;)

0

Próbujesz, jak większość, iść w .Net albo w Javę bo duża kasa.
Pokazujesz w projektach na GH że core-java i pisanie czystego kodu, tdd, to u ciebie leży i kwiczy, za to skupiasz się, przy aktywnej pomocy ludzi z forum, na robieniu tego co oni w PHP, JS, HTMLS i CSS ale z użyciem tej nieszczęsnej Javy jako narzędzia do webu.

Uderzasz do firm na stanowiska na które nie masz nie tylko doświadczenia, umiejętności, ale kodem pokazujesz, że ta technologia backendu tak naptrawdę ci nie leży.

Gdy w końcu jednak zostaniesz zaproszony na rozmowę to spodziewaj się pytania w rodzaju, jak pan sobie wyobraża codzienną pracę i co pan chciałby w niej robić.

Tematy poruszasz jak na przykład Interlinia w cv, div w htmlu, javafx, webowa gierka, thymeleaf ale cv wysyłasz pewnie może nawet o tym nie wiedząc do korporacji które chcą backendowca a nie fullstacka z pojęciam o jakiejś technologii backendowej.

Pokazali ci dokładnie że piszesz amatorski brudny kod i to cię dyskwalifikuje w korpo-projektach.
Zamiast protezy thymeleaf idź w JS i pokrewne bo to ci bardziej pasuje i wymagania na starcie są dużo niższe.

0
Full Pointer napisał(a):

Próbujesz, jak większość, iść w .Net albo w Javę bo duża kasa.
Pokazujesz w projektach na GH że core-java i pisanie czystego kodu, tdd, to u ciebie leży i kwiczy, za to skupiasz się, przy aktywnej pomocy ludzi z forum, na robieniu tego co oni w PHP, JS, HTMLS i CSS ale z użyciem tej nieszczęsnej Javy jako narzędzia do webu.

Uderzasz do firm na stanowiska na które nie masz nie tylko doświadczenia, umiejętności, ale kodem pokazujesz, że ta technologia backendu tak naptrawdę ci nie leży.

Gdy w końcu jednak zostaniesz zaproszony na rozmowę to spodziewaj się pytania w rodzaju, jak pan sobie wyobraża codzienną pracę i co pan chciałby w niej robić.

Tematy poruszasz jak na przykład Interlinia w cv, div w htmlu, javafx, webowa gierka, thymeleaf ale cv wysyłasz pewnie może nawet o tym nie wiedząc do korporacji które chcą backendowca a nie fullstacka z pojęciam o jakiejś technologii backendowej.

Pokazali ci dokładnie że piszesz amatorski brudny kod i to cię dyskwalifikuje w korpo-projektach.
Zamiast protezy thymeleaf idź w JS i pokrewne bo to ci bardziej pasuje i wymagania na starcie są dużo niższe.

Dzięki za radę! ;) Szkoda, że nie wszyscy są takim altruistami...

PS. Prosiłbym o nie ocenianie mnie; naprawdę mam gdzieś co piszą o mnie jakieś anonimy. Wolałbym poczytać coś konkretnego i konstruktywnego na temat mojego CV i ewentualnie kodów źródłowych - czyli tak jak już wyżej zaznaczyłem.

7
Full Pointer napisał(a):

Pokazali ci dokładnie że piszesz amatorski brudny kod i to cię dyskwalifikuje w korpo-projektach.

Chyba wręcz przeciwnie, wszakże w takich projektach innego kodu nie ma.

0

W ogóle nigdzie innego kodu nie ma. Wszędzie gdzie się nie ruszysz, brudny kod. Czy to w małej firmie januszsoft, czy w wielkiej korporacji. Co robić jak żyć?

0

Iść tam, gdzie nie ma architektów, seniorów ze stażem < 3 lata i gdzie ludzie biznesu rozumieją, że lepiej jeśli dadzą nam wykarczować dług technologiczny teraz niż czekać do czasu, gdy nie będzie w ogóle się dało go usunąć.

2

@Fantazjatyk:

Masz rację, nie warto się spinać się opiniami innych, w przypadku gdy są one "bez treści". Słaby kod jest w wielu firmach, najważniejsze, że coś próbujesz, i z czasem będziesz nabierał umiejętności pisania lepszego kodu. Tak, na szybko moje uwagi.

  • Co do samego kodu, nie chcę się wypowiadać, bo w Javie nie piszę, ale przeglądając pobieżnie GitHuba brakuje mi krótkich komentarzy, jednego zdania na temat co robi dana klasa, czy ważniejsza metoda. Pozwoliłoby to szybciej rozeznać się w architekturze.

  • tictactoe - jak się kończy grę, trzeba wcisnąć Exit i ponownie wybrać opcję single/multi, z deka to jest trochę irytujące :)

  • tictactoe - masz anglojęzyczne menu, ale "remis" po polsku.

  • CV - naprawdę znasz Javę SE na poziomie bardzo dobrym? Aplikujesz na juniora? Dla mnie bardzo dobry, to osoba która używa danej technologii na poziomie architekta. Na Twoim miejscu używałbym "good". No chyba że naprawdę czujesz się tak mocny, aby na rozmowie kwalifikacyjnej odpowiadać pod kątem "very good" :)

  • CV - nie pisałbym od kiedy uczę się danej technologii, ktoś może się uczyć 5 lat poświęcając na naukę tylko jeden dzień w tygodniu, a ktoś pół roku, ale codziennie :) Bez doświadczenia komercyjnego, to projekty są Twoją wizytówką.

4

@Mały Szczur jeśli piszesz taki kod że bez komentarzy nie wiadomo "co robi dana klasa/metoda" to nie wiem czy powinieneś dawać tu komuś jakiekolwiek rady ;)

1

@Shalom:

Tak z ciekawości spojrzałem na kilka pierwszych lepszych plików z kernela Linuksa, i zgadnij są krótkie komentarze, czy też ich nie ma? :)

Z większych javowych projektów na Githubie kojarzę Onosa, i to samo :)

4

A czy ja mówie że komentarze są złe? Ja mówie że jeśli w komentarzu opisujesz CO kod robi, a nie np. JAK albo DLACZEGO, to robisz syf w projekcie, bo nikt tych komentarzy poprawiać nie bedzie a kod się zmieni. Kod ma być napisany tak żeby dało sie go czytać bez dodatkowych wyjaśnień. Nazywanie zmiennych, dzielenie na poziomy abstrakcji, wydzielanie małych specjalizowanych fragmentów kodu, stosowanie własnych struktur danych z sensownymi nazwami itd.
Zresztą to że ktoś gdzieśtam tak robi nie znaczy że ma to sens. Ot klasyczne cargo cult. Jak masz metodę
<T> T extractSecretData(DataSource source)
i napiszesz komentarz This method extracts secret data from given datasource to myślisz ze ma jakąkolwiek wartość dodaną?

1

Przepraszam, ale czepiasz się. Myślałem, że wzmianka o komentarzach jest klarowna. Nie zrozumiałeś mnie, a ja ze swojej strony może również nie wyraziłem się zbyt jasno. To, że podany przez Ciebie komentarz powyżej jest bezsensu to przecież oczywiste, ale w tym momencie robisz z tego akademicką dyskusję.

Nie ma sensu ciągnąć tego tematu.

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