Co můžete očekávat, pokud se chcete stát vývojářem iOS

Co můžete očekávat, pokud se chcete stát vývojářem iOS

Zvenčí iOS se vývoj může jevit jako uzavřený klub. K práci rozhodně potřebujete počítač Apple, ekosystém úzce kontroluje jedna společnost. Zevnitř můžete také občas slyšet rozpory – někteří říkají, že jazyk Objective-C je starý a neohrabaný, a jiní říkají, že nový jazyk Swift je příliš hrubý.

Nicméně vývojáři do této oblasti jdou a když tam jsou, jsou spokojeni.

Marat Nurgaliev a Boris Pavlov nám tentokrát vyprávěli o svých zkušenostech – jak se učili profesi, jak prošli prvními pohovory, proč dostávali odmítnutí. A jako odborník vystupoval děkan Andrey Antropov Fakulta vývoje iOS ve společnosti GeekBrains.

V roce 2016 přišel Marat Nurgaliev z regionu Astrachaň, aby získal práci mobilního vývojáře v místní televizní společnosti. Toto byl jeho první rozhovor. Právě se vrátil z armády, bez praxe a zkušeností, zapomněl i na teorii, se kterou už měl problémy. Maratovou jedinou zkušeností s vývojem mobilních zařízení byla jeho práce o analýze toků úniku informací prostřednictvím aplikací pro Android. Na pohovoru se ho ptali na jeho studium, OOP a další teorii, ale Marat nedokázal skrýt mezery ve svých znalostech.

Nebyl však odmítnut, ale dostal praktický úkol – za dva týdny implementovat zobrazování seznamu novinek pomocí API. Jak pro iOS, tak pro Android. „Pokud jsem měl nějaké zkušenosti s Androidem, neexistoval ani nástroj na vytvoření verze pro iOS. Vývojové prostředí aplikací pro iOS je dostupné pouze pro Mac. Ale o dva týdny později jsem se vrátil a ukázal, co umím na Androidu. S iOS jsem na to musel přijít za běhu. Nakonec mě vzali. Pak jsem žil v Astrachani. Každá IT práce s platem nad dvacet mi vyhovovala.“

Kdo jsou vývojáři iOS?

Mobilní vývojáři vytvářejí aplikace pro jakékoli přenosné zařízení. Smartphony, tablety, chytré hodinky a všechny další platformy, které podporují Android nebo iOS. Základní principy mobilního vývoje se neliší od konvenčního vývoje, ale díky specifickým nástrojům byl rozdělen do samostatného směru. Používá vlastní nástroje, programovací jazyky a frameworky.

„Pro práci s iOS potřebujete MacBook, protože pouze ten má potřebné vývojové prostředí Xcode. Je zdarma a distribuován prostřednictvím AppStore. K instalaci potřebujete mít své Apple ID a nic jiného. V Xcode můžete vyvíjet aplikace pro cokoli – telefon, tablet, hodinky. Ke všemu je vestavěný simulátor a editor,“ říká Andrey Antropov, děkan vývojového oddělení iOS v GeekBrains.

„Ale vývojové prostředí lze nainstalovat na Windows, pokud používáte Hackintosh. Toto je funkční, ale kruhová možnost - žádný z seriózních vývojářů to nedělá. Začátečníci si koupí starý MacBook. A ti zkušení si většinou mohou dovolit nejnovější model.“

Jazyky - Swift nebo Objective-C

Téměř veškerý vývoj iOS se provádí pomocí programovacího jazyka Swift. Objevil se před pěti lety a nyní postupně nahrazuje starý jazyk Objective-C, který Apple používá ve všech svých aplikacích již více než 30 let.

„V Objective-C se nashromáždila obrovská kódová základna, takže vývojáři v obou jazycích jsou stále vyžadováni v závislosti na společnosti, jejích úkolech a aplikacích. Aplikace napsané před mnoha lety jsou založeny na Objective-C. A všechny nové projekty jsou standardně vyvíjeny ve Swiftu. Apple nyní dělá hodně pro to, aby byl simultánní vývoj pro telefon, tablet, hodinky a MacBook co nejpohodlnější. Stejný kód lze zkompilovat a spustit všude. To se dříve nestávalo. Pro iOS jsme vyvinuli ve Swiftu, pro MacOS jsme použili Objective-C.“

Podle Andrey je Swift velmi jednoduchý jazyk, který je přátelský pro začátečníky. Je přísně napsaný, což vám umožňuje zachytit mnoho chyb ve fázi kompilace projektu a nesprávný kód prostě nebude fungovat.

„Objective-C je poměrně starý jazyk – ve stejném věku jako jazyk C++. V době, kdy byl vyvinut, byly požadavky na jazyky zcela odlišné. Když Swift vyšel, byl zabugovaný, funkčnost byla omezená a syntaxe byla hrubá. A lidé měli s Objective-C plné ruce práce. Dlouhá léta se to vylepšovalo, všechny chyby tam byly opraveny. Ale teď si myslím, že Swift je stejně dobrý jako Objective-C. I když i Apple stále ve svých projektech používá obojí. Jazyky jsou do značné míry zaměnitelné a vzájemně se doplňují. Struktury a objekty jednoho jazyka mohou být transformovány do objektů a struktur jiného jazyka. Je dobré znát obě možnosti, ale pro začátečníky se Objective-C často zdá zastrašující a matoucí.“

výcvik

„Při mé první práci mě můj šéf vyškolil, pomohl mi s implementací a nastavením projektu,“ říká Marat, „ale pracovat na Androidu a iOS zároveň je obtížné. Přestavba, přechod z projektu na projekt, z jazyka do jazyka zabere čas. Nakonec jsem se rozhodl, že je potřeba si vybrat jeden směr a ten studovat. Byl jsem prodán za rozhraní Xcode a jednoduchou syntaxi Swift."

Marat vstoupil do oddělení vývoje iOS v GeekBrains. Zpočátku to bylo velmi snadné, protože spoustu věcí znal z praxe. Roční kurz je rozdělen do čtyř čtvrtletí. První z nich podle Andrey uvádí jen samé základy: „Základ jazyka Swift, znalost základních frameworků, síťování, ukládání dat, životní cyklus aplikace, řadič, základní architektury, hlavní knihovny, které každý používá, multithreading a paralelismus v aplikace.”

Druhá čtvrtina přidává Objective-C. Kurz je veden o architektuře a základních programovacích vzorcích. Ve třetím čtvrtletí učí správnému stylu psaní kódu. Vysvětluje, co je továrna, jak správně psát testy, vytvářet projekty, co je Git-Flow, kontinuální integrace přes Fast Lane. Čtvrté a poslední čtvrtletí je věnováno týmové práci, praktickým úkolům a stážím.

„První čtvrtletí bylo snadné,“ říká Marat, „ale pak jsem se začal učit programování v Objective-C, studoval jsem návrhové vzory, principy Solid, Git-Flow, architekturu projektu, testování jednotek a uživatelského rozhraní aplikací, nastavení vlastní animace. - a pak jsem začal studovat."

„V GeekBrains to pro mě nezačalo úplně hladce,“ říká Boris Pavlov a jeho cesta k vývoji iOS obecně nebyla nejpřímější. Chlapce vychovávala jeho babička. Byla architektkou, matematičkou a designérkou a vštípila Borisovi lásku k designu, naučila ho kreslit ručně a kreslit. Jeho strýc byl správcem systému a svého synovce se zajímal o počítače.

Boris byl výborný student, ale ztratil zájem o studium a po devíti třídách školu opustil. Po vysoké škole se dal na cyklistiku a počítače ustoupily do pozadí. Jednoho dne ale Boris utrpěl zranění páteře, které mu zabránilo pokračovat ve sportovní kariéře.

Začal studovat C++ u učitele na Irkutském institutu fyziky Slunce a Země. Pak jsem se začal zajímat o vývoj her a zkusil jsem přejít na C#. A nakonec ho stejně jako Marata uchvátil jazyk Swift.

„Rozhodl jsem se absolvovat bezplatný úvodní kurz na GeekBrains. Abych byl upřímný, byl velmi nudný, pomalý a nesrozumitelný,“ vzpomíná Boris, „učitel mluvil o rysech jazyka, ale spěchal od jednoho tématu k druhému, aniž by odhalil podstatu. Když kurz skončil, stále jsem ničemu nerozuměl."

Boris se proto po úvodním kurzu nepřihlásil na roční školení, ale na krátký tříměsíční kurz, kde učí samotné základy profese. "Našel jsem tam velmi dobré učitele a vše vysvětlili docela jasně."

„Často jsme kritizováni, údajně naše tréninkové příručky nejsou úplně aktuální, jsou tam nepřesnosti. Ale kurzy jsou neustále aktualizovány a učitelé vždy mluví o inovacích. Ze skupin, které vedu, mnozí najdou práci po prvním čtvrtletí. Obvykle jsou to samozřejmě lidé se zkušenostmi s programováním,“ říká Andrey, „Na druhou stranu nelze všechny znalosti předat v jednom kurzu. Interakce síťového klienta v životě se nevejde do deseti dvouhodinových přednášek. A pokud budete chodit pouze na kurzy a nebudete dělat nic jiného, ​​nebudete mít dostatek znalostí. Pokud se celý rok učíte každý den, tak tímto tempem nedostanou práci jen líní. Protože poptávka v této profesi je velmi vysoká.“

Co můžete očekávat, pokud se chcete stát vývojářem iOS

Můžete vidět nejvíc nejnovější volná místa pro vývojáře iOS a přihlaste se k odběru nových.

Práce

Marat ani Boris ale nenašli zaměstnání tak snadno.

„Některé velké firmy již dlouho vyvíjely aplikace pro iOS v Objective-C a nadále udržují starou kódovou základnu. Bohužel nemám pádný argument, abych je donutil používat výhradně Swift. Zejména ti, kteří používají pravidlo „nesahej na to, co funguje,“ říká Marat, „směru Objective-C je v Geekbrains věnována malá pozornost. Má spíše informační charakter. Ale každá společnost, pro kterou jsem dělal rozhovor, se ptala na Objective-C. A protože moje studium je zaměřeno na Swift, stejně jako moje předchozí práce, dostával jsem na pohovorech odmítnutí.“

„Po studiu jsem sám znal jen ty nejpovrchnější základy, s jejichž pomocí jsem mohl vytvořit tu nejjednodušší aplikaci,“ říká Boris.„Na práci to samozřejmě nestačilo, ale měl jsem z toho radost. V Irkutsku bylo těžké najít práci. Přesněji řečeno – vůbec. Rozhodl jsem se podívat do jiných měst. Z hlediska počtu volných míst se jako nejrelevantnější ukázaly Krasnodar, Moskva a Petrohrad. Rozhodl jsem se jet do Petrohradu – blíž k Evropě.

Všechno ale nebylo tak růžové. I juniorovi bude odpuštěno, co nemůže vědět. Práci jsem zatím nenašel. Pracuji pro „děkuji“, sbírám zkušenosti. Chápu, že to není to, co jsem chtěl, ale zajímá mě to a to mě pohání. Chci získat znalosti."

Andrey věří, že nováčci by měli hledat spíše stáže než práci. Pokud máte velmi malé znalosti, je normální, že stáž je neplacená. Andrey radí ucházet se o junior volná místa do velkých společností, kde je již zaveden pracovní proces.

„Když pochopíte, jak funguje proces vývoje softwaru, bude mnohem snazší se orientovat a najít další práci v závislosti na vašich přáních. Někteří lidé jdou do nezávislého vývoje, dělají hry pro sebe, nahrávají je do obchodu a sami je zpeněžují. Někteří pracují pro velkou společnost s přísnými pravidly. Někteří lidé vydělávají peníze v malých studiích, která vyrábějí software na zakázku, a tam mohou sledovat celý proces – od vytvoření projektu od začátku až po jeho dodání do obchodu.“

Platy

Plat vývojáře iOS, stejně jako každý jiný, závisí na otázce „Moskva nebo Rusko“. Ale vzhledem ke specifikům oboru – hodně práce na dálku, možnosti stěhování a práce ne na regionálním trhu – se čísla stále více přibližují.

Co můžete očekávat, pokud se chcete stát vývojářem iOS

Podle mzdové kalkulačky My Circle je průměrná mzda iOS vývojáře o něco nižší 140 000 rublů.

„Junior na velmi nízké úrovni často pracuje zdarma nebo za symbolické peníze - 20–30 tisíc rublů. Pokud bude junior účelově vzat na jeho místo, dostane od 50 do 80 tisíc. Prostřední dostávají od 100 do 150, někdy dokonce až 200. Senioři nedostávají méně než 200. Myslím, že jejich plat je kolem 200-300. A u vedoucích týmů je to více než 300."

Co můžete očekávat, pokud se chcete stát vývojářem iOS

Rozhovory

„První rozhovor proběhl na Skype. K mému překvapení to byl Google,“ vzpomíná Boris, „pak jsem se právě přestěhoval do Petrohradu a začal jsem hledat práci. Dostal jsem přihlášku na pozici vývojáře pro iOS. Ne junior, ne střední, ne senior - jen vývojář. Byl jsem potěšen a začal jsem si dopisovat s manažerem. Byl jsem požádán, abych dokončil technický úkol: musel jsem napsat aplikaci pro vtipy o Chucku Norrisovi. Napsal jsem to. Řekli mi, že je vše skvělé a naplánovali online rozhovor.

Volali jsme si. Mluvila se mnou milá dívka. Neptali se ale na jazykovou vybavenost – pouze na různé logické problémy, například „Čas je 15:15, kolik stupňů je mezi hodinovou a minutovou ručičkou?“ nebo „Sloupek je dlouhý 10 metrů, hlemýžď ​​se přes den plazí 3 metry nahoru a v noci klesá o 1 metr." Za kolik dní se vyškrábe na vrchol?“ a ještě pár podobných.

Pak byly velmi zvláštní otázky – proč miluji Apple a co cítím k Timu Cookovi. Řekl jsem, že firma jako celek je vůči němu pozitivní, ale spíše negativní, protože jsou pro něj důležité peníze, ne produkty.

Když začaly dotazy na Swift, moje znalosti stačily pouze na programovací vzory a základy OOP. Rozloučili jsme se, po týdnu mi zavolali zpět, že se nehodím. Vlastně jsem z toho získal obrovskou zkušenost: potřebujete znalosti, potřebujete jich hodně – jak teorii, tak praxi.“

Andrey říká, že „první věc, na kterou se každého během pohovoru zeptají, je životní cyklus ovladače. Opravdu rádi požadují nějaký jednoduchý programovací vzor. Určitě se zeptají na vaše zkušenosti s používáním oblíbených knihoven. Určitě bude otázka na rozdíly mezi Swift Value Types od Reference Types, na Automatické počítání referencí a správu paměti. Mohou se zeptat, jak implementovali ukládání dat v aplikacích a zda implementovali síťové požadavky. Budou se ptát na základy REST a JSON. Po juniorovi se nebudou ptát na konkrétní věci a jemnosti. Aspoň se neptám."

Boris měl jinou zkušenost: „I když jsem žádal o stáže, plnil technické úkoly a říkal, že pro mě není důležitý plat, pokud stačí pronajmout byt, stejně mě odmítli. Četl jsem články, snažil se pochopit, co personalista potřebuje od nováčka. Ale většinou selhali na teoriích. Z nějakého důvodu kladli otázky z hlavních lig, které se netýkají nováčků."

Marat měl větší štěstí. Nyní pracuje v dopravním podniku a sám má na starosti oddělení iOS a přitom pokračuje ve studiu na fakultě. „Vzhledem k tomu, že jsem jediný zodpovědný za iOS, je moje práce hodnocena pouze podle mé schopnosti realizovat úkoly, které mi byly přiděleny, a nikoli podle mých teoretických znalostí.“

Společenství

Andrey žije v Nižném Novgorodu a říká, že i tam se vytvořila skvělá komunita. Kdysi byl backendovým vývojářem v Pythonu, ale jeho přátelé ho zatáhli do mobilního vývoje – a nyní k tomu sám všechny vybízí.

„Globální komunita obvykle komunikuje prostřednictvím Twitteru. Lidé si píší vlastní blogy, natáčejí videa na Youtube, zvou se navzájem do podcastů. Jednoho dne jsem měl otázku ohledně prezentace, kde hovořil vedoucí týmu HQTrivia. Jedná se o americký kvíz, který současně hraje několik milionů lidí. Napsal jsem mu na Twitter, odpověděl mi, povídali jsme si a já mu poděkoval. Komunita je velmi přátelská, což je skvělé.“

Seznam doporučené literaturyZačátečnická úroveň:

Střední úroveň:

Pokročilá úroveň:

Zdroj: www.habr.com

Přidat komentář