Tipy a triky
03.10.2016
Skillmea
Jak se stát iOS vývojářem
Zřejmě uvažuješ nad tím, že se staneš vývojářem pro platformu iOS. Budeš mít blízko ik programování pro tvOS (Apple TV), watchOS (Apple Watch), macOS (stolní a přenosné počítače) a možná v budoucnu carOS, … Tentokrát se podíváme na to, co všechno potřebuješ k tomu, aby ses stal iOS vývojářům buď na volné noze nebo jako zaměstnanec.
Zkusím to ozřejmit z pohledu, jak to řešíme my v become.sk . Klidně se mi ozvi pro bližší informace, určitě tě odkážu na Swiftologa , online kurz iOS programování, který probíhá formou naučných videí. V tomto kurzu získáš základní přehled jazyka Swift a vyzkoušíš si v něm udělat (zatím) jednu vzorovou aplikaci.
Co potom? Řekneš si, vždyť to všechno stojí peníze. No ano, no stojí. Třeba si uvědomit, že ve všem je lidská energie a čas. Platí se za něj. Pokud existují věci zadarmo, tak ty zaplatil někdo jiný místo tebe, za což můžeme v podstatě všichni děkovat. No dobře, dost bylo moralizování, pojďme si ukázat, co všechno potřebuješ k tomu stát se řádným iOS programátorem, řekněme v průběhu roku.
Hardware a software – kolik tě to bude státMožná už máš počítač s OS X, později macOS. Pokud ne, tak věz, že potřebuješ právě ten. Pokud nemáš, na tvém místě bych v závislosti na poměru cena/výkon volil iMac 21,5“ . Tento odkaz není reklama, uvádím jej na Traco čistě dobrovolně :-). Takový iMac koupíš za cca 1200 € a výše.
Pokud chceš levnější stolní počítač, tak budeš muset sáhnout po Mac Mini , trochu mu budeš muset rozšířit RAM (cca 100 €), dokoupit displej alespoň za 300 €, dokoupit Apple klávesnici (120 €) a myš (86 €) nebo Trackpad (144 €). Tato možnost dohromady vychází cca. 1200 €, tedy stejně jako komplexní iMac, kde už máš všechno. Cenu umíš samozřejmě srazit cenou displeje. Ze zkušenosti však vím, že čím lepší displej, tím snáze se bude i tobě programovat.
[Různé typy Mac zařízení]
Pokud chceš přenosný počítač, doporučuji MacBook Pro . Nový a nejlevnější 13“ koupíš za 1450 €. Občas jsou i výprodeje starších modelů, kde se umíš cenou dostat na 1150 €. Nad jiným než Pro ani neuvažuj, protože MacBook ani MacBook Air se na vývoj nehodí. Jsou příliš nevýkonné na to, co časem budeš potřebovat. Ze začátku možná ano, ale za rok intenzivního vývoje od tvého začátku jistě nebudou stíhat. Věř mi.
No dobře, a co zařízení, pro které budeš vyvíjet? Máš iPhone (679€)? Máš iPad (369€)? A co Apple TV (179 €) nebo Apple Watch (349 €)? Doporučuji začít s iPhone zařízením. Nejen, že budeš mít telefon, ale také řádný systém iOS, který ti umožňuje velmi mnoho, zatímco tvOS a watchOS jsou do jisté míry omezené. iPad je také v pohodě, ale neobsahuje některé důležité součástky, které obsahuje iPhone. Např. si z něj nezavoláš přes operátora. Ono to jde pomocí Continuity , iz Macu dnes už zavoláš, ale v zásadě jen když máš iPhone.
Když to zkusím zhruba spočítat, tak na hardware potřebuješ 2000 €. Zda je to hodně či málo, je na tobě. Když však budeš dobrý, vrátí se ti to několikanásobně.
Software tě vyjde v podstatě zadarmo. Co ti stačí je vývojové prostředí Xcode , ve kterém budeš vše programovat. Pokud jsi schopen udělat si i grafiku, doporučuji Sketch , který však stojí $99. Pokud chceš kreslit rastrové obrázky, doporučuji Pixelmator za 29,99 €.
Jako příklad uvedu sebe. Já jsem si v roce 2010 koupil iMac 27“ za 1600 € a mám ho dodnes. Jednou jsem mu rozšiřoval RAM ze 4GB na 16GB. Díky němu jsem začal programovat pro iOS. Úplnou náhodou, ale to je jiný příběh. Začal jsem podle knihy ještě v jazyce Objective-C, dělal jsem vlastní appky, nějaké klientské, později pracoval pro starbug , inloop a teď vedu tým vývojářů mobilních appek a školím/učím programovat pro iOS. Takže těch 1600 € se mi vrátilo v průběhu 6 let dostatečně na to, abych uživil rodinu, abychom si mohli dovolit koupit auto, …
Na co ještě čekáš?
Licence, živnost nebo zaměstnáníNepotřebuješ nic z toho. Ale pokud uvažuješ nad seriózním vývojem, tak minimálně Apple licenci za $99/rok potřebuješ. Ta ti umožňuje odesílat aplikace do App Store, případně máš více výhod spojených s dostupností obsahu pro Apple vývojáře i beta verze nového softwaru pro vývoj a máš šanci dostat se na konferenci WWDC pořádanou firmou Apple.
Jakmile však začneš peníze vydělávat, byť i jeden cent, potřebuješ je přiznat daňovému úřadu. Pokud tato částka je menší než nějaká hodnota, daň ani odvody neplatíš. Přesáhneš-li jistou částku, už musíš platit i daň, odvody atp. Tam je už dobrá živnost nebo srůčka. Ve všem kolem daňových informací ti poradí chytrý účetní nebo účetní.
Pokud nechceš mít tyto problémy, zaměstnej se ve firmě, která vyvíjí mobilní appky. Vyděláš stabilně. Nicméně, pokud chceš prodávat i vlastní věci, platí výše zmíněné. Všechny peníze musíš přiznat.
Pokud ti můžu já poradit: založ si živnost a najdi si stabilní příjem z vývoje (na volné noze, zaměstnanec, to je jedno). Budeš mít více možností, víc volnosti. Možná tě to vyjde více peněz odvedených do státní kasy, ale tím se netrap. I stát potřebuje k provozu jisté peníze stejně jako ty.
Platí pravidlo: pokud moc chceš, neřešíš prkotiny, ale podstatu toho, co chceš.
PraxePoznáš inzeráty typu: „hledáme mladého flexibilního absolventa s praxí.“ Často však absolventi praxi nemají, neboť „vysoké školy nejsou učňovky,“ jak mi jednou zamumlal vedoucí naší katedry informatiky. Asi se urazil, když jsem mu řekl, že měli bychom mít více praktických zkušeností než teorie. Jak to ale vyřešit?
Vedle školy můžeš využít různá školení, kurzy, a když se bavíme o programování pro iOS, udělej si na začátku Swiftologa a pak se přihlas k nám do become.cz, protože jsme vymysleli způsob, jak získáš zdarma praxi ještě během studia na škole a naučíš se při tom programovat. Zlepšíš se a postupně začneš už i vydělávat na stále náročnějších projektech.
Některým z vás prošel po zádech mráz, když jsem vyslovil „stále náročnější“. No ano, programovat není jednoduché. Mozek ti bude na začátku vytékat z hlavy a budeš hladový, ale pokud vydržíš, posbíráš ovoce. Poradím ti: nechci vydělat hned na začátku spoustu peněz. Nevyplatí se ti to a nebudeš mít ani praxi, ani peníze. Buď ochoten dát jistou dobu svému vzdělání bez nároku na výplatu. Jsi ještě student, máš zřejmě rodiče, kteří ti hradí studium. To je obrovská výhoda, kterou je dobré využít. Nepotřebuješ už tehdy vydělávat jako Mark, Steve nebo Milan. Fakt ne :-). Nebo pokud se chceš stát programátorem vedle práce, kterou už nechceš dělat, tak v ní pokračuj, dokud nezískáš zkušenosti v programování natolik, že si můžeš dovolit vzít placený projekt.
Ono to začne. Přijde jeden projekt za rok, na další rok dva, potom čtyři, osm, … a exponenciála roste a přináší ovoce. Jen vydrž a nechci všechno hned. Protože tento svět nefunguje.
[Image]
A zavři už ten článek o příběhu dalšího úspěšného startupu, který získal peníze, ale reálnou hodnotu nevytváří. Je to bublina. Přečti si raději článek o tom, proč zase další (relativně) úspěšný projekt končí . Nechce se ti to číst? Prozradím ti podstatu: nevydělávají dost peněz na svůj provoz. Zapomeň na milionový startup, udělej něco užitečného pro sebe a své okolí a možná budeš mít štěstí a vyděláš na tom. Potom se bude o tobě psát, ale ty budeš vědět, že úspěch nepřichází přes noc, ale po letech dřiny a odříkání.
Dost bylo mudrování, uvedu ti nyní několik zdrojů, ze kterých můžeš čerpat při svém vzdělávání.
Vzdělávací programy
Apple nabízí osnovu a materiály vzdělávacího programu programování v jazyce Swift . Ono to je mnoho materiálu, ale bez edukační teorie, samotný materiál nevzdělává, není tam žádná příručka, není to náhrada kurzů. Je určen učitelům, kteří chtějí někoho učit programovat. Podle něj jdu individuálně učit jednoho člověka, který se chce naučit od nuly programovat a hned jde skočit na jazyk Swift a Apple platformu. Abych to uvedl na pravou míru, ten člověk prošel denními kurzy s více účastníky i online kurzy, ale zjistil, že jemu vyhovuje jiné tempo a individuální přístup.
Pak zde máme online vzdělávací kurzy. Swiftolog od Learn2Code , který jsem připravil já. Má dvě části, v první si projdeš jazykem Swift, v té druhé si naprogramuješ ukázkovou aplikaci.
Abych byl kompletní, musím uvést i jiné vzdělávací instituce, které nabízejí online kurzy programování pro iOS.
Coursera nabízí kurzy vývoje pro iOS , jejich nevýhodou i výhodou v našich končinách je anglický jazyk. Takhle v terénu se ho naučíš nejlépe. Některé kurzy jsou placené, jiné zdarma. Stačí si vybrat a studovat.
Pak tady je EdX , ale o iOS je tam toho podstatně méně.
Tutoriály
Někdy si řekneš, že jdeš si sám nebo sama zkoušet postupy, které někdo dal dohromady. Jak vytvořit hru, jak provést aplikaci podobnou instagramu, atp. Tyto návody jsou pěknou ilustrací toho, jak věci na pozadí aplikací fungují. Pokud chceš vyzkoušet opravdu dobré tutoriály, zajdi na RayWenderlich.com a něco pohledej. Tutoriálů jsou tam stovky, od programování jednoduché „Hello World“ appky, přes programování serverové části pro podporu aplikace až po Apple Watch nebo Apple TV. Vybrat si můžeš, většina z nich je zdarma, jinak nabízejí ucelené knihy plné návodů i takových, co se na web nevešly.
Možná časem narazíš i na jiný web věnující se návodům, tento je ovšem jeden z nejlepších.
Fórum
Občas se stane, že se potřebuješ zeptat, jak vyřešit „neřešitelný“ problém, ale ze začátku neznáš nikoho znalého, lepšího než ty, kdo by ti poradil. Proto zajdi na StackOverflow a zeptej se tam. Jejich promakaný systém hodnocení otázek a odpovědí dává tomuto fóru jedinečnost v tom, že určitě umíš na první pohled zjistit, která odpověď je vhodná pro tvůj problém.
Oni totiž implementovali promyšlenou gamifikaci, která ve své podstatě stojí na kladení otázek, jejich zodpovězení, editaci a hodnocení. Na tomto základě získáváš hodnosti a reputaci na fóru. Ono to funguje výborně, neboť každého člověka to udržuje v aktivitě.
Celé fórum je v angličtině samozřejmě. Znovu platí, pokud přetrpíš začátky, že angličtině nerozumíš, tak později porozumíš. A bude to dobré.
Jak porozumět angličtiněUž jsem cosi naznačil spíše v článku. Jsou čtyři oblasti angličtiny (i jiných jazyků), které je dobré trénovat:
1. Poslech
2. Čtení
3. Mluvení
4. Psaní
[Image]
Poslech si trénuj tak, že budeš audiovizuální obsah sledovat výlučně v angličtině, i když tomu nebudeš hned rozumět. Slovíčka a fráze se zvyknou opakovat a ty postupně pochopíš kontext vysloveného.
Čtení trénuj dobrým čtením. Nejen tutoriálů a dokumentace, ale také článků na blozích a magazínech, různá fóra. Tak se naučíš, jak se skládají věty, i když mnohdy se mohou vyskytnout chyby. Nic si z toho nedělej, postupně je budeš umět odhalit. Buď sám, nebo s trochou pomoci zběhlejšího překladatele.
Mluvení trénuj mluvením :-) Zapni Siri a něco jí řekni… každý den :-). To by byl začátek. Potom najdi člověka, s kým si můžeš promluvit v angličtině. Ideální ze zahraničí přes Skype. Nebo vycestuj do zahraničí a zkus se něco zeptat.
Například zkus MyEnglishTeacher.eu , speaking24.com nebo si viz seznam dalších . Při troše snahy lze takových zdrojů najít kvantum, ověř jsi, který ti vyhovuje a jdi na to.
Psaní se sveze vedle tří výše zmíněných aktivit. Totiž musíš umět napsat, co hledáš, napíšeš nějaký komentář pod přečtené nebo svůj vlastní názor na Facebook či Medium . Stejně tak si domluvíš rozhovor s člověkem ze zahraničí přes email, kde musíš psát také.
Při všech aktivitách se neboj dělat chyby. Pár lidí tě zdrbe za to, že si vůbec dovoluješ s takovou angličtinou něco prezentovat. Jenže to je přesně ten správný moment, kdy se naučíš něco nového. Zeptej se těch lidí na to, jak by znění změnili a určitě ti poradí.
Tvá cenaNebuď hloupý a neptej mnoho. Jsi junior, začátečník nebo velmi mírně a vlažně pokročilý, ale stále se máš co ušít. Jak to vím? No protože čteš tento článek, jsi jeho cílovka. I profík to musí, ale na jiné úrovni. Nastav si cenu na začátku například. na interval 0€ – 5€/hod. Teď si to v hlavě přepočítáš, zjistíš, že za měsíc (160 hodin) bys vydělal 800 € a za rok 9600 €. Z toho odvést ještě daň, odvody a zůstane ti polovina. Tvá představa však byla alespoň dvou až trojnásobná. No řekněme si pravdu, že abys fakt mohl vydělávat 20000 € ročně a více, potřebuješ si toho dost hodně odprogramovat, abys appku nerealizoval dva měsíce, ale dva týdny. Víš, toho, co ti bude dávat peníze také něco stojíš a dobře si rozmyslí, jestli se mu vyplatí zaplatit profíka na málo hodin nebo začátečníka na spoustu hodin. V konečném důsledku ho to finančně vyjde stejně,
[Image]
S cenou to je jako se stromem. Teď se asi učíš programovat, jsi na začátku, tak to ber, že jsi zasadil semínko jabloně. Začínáš růst, jak roste malý výhonek, ale od toho výhonku ještě nežádáš, aby ti dal jablka. Sám víš, že dospělou jabloní ještě není. Stačilo by, kdyby přišla myš, okousla kořínek a všechno je v prdeli.
Ty jsi také ten výhonek, a když se budeš snažit vydělat co nejvíce, nic z toho nebude, neboť nikdo ti to nedá. Ptej si vodu, kterou cháp projekty, které budeš dělat byť zadarmo. Ze začátku. Na nich se naučíš komunikovat, projektový management, osobní časový management, plánovat a v neposlední řadě i programovat.
Ani se nenaděješ ao pár měsíců budeš na úrovni, kdy už budeš i něco vydělávat.
ZávěremPřestaň teď číst, přejdi Swiftologa , otevři Xcode a udělej něco. Případně se mi ozvi ;-) a pak si dej Swiftologa.
Autorem blogu je Peter Druska , který je lektorem online kurzu programování iOS aplikací Swiftolog . Zajímá tě programování nebo designování? Vyber si některý z našich dalších online a prezenčních kurzů pro začátečníky a mírně pokročilé na https://skillmea.sk .