Nauč se základy programování
Chceš se naučit programovat, ale nemáš chuť složitě se rozhodovat do kterých výukových materiálů investovat? Zde najdeš pečlivě nachystané jen to, co pro tebe bude do úplného startu nejlepší a nejefektivnější. Až tím projdeš, můžeš začít získávat praxi.
Co je programování?
Programovat znamená umět počítačům říkat, jak za nás mají dělat nudné, opakující se úkony. Začíná to na tom, že mohou počítat čísla z tabulek nebo odesílat emaily, a končí samořídícimi auty. Jak vypadá programování v praxi?
- Potřebuješ vyřešit nějaký problém, ale dělat to ručně by bylo zdlouhavé.
- Vymyslíš recept krok za krokem, podle kterého by problém mohl vyřešit počítač za tebe.
- Napíšeš recept do souboru jako obyčejný text v nějakém „jazyce“, kterému počítač rozumí.
- Necháš počítač spustit ten recept.
- Zjistíš, že to máš vymyšlené s chybou, počítač slepě následuje tvůj recept a celé je to špatně.
- Opravuješ recept a spouštíš ho stále dokola, nejde ti to, přemýšlíš, vaříš kafe, točíš se na židli.
- Po třech hodinách spustíš recept a funguje to. Hurá, naprogramováno!
Co programování není?
- Věda — Ani matematika, ani fyzika, a většinou ani žádná jiná věda.
- Servis — Spravování tiskáren v kanclu, nastavování emailových schránek.
- Magie — Je to spíš činnost jako umět vyrobit stůl nebo uvařit dobré jídlo.
Proč se to učit?
Průměrný plat programátorů je 50 000 Kč a běžně mají pružnou pracovní dobu nebo možnost práce na dálku — lze tedy bydlet v Ostravě a pobírat pražský plat. Programátorů není dost a poptávka stále stoupá, VŠ diplom nebývá vyžadován. Jestli v roce 2019 existuje rychlovýtah k lepší životní úrovni, je to IT.
- Občas se straší v novinách, že přicházejí miliony zlých robotů, kteří jednou všem vezmou práci. Místo robotů to asi budou spíš mobilní appky, ale jedno je jisté — technologie budou prostupovat naše životy stále více a bude tím pádem potřeba stále více těch, kteří technologiím rozumí.
- Pokud se nechceš programováním živit, stále se to hodí umět, doma i v práci. Místo toho, aby se někde muselo 500× udělat Ctrl+C a Ctrl+V, můžeš si to naprogramovat. Programování není cíl, ale nástroj — jako šroubovák nebo matematika. Bude se ti hodit ať už děláš v kanceláři nebo koukáš do mikroskopu a počítáš bakteriím nožičky.
- I když nakonec nebudeš vůbec programovat, hodí se rozumět tomu, jak tato práce funguje. Každá firma má dnes IT oddělení a to se mnohem raději baví s lidmi, kteří chápou jak vznikají programy. Můžeš se snadno uplatnit jako prostředník mezi nimi a ostatními.
- Otevře se ti cesta do dalších oborů, které s počítači souvisí — např. internetový marketing nebo psaní technických textů, které rovněž umožňují vydělat si dobré peníze a mít pružnou pracovní dobu.
- Při programování se trénuješ v informatickém myšlení, což je zcela obecná dovednost nesouvisející nutně přímo s počítačem. Informatické myšlení zlepšuje tvou schopnost řešit složité problémy, a to i v každodenních situacích.
Co budeš potřebovat?
- Vlastní počítač,
- internet,
- odhodlání,
- zvědavost,
- rozumět (aspoň psané) angličtině,
- překonávat všelijaké předsudky.
Co nemusíš mít?
- Pubertu — Někdo se naučil programovat v patnácti, někdo ještě dřív. Toto ale není balet, začít se dá v jakémkoli věku.
- Talent — Programování je především řemeslo. Dnes se navíc odehrává v týmu, kde se píle a komunikace vyplácí víc než jednostranná genialita.
- Penis — Neexistuje žádný důvod, proč by žena nemohla být skvělou programátorkou. Pokud si někdo myslí opak, je ze středověku. Žen je v IT zatím stále málo, ale pracuje se na zlepšení.
Když jsem přišla k programu Apollo, nebyly tam žádné jiné ženy, které by psaly software.
Margaret H. Hamilton, programátorka softwaru pro cestu člověka na měsíc - Matematický mozek — Při běžném programování si vystačíš se základy středoškolské matematiky a ani tak to není nic, s čím by se člověk potýkal denně.
Z matematiky jsem míval čtyřky a nikdy mě nebavila. Dodnes si beru kalkulačku i na odečítání.
Honza Javorek, profesionální programátor - Vysokou školu — VŠ je rozhled, souvislosti, vědomosti do hloubky. Pokud chceš, aby tvé programy řídily auta, létaly do vesmíru nebo pomáhaly doktorům, budeš to mít snazší s VŠ. Běžní zaměstnavatelé ale ocení praxi víc než titul a webovky nebo mobilní appky udělá samouk stejně dobře jako absolvent.
- Zájem jen o počítače — Pokud něčemu už rozumíš, nemusíš se toho vzdát na úkor kariéry v IT. Programování je jen nástroj. Nejlepší je výhodně si jím pomoci v jiných oborech.
Proč Python?
Ať už budeš nakonec dělat cokoliv, začít s programovacím jazykem Python je skvělý tah. Je to nejvhodnější první jazyk.
- Dobře se učí. Neobsahuje příliš mnoho divných značek, vypadá spíš jako anglická věta.
- Má přátelskou komunitu lidí, kteří píšou materiály pro začátečníky a pořádají nejrůznější akce.
- Dobře se hledá pomoc při řešení problémů během učení, a to i v češtině.
- Je to dnes jeden z nejpoužívanějších a nejoblíbenějších jazyků vůbec.
- InfoTech News: Oficiální jazyk pro výuku ve Francii
- The Economist: Stává se nejoblíbenějším jazykem na světě
- StackOverflow: Jazyk s nejrychleji rostoucí popularitou a druhý nejmilovanější
- Vývoj dat ze StackOverflow: Během 10 let se stal nejoblíbenějším jazykem
- JetBrains: Třetí jazyk, který lidé mají jako hlavní. První, který se nejvíc učí
- ZDNet: Odhaduje se, že do několika let bude nejpoužívanější na světě
- Je univerzální: tvorba webu, servery, datová analýza, automatizace, vědecké výpočty, …
- Existuje pro něj mnoho nabídek práce.
Co když ale bude nakonec v pracovním inzerátu Java? Důležité je především umět programovat — jiný jazyk nebo technologie se dá vždy doučit. Některé firmy přeučení i nabízejí.Píšou mi lidi, že se chtějí naučit programovat. Posílám je na kurzy Pythonu.
Jak začít?
Nemusíš se přebírat hromadami možností a přemýšlet, do které se vyplatí investovat. Tyto materiály prošly pečlivým a přísným výběrem. Jsou to ty nejlepší dostupné. Vyber si jeden z následujících materiálů podle toho, jestli ti více vyhovuje kurz nebo kniha, a začni!
Nauč se Python!
- materiály
Nejlepší české textové materiály.
Engeto
- online kurz
Kurz v češtině kombinující textové materiály a video.
Coursera
- online kurz
- anglicky
Profesionálně vedený video kurz University of Michigan.
Codecademy
- online kurz
- anglicky
Kurz založený na textu a cvičeních. Rychlejší postup, méně hloubky.
Umíme programovat
- procvičování
Uč se skrze cvičení a opakování, podložený výzkumy.
Ponořme se do Pythonu 3
- kniha
Možná strohá, ale i tak nejlepší kniha přeložená do češtiny.
Automate the Boring Stuff with Python
- kniha
- anglicky
Nejlepší kniha do startu. Nech nudnou práci dělat počítač!
Seznam je ručně sestavován s ohledem na přívětivost, efektivnost, a vhodnost pro samouky. Za umístění v seznamu se nedá zaplatit. Pokud máš nápad jak seznam vylepšit, piš na ahoj@junior.guru.
Dámy mají přednost
Žen je v IT málo — v Evropských státech je to mezi 10 až 30 %. Česko je na tom se svými 10 % hůř než Turecko, takže existují aktivity, které se snaží ženám cestu do IT usnadnit.
PyLadies
Komunitní půlroční kurzy programování a navazující workshopy.
Czechitas
Neziskovka otevírající IT ženám skrze workshopy, kurzy a další akce.
Django Girls
Komunitní jednorázový startovací workshop tvorby webu v Pythonu.
Rails Girls
Komunitní jednorázový startovací workshop tvorby webu v Ruby.
Kde najdeš pomoc?
Je velmi těžké se učit zcela bez cizí pomoci. I drobný zádrhel tě může zaseknout na týdny a úplně ti zkazit radost z učení. Neboj se ptát online, radit se s lidmi na akcích, nebo si najít mentora.
Kde a jak se ptát?
Neboj se ptát, ale zároveň se nauč formulovat dotazy správně. Žádná otázka není hloupá, může však být hloupě položená. Než se někde začneš ptát, přečti si nejslavnější návod na internetu o psaní dotazů, nebo alespoň tento krátký návod od Stack Overflow.
Stack Overflow
Ptej se na celosvětově největším webu s otázkami a odpovědmi ohledně programování.
Pyonýři
Ptej se české a slovenské Python komunity.
r/learnpython
Pokládej dotazy do subredditu pro začátečníky s Pythonem.
r/learnprogramming
Pokládej dotazy do subredditu pro začátečníky s programováním.
Jak si zlepšit angličtinu?
Mnohem více než matematika je při programování potřeba angličtina. Materiály pro úplné začátečníky existují i v češtině, ale potom už se bez schopnosti alespoň číst anglický text obejít nelze.
Help for English
- materiály
- procvičování
- mobilní appka
Bezplatné kvalitní materiály, testy, cvičení.
Broňa
- YouTube
Video každé úterý. Možná trochu střelený, ale nadšený!
ONLINE jazyky
- online kurz
Kurzy pro každou úroveň. 20 min denně.
Speak Confident English
- online kurz
- mentoring
I nesmělí a introvertní mohou mluvit plynně.
Duolingo
- online kurz
- mobilní appka
Uč se hrou v mobilu, 5 min denně, kdykoliv, kdekoliv.
Umíme anglicky
- procvičování
Systém učení skrze cvičení a opakování, podložený výzkumy.
Prague English Meeting
- setkání
Snaž se mluvit s reálnými lidmi. Začni klidně „rukama nohama“
Nejbližší setkání hledej na FB, meetup.com, foreigners.cz, couchsurfing.com
Seznam je ručně sestavován s ohledem na přívětivost, efektivnost, a vhodnost pro samouky. Za umístění v seznamu se nedá zaplatit. Pokud máš nápad jak seznam vylepšit, piš na ahoj@junior.guru.