Tipy a triky
03.10.2016
Skillmea
Ako sa stať iOS vývojárom
Zrejme uvažuješ nad tým, že sa staneš vývojárom pre platformu iOS. Budeš mať blízko aj k programovaniu pre tvOS (Apple TV), watchOS (Apple Watch), macOS (stolové a prenosné počítače) a možno v budúcnosti carOS, … Tentoraz sa pozrieme na to, čo všetko potrebuješ k tomu, aby si sa stal iOS vývojárom buď na voľnej nohe alebo ako zamestnanec.
Skúsim to ozrejmiť z pohľadu, ako to riešime my v become.sk. Pokojne sa mi ozvi pre bližšie informácie, určite ťa odkážem na Swiftológa, online kurz iOS programovania, ktorý prebieha formou náučných videí. V tomto kurze získaš základný prehľad jazyka Swift a vyskúšaš si v ňom urobiť (zatiaľ) jednu vzorovú aplikáciu.
Čo potom? Povieš si, veď to všetko stojí peniaze. No áno, no stojí. Treba si uvedomiť, že vo všetkom je ľudská energia a čas. Platí sa zaň. Ak existujú veci zadarmo, tak tie zaplatil niekto iný miesto teba, za čo môžeme v podstate všetci ďakovať. No dobre, dosť bolo moralizovania, poďme si ukázať, čo všetko potrebuješ na to stať sa riadnym iOS programátorom, povedzme v priebehu roka.
Hardvér a softvér – koľko ťa to bude stáťMožno už máš počítač s OS X, neskôr macOS. Ak nie, tak vedz, že potrebuješ práve ten. Ak nemáš, na tvojom mieste by som v závislosti na pomere cena/výkon volil iMac 21,5“. Tento odkaz nie je reklama, uvádzam ho na Traco čisto dobrovoľne :-). Taký iMac kúpiš za cca 1200€ a vyššie.
Ak chceš lacnejší stolový počítač, tak budeš musieť siahnuť po Mac Mini, trochu mu budeš musieť rozšíriť RAM (cca 100€), dokúpiť displej aspoň za 300€, dokúpiť Apple klávesnicu (120€) a myš (86€) alebo Trackpad (144€). Táto možnosť dohromady vychádza cca. 1200€, čiže rovnako, ako komplexný iMac, kde už máš všetko. Cenu vieš samozrejme zraziť cenou displeja. Zo skúsenosti však viem, že čím lepší displej, tým ľahšie sa bude aj tebe programovať.
[Image]
Rôzne typy Mac zariadení
Ak chceš prenosný počítač, odporúčam MacBook Pro. Nový a najlacnejší 13“ kúpiš za 1450€. Občas sú aj výpredaje starších modelov, kde sa vieš cenou dostať na 1150€. Nad iným ako Pro ani neuvažuj, pretože MacBook ani MacBook Air sa na vývoj nehodí. Sú príliš nevýkonné na to, čo časom budeš potrebovať. Zo začiatku možno áno, ale o rok intenzívneho vývoja od tvojho začiatku isto nebudú stíhať. Ver mi.
No dobre, a čo zariadenie, pre ktoré budeš vyvíjať? Máš iPhone (679€)? Máš iPad (369€)? A čo Apple TV (179€) alebo Apple Watch (349€)? Odporúčam začať s iPhone zariadením. Nielen, že budeš mať telefón, ale aj riadny systém iOS, ktorý ti umožňuje veľmi veľa, kým tvOS a watchOS sú do istej miery obmedzené. iPad je tiež v pohode, no neobsahuje niektoré dôležité súčiastky, ktoré obsahuje iPhone. Napr. si z neho nezavoláš cez operátora. Ono to ide pomocou Continuity, aj z Macu dnes už zavoláš, ale v zásade len keď máš iPhone.
Keď to skúsim zhruba spočítať, tak na hardvér potrebuješ 2000€. Či je to veľa, či málo, je na tebe. Keď však budeš dobrý, vráti sa ti to niekoľkonásobne.
Softvér ťa vyjde v podstate zadarmo. Čo ti stačí je vývojové prostredie Xcode, v ktorom budeš všetko programovať. Ak si schopný urobiť si aj grafiku, odporúčam Sketch, ktorý však stojí $99. Ak chceš kresliť rastrové obrázky, odporúčam Pixelmator za 29,99€.
Ako príklad uvediem seba. Ja som si v roku 2010 kúpil iMac 27“ za 1600€ a mám ho dodnes. Raz som mu rozširoval RAM zo 4GB na 16GB. Vďaka nemu som začal programovať pre iOS. Úplnou náhodou, no to je iný príbeh. Začal som podľa knihy ešte v jazyku Objective-C, robil som vlastné appky, nejaké klientské, neskôr pracoval pre starbug, inloop a teraz vediem tím vývojárov mobilných appiek a školím/učím programovať pre iOS. Takže tých 1600€ sa mi vrátilo v priebehu 6 rokov dostatočne na to, aby som uživil rodinu, aby sme si mohli dovoliť kúpiť auto, …
Na čo ešte čakáš?
Licencia, živnosť alebo zamestnanieNepotrebuješ nič z toho. Ale ak uvažuješ nad serióznym vývojom, tak minimálne Apple licenciu za $99/rok potrebuješ. Tá ti umožňuje odosielať aplikácie do App Store, prípadne máš viac výhod spojených s dostupnosťou obsahu pre Apple vývojárov, ako i beta verzie nového softvéru na vývoj a máš šancu dostať sa na konferenciu WWDC poriadanú firmou Apple.
Akonáhle však začneš peniaze zarábať, hoc aj jeden cent, potrebuješ ich priznať daňovému úradu. Ak táto suma je menšia ako nejaká hodnota, daň ani odvody neplatíš. Ak presiahneš istú sumu, už musíš platiť aj daň, odvody atď. Tam je už dobrá živnosť alebo sročka. Vo všetkom okolo daňových informácií ti poradí šikovný účtovník alebo účtovníčka.
Ak nechceš mať tieto problémy, zamestnaj sa vo firme, ktorá vyvíja mobilné appky. Zarobíš stabilne. No aj tak, ak chceš predávať aj vlastné veci, platí vyššie spomínané. Všetky peniaze musíš priznať.
Ak ti môžem ja poradiť: založ si živnosť a nájdi si stabilný príjem z vývoja (na voľnej nohe, zamestnanec, to je jedno). Budeš mať viac možností, viac voľnosti. Možno ťa to vyjde viac peňazí odvedených do štátnej kasy, ale tým sa netráp. Aj štát potrebuje na prevádzku isté peniaze rovnako, ako aj ty.
Platí pravidlo: ak veľmi chceš, neriešiš prkotiny, ale podstatu toho, čo chceš.
PraxPoznáš inzeráty typu: „hľadáme mladého flexibilného absolventa s praxou.“ Často však absolventi prax nemajú, lebo „vysoké školy nie sú učňovky,“ ako mi raz zahundral vedúci našej katedry informatiky. Asi sa urazil, keď som mu povedal, že mali by sme mať viac praktických skúseností, ako teórie. Ako to ale vyriešiť?
Popri škole môžeš využiť rôzne školenia, kurzy, a keď sa bavíme o programovaní pre iOS, urob si na začiatku Swiftológa a potom sa prihlás k nám do become.sk, lebo sme vymysleli spôsob, ako získaš zadarmo prax ešte počas štúdia na škole a naučíš sa pri tom programovať. Zlepšíš sa a postupne začneš už aj zarábať na stále náročnejších projektoch.
Niektorým z vás prešiel po chrbte mráz, keď som vyslovil „stále náročnejších“. No áno, programovať nie je jednoduché. Mozog ti bude na začiatku vytekať z hlavy a budeš hladný, no pokiaľ vydržíš, pozbieraš ovocie. Poradím ti: nechci zarobiť hneď na začiatku veľa peňazí. Nevyplatí sa ti to a nebudeš mať ani prax, ani peniaze. Buď ochotný dať istý čas svojmu vzdelaniu bez nároku na výplatu. Si ešte študent, máš zrejme rodičov, ktorí ti hradia štúdium. To je obrovská výhoda, ktorú je dobré využiť. Nepotrebuješ už vtedy zarábať ako Mark, Steve alebo Milan. Fakt nie :-). Alebo ak sa chceš stať programátorom popri práci, ktorú už nechceš robiť, tak v nej pokračuj, kým nezískaš skúsenosti v programovaní natoľko, že si môžeš dovoliť vziať platený projekt.
Ono to začne. Príde jeden projekt za rok, na ďalší rok dva, potom štyri, osem, … a exponenciála rastie a prináša ovocie. Len vydrž a nechci všetko hneď. Lebo tak tento svet nefunguje.
[Image]
A zavri už ten článok o príbehu ďalšieho úspešného startupu, ktorý získal peniaze, no reálnu hodnotu nevytvára. Je to bublina. Prečítaj si radšej článok o tom, prečo zas ďalší (relatívne) úspešný projekt končí. Nechce sa ti to čítať? Prezradím ti podstatu: nezarábajú dosť peňazí na svoju prevádzku. Zabudni na miliónový startup, urob niečo užitočné pre seba a svoje okolie a možno budeš mať šťastie a zarobíš na tom. Potom sa bude o tebe písať, no ty budeš vedieť, že úspech neprichádza cez noc, ale po rokoch driny a odriekania.
Dosť bolo mudrovania, uvediem ti teraz niekoľko zdrojov, z ktorých môžeš čerpať pri svojom vzdelávaní.
Vzdelávacie programy
Apple ponúka osnovu a materiály vzdelávacieho programu programovania v jazyku Swift. Ono to je veľa materiálu, no bez edukačnej teórie, samotný materiál nevzdeláva, nie je tam žiadna príručka, nie je to náhrada kurzov. Je určený učiteľom, ktorí chcú niekoho učiť programovať. Podľa neho idem individuálne učiť jedného človeka, ktorý sa chce naučiť od nuly programovať a hneď ide skočiť na jazyk Swift a Apple platformu. Aby som to uviedol na pravú mieru, ten človek prešiel dennými kurzami s viac účastníkmi i online kurzami, no zistil, že jemu vyhovuje iné tempo a individuálny prístup.
Potom tu máme online vzdelávacie kurzy, napr. Swiftológ od Learn2Code, ktorý som pripravil ja. Má dve časti, v prvej si prejdeš jazykom Swift, v tej druhej si naprogramuješ ukážkovú aplikáciu.
Aby som bol kompletný, musím uviesť aj iné vzdelávacie inštitúcie, ktoré ponúkajú online kurzy programovania pre iOS.
Coursera ponúka kurzy vývoja pre iOS, ich nevýhodou i výhodou v našich končinách je anglický jazyk. Takto v teréne sa ho naučíš najlepšie. Niektoré kurzy sú platené, iné zadarmo. Stačí si vybrať a študovať.
Potom tu je EdX, ale o iOS je tam toho podstatne menej.
Tutoriály
Niekedy si povieš, že ideš si sám alebo sama skúšať postupy, ktoré niekto dal dohromady. Ako vytvoriť hru, ako urobiť aplikáciu podobnú instagramu, atď. Tieto návody sú peknou ilustráciou toho, ako veci na pozadí aplikácií fungujú. Ak chceš vyskúšať skutočne dobré tutoriály, zájdi na RayWenderlich.com a niečo pohľadaj. Tutoriálov sú tam stovky, od programovania jednoduchej „Hello World“ appky, cez programovanie serverovej časti pre podporu aplikácie až po Apple Watch alebo Apple TV. Vybrať si môžeš, väčina z nich je zadarmo, inak ponúkajú ucelené knihy plné návodov, aj takých, čo sa na web nevošli.
Možno časom narazíš aj na iný web venujúci sa návodom, tento je však jeden z najlepších.
Fórum
Občas sa stane, že sa potrebuješ opýtať, ako vyriešiť „neriešiteľný“ problém, no zo začiatku nepoznáš nikoho znalého, lepšieho ako ty, kto by ti poradil. Preto zájdi na StackOverflow a opýtaj sa tam. Ich premakaný systém hodnotenia otázok a odpovedí dáva tomuto fóru jedinečnosť v tom, že určite vieš na prvý pohľad zistiť, ktorá odpoveď je vhodná pre tvoj problém.
Oni totiž implementovali premyslenú gamifikáciu, ktorá vo svojej podstate stojí na kladení otázok, ich odpovedaní, editácii a hodnotení. Na tomto základe získavaš hodnosti a reputáciu na fóre. Ono to funguje výborne, lebo každého človeka to udržiava v aktivite.
Celé fórum je v angličtine, samozrejme. Znovu platí, pokiaľ pretrpíš začiatky, že angličtine nerozumieš, tak neskôr porozumieš. A bude to dobré.
Ako porozumieť angličtineUž som čosi naznačil skôr v článku. Sú štyri oblasti angličtiny (aj iných jazykov), ktoré je dobré trénovať:
1. Posluch
2. Čítanie
3. Rozprávanie
4. Písanie
[Image]
Posluch si trénuj tak, že budeš audiovizuálny obsah sledovať výlučne v angličtine, aj keď tomu nebudeš hneď rozumieť. Slovíčka a frázy sa zvyknú opakovať a ty postupne pochopíš kontext vysloveného.
Čítanie trénuj dobrým čítaním. Nielen tutoriálov a dokumentácie, ale aj článkov na blogoch a magazínoch, rôzne fóra. Tak sa naučíš, ako sa skladajú vety, aj keď mnohokrát sa môžu vyskytnúť chyby. Nič si z toho nerob, postupne ich budeš vedieť odhaliť. Buď sám, alebo s trochou pomoci zbehlejšieho prekladateľa.
Rozprávanie trénuj rozprávaním :-) Zapni Siri a niečo jej povedz… každý deň :-). To by bol začiatok. Potom nájdi človeka, s kým sa môžeš porozprávať v angličtine. Ideálne zo zahraničia cez Skype. Alebo vycestuj do zahraničia a skús sa niečo opýtať.
Napríklad skús MyEnglishTeacher.eu, speaking24.com alebo si pozri zoznam ďalších. Pri troche snahy sa dá takýchto zdrojov nájsť kvantum, over si, ktorý ti vyhovuje a choď na to.
Písanie sa zvezie popri troch vyššie spomínaných aktivitách. Totiž musíš vedieť napísať, čo hľadáš, napíšeš nejaký komentár pod prečítané alebo svoj vlastný názor na Facebook, či Medium. Tak isto si dohodneš rozhovor s človekom zo zahraničia cez email, kde musíš písať taktiež.
Pri všetkých aktivitách sa neboj robiť chyby. Pár ľudí ťa zdrbe za to, že si vôbec dovoľuješ s takou angličtinou niečo prezentovať. Lenže to je presne ten správny moment, kedy sa naučíš niečo nové. Opýtaj sa tých ľudí na to, ako by znenie zmenili a určite ti poradia.
Tvoja cenaNebuď hlúpy a nepýtaj veľa. Si junior, začiatočník alebo veľmi mierne a vlažne pokročilý, no ešte stále sa máš čo ušiť. Ako to viem? No lebo čítaš tento článok, si jeho cieľovka. Aj profík to musí, ale na inej úrovni. Nastav si cenu na začiatku napr. na interval 0€ – 5€/hod. Teraz si to v hlave prerátaš, zistíš, že za mesiac (160 hodín) by si zarobil 800€ a za rok 9600€. Z toho odviesť ešte daň, odvody a ostane ti polovica. Tvoja predstava však bola aspoň dvoj až trojnásobná. No povedzme si pravdu, že aby si fakt mohol zarábať 20000€ ročne a viac, potrebuješ si toho dosť veľa odprogramovať, aby si appku nerealizoval dva mesiace, ale dva týždne. Vieš, toho, čo ti bude dávať peniaze tiež niečo stojíš a dobre si rozmyslí, či sa mu oplatí zaplatiť profíka na málo hodín alebo začiatočníka na veľa hodín. V konečnom dôsledku ho to finančne vyjde rovnako, no rýchlejšia realizácia = viac zrealizovaných projektov a viac financií na účte.
[Image]
S cenou to je ako so stromom. Teraz sa asi učíš programovať, si na začiatku, tak to ber, že si zasadil semiačko jablone. Začínaš rásť, ako rastie malý výhonok, no od toho výhonku ešte nežiadaš, aby ti dal jablká. Sám vieš, že dospelou jabloňou ešte nie je. Stačilo by, keby prišla myš, obhrýzla korienok a všetko je v prdeli.
Ty si tiež ten výhonok, a keď sa budeš snažiť zarobiť čo najviac, nič z toho nebude, lebo nik ti to nedá. Pýtaj si vodu, ktorou cháp projekty, ktoré budeš robiť hoc aj zadarmo. Zo začiatku. Na nich sa naučíš komunikovať, projektový manažment, osobný časový manažment, plánovať a v neposlednom rade aj programovať.
Ani sa nenazdáš a o pár mesiacov budeš na úrovni, kedy už budeš aj čo-to zarábať.
ZáveromPrestaň teraz čítať, prejdi Swiftológa, otvor Xcode a urob niečo. Prípadne sa mi ozvi ;-) a potom si daj Swiftológa.
Autorom blogu je Peter Druska, ktorý je lektorom online kurzu programovania iOS aplikácií Swiftológ. Zaujíma ťa programovanie alebo dizajnovanie? Vyber si niektorý z našich ďalších online a prezenčných kurzov pre začiatočníkov a mierne pokročilých na https://skillmea.sk.