Czy warto przejść z Javy na C++?

Czy warto przejść z Javy na C++?
C3
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad rok
  • Postów:38
0

Witajcie,

Pewien rekruter napisał na LinkedIn, że na stanowisko Junior Java Developer dostał ponad 1000 CV. Rynek został zapchany na amen. Ktoś bez komercyjnego doświadczenia ma nikłe szanse na wejście do branży.

Czy w związku z powyższym warto uczyć się C++? Jakby jest trochę mniej juniorów. Może będzie łatwiej się dostać? Może zaproponujecie jakąś alternatywę lub ciekawy plan działania? Tylko nie mówcie o Pythonie.

Pozdrawiam,
Commander300

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
3

Najlepsze i obecnie jedyne (nie licząc Nokia Academy) rozwiązanie to przyjęcie oferty w tym co się miało na stażu na studiach.
Inne opcje są "zapchane na amen"


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
Zobacz pozostałe 16 komentarzy
lambdadziara
a co mieli robic BraVolt
BraVolt
Też napisz test, przejdź rozmowy techniczne. Tyle
lambdadziara
trzeba najpierw zostac zaproszonym na test.
BraVolt
Nie wiem dlaczego zapraszają/nie-zapraszają ale jak sama widzisz, z 'potrfolio githubów' nawet na test nie zapraszają.
lambdadziara
moze trzeba byc z agh/uj, zeby zaprosili na testy
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:3 minuty
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
9

IMO z punktu widzenia pracy C++ to bardzo zły pomysł, ten rynek jest jeszcze mniejszy i raczej nie ma już świetlanej przyszłości. Nie umrze, ale rok 2021 to raczej nie będzie rok C++.
Nie lepiej zainteresować się czymś w stylu?:

  • kotlin - jak już trochę znasz javę to łatwo wejść,
  • scala (tu dużo nauki),
  • typescript/nodejs (chociaż pewnie tak samo zapchany jak java)
  • go (obecnie nie cierpie tego języka, ale to znak, że się raczej przyjmie i będzie rządził).

IMO zostań przy tej javie, tylko zamiast uczyć się nowych języków zrób jakiś system, który działa od a do z i pokazuj jako doświadczenie.
(kopiowanie TODO mvc czy book store to zły pomysł. Zrób coś innego np. serwis generator wymówek, dlaczego dzisiaj nie.... Z personalizowanymi wymówkami i gwarancją 100 niepowtarzalnych wymówek,po jednej na każdy dzień. Excuse as a service.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 3x, ostatnio: jarekr000000
C3
Mocny post. Dzięki za konstruktywne rady!
C3
Domniemam, że mam Twoje dwa kursy z Helionu. Są eleganckie. Jeśli mogę doradzić - Zrób proszę kurs dla juniorów, by potrafili zrobić indywidualne, ciekawe serwisy. Sprzeda się to extra zwłaszcza, że masz dobrego skilla jako nauczyciel.
PO
@jarekr000000: a tak z ciekawości dlaczego nie cierpisz go?
jarekr000000
bo złapałem się na marketing i wpisałem się niechcący w projekt w go - mega rozczarowanie. (nawet po javie). Szybko uciekłem. Ja rozumiem nawet sens tego języka i że można w nim pisać, ale po pisaniu w javie to jednak była dla mnie mordęga. A java to nie jest bardzo ergonomiczny i nowoczesny język.
PO
@jarekr000000: jasne jasne rozumiem, ale można więcej konkretów? W sensie np. nie wiem obsługa errorów jest daremna? Pytam ponieważ na co dzień siedzę w javie i póki co jestem na etapie "złapania się na marketing" go.
jarekr000000
Nie chce mi się spuszczać po raz kolejny nad go - poczytaj krytykę w google. Nic swojego nie mam do dodania. Najbardziej to, że go nic specjalnego, z punktu widzenia javowca nie wnosi (jako język), a cofa mocno. go coś tam wnosi z punktu widzenia programisty C albo bash
Korges
@jarekr000000 Kotlin/scala, myślisz że przyjmą tam juniora z 0 expem? Mnie się od zawsze wydawało że najpierw trzeba wystartować w Javie żeby mieć jakikolwiek podjazd.
jarekr000000
@Korges jak będzie rekrutował mój wujek to będę mógł odpowiedzieć na to pytanie. Trzeba pamiętać, że w przypadku Scali - znajomość javy jest trochę skillem ujemnym, gwarantuje że trzeba będzie posadzić kogoś do wsparcia i przepisywania Scavy na Scale. W kotlinie ten problem nie jest jeszcze tak widoczny... ale mam nadzieję, że kotlin mainstreamowy oddali się od javy ( i wtedy powstaną specjalne bootcampy z zapominania javy).
Charles_Ray
Cassandre już przepisali (oni w sensie inżynierowie ze ScyllaDb) na C++, czekam na Kafke i Presto ;)
purrll
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Kuala Lumpur
  • Postów:241
5

Odpiszę tutaj, bo pisanie w komentarzu to zły pomysł.

purrll napisał(a):

Napisz coś spektakularnego w tej swojej Javie i wtedy przepchniesz się przez stado bez problemu. Robisz kozak projekt. Share kodu na git. Namierzasz kilku rekruterów i oni działają. Gwarantuję, że na Twoją korzyść. Pod warunkiem, że nie zrobisz kolejnej kupo aplikacji.

necioo napisał(a):

@purrll na przykład jaką?

@necioo:
Co prawda w Javie w życiu bym tego nie pisał ale jakbym miał komuś proponować to najlepszym pomysłem jest wzięcie jednego z już istniejących i próba napisania samemu. Przykład: prosta kopia Ranchera. Jest okazja na zrobienie projektu full-stack. Gwarantuję Ci, że będziesz jedynym, który zrobi coś takiego. Nie musi zawierać wszystkiego co Rancher. Niech ma tylko najprostsze rzeczy np. samo proste monitorowanie klastra k8s albo k3s, microk8s.

Zły pomysł? Automatyzer jakiegoś zadania na wzór innego automatyzera. Banalna kopia Ansible. Własny silnik do odpalania własnych playbooków na serwerze zdalnie. Czyli interpreter yaml, który na przykład odczytuje Ci z Twojego dysku schemat i wykonuje to wszystko opierając się o polecenia terminalowe na zdalnej maszynie. Zrobić tylko jeden moduł na przykład do zarządzania userami - useradd, usermod, userdel i jakieś 2-3 wybrane opcje.
Ale zamiast CLI zrobić to z GUI z przeglądarki jak już ktoś topornie się trzyma tego weba i Springa.

Pomysłów można mieć setki. Wystarczy chcieć i pomyśleć. Albo wymyśl coś czego może jeszcze nie ma, a Twoim zdaniem mogłoby się przydać nawet ograniczonej grupie odbiorców. Podałem dwa przykłady na większy projekt jak na jednoosobowy. I jednocześnie daję gwarancję, że żaden wannabe nie napisze czegoś takiego. Jak mądrze zbudujesz do tego swoje CV i wpleciesz tam ten projekt to posadę juniorską masz od ręki i to w niejednej firmie.


jarekr000000
Potwierdzam. Zrobienie czegokolwiek działającego nawet jak nie ma specjalnego sensu biznesowego to duży plus. Zwłaszcza jak jest to coś co można chociaż przez 30 sekund potestować. Źle jest jedynie robić kopie typowych ćwiczeń - to ma co któryś Junior.
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1

Nokia, EPAM, Motorola, CapeGemini i pewnie jeszcze parę innych dużych korporacji zapewne niedługo wróci do masowych (xxx-dziesiąt ludzi na raz) organizowania szkoleń i przyjmowania do pracy. Tak było aż do momentu covid-lockdown.

Jak chcesz na poważnie to celuj w taki program po którym zatrudniają na raz małe tłumy pracowników, ja teraz to będzie robić Nokia. I nie daj się wkręcać jajcarzom w "rób swoje cool projekty".
Idziesz do programu, zdajesz teorię (nie pokazujesz projektów bo one nikogo nie interesują poza januszami small-biznesu), robisz szkolenie, dostajesz pracę w dużej firmie. EOT


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
plx211
to o projektach jest przykre, ale prawdziwe
Schadoow
  • Rejestracja:około 13 lat
  • Ostatnio:37 minut
  • Postów:1061
2

Jak masz wolny czas to zrobienie certyfikatu z Google Cloud/Azure/AWS moim zdaniem jest też dobrym pomysłem. Azure ma chyba najlepiej przygotowany darmową ścieżkę edukacyjną. Te najniższe certyfikaty za dużo nie dają ale ten najniższy z AWS czy Azura to poniżej tygodnia ogarniesz.

edytowany 1x, ostatnio: Schadoow
rgawron
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:Cannes
  • Postów:67
2

IMHO nie warto (ale sam piszę w C++), bo to:

  • embedded, jeśli nie interesuje Cię elektronika (oscyloskopy, PCB i takie tam), to będzie Cię to nużyć (mi się podoba)
  • gamedev - AFAIK mnóstwo, mnóstwo nadgodzin
  • jakieś serwisy streemingowe, backend i takie tam, ogólnie maintenance.

Ofert jest mało a stawka niższa niż na takiego Java coś tam, na plus jest że embedded jest IMHO bardzo ciekawy.


edytowany 1x, ostatnio: rgawron
Zobacz pozostałe 5 komentarzy
rgawron
@Schadoow: racja, stawka jest bardzo ok :)
purrll
@rgawron: Box to dysk online na pliki. Pewnie ich aplikacja desktopowa albo coś w ekosystemie.
cerrato
Trochę dziwne jest w tym ogłoszeniu, żę startują za ponad rok - Start 2021-12-01
Schadoow
@cerrato: Może najstarszemu majstrowi zostało tam tyle do emerytury i już zaczeli szukać zastępstwa ;p.
purrll
@cerrato: Badają po prostu teren pod kątem ludzi. Jak złapią odpowiednią ilość to odpalą biuro i tyle. Lepiej tak niż odpalić biuro, a dopiero potem szukać ludzi ;-)
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
2

Nie warto. Przynajmniej dzisiaj nie ma żadnych ciekawie płatnych ofert na indeed ani na nofluffjobs.
Język sam w sobie (zwłaszcza w wersji C++20) może nie jest najgorszy, ale rynek pracy raczej nie powala.
Może @katelx ma na ten temat inne zdanie, ale ona robi w specyficznej branży.

Co do samej Javy to niestety ale może nastąpić wkrótce załamanie rynku - coraz częściej spotykam się z ludźmi w Javie którzy programują od 2-3 lat a wcześniej pracowali w dowolnie oddalonym od IT zawodzie. To się musi odbić na wysokości dostępnych zarobków - przynajmniej w zakresie juniorskim.

Jeśli chodzi o alternatywy wypisane przez @jarekr000000 to:

  • kotlin - to głównie mobile, ofert na indeed w 3city: 10
  • scala - język z długą historią ale niewielkim rynkiem, w 3city 19 ofert
  • typescript/nodejs - może być ciekawie, ale to praca bardzo dynamiczna (frejmłork goni frejmołwk), ofert w 3city: 78
  • go - to głównie praca devops, może z czasem się to zmieni, ofert w 3city: 11..17 zależnie od nazwy języka

Liczba ofert w całej Polsce (x developer):

  • Java: 2187
  • Python: 1043
  • TypeScript: 945
  • C++: 431
  • R: 416
  • Go: 363
  • Kotlin: 265
  • Scala: 202
  • Bash: 199
  • Elixir: 29
  • Clojure: 23
  • Rust: 22
  • Erlang: 21
  • Haskell: 17
  • Delphi: 7
  • Fortran: 7
  • COBOL: 4
  • Elm: 3

I teraz pytanie zasadnicze: w jak wielkiej niszy chcesz pracować?
Jeśli się nawet nie zdecydujesz na zmianę, to myślę że warto się uczyć języków pomocnicznych:

  • SQL
  • Python
  • Bash
  • JS/TS
katelx
  • Rejestracja:prawie 10 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Hong Kong
5

~90% kandydatow javy nie umie, trzeba sie nie zniechecac i po prostu troszke wyjsc ponad srednia :)
jakos ciezko mi sobie wyobrazic zeby ktos kto nie jest w stanie ogarnac javy na entry level mial sie wybic w c++.
oczywiscie wszystko jest mozliwe, swiat jest wielki, kto wie itd, ale tak ogolnie to mozna przyjac ze w biznesie nie robi sie nowych systemow w c++, maintenance i rozbudowa starych to glownie kod z ubieglego wieku.
nie na co sluchac bredni ktore w tego typu dyskusjach przytaczaja "znawcy" t.j. mityczne silniki do gier, systemy operacyjne czy hft. w tych wypadkach featuresy c++ na ktorych nauce spedza sie lata sa uzywane sporadycznie, za to bardzo liczy sie wiedza o architekturze docelowych komputerow, algorytmice i swiadomym omijaniu dobrych praktyk gdy zaistnieje taka potrzeba, to wszystko to nie jest zajecie dla dev15k wannabes

Zobacz pozostałe 4 komentarze
Escanor16
a w jakiej "specyficznej braży pracujesz"?
katelx
pracuje w finansach jako quant dev
SoOsick
hk java quant - pracowalas dla 2s?
katelx
@HolyC: dla mnie? c++ jest obiektywnie zly i trudny. co do alternatyw https://lmgtfy.app/?q=c%2B%2B+alternative :) @SoOsick: nie bezposrednio, ale na ta chwile tworze serwis przez ktory 2s i inne HF ciagna dane
purrll
@HolyC: Alternatywą dla C++ jest oczywiście C.
SH
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:82
3

To, że jest 1000 CV oznacza tylko, że 1000 ludzi chciałoby być programistami.

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
1
vpiotr napisał(a):

Liczba ofert w całej Polsce (x developer):

  • Java: 2187
    [..........]
  • Fortran: 7
  • COBOL: 4
  • Elm: 3

JavaScript: 0

To znaczy, że znowu w wyszukiwaniu nie rozróżnia się Java i JavaScript i Java(Script) przegoniła ich kiełbasę
A już chyba każdy junior recruiter it na LinkedIn chwali się, że odróżnia JavaScript i Java

Znakomity Marek Kondrat
https://bit.ly/3kSI4VM


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
vpiotr
Szczerze mowiac to nie wiem czego dotyczy ten post. Jesli kogos urazilem nie wspominajac o jego ulubionym jezyku to...trudno.
BraVolt
że nie warto przykładać wagę do zgrubnych statystyk
Shalom
Dotyczy tego że liczby które przedstawiłeś nie mają JS, co sugeruje że twoja kategoria Java to w praktyce Java+JS ;)
JS
JS
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:63
3

Na Javę jest bardzo dużo chętnych to fakt, do mojej firmy mamy otwarte stanowisko na regulara +2 lata doświadczenia i spływają CV'ki osób, które mają te dwa lata doświadczenia praktycznie co tydzień, więc strach pomyśleć co się dzieje z Juniorami. Faktem jest to, że koronawirus zweryfikował rynek elegancko i wejście w branżę IT już nie jest takie proste jak parę lat temu. Sam pamiętam, jak sam szukałem pierwszej pracy jako Java Dev x lat temu to rynek już się "zapychał". Teraz kiedy firmy są dotknięte lockdownem, kryzysem, on-boarding, monitorning pracy, pomoc takiemu Juniorowi jest wręcz nieopłacalna, stąd tak mało stanowisk pracy i oblężenie jednego stanowiska. Jest ciężko i nie będę Cię manił, że rób, pracuj, składaj CV wszędzie i "na pewno kiedyś się dostaniesz". Na Twoim miejscu czekałbym, aż firmy zaczną odmrażać lockdown, zaczną znów masowo zatrudniać, tylko znowu nie wiadomo kiedy to będzie.

edytowany 6x, ostatnio: janek_sawicki
RequiredNickname
To nie covid zweryfikował rynek. O pracę na juniora było ciężko już 2 lata temu jak ktoś nie miał mocnego backgroundu w postaci chociaż bardzo szerokiej teorii.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)