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

Rady do začátku kariéry programátora
« kdy: 25. 07. 2021, 15:13:50 »
Dlouho jsem tady už nezaregistroval hádku kolem výše mzdy, takže to tady trochu zase rozhýbu, každopádně hlavně se ale chci zeptat na nějaké kariérní rady (klidně mě i kritizujte). Jinak předem se omlouvám, že jednak budu asi dost mimo a jednak nejspíš vyzním jako arogantní @&#, každopádně prostě chci jen dát plný kontext.

Takže je mi 19, mám za sebou prvák informatiky na MFF (oba semestry nejvyšší stipendium, jen jedna dvojka a zatím mi to přijde celkem jednoduchý). K tomu mám zkušenosti ze svých fun projektů (piškvorky s minimaxem, fb chat bot s věcma jako šachy, slovní fotbal, votekick, ...  (v Pythonu), 2D plošinovka v Unity (C#) a hromada menších). Nicméně si myslím, že mám i znalosti věcí, který se budou víc hodit v praxi (Git, SQL, C1 angličtina, design patterns, I use Arch btw xdd, ...).

Každopádně řekl jsem si, že si teď najdu práci při studiu a nasbíram praxi, protože ta se přece jen bude hodit nejvíc. Takže po pár dnech hledání jsem si vybral .NET vývojáře ve firmě s pohodovou atmosférou za 30k čistýho (plus mám příslib rychlého zvyšování), jinak ta atmosféra je mi vlastně ukradená, klidně budu chodit do práce v obleku, ale teď je to kvůli switchováni part time. A je to teda v Praze, ale protože jsem na kolejích za pár korun a vždycky můžu podojit rodiče, takže klidně ze začátku budu dělat za míň, když pak o to přiměřeně rychleji vystřelím výš. Spíš než jestli je to adekvátní mzda jsem se ale chtěl zeptat, jestli mi to k něčemu bude, respektive co vlastně teď doporučejete dělat. To kam se chci totiž pak směřovat je třeba AI (nechci ale do výzkumu), qunatitative trading a nebo nějaký computer vision či 3D rendering v low level jazycích, respektive kdyžtak nic, tak dělat nějaký random software development. (Kdyžtak můžete hodit podobné návrhy, pořád vlastně nevím). Takovou práci jsem ale zatím pořádně nenašey teda nenašel pro úplně juniora. Jinak už teď ale vím, že chci pak hodně směřovat i k managementu. Můžete si teda udělat obrázek, že mě láká v budoucnu hlavně dělat něco challenging a dobře placené.

Děkuji tedy všem kteří to dočetli až sem a ještě víc děkuji zkušenějším lidem za jejich rady do začátku, zdroje informací a klidně i tu kritiku.

Úsměvné je, že z různých podcastů, článku a podobně totiž vím mnohem víc jak to chodí v zahraničí (kam po škole chci dost možná jít) než jak to chodí tady.


Re:Rady do začátku kariéry programátora
« Odpověď #1 kdy: 25. 07. 2021, 15:35:35 »
V 19 letech jsem rychle zjistil, ze zatim nemuzu delat presne to co chci protoze vim uplny prd. Alespon jsem se snazil hledat takovou praci, ktera by se trochu blizila tomu co chci. Kazda praxe je dobra praxe a casem se dostanes na lepsi.

Re:Rady do začátku kariéry programátora
« Odpověď #2 kdy: 25. 07. 2021, 15:49:46 »
Osobne bych se zacal hlavne divat po moznosti interships v zahranici ve vetsich SW firmach jako Google, Microsoft, Amazon apod.

Re:Rady do začátku kariéry programátora
« Odpověď #3 kdy: 25. 07. 2021, 17:04:10 »
Jsem programátor samouk, vzděláním japanolog, který se naučil programovat díky tomu, že měl hodně starších kamarádů programátorů a skočil do první webové agentury, která nabízela brigádu, takže moje cesta je asi trochu jiná, ale zkusím shrnout své zkušenosti, co mi chybělo a co naopak bylo fajn.

Co mi zásadně chybělo, bylo vedení v podobě nějakého schopného seniora, který by si mě vzal pod křídlo a naučil mě programovat pořádně.
V naší agentuře jsme byli vesměs kluci 20-25, pro které to povětšinou byla první práce a každý projekt většinou zaměstnal jednoho programátora a jednoho kodéra s tím, že pokud si někdo vyloženě nevěděl rady, byla tu šéfová, velká kapacita na databáze, která v případě technických záseků pomohla. Ale jinak jsme byli v podstatě hozeni do vody.
Projekty byly vesměs různé eshopy a CRMka, takže nic složitého, co by začáteční nezvládl, takže jsme měli prostor hned na začátku získat hodně samostatnosti. Zásadní nevýhodou ale bylo, že jsme se téměř nenaučili kooperovat s druhým programátorem a každý si mastil kód tak, jak uznal za vhodné nebo načetl best practices na netu.

Výhody: člověk seděl na deseti židlích najednou (backend, frontend, administrace linuxu, kódování, databáze, komunikace s klientem) a tak se rychle naučil základy mnoha různých vývojářských rolí a technologií. Navíc bylo super dělat v punkové firmě s pár dalšími neopeřenci a mít dobrý pocit, že člověk není korporátní opička.
Nevýhody: Žádné vedení, žádná struktura, nedostatek příležitostí naučit se pracovat v týmu a přiučit se od někoho s hlubšími praktickými i teoretickými znalostmi.

Samozřejmě tím, že přicházíš z MFF, tak asi budeš mít zmáknutou všechnu teorii, co bys mohl potřebovat, ale vzhledem k tomu, jak častý kámen úrazu pro programátory jsou soft skills, schopnost podřídit se cizímu řešení a udržovat konzistentní strukturu projektu, doporučoval bych najít pozici ve větším týmu se zkušenými lidmi.
To, co dělá dobrého seniora nebo team leadera, nejsou jeho technické schopnosti (které jsou samozřejmě potřeba), ale schopnost vést lidi, řešit konflikty v týmu a mentorovat juniory. Z vlastní zkušenosti vím, že srozumítelné vysvětlení nějakého problému od šikovného kamaráda mi většinou dalo víc, než tisíc teoretických knih a tutoriálů a být ten člověk, za kterým ostatní budou chodit pro jasnou a srozumitelnou radu, je jedna moc příjemné a jednak obrovská hodnota pro jakoukoliv firmu, kde budeš v budoucnu pracovat.

Navíc, čím starší budeš, tím spíš si budeš chtít dělat věci po svém, tím víc ti různé jednodušší úkoly budou připadat jako otrava a tím víc budeš nesnášet korporátní struktury, tak doporučuju jít do velké firmy dokud ti ta práce ještě přijde sama o sobě nová a zajímavá a máš nadšení z toho, že prostě jenom programuješ věci pro reálný svět.

Poslední lidská rada: pokud vycházíš Matfyz a máš dobré výsledky, pravděpodobně budeš mít ego through the roof a různí javascriptoví "lepiči kódu" a podobné existence, zde s oblibou nazývané jako lopaty, ti přijdou jako póvl. Pokud se to týká zrovna tebe, doporučuji pilně pracovat na pokoře, protože vždy můžeš narazit na problém, který bude nad tvoje síly a dokázat se dohodnout s lidmi horšími, než ty a přijmout radu od lidí lepších než ty, je pro tvůj osobní růst i pro spokojenost v týmu extrémně důležité.

Re:Rady do začátku kariéry programátora
« Odpověď #4 kdy: 25. 07. 2021, 17:14:10 »
Hele co se týče platu záleží na hodně proměnných. 30k může být dost, pokud je to pohodová práce s dobrým šéfem i kolegy, je to občas flákárna a můžeš si přihodit pár hodin navíc (práci mám hotovou za hodinu, do výkazu napíšu 3 apod.) a nikdo si toho nevšimne / nikomu to nevadí, tak je to dobré. Ale taky to může být kurva málo, pokud budeš muset makat jak stroj a budou po tobě chtít obrovský výkon, i třeba na úkor tvého osobního života nebo studia

Mně je 18, pracuju ve firmě vedle školy skoro dva roky jako frontenďák (čti lopata) mám 200 za hodinu, ale časové výkazy si často znásobím 1.5x, občas 2x, takže dejme tomu reálně okolo 350kč/hod. Práce je většinu času pohodová, no stress, dost se toho naučím, šéf i kolegové v pohodě lidi, jsem spokojený. I když bych někde jinde mohl dostat možná i dvojnásobek toho, co mám teď. Ale na druhou stranu bych přišel o "svobodu" a "pohodovost" mé současné práce a riskoval bych, že bude šéf kokot.

Dle mého je v našem věku důležité najít balanc mezi penězi a pohodlím. Makat budeš celý život, je taky potřeba si užít své mladé léta, abys pak ve čtyřiceti nelitoval, že jsi je jenom proseděl u kompu programováním.


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #5 kdy: 25. 07. 2021, 17:28:05 »
K technologiím: Je-li (budoucí) zájem o low-level, doporučuji naučit se Rust, to má perspektivu (možná ne přímo Rust, to se teprve uvidí, ale určitě koncepty, na kterých je založen). Zároveň splňuje požadavek být “challenging”, neb je údajně pro začátečníky těžší na naučení oproti jiným běžným jazykům. Poměrně dost firem už hledá juniory znající Rust.

Obecně ke studiu: Jakmile to půjde, doporučuji podívat se do zahraničí, člověk pozná, jak to chodí jinde, a pořádně si procvičí angličtinu (i třeba v Německu, Holandsku apod., AJ je v rámci Erasmu lingua franca, tím spíše v IT).

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #6 kdy: 25. 07. 2021, 18:02:30 »
K technologiím: Je-li (budoucí) zájem o low-level, doporučuji naučit se Rust, to má perspektivu (možná ne přímo Rust, to se teprve uvidí, ale určitě koncepty, na kterých je založen). Zároveň splňuje požadavek být “challenging”, neb je údajně pro začátečníky těžší na naučení oproti jiným běžným jazykům. Poměrně dost firem už hledá juniory znající Rust.

Obecně ke studiu: Jakmile to půjde, doporučuji podívat se do zahraničí, člověk pozná, jak to chodí jinde, a pořádně si procvičí angličtinu (i třeba v Německu, Holandsku apod., AJ je v rámci Erasmu lingua franca, tím spíše v IT).

On ten Rust není nutně až tak low level. Jde o to, že ten jazyk člověka naučí rozumět tomu, co se v programu děje a jaké to má důsledky. Samozřejmě souhlasím - uč se Rust.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #7 kdy: 25. 07. 2021, 18:10:03 »
On ten Rust není nutně až tak low level. Jde o to, že ten jazyk člověka naučí rozumět tomu, co se v programu děje a jaké to má důsledky.
Low-level přinejmenším ve smyslu, že v podstatě nemá runtime, což ostatně Google uvádí jako důvod, proč je jeho použití povolené ve Fuchsii, na rozdíl od mnohých podobných jazyků. Jinak jo, velká výhoda je, že člověk dobře pochopí, co se v programu děje, výše “levelu” je nepodstatná.

alex6bbc

  • *****
  • 1 432
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #8 kdy: 25. 07. 2021, 20:20:45 »
cim vice umis jazyku tim vice jsi clovekem :-)

co treba programovani pro HPC (high performance computing), programovani vypoctu pro vedu.

Re:Rady do začátku kariéry programátora
« Odpověď #9 kdy: 25. 07. 2021, 21:00:30 »
Podle toho co popisuješ mi přijdeš enormě schopný, prostě bedna. Pokud je tvým cílem AI či Data science, tak místo v C# bych si spíše hledal job programování v Pythonu, alespoň zatím, protože to je jazyk, v kterém se to vyvíjí.

Co se týká práce, podle toho jaká jsi bedna bych se soustředil na zahraniční společnosti a budoucí relokaci, podle mě je tě v ČR škoda, pokud tu jsi nějak vázanej, zvaž Irsko, zas tak daleko to není a můžeš do Prahy létat častěji.

Management track, hele to vlastně samo vypline, když budeš ve firmě top contributor ke kterému každý chodí kvůli radě, tak automaticky tě budou chtít povyšovat, a znám takové dříče.

Jen technická, ano znám dříče, kteří makaj, jsou extra schopní, rychle jsou povyšování, ale jejich osobní život smrdí. Lépe řečeno nejsou moc šťastní, a prací žijou.

K penězům, prachy co teď máš asi dobrý, ale bylo by fajn pořešit to tak, aby to bylo na živnost nebo nějak normálně ofiko, do začátku bych prachy spíše utrácel, klidně bych si vzal do začátku pár stovek tisíc půjčku na pokrytí rozjezdu, máš život před sebou, jsi schopný, teď rozhodně není čas nějak šetřit či spořit. Doporučuji se nějak základně zadlužit, vzít si životko (co kdyby nemoc, že jo), a investovat top do sebe (konference, cestování, atd., vzdělávání).

Znám lidi jako ty, 2 roky od školy berou třeba 80k čistého, za 5 let když budeš dřít to může být 200k. Teda pokud je to cíl. Zkusil bych Erasmus a rozhodně vycestoval, to ti dá hodně.

Jinak znám týpka, co to má obdobně, a začal tu svoji cílevědomost a energii posílat i do balení ženských, kde se mu enormě začlo dařit. Někdo je fakt od přírody dříč, já to tak nemám, spíše jsem pohodář a klidně bych půlku dne prospal, ale proti gustu žádný dišputát.

Re:Rady do začátku kariéry programátora
« Odpověď #10 kdy: 25. 07. 2021, 21:51:11 »
Do začátku bych prachy spíše utrácel, klidně bych si vzal do začátku pár stovek tisíc půjčku na pokrytí rozjezdu, teď rozhodně není čas nějak šetřit či spořit. Doporučuji se nějak základně zadlužit, vzít si životko (co kdyby nemoc, že jo), a investovat top do sebe (konference, cestování, atd., vzdělávání).

Proč by se měl devatenáctiletý cápek ve škole zbytečně zadlužovat? Není to trochu finančně negramotné, brát půjčku úplně zbytečně? Cestovat, vzdělávat se a chodit na konference může úplně v klidu za peníze, co sám vydělá, potažmo dostane od rodičů, bez dluhu a poměrně velkého závazku.

No jsem sice ještě mladý soplák, tak je možné, že mi tu něco nedochází a nemám dostatečné životní zkušenosti, ale jestli má většina čechů k půjčkám takový vztah jako ty, není se čemu divit, že je každý desátý v exekuci.

Ink

  • *****
  • 655
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #11 kdy: 26. 07. 2021, 08:52:03 »
On ten Rust není nutně až tak low level. Jde o to, že ten jazyk člověka naučí rozumět tomu, co se v programu děje a jaké to má důsledky.
Low-level přinejmenším ve smyslu, že v podstatě nemá runtime, což ostatně Google uvádí jako důvod, proč je jeho použití povolené ve Fuchsii, na rozdíl od mnohých podobných jazyků.

OK, z tohoto pohledu ano.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #12 kdy: 26. 07. 2021, 09:54:42 »
On ten Rust není nutně až tak low level. Jde o to, že ten jazyk člověka naučí rozumět tomu, co se v programu děje a jaké to má důsledky.
Low-level přinejmenším ve smyslu, že v podstatě nemá runtime, což ostatně Google uvádí jako důvod, proč je jeho použití povolené ve Fuchsii, na rozdíl od mnohých podobných jazyků.
OK, z tohoto pohledu ano.
Já ho zmínil spíš kvůli tomu “challenging”, i když mně osobně nijak těžší na naučení nepřišel. Některé důležité koncepty se na něm IMHO začátečník naučí dobře, namátkou RC, korutiny, rozhraní (rustí traity). A hlavně funkcionální styl programování, to je skutečně už high-level.

Re:Rady do začátku kariéry programátora
« Odpověď #13 kdy: 26. 07. 2021, 10:40:33 »
Proč by se měl devatenáctiletý cápek ve škole zbytečně zadlužovat? Není to trochu finančně negramotné, brát půjčku úplně zbytečně? Cestovat, vzdělávat se a chodit na konference může úplně v klidu za peníze, co sám vydělá, potažmo dostane od rodičů, bez dluhu a poměrně velkého závazku.

No jsem sice ještě mladý soplák, tak je možné, že mi tu něco nedochází a nemám dostatečné životní zkušenosti, ale jestli má většina čechů k půjčkám takový vztah jako ty, není se čemu divit, že je každý desátý v exekuci.

Spíš prostě nerozumíš financím, hodnotě času, vlastního kapitálu a cizího kapitálu.

Finance je třeba brát z dlouhodobého pohledu, když ti je 20, zbývá ti 45 let pracovního života, když vyděláš 1 mil. Kč ročně, tak jde o 45 mil. Kč, pokud ti úvěr 500.000 Kč umožní rychleji navýšit ty příjmy o 10% (což bude spíše více), tak za ten život nevyděláš 45 mil. Kč, ale 50 mil. Kč, tedy těch půjčených 500.000 Kč ti přinese 5 mil. Kč, návratnost 1.000% a ty si půjčuješ za úrok 5%.

Člověk co se neumí úvěrovat není finančně o moc gramotnější než člověk, co se úvěruje špatně.

Ad. exekuce jsou na lidi, kteří své problémy neřeší, lidi kteří se ke svým problémům staví čelem jdou do insolvence.

Lidem co nemaj rádi dluhy říkám, že i miliardáři mají půjčky a hypotéky, i Kellner byl zadlužený a i Zuckerberg má nemovitost na hypotéku.

Je trošku rozdíl, když si půjčuješ na start vlastní kariéry za 5% abys mohl vydělávat 100.000 měsíčně vs když si z platu 20.000 Kč v kolbence půjčuješ na 20.000 Kč LED televizi.

Člověk co se bojí využívat cizí kapitál je podle mě finančně negramotný.

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Rady do začátku kariéry programátora
« Odpověď #14 kdy: 26. 07. 2021, 10:59:07 »
Finance je třeba brát z dlouhodobého pohledu, když ti je 20, zbývá ti 45 let pracovního života, když vyděláš 1 mil. Kč ročně, tak jde o 45 mil. Kč, pokud ti úvěr 500.000 Kč umožní rychleji navýšit ty příjmy o 10% (což bude spíše více), tak za ten život nevyděláš 45 mil. Kč, ale 50 mil. Kč, tedy těch půjčených 500.000 Kč ti přinese 5 mil. Kč, návratnost 1.000% a ty si půjčuješ za úrok 5%.

A do ceho ten pul mega chcete dat? Lepsi komp ani lepsi auto samo sebou uspech neprinese :)

Teorie hezka, ale k prakticke realizaci neco chybi... treba pojem o realite :P