Fórum Root.cz

Práce => Studium a uplatnění => Téma založeno: Rahot 09. 02. 2025, 20:50:42

Název: Uplatnění C++ jako samouk
Přispěvatel: Rahot 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: ogdru6jahad 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Rahot 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é.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: RDa 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: ogdru6jahad 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: snugar_i 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: tecka 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Karmelos 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: RDa 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Longin 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...
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Ladislav Zima 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Rahot 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...?
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Rahot 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: RDa 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: RDa 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.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: anonacct 14. 04. 2025, 21:18:45
Já bych doporučil Rust a golang. Ne že bych tyto jazyky měl nějak rád, ale je tam hype a firmy hledají pro tyto jazyky vývojáře, takže tak nějak vytěžit z toho hype něco a nechat si to zaplatit :) S C++ se nikomu nezavděčíš, co team to jiná kultura, jiné omezení, jiný formatting, všechno jiné a hodně těžké se začlenit do nějakého sehraného teamu abys je nezdržoval.

Jeětě bych k tomu dodal to, že jsem dělal v C++ různé projekty, od teamu 2 lidí do desítek. A problém je ten, že i když jsme byli na projekt jen 2, tak jsme se nedokázali domluvit kde exceptions a kde už ne... To je bohužel realita ve světě C++.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: alex6bbc 14. 04. 2025, 22:50:08
ja mam o neco radsi golang protoze vychazi z c, i kdyz uplne nemam rad garbage collector.
rust je zajimavy, ale na c++ uz jsem si zvykl.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: Martin Stransky 15. 04. 2025, 09:29:59
Doporucil bych najit si nejaky open-source projekt, ktery sam pouzivate. Pokud pouzivate Linux, mate na pul vyhrano. Stahnout si zdrojaky, podivat se dovnitr, prelozit si to, podivat se jake jsou na to otevrene bugy, pokusit se to opravit.

U naproste vetsiny projektu budou radi, pokud se zapojite, poslete patch, navrhnete reseni nejakeho problemu. Neni nutne hned prijit s hotovym patchem, casto se staci zeptat. Popr. projekty mivaji i "first good bug" pro zacatecniky.

Napr. pro Firefox jsem sepisoval tuhle stranku: https://mastransky.wordpress.com/2023/07/04/no-one-fights-alone-a-guide-to-your-first-firefox-patch-on-linux/

Co se tyce znalosti o programovani, pro zacatek staci zakladni znalosti a aspon nejak rozumet kodu, pokud to je dobry projekt tak se na patchy dela review a postupne se doucite.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: peete 16. 04. 2025, 19:38:58
K otazce "je zajem o juniory"? Odpoved: neni, ale to hlavne v tom co dela kazdy a co se uci vsichni (Python, Java, React). C++ zase neumi kazdy, mozna je to tam uplne jine, ale nevim, pohybuju se ve svete jinych jazyku.
Název: Re:Uplatnění C++ jako samouk
Přispěvatel: jdsulin 17. 04. 2025, 20:04:35
Ja bych te spis od C++ a to rikam jako C++ programator spise odrazoval. Tim, ze je to stare jako prase a lepi se na to hodne modernich veci, tak to ne vzdy je uplne idealni a kvuli tomu, ze je strasna spousta zpusobu, jak v tom programovat a castokrat nevis treba kdo je majitelem objektu a spousta veci je potreba resit dokumentaci nebo nahledem do kodu. Kazdy projekt ma trochu jinou stabni kulturu.

Co je za me obrovska vyhoda je, ze mas docela svobodu jak veci delat a castokrat, kdyz mas opensource knihovnu a tech je napsanych v C/C++ hodne, tak se muzes podivat a zmenit, co to dela. To muzes i v jinem jazyku, ale casto to konci volanim nejake C/C++ knihovny. Ale na juniora strasny opruz, zvlast kdyz ctes kod po nejakem silenci.

Za me je to navic strasne komplikovane, taky bych se nenaucil strojarnu nebo hrat ma saxofon i za 10 let bych to stejne poradne neumel.