středa 29. dubna 2015

Proč miluji svojí práci pro Mathematicator

To, že pracuji pro jeden z nejrozsáhlejších českých webů o matematice už asi víte - jen pro upřesnění jde o Mathematicator. Nicméně cílem tohoto článku je popis toho, jak jsem se na podobnou pozici dostal, proč mě to pořád baví a jak si myslím, že se má o práci přemýšlet. Třeba někoho z vás motivuji a budete přemýšlet podobným způsobem a také si najdete práci, kterou chcete opravdu dělat.

Tady se ještě hodí jedna poznámka: Ačkoli ekonomice částečně rozumím (na úrovni středoškolského učiva), tak nejsem ekonom a všechny postřehy beru z mého subjektivního pohledu a popisuji to, jak vše prožívám já osobně. Lidsky řečeno: některé rady berte s rezervou.

První hledání práce v 16 letech

Aktivně jsem začal pracovat od svých 16 let jako programátor, což je na české poměry poměrně nezvyklý úkaz. Většinu času s klienty komunikuji přes email, takže se občas stane, že se klient dozví můj skutečný věk (v době psaní článku mi táhne na 19) a pak se často nad tím pozastaví a zarazí (většinou v pozitivním smyslu). Svůj věk beru jako výhodu (protože se toho ještě stihnu hodně naučit), ale zároveň to je nevýhoda při pokusu o nalezení další práce (zaměstnavatelé často chtějí reference a dlouhou praxi, kterou jako mladý už jenom z principu mít nemohu).

Již v té době jsem si byl těchto úskalí vědom, proto jsem je začal aktivně řešit. Z počátku to bylo těžké, nevěděl jsem totiž jak. V zásadě to nevím ani dnes, nicméně souhrou náhod se mi povedlo dostat na relativně výhodnou pozici. Následující text bude popisovat metody, které jsem k tomu použil.


  1. Na úplném začátku jsem neuměl programovat a sotva jsem ovládal počítač. To mi bylo asi 10 let. Bavila mě ale elektronika a rozebíral jsem často různé elektronické zařízení a na papír si kreslil plánky obvodů (které jsem často ani nedokázal vyrobit). Tuto část zmiňuji zejména proto, protože podobnou fází musí projít každý z nás. Tedy, zjistit, co nás baví. Nejdříve jsem si myslel, že mě baví rozebírat přístroje, takže jsem chtěl být elektrikář a opravář. Postupem času se ale ukázalo, že mě nezajímá až tak konkrétní hardwarové složení, jako spíše principy toho, jak věci fungují.
  2. Když jsem začal trochu rozumět počítačům, tak mě jako malého bastarda fascinovaly zejména počítačové hry. V té době ale ještě nebyl internet, takže se všechen software šířil tzv. "kabelovou metodou". To se prostě vzaly diskety, nahrála se na ně hra, ty se strčily do kabely a přeneslo se to k dalšímu počítači. Nic moc. Nicméně jsem toto začal pociťovat jako problém.
  3. Za nějakou dobu mi došly hry a internet stále nikde. Postupně jsem také začal zjišťovat, že mě samotné hraní ani tak moc nebaví, ale chtěl bych si spíše udělat vlastní hru. Když jsem později udělal výzkum mezi lidmi které znám, tak skoro každý chtěl mít svojí vlastní hru. Nezbývalo tedy nic jiného, než se naučit programovat.
  4. Kolem 10. roku života jsem začal studovat chytré knížky, které mi půjčil starší kamarád. Pochopil jsem díky tomu základní principy toho, jak funguje internet, odkud se stránky berou a jakým způsobem je můžu začít tvořit. Moje první pokusy byly příšerné (asi jako každého), trochu se za ně stydím a možná jsem i trochu rád, že v té době nebyl internet, protože i tak jsem toho na něm napáchal už dost. A jak se říká - Internet Archive nezapomíná!
  5. Když jsem pochopil základy HTML, CSS a PHP, tak jsem sice uměl "trochu" programovat, ale neměl jsem co. Hraní mě nebavilo, takže tvorba her neměla až tak smysl. Začal jsem tedy tvořit něco, co mi celou dobu chybělo - normální vyhledávání. Do dnes si pamatuji, jak jsem na notebooku používal Windows 95 a když jsem hledal nějaký soubor, tak se muselo čekat klidně půl hodiny. S tím jsem skoncoval tak, že jsem "vymyslel" tzv. "datové balíčky" (tak jsem tomu říkal), což nebylo nic jiného, než tabulka toho, kde je jaký soubor. V tu ránu bylo hledání otázkou přečtení jedné tabulky a nemusela se procházet celá adresářová struktura. Hurá.
  6. Pak přišel internet a začal jsem spamovat na fórech, získávat první hejtry a do dnes se mi to tak trochu vrací. Ale už na to lidé zapomínají (naštěstí). Nevzpomínám na to moc rád, puberta byla příliš silná.
  7. Když jsem nastoupil do prváku na střední, tak jsem si koupil doménu, kam jsem chtěl svůj vyhledávač umístit (možná ho znáte pod názvem VikiTron). VikiTron v současné době už nefunguje a až se budu hodně nudit, tak ho opravím. Nicméně jeho jádro jsem do dnes zachoval, ale o tom až příště.
  8. Někdy v této fázi jsem si začal uvědomovat, že sice mám k dispozici relativně funkční jádro vyhledávače, které čas od času vrátí rozumný výsledek, ale chybí mi uživatelé a hlavně data. Začal jsem tedy působit různě po internetu a nahánět skupiny lidí (začátkem roku 2015 jsem na Google+ překročil 2 miliony zobrazení, s tím už se dá něco dělat).
  9. Po půl roce provozování vyhledávače jsem začal dále zjišťovat, že samotné hledání není nic jiného, než chytré procházení tabulek za pomoci nějakého algoritmu. Jak nečekané, co? Mě až tak ale nezajímaly samotné výsledky, jako spíše metody, které k tomu vedou a jak s nimi dále pracovat. Začal jsem proto tedy studovat algoritmizaci (do té doby jsem byl tzv. "lepič", kdy jsem skládal kousky kódů do sebe a ono to nějak fungovalo). Taky jsem pochopil, že mě algoritmy zajímají a s tím související matematika.
  10. Konečně! Heuréka! Pochopil jsem, že matematika je královnou všech věd a že je ze všech také nejsilnější. Nebylo nic chytřejšího, než právě pro matematiku začít psát software, který mi s ní práci usnadní a hlavně urychlí. Takový nástroj se však nehodil jen mě, ale i dalším uživatelům internetu.
Příběh do této fáze popisuje mojí stručnou historii mezi 8. až 16. rokem života (všimněte si, že oboje to jsou mocniny dvojky), jednalo se tedy o dosti dlouhé a zajímavé období. V budoucnu mu věnuji ještě několik článků, určitě vás to bude zajímat.

Začal jsem tedy "expit" znalosti až do fáze, kdy jsem uměl základy algoritmizace a to nejhlavnější: měl jsem hotový produkt, který bylo možné ukazovat. Začal jsem tedy pátrat po internetu a hledat lidi, s kterými bych se mohl spojit a vytvořit něco většího.

Zásluhy jsou na prvním místě

Víte, mě nebaví pracovat pro peníze.

Mnohem lepší je taková práce, která mě baví právě proto, protože je zajímavá. Protože přináší nové úkoly, které neumím řešit a musím se proto pořád zlepšovat. Taky mě baví taková práce, při které vzniká nějaký produkt, který může někdo další ještě třeba využít a nebude to jen zbytečné bastlení.

Jako vývojáře mě proto nejvíc těší, když mi napíše sám uživatel děkovnou zprávu. Například toto mi poslal moje spolužačka:

Ahoj Bary, fakt děkuju za ten tvůj program, k tý matice se to teď vážně hodí
Proč vznikl Mathematicator

Stalo se vám někdy, že jste měli něčeho tolik, že jste se v tom sami ztráceli? Mě se to děje pořád. Dělám si proto poznámky a třídím si je do katalogů.

Podobné to je s matematikou. Je taky hodně rozsáhlá, a hlavně nekonečná a rekurzivní, což je docela problém. Abych tedy mohl obsáhnout celou matematiku a všechny její části, tak bych potřeboval nekonečně velký prostor a nekonečně mnoho času. A přecijen, žijeme ve Vesmíru, tady nic takového nejde.

S Markem Valáškem jsme proto založili Mathematicator, což je stránka, kde soustředíme všechny naše společné znalosti. Využil jsem již hotové jádro vyhledávání (které jsem celé roky po nocích vyvíjel) a Marek připojil jeho schopnosti s učením a vytvořil tisíce výukových videí.

Vznikla tedy velká matematická banka. Jednou z toho chceme vytvořit velký katalog a vyhledávač, který bude o matematice vědět všechno a pomůže vyřešit jakýkoli problém.

Lidé začnou platit sami

Naše služby jsme začali poskytovat z počátku zdarma a nic víc jsme od toho neočekávali. Nicméně sami uživatelé nám chtěli začít přispívat. Marek proto začal točit ucelené kurzy, kterých v současné době prodáme tolik, že to ani nestíháme sledovat, takže jsem na to musel udělat robota, který si drží přehled za mě.

Postupně se tedy z mého koníčku stala opravdová práce. Dělal bych to stejně, tak proč z toho nemít nějakou finanční výhodu? Stále nabízíme vše zdarma, bez reklam, uživatelé jsou spokojeni a kdo chce, tak si koupí ucelený výklad za pár stokorun.

Závěr

Pokud jste tedy student a teprve hledáte svojí práci, tak začněte pracovat nejprve na sebe - a klidně i zadarmo! Nejdřív musíte ukázat, že něco opravdu umíte a nabídky pak přijdou sami.

Dnes je mi skoro 19 a zákazníci mi píší sami od sebe a já často ani nestíhám všem vyhovět, protože na to zkrátka není čas. To je super stav, ne?

Nejde až tak o školy (koho to zajímá?) a tituly. Jde o vzdělání jako celek, jde o to, jestli opravdu umíte dělat to, za co chcete být placeni. A dobrých programátorů, těch je v současné době opravdu málo.

S trochou nadsázky tedy mohu říct, že si dokáži vydělat víc, než moje rodiče. 250 korun na hodinu práce není v 19 letech málo, ne?

A jak jste se k vaší pracovní pozici dostali vy? Baví vás vaše práce?

úterý 28. dubna 2015

Jak poznat špatného učitele

Za celý svůj život jsem poznal desítky učitelů, mnoho z nich bylo na opravdu vysoké úrovni, ale ještě větší část nestála ani za starou bačkoru. Tento článek nemá za cíl pomlouvat české školství, jeho cílem je naprosto konkrétní ukázání na chyby, kterých se učitelé škol (ale i různých dalších odvětví, například kroužků) dopouští. Často se dle optiky laika jedná o malichernosti, ale jak si za chvíli ukážeme, často jde o dosti závažné problémy, které mají v budoucnu naprosto fatální následky.

Pokud sami učíte, tak budu rád za jakoukoli zpětnou vazbu v komentářích. Je mi jasné, že jste sami studovali (a určitě vám to výborně šlo), berte ale ohled také na to, že všichni nejsou "borci", jako právě vy.

Abych mohl být v tomto ohledu objektivní, tak budu k hodnocení uvažovat pouze technické předměty, protože to je oblast, která mě v současné době živí (pracuji jako programátor na profesionální úrovni) a tedy mohu velice snadno vypozorovat zejména faktické chyby v probírané a vysvětlované látce. Jmenované chyby nejsou záležitostí jednotlivce, vždy se jedná o vlastnosti, které má větší množina učitelů, které jsem měl tu čest za svojí studentskou kariéru poznat.

1. Faktické chyby ve výkladu

Když se mě zeptáte, co mi na současném vyučování technických předmětů vadí, tak řeknu, že jde o faktické chyby. Je mi jasné, že každý učitel musí znát problematiku probíraného učiva na dosti vysoké úrovni, jinak by nikdy neudělal vysokou školu a nikdy by nemohl učit, nicméně by si mohl dávat pozor zejména na následující:
  • Musí vědět, co učí. PHP vážně není "programovací jazyk"
  • Když už něco vysvětluje, tak by měl vždy vědět, proč se to učíme a říct to
  • Měl by vždy znát aspoň jedno praktické využití (všechno se k něčemu může hodit)
  • Na případné dotazy k tématu by měl poskytnout odpověď (zejména když sám vybízí k otázkám). Nemělo by se stát, že zkrátka neví. Když něco učí, tak o tom snad taky musí něco vědět. Nebo se pletu?
  • Pokud existuje více metod řešení nějakého problému a on sám doporučuje jednu z nich, tak by to vždy měl odůvodnit. Nikdy žádný postup nespadl z nebe a určitě by měl vědět, v čem je daná metoda lepší a případně vysvětlit výhody
  • Pokud žák dodá důkaz, že se učitel mílí a důkaz nelze popřít, tak by to měl uznat a příště stejnou chybu už neudělat
  • Při popisu nějakého řešení by měl vždy uvést jeho potenciální rizika.

    Tak třeba, pokud v PHP budete číst string jako pole stylem $a = 'Jak se máš?'; echo $a[$i];, tak by mělo být zmíněno, že ve skutečnosti nečteme znak po znaku, ale čteme jednotlivé bajty a háčkované písmena jsou dlouhé 2 bajty, což při domácím programování způsobuje řadu nečekaných chyb a žák se proto učí hlouposti.
  • Taky by neměl říkat faktické chyby (ne, slovo "RAM" vážně neznamená "Operační paměť")
  • Měl by znát terminologii a věci oslovovat správným názvem, aby si studenti na správné názvy zvykli. Tak třeba toto: $pole[$i] není "pole", je to "prvek pole"
  • Pokud žák nalezne jednodušší a elegantnější řešení, tak by neměl hledat hloupé výmluvy, proč je to jeho lepší, i když oba víte, že žák má prostě pravdu a on si to neumí přiznat (to se mi stalo tolikrát, že jsem to někde u sta případů přestal počítat)

2. Problémy vznikající v budoucnu

Mnohem více mě ale spíše deptají chyby, které nejsou hned vidět, ale projeví se až po čase. Z vlastní praxe vím, že si studenti často podávaná fakta nikterak neověřují, takže vlastně ani nevědí, že učitel mohl udělat chybu a naučí se to tedy špatně. Mnohem horší případ nastane ve chvíli, kdy to umí i učitel špatně a tedy ani vůbec neví, že to špatně učí a takto infikuje další potenciální znalosti svých studentů.

Proti tomuto není z pohledu žáka snadné zasáhnout. Pokud učitele na chybu již během hodiny upozorním, tak oceňuji to, když ji uzná a opraví. Tento přístup ale je pouze pasivní, protože podobnou hloupost mohl již mnohokrát říci studentům, které vyučoval před tím, než byl na chybu upozorněn.

Tady bych také rád podotkl, že si nikdy nedovolím upozornit na potenciální chybu, když si nejsem plně jistý a nemám danou problematiku podrobně prozkoumanou. O to více mě pak štve, když si učitel stále myslí svoje. Zejména u technických předmětů již dávno neplatí učebnice, které byly napsány někdy začátkem tohoto století.

Toto se mi již mnohokrát vymstilo, když jsem se naučil díky chybě učitele některé věci špatně a pak jsem to v budoucnu také špatně prezentoval. Vede to akorát k tomu, že jsem já "za blbce" a vlastně ani často nevím proč. Podobné chyby se velice špatně detekují, protože žák zkrátka musí věřit tomu, že mu je podávána správná látka.

A vůbec, nejvíc mě vždycky dostane věta: "Podle učebnice to je správně takhle!". U té bych vždycky nejradši zabíjel - zejména u programování.

3. Zatajování faktů a jejich doučení v budoucnu

Nevím, jestli toto znáte ze své praxe i vy, nicméně se mi to stávalo zejména na základní škole v matematice.

Paní učitelka začala něco vysvětlovat (například, co jsou to zlomky a jak se dají sčítat), naprosto záměrně nám ale zatajila určitá pravidla (prý, aby nás to "nemátlo"), které jsme se dozvěděli až v budoucnu (nevinným příkladem toho může být například fakt, že zlomky můžeme také krátit). Na tomto přístupu by nebylo v zásadě nic špatného, protože nám to přeci musí vysvětlit postupně, nicméně mnohem víc mi vadí něco jako:

"Ano, toto lze, ale naučíme se to počítat až v ... třídě!". Často totiž se na podobné téma také odmítala bavit, i když jsem se o přestávku samovolně dále zeptal. Pokud chce žák něco vědět, jak by k tomu měl mít také patřičné právo. Často stačí jen odpověď, jak se daná věc jmenuje, abych si to podle toho mohl dále najít třeba na internetu.

Jak například hledíte na tento výrok? "Pamatujete si, jak jsme si kdysi říkali o ..., dnes si konečně řekneme, proč to tak je a k čemu to je dobré.".

Cha! Už možná chápu ten odpor k učení. Taky se nerad učím něco, u čeho nevidím praktický smysl a nevím, k čemu bych to mohl někdy potřebovat. To je tak těžké obhájit své prezentované myšlenky a fakta?

4. I dobří učitelé existují

Už se nemůžu dočkat, až si budu pročítat komentáře plné nadávek na to, jak strašně necitlivý jsem a že všechn yházím do jednoho pytle. Fajn.

Za svůj život jsem poznal také několik výborných učitelů, které jsem měl opravdu rád (škoda, že mě už neučí). Tito učitelé sice také nebyli dokonalí, nicméně měli několik vlastností společných:
  • Když něco vysvětlovali, tak to říkali "lidsky", aby se to dalo pochopit
  • Na případné dotazy vždy znali odpověď
  • Když jsem nalezl lepší řešení problému, tak hned neříkali, proč je to špatně a zkusili se nad tím také zamyslet - a občas jej také příště převzali (protože třeba v programování bylo fakt často o dost lepší a jednodušší na pochopení)
  • Když jsem se po hodině šel zeptat na související věci, tak mě hned arogantně neodmítli s tím, že nemají čas a že si to mám zjistit sám jak chci
  • Když jsem měl otázku odbornějšího charakteru, tak mi vždy doporučili dobré zdroje k přečtení
  • A konečně: Dalo se s nimi normálně mluvit!

5. Závěr

Závěrem bych ještě rád řekl, že učitelé jsou ve škole převážně pro žáky. Když má tedy žák nějaký dotaz, tak by mu měl být zodpovězen (pokud to je možné) a učitel by se neměl chovat jako arogantní blb a mohl by se zkusit nad případným návrhem řešení zamyslet.

Ještě bych rád tímto připomněl jeden můj oblíbený vtip:

Víte, jaký je rozdíl mezi učitelem a pedofilem?
Pedofil má děti opravdu rád.