K čemu školy?

sj

Re:K čemu školy?
« Odpověď #15 kdy: 22. 05. 2014, 09:57:56 »
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.


Honza

Re:K čemu školy?
« Odpověď #16 kdy: 22. 05. 2014, 11:14:11 »
Já jsem chodil na MFF Informatiku a je pravda, že to bylo dost o teorii. Praxe je mnohem víc blbárna, ale i ty netriviální věci jsou zpravidla čistě softwarově inženýrské problémy (jak se vyznat ve velkém projektu a udržovat ho, aby se v tom vyznal i někdo jiný, jak sladit programátory s různým stylem, jak pracovat s polodebilem, jak správně řešit multiplatformnost nebo udržovat mnoho skoro stejných aplikací pro různé zákazníky, jak zvládnout pokročilejší problémy s gitem, jak správně komunikovat v týmu a se zákazníkem, jak zvládnout nějaké zmrvené API...) Na druhou stranu matfyz je škola opravdu trochu víc pro jiné lidi, řekněme pro teoretické informatiky, co pak půjdou na doktorát a budou opravdu něco zkoumat, a to, že se já dobře živím blbárnou, je můj problém. Jsou ale i lepší práce a kdo opravdu chce, tak si je najde. (Já jsem byl třeba na pohovoru na nějaké neuronové sítě - umělou inteligenci, ale pak mě tam nevzali.) A i na blbárnu se trochu hodí mít nějaký teoretický základ. Škola je taky o potkávání profesně podobných lidí, to se taky hodí. Člověk něco okouká od kamarádů, ukážou mu další směry možného rozvoje, takže je to lepší než samostudium.

lmnovak

Re:K čemu školy?
« Odpověď #17 kdy: 22. 05. 2014, 11:16:25 »
Je tu toho nějak moc, tak se budu snažit reagovat postupně.

Je, ale není síla to změnit. Zatím to na světě funguje tak, že 5 roků děláš víceméně nesmysly na VŠ a mezitím se ve svém volném čase musíš naučit to co budeš potřebovat v praxi.

Ale to je dost hloupý přístup, ne? To si dovedu představit u nějakého hospodského povaleče, že teorie jsou pro něj nesmysly. Tobě to nepřijde divný?

Mimochodom. Ak sú Tvoje teoretické znalosti už roky nezaujímavé pre potencionálnych zamestnávateľov, tak si študoval obor ktorý nemá uplatnenie v mieste Tvojho bydliska. Buď sa teda presťahuješ za prácou, alebo rekvalifikuješ. Voľba závisí od vzťahu k nehnuteľnosti ktorú obývaš. Pevne verím, že za roky o ktorých hovoríš už máš nejakú prax aspoň ako junior v obore.

Teoretický obor má vždy uplatnění a všude, protože to není nic konkrétního. Problém s prací nemám, té je samozřejmě plno, ale většina je odpad pro obyčejné lidi.

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á.

Je to dost dlouhé a zatím budu reagovat jen na začátek. Chápeš ale, že konkrétní technologii se naučí každý a teoretické schopnosti má jenom někdo? Takže je nesmysl hledat pro dlouhodobého kolegu někoho, kdo jen něco umí.

Jak změnit styl hledání? Zkusil jsem job portály, startup portály, job fóra, známé, psaní do firem a nic dalšího mě nenapadá. Za ty roky jsem byl cca na 150 pohovorech a všechno bylo dost podobné. Což je smutné. Možná je to specialita ČR, že se tu cení jen tupá poslušnost a pracovitost? Fakt nevím.


lmnovak

Re:K čemu školy?
« Odpověď #18 kdy: 22. 05. 2014, 11:45:37 »
Ale ajťák není nic jiného, než dělník pracující u pásu s nějakou technologií, která dané firmě přináší zisk. Není to žádné nadřemeslo, i když mnozí lidé si to myslí. Žádný člověk není schopen pokrýt všechny technologie a to na velmi dobré úrovni. Buď poptávku splňuješ, nebo ne. Takže je to vlastně v pořádku. Nicméně toto se dá zvšeobecnit na jakékoliv řemeslo, třeba i na lékaře.

Akorát IT patří k nejnáročnějším, takže kdokoli s lepším teoretickým základem ti dá lepší výsledky. Že to firma neumí využít? její problém. U lékařů stav neznám.

Když 10 let narážíš z tvého pohledu na hloupé firmy hledající hloupé zaměstnance, proč sis již nezaložil vlastní chytrou firmu, zaměstnávající chytré lidi? Jistě by se její chytré produkty výborně prodávaly.

Protože podnikání není nic teoreticky složitého a nijak mě to nezajímá. Ani mě nezajímá, jestli máme zákazníky nebo jestli jsou nějaké peníze. Na to máš plno jinýchlidí, kteří se dál nedostanou, tak alespoň podnikají.

Kolemjdoucí

Re:K čemu školy?
« Odpověď #19 kdy: 22. 05. 2014, 11:57:15 »
stejně tak jako eMKo, který netuší že lambda funkce není funkcionální programování.

na to jsi přišel kde?

Vy prokazujete že lambda funkce je funkcionální programování, tak jen do toho.
Ušetřím Vám trápení, lambda funkce je pouze syntaktický cukr aby se nemuselo tolik psát, jinak je to pořád staré dobré imperativní programování.

Je, ale není síla to změnit. Zatím to na světě funguje tak, že 5 roků děláš víceméně nesmysly na VŠ a mezitím se ve svém volném čase musíš naučit to co budeš potřebovat v praxi.

Ale to je dost hloupý přístup, ne? To si dovedu představit u nějakého hospodského povaleče, že teorie jsou pro něj nesmysly. Tobě to nepřijde divný?

Nic takového že teorie jsou nesmysly jsem nenapsal. Tvrdím, že z hlediska praxe v IT se na IT školách stále provozuje velké množství nesmyslů a těch deset semestrů by šlo využít podstatně líp, jenže není vůle s tím něco dělat.


q

Re:K čemu školy?
« Odpověď #20 kdy: 22. 05. 2014, 12:12:48 »

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:K čemu školy?
« Odpověď #21 kdy: 22. 05. 2014, 12:16:44 »
Vy prokazujete že lambda funkce je funkcionální programování, tak jen do toho.
Ušetřím Vám trápení, lambda funkce je pouze syntaktický cukr aby se nemuselo tolik psát, jinak je to pořád staré dobré imperativní programování.


OK, tak si budem vykat :-) .

Nikde jsem netvrdil, že lambda funkce = funkcionální programování. Pokud to tak někdy vyznělo, tak se omlouvám. Sémanticky se jedná o anonymní funkci, tedy něco, co je typické ve funkcionálním programování a je to konstrukt z tohoto převzatý. Syntakticky v C++ tak i v Javě 8 a C# se jedná o zkrácený zápis pro objekt mající 1 veřejnou metodu, to je pravda, ale je to pouze implementační detail. V jiných jazycích ať už imperativních či jiných tomu tak být nemusí.

Proto považuji za nešťastné i Vaše vyjádření, že se jedná o "syntaktický cukr [...]", neb je pravdivé pouze v určitých případech.

A v žádném případě nebudu nic prokazovat. Sorry, ale pokud Vy tvrdíte, že já [...], důkazní břemeno není na mé straně.
Pokud si chcete poměřit šuliny, založíme na to jiné vlánko tady ve fóru, ok? Tazatel zcela určitě neměl v úmyslu sledovat diskusi dvou čuráků jak si měří přirození ;-) .

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:K čemu školy?
« Odpověď #22 kdy: 22. 05. 2014, 12:20:10 »
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.).

Čest výjimkám.

Kozzi

Re:K čemu školy?
« Odpověď #23 kdy: 22. 05. 2014, 13:13:51 »
Ale ajťák není nic jiného, než dělník pracující u pásu s nějakou technologií, která dané firmě přináší zisk. Není to žádné nadřemeslo, i když mnozí lidé si to myslí. Žádný člověk není schopen pokrýt všechny technologie a to na velmi dobré úrovni. Buď poptávku splňuješ, nebo ne. Takže je to vlastně v pořádku. Nicméně toto se dá zvšeobecnit na jakékoliv řemeslo, třeba i na lékaře.

Akorát IT patří k nejnáročnějším, takže kdokoli s lepším teoretickým základem ti dá lepší výsledky. Že to firma neumí využít? její problém. U lékařů stav neznám.

To taky neni zcela pravda. Z vlastni zkusenosti vim ze je treba mit tym vyrovnany. Tim mam namysli ze je treba mit jak lidi s teoretickym zakladem tak i delniky. Problem je ze delniku je vetsinou potreba mnohem vic.

Ve firme vyvijime vlastni IS, ktery stavi na nasem vlastnim frameworku, ktery uz je tak daleko ze se da rict ze v nem muze psat i cvicena opice. Mame lidi, ktery maji dostatecny teoreticky zaklad na to aby tento framework vyvijeli a resili slozitejsi veci a ted potrebujeme nabrat spostu lidi, kteri v nem jen budou bochat formulare. Ano muzeme zase hledat lidi s teoretickym zakladem ale ti zase budou chtit pravdepodobne vic penez a ve vysledku se nijak vic neuplatni nez clovek, ktery bude jen nas framework pouzivat.

Kolemjdoucí

Re:K čemu školy?
« Odpověď #24 kdy: 22. 05. 2014, 13:27:04 »
Vy prokazujete že lambda funkce je funkcionální programování, tak jen do toho.
Ušetřím Vám trápení, lambda funkce je pouze syntaktický cukr aby se nemuselo tolik psát, jinak je to pořád staré dobré imperativní programování.
Nikde jsem netvrdil, že lambda funkce = funkcionální programování. Pokud to tak někdy vyznělo, tak se omlouvám. Sémanticky se jedná o anonymní funkci, tedy něco, co je typické ve funkcionálním programování a je to konstrukt z tohoto převzatý. Syntakticky v C++ tak i v Javě 8 a C# se jedná o zkrácený zápis pro objekt mající 1 veřejnou metodu, to je pravda, ale je to pouze implementační detail. V jiných jazycích ať už imperativních či jiných tomu tak být nemusí.

Proto považuji za nešťastné i Vaše vyjádření, že se jedná o "syntaktický cukr [...]", neb je pravdivé pouze v určitých případech.

Že se lambda funkce používají i ve funkcionálním programování neimplikuje že k praktickému užití lambda funkce v C#/C++ a pod je nutná znalost funkcionálního programování. O to mi šlo.

lmnovak

Re:K čemu školy?
« Odpověď #25 kdy: 22. 05. 2014, 13:27:46 »
Ale ajťák není nic jiného, než dělník pracující u pásu s nějakou technologií, která dané firmě přináší zisk. Není to žádné nadřemeslo, i když mnozí lidé si to myslí. Žádný člověk není schopen pokrýt všechny technologie a to na velmi dobré úrovni. Buď poptávku splňuješ, nebo ne. Takže je to vlastně v pořádku. Nicméně toto se dá zvšeobecnit na jakékoliv řemeslo, třeba i na lékaře.

Akorát IT patří k nejnáročnějším, takže kdokoli s lepším teoretickým základem ti dá lepší výsledky. Že to firma neumí využít? její problém. U lékařů stav neznám.

To taky neni zcela pravda. Z vlastni zkusenosti vim ze je treba mit tym vyrovnany. Tim mam namysli ze je treba mit jak lidi s teoretickym zakladem tak i delniky. Problem je ze delniku je vetsinou potreba mnohem vic.

Ve firme vyvijime vlastni IS, ktery stavi na nasem vlastnim frameworku, ktery uz je tak daleko ze se da rict ze v nem muze psat i cvicena opice. Mame lidi, ktery maji dostatecny teoreticky zaklad na to aby tento framework vyvijeli a resili slozitejsi veci a ted potrebujeme nabrat spostu lidi, kteri v nem jen budou bochat formulare. Ano muzeme zase hledat lidi s teoretickym zakladem ale ti zase budou chtit pravdepodobne vic penez a ve vysledku se nijak vic neuplatni nez clovek, ktery bude jen nas framework pouzivat.

To máš samozřejmě pravdu. Většina lidí je na to vhodná a dostane k tomu přiměřeně zaplaceno. Když ale hledám něco lepšího, tak je to prostě problém. Jako student jsem si také vyzkoušel plno pozic, které bych dnes už nedělal, protože by to byla jen ztráta času. Pokud chci ale víc než obvykle, tak je to komplikovanější než jsem myslel.

JS

Re:K čemu školy?
« Odpověď #26 kdy: 22. 05. 2014, 13:35:16 »
Ve firme vyvijime vlastni IS, ktery stavi na nasem vlastnim frameworku, ktery uz je tak daleko ze...

Myslim, ze to nechtene odpovedelo tazateli. Proste - kazdy stavi znova to, co uz udelali predtim jini, misto aby postavili neco uplne noveho. Na to prvni moc teorie potreba neni, na to druhe ale ano.

Ono vlastne neni divu, protoze jediny prakticky zpusob, jak se v IT uzivit, je prodavat komercni software, ktery je vlastnictvim a tudiz si pochopitelne kazdy snazi postavit svuj, i kdyz to z pohledu celku nedava zadny smysl.

Ivorne

Re:K čemu školy?
« Odpověď #27 kdy: 22. 05. 2014, 13:41:18 »
Vy prokazujete že lambda funkce je funkcionální programování, tak jen do toho.
Ušetřím Vám trápení, lambda funkce je pouze syntaktický cukr aby se nemuselo tolik psát, jinak je to pořád staré dobré imperativní programování.
Nikde jsem netvrdil, že lambda funkce = funkcionální programování. Pokud to tak někdy vyznělo, tak se omlouvám. Sémanticky se jedná o anonymní funkci, tedy něco, co je typické ve funkcionálním programování a je to konstrukt z tohoto převzatý. Syntakticky v C++ tak i v Javě 8 a C# se jedná o zkrácený zápis pro objekt mající 1 veřejnou metodu, to je pravda, ale je to pouze implementační detail. V jiných jazycích ať už imperativních či jiných tomu tak být nemusí.

Proto považuji za nešťastné i Vaše vyjádření, že se jedná o "syntaktický cukr [...]", neb je pravdivé pouze v určitých případech.

Že se lambda funkce používají i ve funkcionálním programování neimplikuje že k praktickému užití lambda funkce v C#/C++ a pod je nutná znalost funkcionálního programování. O to mi šlo.

Tak jsi to řekl dost špatně, protože to vyznělo, jakože nevíš, že celé funkcionální programování je aplikace lambda kalkulu do praxe. Vpodstatě mohu souhlasit s tím, že lambda funkce v imperativních jazycích jsou spíše pouze anonymní funkce, než vyloženě lambda funkce z lambda kalkulu. Nicméně pro "lepší praktické užití lambda funkce v C#/C++" rozhodně pomůže znalost funkcionálního programování.

Kolemjdoucí

Re:K čemu školy?
« Odpověď #28 kdy: 22. 05. 2014, 14:02:46 »
Tak jsi to řekl dost špatně, protože to vyznělo, jakože nevíš, že celé funkcionální programování je aplikace lambda kalkulu do praxe.

Lambda funkce v C#/C++ nemá vůbec žádnou souvislost s lambda kalkulem, až na to slovíčko "lambda".

pro "lepší praktické užití lambda funkce v C#/C++" rozhodně pomůže znalost funkcionálního programování.

Trvám na tom že vůbec ne, viz výše, hádat se o tom nebudu.

lmnovak

Re:K čemu školy?
« Odpověď #29 kdy: 22. 05. 2014, 14:10:33 »
Ve firme vyvijime vlastni IS, ktery stavi na nasem vlastnim frameworku, ktery uz je tak daleko ze...

Myslim, ze to nechtene odpovedelo tazateli. Proste - kazdy stavi znova to, co uz udelali predtim jini, misto aby postavili neco uplne noveho. Na to prvni moc teorie potreba neni, na to druhe ale ano.

Ono vlastne neni divu, protoze jediny prakticky zpusob, jak se v IT uzivit, je prodavat komercni software, ktery je vlastnictvim a tudiz si pochopitelne kazdy snazi postavit svuj, i kdyz to z pohledu celku nedava zadny smysl.

A nemáš nějaký tip, kde se podívat? Líbil by se mi asi nějaký výzkum, ale zase ne nějaká zašívárna.