Imnovak: Škola by ti měla dát obecné znalosti a schopnost přemýšlet, případně praxi se společnými projekty, znalosti věci co by ses normálně při samostudiu neučil (např. i taková matematicá analýza i algebra se hodí, stejně tak základy PC a třeba i assembler). Konkrétní technologie se musíš naučit sám, škola nemůže vědět na kterou firmu půjdeš aby ti udělala přesně rozvrh taj aby tě přijali. Škola učí obecně.
Btw, pokud si muž 4x po sobě vezme ženu která ho mlátí, tak nemusí být chyba jen v těch ženách ale i v něm (že si takové ženy hledá). A obdobně pokud hledáš práci tak možná zkus změnit styl hledání, třeba najdeš to co hledáš. A nebo zjistíš že tvoje představa není reálná.
A teď z praxe: právě jsme do firmy hledali kolegu. Na pozici automatizovaného testera (tj. píše programy které testují funkčnost jiného). Problém už je i jenom s tím jak to vlastně pojmenovat aby se nehlásili klikači. A když máme pohovory tak bohužel pohovor se z velké části skládá z toho jestli a jak moc dotyčný zvládá konkrétní programovací jazyk. Je to nefér test? Jistě, takhle mají problém uspět schopní lidé kteří náhodou umí jiný jazyk. Ale bohužel firma nemá tolik času aby investovala čas do člověka který potenciálně brzy odejde (např. někteří uchazeči co rok skočí do jiné firmy ...).
Máš i uchazeče kteří neví co to je byte, nebo ASCII. Měl bys je vzít? Neukazuje to třeba to že o IT nic neví, nebo se o něj nezajímají? Máš je vzít a nebo ne?
Nebo bychom měli vymyslet složité logické úlohy které prověří schopnost člověka myslet? Ale to je drahé a těžko se vyhodnocuje - a trvá dlouho, přece ho u nás nenecháme sedět 8 hodin na pohovoru. Ještě by si mohl myslet že si od něj přes pohovor necháváme vyřešit něco co potřebujeme a ve skutečnosti ho nechceme. A navíc takové věci se u nás v práci ve skutečnosti neřeší, neděláme rocket science, nejsme Google, neřešíme jak udělat posílání zpráv miliardě zákazníků WhatsApp a neuvařit servery. My jen lepíme komponenty (když se to zjednoduší) a to že někdo použije O(n^3) algoritmus? No, zaprvé by to udělat neměl a zadruhé si toho nejspíš všimneme při code review. Co je možná zvláštní je že občas v Javě použijeme bitovou aritmetiku a to se dá doučit (anebo kdo umí tak proklínat to že Java nemá unsigned typy).
eMko: ono s tím formálním vzděláním ... nikdy jsem se nedostal dál než na prvák na VŠ. Ale co dělám? Nezakrněl jsem, studuju sám, chci se něco dozvědět o základech, tak teď právě čtu K&R (ač jsem Javista). Koukám na kurzy na Coursera (Scala, Scheme/DrRacket, atd.). Na škole bych se toho asi naučil víc, ale mladická nerozvážnost …
A když jsem se v práci ptal co to je delegát nebo lambda (kdysi jsem jako tester začínal a v testech je používáme) tak z 10 vysokoškolsky vzdělaných lidí mi trochu věděli poradit asi 3 (jeden začínak kdysi s assemblerem, další je 50 schopný programátor co se stále učí a třetí matfyzák kterého zajímá teorie programování). Tak jsem holt vzal prachy a koupil knihu a doučil se. Sice nevím co to je lambda kalkulus a monády, ale to nepotřebuju :-). No a ty monády ... snad až budou opakovat kurz reaktivního programování.
Škola je super, ale IT jako většina oborů vyžaduje celoživotní vzdělávání se. Jinak člověk zakrní a zmenší se mu možnosti.