Rady do začátku kariéry programátora

Re:Rady do začátku kariéry programátora
« Odpověď #15 kdy: 26. 07. 2021, 11:13:25 »
Dát půl mega do nějakého fajn podnikatelského nápadu může být dobrý nápad a může se to během pár let zúročit mnohem víc než 1000 procenty. Také to nemusí vyjít, ale ani půl mega utopených v ztroskotaném projektu ještě není úplně zničený život a člověk to postupně nějak splatí.

Ale budovat startup během studia na MFF? To bych se trochu bál, že zkrachuje i startup, i studium, případně i důvěra spolupracujících lidí. Totéž platí pro nějaké zaměstnání na částečný úvazek u firmy, která s tebou počítá na víc než pár měsíců dopředu.

Během svého studia na obdobně náročné škole jsem pozoroval období, kdy jsem měl trochu času nazbyt, a kdy se mi naopak času nedostávalo a byl jsem dost vyčerpaný a vystresovaný. Chci tedy varovat před optimismem z méně nabitého semestru, ten další může být masakr. Ale nevím, jak je dnes nálož studia rozplánována u vás.

Jiné téma je investovat do svého rozvoje. Cestovat za zkušenostmi se dnes dá levně, schopný student si dovede pořídit stipendium ve vysněné zemi a nemusí si půjčovat ani na občasné výlety (Erasmus, Fulbright, Erasmus-Leonardo pro přestárlé atp.).

Anebo studium na drahé soukromé škole, na západ od nás to bývá častý důvod k zadlužení, u nás (naštěstí?) to nepokládám za nutné s ohledem na docela kvalitní veřejné VŠ.
« Poslední změna: 26. 07. 2021, 11:18:53 od dominecf »


Re:Rady do začátku kariéry programátora
« Odpověď #16 kdy: 26. 07. 2021, 11:23:45 »
Pokud máš školu hodně na pohodu, poraď se na studijním, jestli by nešlo celý studijní plán "zhustit" - někdy se podaří z 3+3 roků bc+mgr studia udělat jenom 3+2. Vyžaduje to brzo plánovat; také přijmout ústupky ze zajímavých volitelných předmětů, pevné nervy a čtyři roky odhodlání. A štěstí. Může a nemusí to jít.

Když to vyjde, pak máš o rok dřív Mgr. a můžeš se pustit do svých projektů a snů, zakládání rodiny a/nebo bouchání kaček.

Re:Rady do začátku kariéry programátora
« Odpověď #17 kdy: 26. 07. 2021, 11:39:21 »
Matfyz je snad porad 3+2?

A prvni dva semestry  na IT jsou takova selenka, ze ja tam vubec nechodil a vsechny prednasejici jsem videl poprve na zkousce. (nicmene ja paralelne delal PhD z fyziky, takze neco bylo odpusteno).

Dalsi roky uz takova sranda nebudou a z mych kamaradu, co ten zacatek nejak spatne pochopili a naplanovali si volny cas jinak (zensky, chlast, hry), tak matfyz nedostudoval ani jeden.

A teda z toho, ze ma nekdo stipendium uz v prvnim semestru, bych jaksi schopnosti studovat matfyz nedokazal odvodit.

Re:Rady do začátku kariéry programátora
« Odpověď #18 kdy: 26. 07. 2021, 16:17:51 »
Asi nedokážu odpovědět na všechno zvlášť, ale všem moc děkuji a aspoň to hodím takhle dohromady.

Softskills a pokora je něco na co se snažím myslet pořád, ale občas mi trocha nepochopení ujede. Dokonce se snažím zlepšovat svoje vysvětlování třeba tím, že programování učím.

Stáž v zahraničí a Erasmus mě rozhodně lákají, takže snad to situace pak dovolí.

Jinak naštěstí co se týče financování začátku kariéry, tak to teď řešit nemusím. Když budu mít velký projekt, kterému fakt budu věřit, tak si půjčku od banky nebo otce rád vezmu. Každopádně děkuji a za zbytek vřelého komentáře.

A neříkám, že Matfyz bude pohoda celou dobu, třeba kvůli tomu s prací seknu, ale prvák byl hodně v klidu a lepší skončit v práci než všechny odpoledne proflákat.

Jinak Rust mě teď hodně baví a high performance computing je určitě na zvážení.

Čistě Python nedělám proto, že si chci teď na začátku rozšířit obzory a nejít jen za AI, ale určitě to je taky možnost.

Idris

  • *****
  • 1 901
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #19 kdy: 28. 07. 2021, 00:01:21 »
A neříkám, že Matfyz bude pohoda celou dobu, třeba kvůli tomu s prací seknu, ale prvák byl hodně v klidu a lepší skončit v práci než všechny odpoledne proflákat.
V ČR bývá prvák VŠ vyhazovací, takže dost možná to bude relativní pohoda i dál. Držím palce.
Jinak Rust mě teď hodně baví a high performance computing je určitě na zvážení.
V rámci HPC doporučuji kouknout na AVX(-512), intrinsics i přímo asembler.


Re:Rady do začátku kariéry programátora
« Odpověď #20 kdy: 21. 08. 2021, 11:43:31 »
Pro kontext - mám vystudovaný MFF (teoretická informatika + AI), cca 15 let praxe v oboru, na začátku jsem na tom byl podobně jako popisuješ. Motivuje mě řešit těžké problémy.

1. Aplikované AI je teď víceméně jen machine/deep learning, je v něm dost velký přetlak na pozice a z mojí zkušenosti lidi čekají nereálné výsledky. Je to méně o vývoji, spíš o tom udržovat si přehled v oboru a umět natrénovat dobrý model a hrát si s jeho parametry. Mě by to nebavilo, ale YMMV. Asi bych se na tuhle specializaci vykašlal.

2. Práce v herním průmyslu (zmiňoval jsi 3d rendering a unity) -> vyhnout se velkým obloukem. Malé platy, dost často crunch time a malá flexibilita pro změnu - pro povýšení se ti typicky počítají jen dodělané tituly, takže v zásadě nedává smysl odejít v půlce vývoje.

3. O quant tradingu a computer vision toho moc nevím, tak se ani nebudu snažit radit.

4. Management potřebuje jiný skill set než vývoj. Je to víc o plánování práce, řešení (a předcházení) konfliktů, práce s členy týmu na jejich rozvoji, reportování tvému šéfovi a odstínění týmu od problémů co se na tebe hrnou shora. Dost často taky o udržování kontaktů a hraní politických her v rámci společnosti (v závislosti na tom jak moc je ta společnost velká). Je to taky dost osamělá pozice, zpravidla bez jakéhokoliv kódování. Jestli ti tohle spadá do kolonky "challenging", tak směle do toho. Já si to zkusil a není to nic pro mě - chybí mi tam týmová práce, vadí mi politikaření a řešení motivace/konfliktů lidí v týmu není typ problem solvingu, který by mě naplňoval.

5. Kde jsem nakonec skončil já - vývoj a design distribuovaných systémů, čistý backend. Placené dobře, challenging taky a dá se tam dobře růst technicky až do architektonických rolí. Je po tom velká poptávka na trhu (mimo jiné se mi ozývají i z těch fintechů co dělají quant trading).

6. Co mi během kariéry přišlo použitelné a co mi dávalo konkurenční výhodu oproti ostatním vývojářům:
Takový ten základ: problem solving skills, algo+datové struktury, memory management, multi threading (!!!)
Dobrý rozhled v různých prog. jazycích/paradigmatech: funkcionální programování (scala, haskell, erlang, ...), managed (c#, java) / unmanaged (c++, ...)
Co mě nenaučili na MFF, ale je potřeba (možná se to už učí :-)): TDD, design patterns, git, ...
A pro pozdější část kariéry (no vlastně i do začátku): soft skills - pokora, otevřenost ostatním (naučit se poslouchat a nesoudit), vyjednávání, mentoring, komunikační dovednosti, vidět věci v kontextu, rozumět přínosu pro zákazníka. A hlavně: rozhodovat se na základě dat (a vědět co měřit), ne pocitů

Obecně mi přišlo, že za dob mého studia dával matfyz důraz na dokonalá řešení (optimální algoritmus, důkaz bez chyb, ...) s čímž jsem pak narazil v praxi. Zejména kvůli tomu, že problémy, které v praxi řešíš, nemají jasné zadání, nebo zadání neodpovídá realitě. Díky tomu se nevyplatí investovat do optimálního řešení, ale spíš iterativně zkoušet upravovat nějaké "good enough" řešení co nestojí moc zdrojů (čas na vývoj, náklady na provoz, náklady na údržbu, ...).

Re:Rady do začátku kariéry programátora
« Odpověď #21 kdy: 22. 08. 2021, 04:10:45 »
Přeji hodně zdaru.

V 19 jsem brigádničil v obchodě s potravinami za 17,50 Kč na hodinu a ve volném čase programoval v Turbo Pascalu s FoxPro pro kamarády a známé prográmky, převážně za dobré slovo, nebo nějakou drobnost.
Asi jsem se měl líp učit nebo tak něco :) ale na základce mě to učivo těžce nebralo a raději jsem si pod lavicí pohrával s instrukcemi pro Z80.

Tak koukám, jak se to za těch "pár" let tady na světě posunulo.

xyz

  • ***
  • 136
    • Zobrazit profil
Re:Rady do začátku kariéry programátora
« Odpověď #22 kdy: 22. 08. 2021, 08:52:22 »
Napis za par let, jak jsi na tom  :) Ale asi si budes muset vybrat, bud "technical pathway" a nebo management. Oboji najednou delat nejde. A nebo maximalne, ze budes mit malou firmu, kde budes mit vsechno pod palcem.