Čo môžete očakávať, ak sa chcete stať vývojárom iOS

Čo môžete očakávať, ak sa chcete stať vývojárom iOS

Z vonkajšej strany iOS sa vývoj môže javiť ako uzavretý klub. Na prácu určite potrebujete počítač Apple, ekosystém je prísne kontrolovaný jednou spoločnosťou. Zvnútra môžete tiež niekedy počuť rozpory - niektorí hovoria, že jazyk Objective-C je starý a nemotorný, a iní hovoria, že nový jazyk Swift je príliš hrubý.

Napriek tomu vývojári idú do tejto oblasti a keď tam sú, sú spokojní.

Marat Nurgaliev a Boris Pavlov nám tentoraz porozprávali o svojich skúsenostiach – ako sa naučili toto povolanie, ako absolvovali prvé pohovory, prečo dostali odmietnutia. A Andrey Antropov, dekan, vystupoval ako odborník Fakulta vývoja iOS v GeekBrains.

V roku 2016 prišiel Marat Nurgaliev z regiónu Astrachaň, aby získal prácu mobilného vývojára v miestnej televíznej spoločnosti. Toto bol jeho prvý rozhovor. Práve sa vrátil z armády, bez praxe a skúseností, zabudol aj na teóriu, s ktorou už mal problémy. Jedinou Maratovou skúsenosťou s vývojom mobilných zariadení bola jeho diplomová práca o analýze tokov úniku informácií cez aplikácie pre Android. Na pohovore sa ho pýtali na jeho štúdium, OOP a inú teóriu, ale Marat nedokázal zakryť medzery vo svojich vedomostiach.

Ten však nebol odmietnutý, ale dostal praktickú úlohu – za dva týždne implementovať zobrazovanie zoznamu noviniek pomocou API. Pre iOS aj Android. „Ak som mal nejaké skúsenosti s Androidom, neexistoval ani nástroj na vytvorenie verzie pre iOS. Vývojové prostredie aplikácií pre iOS je dostupné iba pre Mac. Ale o dva týždne neskôr som sa vrátil a ukázal, čo môžem robiť na Androide. S iOS som na to musel prísť za behu. Nakoniec ma zobrali. Potom som žil v Astrachane. Vyhovovala mi každá IT práca s platom nad dvadsať.“

Kto sú vývojári iOS?

Mobilní vývojári vytvárajú aplikácie pre akékoľvek prenosné zariadenie. Smartfóny, tablety, smart hodinky a všetky ostatné platformy, ktoré podporujú Android alebo iOS. Základné princípy mobilného vývoja sa nelíšia od bežného vývoja, ale vďaka špecifickým nástrojom sa rozdelili do samostatného smeru. Používa vlastné nástroje, programovacie jazyky a frameworky.

„Na prácu s iOS potrebujete MacBook, pretože len ten má potrebné vývojové prostredie Xcode. Je zadarmo a distribuovaný prostredníctvom AppStore. Ak chcete nainštalovať, musíte mať svoje Apple ID a nič iné. V Xcode môžete vyvíjať aplikácie pre čokoľvek – telefón, tablet, hodinky. Na všetko je zabudovaný simulátor a editor,“ hovorí Andrey Antropov, dekan oddelenia vývoja iOS v GeekBrains.

„Vývojové prostredie je však možné nainštalovať na Windows, ak používate Hackintosh. Toto je funkčná, ale kruhová možnosť - nikto zo serióznych vývojárov to nerobí. Začiatočníci si kúpia starý MacBook. A tí skúsení si väčšinou môžu dovoliť najnovší model.“

Jazyky - Swift alebo Objective-C

Takmer celý vývoj iOS sa vykonáva pomocou programovacieho jazyka Swift. Objavil sa pred piatimi rokmi a teraz postupne nahrádza starý jazyk Objective-C, ktorý Apple používa vo všetkých svojich aplikáciách už viac ako 30 rokov.

„V Objective-C sa nahromadila obrovská kódová základňa, takže vývojári v oboch jazykoch sú stále potrební v závislosti od spoločnosti, jej úloh a aplikácií. Aplikácie napísané pred mnohými rokmi sú založené na Objective-C. A všetky nové projekty sa štandardne vyvíjajú v Swifte. Apple teraz robí veľa pre to, aby bol simultánny vývoj pre telefón, tablet, hodinky a MacBook čo najpohodlnejší. Rovnaký kód je možné zostaviť a spustiť kdekoľvek. Toto sa predtým nestávalo. Pre iOS sme vyvinuli v Swift, pre MacOS sme použili Objective-C.“

Podľa Andrey je Swift veľmi jednoduchý jazyk, ktorý je priateľský pre začiatočníkov. Je prísne napísaný, čo vám umožňuje zachytiť veľa chýb vo fáze kompilácie projektu a nesprávny kód jednoducho nebude fungovať.

„Objective-C je pomerne starý jazyk – v rovnakom veku ako jazyk C++. V čase, keď bol vyvinutý, boli požiadavky na jazyky úplne iné. Keď vyšiel Swift, bol zabugovaný, funkčnosť bola obmedzená a syntax bola hrubá. A ľudia mali s Objective-C plné ruky práce. Dlhé roky sa to vylepšovalo, opravili sa tam všetky chyby. Ale teraz si myslím, že Swift je rovnako dobrý ako Objective-C. Aj keď aj Apple stále vo svojich projektoch používa oboje. Jazyky sú do značnej miery zameniteľné a vzájomne sa dopĺňajú. Štruktúry a objekty jedného jazyka môžu byť transformované na objekty a štruktúry iného jazyka. Je dobré poznať obe možnosti, ale pre začiatočníkov sa Objective-C často zdá odstrašujúce a mätúce.“

výcvik

„V mojej prvej práci ma môj šéf zaškolil, pomohol mi pri implementácii a nastavení projektu,“ hovorí Marat, „Ale pracovať na Androide a iOS súčasne je náročné. Prestavba, prechod z projektu na projekt, z jazyka do jazyka si vyžaduje čas. Nakoniec som sa rozhodol, že si treba vybrať jeden smer a študovať ho. Bol som predaný cez rozhranie Xcode a jednoduchú syntax Swift."

Marat vstúpil do oddelenia vývoja iOS v GeekBrains. Spočiatku to bolo veľmi jednoduché, pretože veľa vecí vedel z pracovných skúseností. Ročný kurz je rozdelený do štyroch štvrťrokov. Prvý z nich podľa Andrey uvádza len úplné základy: „Základ jazyka Swift, znalosť základných frameworkov, sieťová komunikácia, ukladanie dát, životný cyklus aplikácie, radič, základné architektúry, hlavné knižnice, ktoré každý používa, multithreading a paralelizmus v aplikáciách."

Druhý štvrťrok pridáva Objective-C. Kurz je vedený o architektúre a základných programovacích vzoroch. V treťom štvrťroku učia správny štýl písania kódu. Vysvetľuje, čo je továreň, ako správne písať testy, vytvárať projekty, čo je Git-Flow, kontinuálna integrácia cez Fast Lane. Štvrtý a posledný štvrťrok je venovaný tímovej práci, praktickým úlohám a stážam.

„Prvý štvrťrok bol jednoduchý,“ hovorí Marat, „ale potom som sa začal učiť programovanie v Objective-C, študovať návrhové vzory, princípy Solid, Git-Flow, architektúru projektu, Unit a UI testovanie aplikácií, nastavovať vlastnú animáciu. - a potom som sa stal zaujímavým študovať.“

„V GeekBrains to pre mňa nezačalo úplne hladko,“ hovorí Boris Pavlov a jeho cesta k vývoju iOS vo všeobecnosti nebola najpriamejšia. Chlapca vychovávala jeho stará mama. Bola architektkou, matematičkou a dizajnérkou a vštepila Borisovi lásku k dizajnu, naučila ho kresliť ručne a kresliť. Jeho strýko bol správcom systému a svojho synovca sa zaujímal o počítače.

Boris bol výborný študent, no o štúdium stratil záujem a po deviatich ročníkoch školu opustil. Po vysokej škole sa dal na cyklistiku a počítače ustúpili do pozadia. Jedného dňa však Boris dostal zranenie chrbtice, ktoré mu znemožnilo pokračovať v športovej kariére.

Začal študovať C++ u učiteľa na Irkutskom inštitúte fyziky slnečnej a zemskej fyziky. Potom som sa začal zaujímať o vývoj hier a skúsil som prejsť na C#. A napokon, podobne ako Marat, ho uchvátil jazyk Swift.

„Rozhodol som sa absolvovať bezplatný úvodný kurz na GeekBrains. Úprimne povedané, bol veľmi nudný, pomalý a nezrozumiteľný,“ spomína Boris, „učiteľ hovoril o vlastnostiach jazyka, ale ponáhľal sa z jednej témy na druhú bez toho, aby odhalil podstatu. Keď kurz skončil, stále som ničomu nerozumel."

Boris sa preto po úvodnom kurze neprihlásil na ročné školenie, ale na krátky trojmesačný kurz, kde učia úplné základy profesie. "Našiel som tam veľmi dobrých učiteľov a všetko vysvetlili celkom jasne."

„Často sme kritizovaní, údajne naše tréningové príručky nie sú úplne aktuálne, sú tam nepresnosti. Kurzy sa však neustále aktualizujú a učitelia vždy hovoria o inováciách. Zo skupín, ktoré vediem, si mnohí nájdu prácu po prvom štvrťroku. Samozrejme, zvyčajne sú to ľudia so skúsenosťami s programovaním,“ hovorí Andrey, „Na druhej strane sa všetky vedomosti nedajú odovzdať v jednom kurze. Interakcia sieťového klienta v živote sa nedá zmestiť do desiatich dvojhodinových prednášok. A ak chodíte iba na kurzy a nerobíte nič iné, nebudete mať dostatok vedomostí. Ak sa celý rok učíš každý deň, tak takýmto tempom sa nezamestná len ten lenivý. Pretože dopyt v tejto profesii je veľmi vysoký.“

Čo môžete očakávať, ak sa chcete stať vývojárom iOS

Môžete vidieť najviac posledné voľné miesta pre vývojárov iOS a prihláste sa na odber nových.

Práca

Marat ani Boris si však len tak ľahko nenašli zamestnanie.

„Niektoré veľké firmy už dlho vyvíjajú aplikácie pre iOS v Objective-C a naďalej udržiavajú starú kódovú základňu. Bohužiaľ, nemám presvedčivý argument, ktorý by ich prinútil používať výhradne Swift. Najmä tí, ktorí používajú pravidlo „nedotýkaj sa toho, čo funguje,“ hovorí Marat, „V Geekbrains sa venuje malá pozornosť smerovaniu Objective-C. Má skôr informačný charakter. Ale každá spoločnosť, pre ktorú som robil rozhovor, sa pýtala na Objective-C. A keďže moje štúdium je zamerané na Swift, rovnako ako moja predchádzajúca práca, na pohovoroch som dostával odmietnutia.“

„Po štúdiu som sám vedel len tie najpovrchnejšie základy, pomocou ktorých som mohol vytvoriť tú najjednoduchšiu aplikáciu,“ hovorí Boris „Na prácu to, samozrejme, nestačilo, ale tešil som sa z toho. V Irkutsku bolo ťažké nájsť si prácu. Presnejšie povedané – vôbec. Rozhodol som sa pozrieť sa do iných miest. Z hľadiska počtu voľných miest sa ako najrelevantnejšie ukázali Krasnodar, Moskva a Petrohrad. Rozhodol som sa ísť do Petrohradu – bližšie k Európe.

Ukázalo sa však, že všetko nie je také ružové. Aj juniorovi sa odpustí, čo nemôže vedieť. Zatiaľ som si nenašiel prácu. Pracujem pre „ďakujem“, získavam skúsenosti. Chápem, že to nie je to, čo som chcel, ale zaujíma ma to a to ma poháňa. Chcem získať vedomosti."

Andrey verí, že nováčikovia by si mali hľadať skôr stáže ako prácu. Ak máte veľmi málo vedomostí, potom je normálne, že stáž je neplatená. Andrey radí uchádzať sa o juniorské pozície do veľkých spoločností, kde je už zabehnutý pracovný proces.

„Keď pochopíte, ako funguje proces vývoja softvéru, bude oveľa jednoduchšie navigovať a nájsť si ďalšiu prácu, v závislosti od vašich želaní. Niektorí ľudia idú do nezávislého vývoja, vyrábajú hry pre seba, nahrávajú ich do obchodu a sami ich speňažia. Niektorí pracujú pre veľkú spoločnosť s prísnymi pravidlami. Niektorí ľudia zarábajú peniaze v malých štúdiách, ktoré vyrábajú softvér na mieru, a tam môžu sledovať celý proces – od vytvorenia projektu od začiatku až po jeho doručenie do obchodu.“

plat

Plat vývojára iOS, ako každý iný, závisí od otázky „Moskva alebo Rusko“. Ale vzhľadom na špecifiká odvetvia – veľa práce na diaľku, príležitosti na premiestnenie a prácu nie na regionálnom trhu – sa čísla čoraz viac približujú k sebe.

Čo môžete očakávať, ak sa chcete stať vývojárom iOS

Podľa mzdovej kalkulačky My Circle je priemerný plat iOS vývojára o niečo nižší 140 000 rubľov.

„Junior na veľmi nízkej úrovni často pracuje zadarmo alebo za symbolické peniaze - 20 - 30 tisíc rubľov. Ak juniora účelovo zoberú na jeho miesto, dostane od 50 do 80-tisíc. Strední dostávajú od 100 do 150, niekedy dokonca až 200. Seniori nedostávajú menej ako 200. Myslím, že ich plat je okolo 200-300. A v prípade vedúcich tímov je to viac ako 300."

Čo môžete očakávať, ak sa chcete stať vývojárom iOS

Rozhovory

„Prvý rozhovor sa uskutočnil na Skype. Na moje prekvapenie to bol Google,“ spomína Boris, „potom som sa práve presťahoval do Petrohradu a začal som si hľadať prácu. Dostal som prihlášku na pozíciu iOS vývojár. Nie junior, nie stredný, nie senior - len vývojár. Potešil som sa a začal som si dopisovať s manažérom. Bol som požiadaný, aby som dokončil technickú úlohu: musel som napísať aplikáciu pre vtipy o Chuckovi Norrisovi. Napísal som to. Povedali mi, že všetko je skvelé a naplánovali online rozhovor.

Volali sme si. Rozprávalo sa so mnou milé dievča. Nepýtali sa však žiadne otázky týkajúce sa jazykových znalostí – iba rôzne logické úlohy, napríklad „Čas je 15:15, koľko stupňov je medzi hodinovou a minútovou ručičkou?“ alebo „Stĺpik je dlhý 10 metrov, a Slimák sa cez deň plazí 3 metre a v noci klesá o 1 meter." Za koľko dní sa vyšplhá na vrchol?“ a ešte pár podobných.

Potom tu boli veľmi zvláštne otázky – prečo milujem Apple a čo cítim k Timovi Cookovi. Povedal som, že spoločnosť ako celok je voči nemu pozitívna, ale skôr negatívna, pretože sú pre neho dôležité peniaze, nie produkty.

Keď sa začali pýtať na Swift, moje znalosti stačili len na programovacie vzory a základy OOP. Rozlúčili sme sa, o týždeň mi zavolali späť, že nie som vhodný. V skutočnosti som z toho získal veľa skúseností: potrebujete vedomosti, potrebujete ich veľa – teóriu aj prax.“

Andrey hovorí, že „prvá vec, na ktorú sa každého počas pohovoru pýtajú, je životný cyklus kontrolóra. Naozaj radi žiadajú nejaký jednoduchý programovací vzor. Určite sa budú pýtať na vaše skúsenosti s používaním populárnych knižníc. Určite tu bude otázka o rozdieloch medzi Swift Value Types od Reference Types, o Automatic Reference Counting a správe pamäte. Môžu sa opýtať, ako implementovali ukladanie údajov v aplikáciách a či implementovali sieťové požiadavky. Budú sa pýtať na základy REST a JSON. Od juniora sa nebudú pýtať konkrétne veci a jemnosti. Aspoň sa nepýtam."

Boris mal inú skúsenosť: „Aj keď som žiadal o stáže, plnil technické úlohy a hovoril, že plat pre mňa nie je dôležitý, pokiaľ stačí na prenájom bytu, stále ma odmietli. Čítal som články, snažil som sa pochopiť, čo potrebuje recruiter od nováčika. Ale väčšinou zlyhali na teóriách. Z nejakého dôvodu kládli otázky z hlavných líg, ktoré sa netýkali nováčikov.“

Marat mal viac šťastia. Teraz pracuje v dopravnom podniku a sám vedie oddelenie iOS, pričom pokračuje v štúdiu na fakulte. „Keďže som jediný zodpovedný za iOS, moja práca sa hodnotí iba podľa mojej schopnosti realizovať úlohy, ktoré mi boli pridelené, a nie podľa mojich teoretických znalostí.“

Spoločenstva

Andrey žije v Nižnom Novgorode a hovorí, že aj tam sa vytvorila skvelá komunita. Kedysi bol backendovým vývojárom v Pythone, no jeho priatelia ho zatiahli do mobilného vývoja – a teraz k tomu sám vyzýva všetkých.

„Globálna komunita zvyčajne komunikuje cez Twitter. Ľudia si píšu vlastné blogy, nahrávajú videá na YouTube, pozývajú sa do podcastov. Jedného dňa som mal otázku ohľadom prezentácie, kde hovoril vedúci tímu HQTrivia. Toto je americká kvízová hra, ktorú súčasne hrá niekoľko miliónov ľudí. Napísal som mu na Twitter, odpovedal mi, porozprávali sme sa a ja som mu poďakoval. Komunita je mimoriadne priateľská, čo je skvelé.“

Zoznam odporúčanej literatúryÚroveň začiatočníka:

Priemerná úroveň:

Pokročilá úroveň:

Zdroj: hab.com

Pridať komentár