Uplatnění C++ jako samouk

Uplatnění C++ jako samouk
« kdy: 09. 02. 2025, 20:50:42 »
Zdravím,

chci se zeptat jak je to dneska s uplatněním juniorů a vlastně i obecně C++ vývojářů. Pracuji 2 roky jako SW tester a o vývoj se už taky nějakou dobu zajímám. Podařilo se mi přijít o mnoho iluzí a naopak mám i dobrou představu, co taková práce obnáší.

Zajímám se jak o teoretickou informatiku, tak i o více praktické věci jako je grafika, renderování apod a taky mám rozdělaný vlastní grafický engine. Neženu se do programování s představou snadného výdělku, ale spíš z prostého nadšení. Na druhou stranu mi přijde škoda si doma zadarmo bastlit projekt na githubu, na který se nikdo nikdy nepodívá a aspoň to nezkusit jít dělat profesionálně.

Zpět k otázce. Jak bych se mohl v ČR uplatnit se C++ developer. V první řadě je asi největší poptávka po Embedded vývojářích, ale přiznám se, že to není úplně pro mě a vlastně mi to ani nešlo. Našel jsem samozřejmě i několik projektů s výpočtově náročnými desktopovými aplikacemi, jako jsou různé CADy, letecké systémy apod. Bohužel jich není zas tolik a shánějí převážně zkušené lidi. Dále jsem zaznamenal nabídky týkající se zpracování obrazu, to by mohlo být něco pro mě, ale nevím, jestli to už není moc velké soustu na učení po večerech.

Pak je to samozřejmě problém s tím, jestli je o samouky a juniory obecně vůbec zájem. Přijde mi, že "junior" dnes znamená 2 roky prokazatelné praxe.

Díky za odpovědi a podněty.


Re:Uplatnění C++ jako samouk
« Odpověď #1 kdy: 09. 02. 2025, 21:45:23 »
ja jsem pred 20 lety zmenil technickou orientaci a dal jsem se na programovani c, c++ atd.
takze je to o inteligenci, motivaci a stesti.
pokud jsi tester tak popros treba kolegu/kamarada, aby te dostal do programovani.

ja mam dost rutinni a maintenance praci co me zivi a tak pro zabavu delam kratsi zabavnejsi ulohy na upwork.com,
takze pokud by te nechteli jako juniora hned nekdo nabrat, tak muzes udelat neco jako freelancer a ziskas tak praxi pro normalni praci a pohovory.

technicky by bylo fajn se naucit syrove c, pak stare c++98 a rozhodne taky moderni c++11, 17, 20 kde jsou nove myslenky jako move, lambda, moduly, coroutiny atd. atd.
pointery, makra, templaty v c++, pravidla 3,5,7.

mi uz po tech letech pripada c++ a rust jako obludarium a vracim se spis k puvodnimu c a golangu.

budes potrebovat kompilery, git, buildovaci nastroje make/cmake, visual studio, nebo jine ide, debuggery.
« Poslední změna: 09. 02. 2025, 21:49:19 od ogdru6jahad »

Re:Uplatnění C++ jako samouk
« Odpověď #2 kdy: 09. 02. 2025, 22:32:13 »
@ogdru6jahad díky, ještě jsem zapomněl doplnit, že bych si chtěl rozšířit praxi na opensource projektech, ale to mi zatím přišlo moc náročné.

RDa

  • *****
  • 2 851
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #3 kdy: 09. 02. 2025, 22:56:02 »
mi uz po tech letech pripada c++ a rust jako obludarium a vracim se spis k puvodnimu c a golangu.

To ale neni jazyke/nastrojem, ale tim jak ho kdo pouziva. I moderni C++ muzete pouzivat jednoduse, viz treba Arduino, ktere jede C++, ale v minimalistickem stylu - vlastnosti tam pomahaji udrzovat urcitou kulturu.

Sam jsem zastance cisteho C (tedy.. ponekud vylestenho skrze preprocesor), ale prave zvazuji zda nove casti nezacnu psat v nejake prehledneji organizovatelne C++ forme (zapouzdreni, namespaces). Z pohledu textu a organizace to je jasna volba, ale protoze delam dost veci jako cross, tak ciste C je lehce vyuzitelne na jinem OS nebo skrze import/binding do jineho jazyka.. u C++ zatim nevim jak tyhle low level compatiblity veci chodi.

Re:Uplatnění C++ jako samouk
« Odpověď #4 kdy: 09. 02. 2025, 22:59:09 »
mi uz po tech letech pripada c++ a rust jako obludarium a vracim se spis k puvodnimu c a golangu.

To ale neni jazyke/nastrojem, ale tim jak ho kdo pouziva. I moderni C++ muzete pouzivat jednoduse, viz treba Arduino, ktere jede C++, ale v minimalistickem stylu - vlastnosti tam pomahaji udrzovat urcitou kulturu.

Sam jsem zastance cisteho C (tedy.. ponekud vylestenho skrze preprocesor), ale prave zvazuji zda nove casti nezacnu psat v nejake prehledneji organizovatelne C++ forme (zapouzdreni, namespaces). Z pohledu textu a organizace to je jasna volba, ale protoze delam dost veci jako cross, tak ciste C je lehce vyuzitelne na jinem OS nebo skrze import/binding do jineho jazyka.. u C++ zatim nevim jak tyhle low level compatiblity veci chodi.

spis poradte zacatecnikovi cemu ma venovat energii.
ja bych mu doporucil vice runych jazyku a knihoven.


Re:Uplatnění C++ jako samouk
« Odpověď #5 kdy: 10. 02. 2025, 06:23:51 »
Taky je v ČR pár firem, co dělají hry (Warhorse, Bohemia Interactive, ...) - to by pro tebe taky mohla být zajímavá oblast.

tecka

  • ***
  • 164
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #6 kdy: 10. 02. 2025, 11:42:46 »
Obecně zájem je, ale co čekáš, že se tady dozvíš a co s tím budeš dělat?
@ogdru6jahad díky, ještě jsem zapomněl doplnit, že bych si chtěl rozšířit praxi na opensource projektech, ale to mi zatím přišlo moc náročné.
Takže neumíš nic. Tak si po večerech čti a zkoušej a buď se v tom najdeš nebo ne. A když jo, tak dál to půjde samo.

Karmelos

  • *****
  • 1 128
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #7 kdy: 10. 02. 2025, 11:57:51 »
Nejlepší se někde nechat najmout jako úplný junior za padesát hrubase a nechat se vyškolit a za dva tři roky jít jako junior se zkušenostma jinam za lepší prachy.
Gréta je nejlepší.

RDa

  • *****
  • 2 851
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #8 kdy: 10. 02. 2025, 13:08:45 »
spis poradte zacatecnikovi cemu ma venovat energii.
ja bych mu doporucil vice runych jazyku a knihoven.

... Dále jsem zaznamenal nabídky týkající se zpracování obrazu, to by mohlo být něco pro mě, ale nevím, jestli to už není moc velké soustu na učení po večerech. ...

Tak zde treba mame prekryv, protoze delam kamerove veci, machive vision a jine zpracovani obrazu, kodeky, atd - ale pokazde kdyz do toho delal nekdo jinej nez ja, tak to proste nejak uplacal aby bylo - a nemelo to zadnou stabni kulturu. A nevim zda hleda inspiraci typu "dejte mi vyherni cisla pro jackpot", nebo nabizi svou dusi dablu za staz - aby znova mohl utect nekam kde bude lepe nez v nasem pekle. Takze je to tezke s temi lidma - co jedou jen po svem vydelku.

Obecne vzato - kdyz nekdo nevi co ma delat, tak to je hodne marny uz z principu.

Longin

  • ***
  • 157
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #9 kdy: 10. 02. 2025, 14:02:34 »
spis poradte zacatecnikovi cemu ma venovat energii.
ja bych mu doporucil vice runych jazyku a knihoven.

... Dále jsem zaznamenal nabídky týkající se zpracování obrazu, to by mohlo být něco pro mě, ale nevím, jestli to už není moc velké soustu na učení po večerech. ...

Tak zde treba mame prekryv, protoze delam kamerove veci, machive vision a jine zpracovani obrazu, kodeky, atd - ale pokazde kdyz do toho delal nekdo jinej nez ja, tak to proste nejak uplacal aby bylo - a nemelo to zadnou stabni kulturu. A nevim zda hleda inspiraci typu "dejte mi vyherni cisla pro jackpot", nebo nabizi svou dusi dablu za staz - aby znova mohl utect nekam kde bude lepe nez v nasem pekle. Takze je to tezke s temi lidma - co jedou jen po svem vydelku.

Obecne vzato - kdyz nekdo nevi co ma delat, tak to je hodne marny uz z principu.

ono taky jak se chces naucit veci kolem zpracovani obrazu nebo jenom signalu, kdyz nemas adekvatni matematicky aparat? Tohle jsou zrovna veci kolem matematiky, ktere je ok se naucit na skole (konkretne na VS), pak uz je to jenom tezke...

Re:Uplatnění C++ jako samouk
« Odpověď #10 kdy: 10. 02. 2025, 14:16:08 »
Jak už tu bylo řečeno, C++ se v Česku používá např. na ty AAA hry. Používá se i na různé velké programy z dob, kdy lepší alternativy moc neexistovaly, resp. nebyly ještě zavedené. Tyto projekty ale zvládá udržovat stávající parta vývojářů a bylo by komplikované do legacy kódu zaučovat juniora. Mimochodem např. v našem CAD/CAM software se výpočty FEM (konečných prvků) nedělají v C++. V tom by to bylo i dost složité plně optimalizovat - potřeboval bys hardcore C++kaře, kdežto takto nám ty výpočty napíšou matematici a my je jen integrujeme.

> technicky by bylo fajn se naucit syrove c, pak stare c++98 a rozhodne taky moderni c++11, 17, 20 kde jsou nove myslenky jako move, lambda, moduly, coroutiny atd. atd. pointery, makra, templaty v c++, pravidla 3,5,7.

To by se pak učil prakticky několik jazyků. Některé verze dost překopaly, jak se co má dělat.

Re:Uplatnění C++ jako samouk
« Odpověď #11 kdy: 10. 02. 2025, 15:16:48 »
Jak už tu bylo řečeno, C++ se v Česku používá např. na ty AAA hry. Používá se i na různé velké programy z dob, kdy lepší alternativy moc neexistovaly, resp. nebyly ještě zavedené. Tyto projekty ale zvládá udržovat stávající parta vývojářů a bylo by komplikované do legacy kódu zaučovat juniora. Mimochodem např. v našem CAD/CAM software se výpočty FEM (konečných prvků) nedělají v C++. V tom by to bylo i dost složité plně optimalizovat - potřeboval bys hardcore C++kaře, kdežto takto nám ty výpočty napíšou matematici a my je jen integrujeme.

> technicky by bylo fajn se naucit syrove c, pak stare c++98 a rozhodne taky moderni c++11, 17, 20 kde jsou nove myslenky jako move, lambda, moduly, coroutiny atd. atd. pointery, makra, templaty v c++, pravidla 3,5,7.

To by se pak učil prakticky několik jazyků. Některé verze dost překopaly, jak se co má dělat.
Dobrý point, co byste doporučil jako alternativu, Rust, Kotlin...?

Re:Uplatnění C++ jako samouk
« Odpověď #12 kdy: 10. 02. 2025, 15:25:51 »
spis poradte zacatecnikovi cemu ma venovat energii.
ja bych mu doporucil vice runych jazyku a knihoven.

... Dále jsem zaznamenal nabídky týkající se zpracování obrazu, to by mohlo být něco pro mě, ale nevím, jestli to už není moc velké soustu na učení po večerech. ...

Tak zde treba mame prekryv, protoze delam kamerove veci, machive vision a jine zpracovani obrazu, kodeky, atd - ale pokazde kdyz do toho delal nekdo jinej nez ja, tak to proste nejak uplacal aby bylo - a nemelo to zadnou stabni kulturu. A nevim zda hleda inspiraci typu "dejte mi vyherni cisla pro jackpot", nebo nabizi svou dusi dablu za staz - aby znova mohl utect nekam kde bude lepe nez v nasem pekle. Takze je to tezke s temi lidma - co jedou jen po svem vydelku.

Obecne vzato - kdyz nekdo nevi co ma delat, tak to je hodne marny uz z principu.

ono taky jak se chces naucit veci kolem zpracovani obrazu nebo jenom signalu, kdyz nemas adekvatni matematicky aparat? Tohle jsou zrovna veci kolem matematiky, ktere je ok se naucit na skole (konkretne na VS), pak uz je to jenom tezke...
Studoval jsem strojařinu, úplně nevím, co je vše potřeba pro zpracování obrazu, ale co je Transformace nebo Tenzor vím.

RDa

  • *****
  • 2 851
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #13 kdy: 10. 02. 2025, 15:55:36 »
ono taky jak se chces naucit veci kolem zpracovani obrazu nebo jenom signalu, kdyz nemas adekvatni matematicky aparat? Tohle jsou zrovna veci kolem matematiky, ktere je ok se naucit na skole (konkretne na VS), pak uz je to jenom tezke...
Studoval jsem strojařinu, úplně nevím, co je vše potřeba pro zpracování obrazu, ale co je Transformace nebo Tenzor vím.

Z meho pohledu maji nekteri dost problem pochopit nativni/low level framebuffer - interleaved/planar formaty, adresaci konkretniho pixelu z pointru na buffer, a pojem pitch - bytesPerLine, pripadne eotf/oetf a celkove praci s barvama - to uz jsme pak zpet u te slozite teoreticke matematiky, pokud chceme delat veci spravne.

Bud je koder dobrej v lepeni knihoven a high level, nebo pri hrani si s bitama, oboji se nevidi. A ten kdo jede ten vrsek, casto nechape nutnost architektonickych optimalizaci.. a mysli si ze to lepe nejde, je treba lepsi zelezo.

RDa

  • *****
  • 2 851
    • Zobrazit profil
    • E-mail
Re:Uplatnění C++ jako samouk
« Odpověď #14 kdy: 10. 02. 2025, 16:43:35 »
Jinak rada: mel by jste se rozhodnout zda chcete byt dobry programator / C++ specialista, nebo dobry expert v nejake aplikacni oblasti.

Pro to prvni bych vyzadoval znalost vsech formalnich aspektu jazyka a zkusenost s dobrymi navrhovymi vzory, perfektni schopnost ladeni, znat co se jak prasi a jak by se melo delat lepe, a schopnost refaktoringu z vetsiho bastlu z historickeho dedictvi. Bez nejake vazby na specificky obor/aplikaci, ale jako zkusenost s urcitymi systemy uvadet navic muzete (treba nvidia ma ruzne specificke knihovny a maji casto wtf API pro nekoho kdo nezna jak to v ortodoxnim C++ chodi).

Pak lze rict, ze mate co nabidnout pro potencialni zamestanavatele - at uz na udrzbe nebo rozvoji jejich produktu.