Čauko,
vláken ohledně porovnání vysokých škol jsem tu našel opravdu hodně a začínat novou diskuzi ohledně toho, která škola je lepší úplně nedává smysl (a nejspíše by jako předešlé, nikam nevedla). Toto vlákno spíše slouží jako žádost o personalizovanou radu, jelikož opravdu nevím, co do budoucnosti. Aktuálně za měsíc začínám 4. ročník střední školy
DELTY a posledních pár měsíců se mi honí hlavou kam dál.
Než budu pokračovat, je důležité, aby jste pochopili něco více o mě. Osobně bych doporučoval kouknout se a projet
něco o mě,
projekty na kterých jsem pracoval,
moje pracovní zkušenosti,
Github, nebo
LinkedIn, kde se oficiálně prezentuji.
Písemné shrnutí je však následující:
Poslední +-4 roky non-stop programuju. Nějak kolem začátku kvarty na gymplu jsem začal s pythonem a od té doby jsem nad tím strávil snad každý den i noc. Oproti jiným jsem měl tu výhodu, možnost a privilegium, kterého si do dnes vážím, že se mne ujala firma
VPSR, vzhledem k tomu že v ní pracoval můj taťka (jako správce IT) a měli pouze jednoho programátora, který byl zároveň jeden z vlastníků firmy (tudíž měl i jiné starosti než čistě programování
). To znamenalo, že pokud měli nějakou věc co by se dala
zautomatizovat, nebo program který potřebovali vytvořit, tak to dali mě. To mě nejen extrémně rychle posunulo v mých schopnostech programovat, ale vidět že moje programy reálně pomáhají lidem mě naplňovalo věnovat tomu ještě více času. To nakonec vyvršilo ve vedlejší pracovní poměr (při studiu střední školy!) od 15tých narozenin, který udržuji do dnes a velice si této příležitesti vážím.
Menší problém nastal v tom, že když jsem nastoupil na DELTU, tak jsem už dělal věci, které jsme se dosud ani neučili (např. správu Linux serverů máme až ve čtvrťáku). To znamená, že celé moje studium (technických předmětů) poslední 3 roky proběhlo se sluchátky na hlavě a vytvářením několika-měsíčních projektů za pár dní (doslova), vždy na plný počet bodů. Jediné předměty, které bych do dnešního data rád povznesl byly Databáze (s Ing. Monika Borkovcová, Ph.D.) a Sítě (s doc. Mgr. Josef Horálek, Ph.D.), které mi nejen něco dali, ale také ve mě zapálili touhu zajímat se o dané téma více ve svém volném čase. Naštěstí škola je zaměřená na IT, tudíž jsem čas nepromrhal a dělal jsem buď testíky nových technologií, pokračoval v projektech do práce, nebo dělal na svých projektech místo práce v hodině. Důležité podotknout že toto nevnímám jako selhání na straně školy, jelikož se předpokládá že na školu přijde žák bez předešlých znalostí. Ba naopak, tato škola je perfektní v tom, že pokud je někdo napřed, může se sám rozvíjet a do té doby dokud odevzdává práce, není problém když si dělá na svých věcech. Každopádně, vzhledem k tomu, že jsem 90% času dělal sám, tak jsem se taky musel naučit všechny části vývoje. Za celou dobu jsem vytvořil okolo 15ti+ firemních aplikací, které běží do dnes (většina z nich close-sourced, ale co jde tak publikuju buď source a nebo článek o tom jak to funguje), typu:
Webové (čisté js-html-css, ale i react a např Svelte. BE záleží, ale většinou to píšu v C#, Go nebo TS),
Desktopové (většinou winforms, ale na hobby projekty preferuji tauri/egui),
Embedded (ať už komunikace s před-programovanými zařízeními, tak ale i arduino a aktuálně vytvářím svoje první vlastní desky v KiCadu),
Mobilní,
AI-powered (nic jsem netrénoval, jenom postahoval modely a spojil je dohromady), či
for-fun scriptíky. Koho by zajímal můj ustálený tech-stack, může se kouknout na více info
zde, ale v jednoduchosti, pokud je to něco low-level, nejspíš to udělám v Cčku. Pokud je to něco co je performance-heavy/cli toola/desktop, udělám to v Rustu. Pokud je to API, udělám to buď v C#, nebo v Golangu, záleží na velikosti projektu. Pokud je to FE, tak jestli je to statický, tak html-css-js stačí, pokud je to web aplikace, tak jestli je korporátní tak vezmu React, pokud je internal/hobby, vezmu Svelte.
Pointa, kterou se snažím udělat je to, že co se programování týče, tak jsem prozkoumal snad každý koutek (OOP, FP, Procedural, Algoritmy, Datové struktury, Linux kernel moduly, Haskell,...) a nemám problém s učením se nových či starých technologií, vytvářením projektů, zabezpečováním projektů, udržováním legacy kódu (nejstarší kód co jsem opravoval byl psán okolo roku 2005 a co jsem migroval okolo roku 2000) a celkově prostě chápu jak to všechno funguje a skoro kód se mi píše skoro samo a všechno to prostě dává smysl. Vlastně kromě compileru, nebo projektu psaného čistě v assembly si nedokážu vybavit co jsem ještě neprogramoval (ano, fixoval jsem i např Pascal projekt
)?
Co dál?
No a teď se musím rozhodnout nad tím, kam se chci vydat. První krok bylo vyjasnit si co nechci dělat, co bych byl ochotný dělat a co bych chtěl dělat.
- vůbec mě nebaví:
- AI a excel-style datová analýza
- Tech support
- QA testování
- UML a byrokracie
- byl bych ochotný dělat:
- Frontend UI => když přijde na frontend funkcionalitu, to mě baví, ale jakmile mám dělat cokoliv s UI, pomalu ale jistě zevnitř umírám, avšak jsem ochotný to dělat jako práci, nebo část projektu která se prostě musí udělat (nějak to holt přetrpím). Nejde o to že bych neměl znalost CSS, nebo nevěděl jak se něco dělá, ale prostě mě to nebaví (kupodivu designovat si to ve Figmě a rozvrhovat na papíře mi vůbec nevadí, avšak designer fakt nejsem).
- Migrace starého softwaru do nové formy => toto mi jde docela rychle, jelikož jsem to dělal už několikrát a firmy to potřebují, ale prohrabávat se v starém softwaru a zjišťovat jak to funguje + jak to zmigrovat není úplně největší zábava.
- Webové stránky ve WordPressu na zakázku. Vůbec mě to nebaví, ale docela dost lidí je schopný za něco takového zaplatit docela dost peněz.
- Typické CRUD stránky. Všichni to známe, firma chce něco vytvořit, vyčíst, upravit, smazat. Někdo to vidí, někdo ne. Jedno a to samý dokolečka.
- chci dělat:
- Backend
- Management databáze
- Server management
- CLI tooly pro zjednodušení života ostatním lidem
- Penetrační testování (+ tooly pro penetrační testy)
- Low level development pro výrobce aut
- Security research
- Security code-audity firemních projektů (něco podobného dělám ve škole spolužákům na projektech a přijde mi to docela jako zábava. Preferuji to mnohem více oproti black-box penetračnímu testování)
- Software s extrémně jednoduchým UI, který slouží na nějaký typ automatizace
- Datová analýza na styl
ip-atlasu, či
deps-graphu - Programování neoficiálních cross-platform klientů pro Microsoft (či jiné) produkty (např teď dělám na ms-todo a potom se vrhnu na onedrive)
- OSS Hardware produkty
- vývoj a research virů
- přijde mi extrémně zajímavé, ale nevím co od toho očekávat:
- vývoj softwaru pro nemocniční zařízení
- vývoj a research hardware exploitů
- vývoj a research win32 exploitů, linux kernel exploitů a MacOS exploitů
Úplně upřímně, bude to znít špatně, ale hodně přemýšlím nad tím že bych na vysokou prostě nešel, jelikož mám pocit že bych se z programování nic nepřiučil a poslední co chci je dalších 5 let sedět ve sluchátkách na technických hodinách. Speciálně jsem procházel programy ČVUT FIT - Softwarové inženýrství ; ČVUT FIT - Webové inženýrství ; ČVUT FIT - Informační bezpečnost ; VUT FIT ; ČVUT FEL SIT ; ČVUT FEL KYR ; MUNI FI - Programování a vývoj aplikací ; MUNI FI - Kyberbezpečnost, ale žádný mě nezaujal (magisterské programy ujdou, ale ten bakalář je fakt nuda úplně všude). Opravdu jsem si jednotlivé programy otevřel a začal procházet předmět po předmětu, ale ty věci co se učí (min na bakalářce + půlka magistra +-) prostě už všechny znám. Hlavní problém je to že bych zase začínal jakoby od nuly(!!!), takže základy pythonu, základy C, a atd. To zní jako perfektní ztráta dalších 3-5 let :/. Na druhou stranu je vysoká zdarma (oproti Americe) a co se životních nákladů týče, tak bych, díky bohu, neměl mít problém je pokrýt. Bohužel je pořád pravda, že se lidé koukají na titul a mám za to že by mi do života mohlo uškodit ten papír z vysoký nemít. Proto mám teď dilema. Buď nikam nepůjdu a pošupajdím za rok do práce, nebo půjdu na nějakou extrémně jednoduchou/nudnou vysokou při které bych se mohl seberozvíjet a titul si udělat "vedle", no a nebo najdu nějakou která by mě mohla bavit a věnuju tomu všechen svůj čas. Můj hlavní problém spočívá v tom, že nechci znova začínat od nuly. Chápu že většina lidí tak začíná a chápu že to tak dává smysl, ale v mém ideálním (sobeckým) světě bych nastoupil na vysokou a rovnou by jsme jeli hardcore fungování počítače, assembly, vývoj virů, exploitace, embedded věci, pokročilý koncepty a atd, stejně jako například když přijdu na vysokou, tak se počítá s tím že umím matematiku na středoškolským levelu a na vysoké už se jedou extrémně pokročilý koncepty. Prostě něco proč tam člověk musí chodit a nemůže se to jen tak naučit sám z internetu. Na druhou stranu všechny ty věci co všechny programy (IT related) slibují naučit jsou koncepty, které využívá každý řádový programátor na denní bázi a je extrémně jednoduché se je naučit sám (v tomto porovnání jako něco jako ta středoškolská / základoškolská matika).
Jak to uzavřít?
Uf, pokud to někdo dočetl až jsem, za prvé děkuji, za druhé, celý text byla směs myšlenek, tudíž, by bylo dobré to nějak
smysluplně uzavřít, o což se pokusím v následujících otázkách. Pokud by jste měli cokoliv na co budete chtít zareagovat, budu víc než rád vést konverzaci!
Je nějaká vysoká škola kde se nezačíná "od nuly"?
Je možnost nějak "přeskočit" bakalářské obory a vrhnout se rovnou na magisterské? Např ČVUT FIT - Počítačová bezpečnost vypadá docela zajímavě.
Na základě požadavků, je nějaký obor, který Vás, jako čtenáře uhodil, že by mi padl jako vyšitý? Protože aktuálně se pohybuju někde mezi: Softwarové inženýrství, nebo Kyberbezpečnost, nebo Biotechnologie, což je poměrně daleko od sebe :/
Jsou moje předpoklady a požadavky vůbec reálné? Je možné že vzhledem k tomu že jsem na vysoké ještě nebyl, že ty obory vůbec nebudou tak lehké jak si představuji? (avšak snažil jsem se soudit na základě popisů oborů a courseware obsahů [pokud bylo možno])
Dává vůbec smysl jít v mém případ na programátorský obor/školu? Říkal jsem si jestli by nedávalo smysl jít na nějaký obor, který kombinuje programování + něco, ale nic moc mě nenapadá (kromě kyberbezpečnosti a biotechnologie)... Na druhou stranu, programování je něco co mě může dobře živit dalších X let bez toho aniž bych měl jakékoliv problémy....
FAQ:
Proč to řešit už teď? => Spoustu vysokých škol přijímá bez přijímacích zkoušek, pokud se dobře umístíte v nějakých z školou uznávaných soutěží. Co jsem si ale všiml je, že většina těchto soutěží začíná okolo Září/Října, tudíž bych chtěl už v tuto chvíli vědět kam dál, abych se mohl co nejvíce daných soutěží zúčastnit a potencionálně se úplně vyhnout SCIO testům / přijímacím zkouškám.
Co podle tebe znamená "jednoduchou" / "nudnou" vysokou školu => Pokaždé když napíšu jednoduchou / nudnou, myslím tím technické obory, které jsem si jistý že zvládnu levou zadní. Jsem si vědom toho, že tam jsou i jiné předměty, jako matematika, s kterou budu mít problém a budu se na ní muset učit. Aktuálně na tom nejsem z matematiky nejlíp, takže to je určitě něco co by mi jakákoliv vysoká dala.
Rád bych tento text zakončil tím, že není můj záměr znít nějakým způsobem povýšeně, nebo pohrdačně, tohle je můj subjektivní názor na věc vytvořen na základě objektivního shrnutí toho co jsem již vytvořil, co umím a co studijní programy slibují naučit.
Děkuji za předčtení a předem i za jakoukoliv odpověď! <3
(připojuju soubor s potvrzením že jsem to opravdu já, jelikož tento účet je extrémně mladý
)