Ko tikėtis, jei norite tapti iOS kūrėju

Ko tikėtis, jei norite tapti iOS kūrėju

Iš iOS išorės kūrimas gali atrodyti kaip uždaras klubas. Norint dirbti, būtinai reikia Apple kompiuterio, ekosistemą atidžiai kontroliuoja viena įmonė. Iš vidaus taip pat kartais galima išgirsti prieštaravimų – vieni sako, kad „Objective-C“ kalba yra sena ir gremėzdiška, o kiti – kad naujoji „Swift“ kalba per grubi.

Nepaisant to, kūrėjai eina į šią sritį ir ten patekę yra patenkinti.

Šį kartą Maratas Nurgalijevas ir Borisas Pavlovas pasakojo apie savo patirtį – kaip išmoko profesijos, kaip praėjo pirmuosius interviu, kodėl sulaukė atsisakymų. O dekanas Andrejus Antropovas veikė kaip ekspertas iOS plėtros fakultetas „GeekBrains“.

2016 m. Maratas Nurgalijevas iš Astrachanės regiono atvyko įsidarbinti mobiliojo ryšio kūrėju vietinėje televizijos kompanijoje. Tai buvo pirmasis jo interviu. Jis ką tik grįžo iš armijos, be praktikos ir patirties, pamiršęs net teoriją, su kuria jau turėjo problemų. Vienintelė Marato patirtis mobiliųjų telefonų kūrimo srityje buvo jo disertacija apie informacijos nutekėjimo srautų per Android programas analizę. Pokalbio metu jo buvo klausiama apie studijas, OOP ir kitas teorijas, tačiau Maratas nesugebėjo nuslėpti savo žinių spragų.

Tačiau jam nebuvo atsisakyta, o buvo atlikta praktinė užduotis – per dvi savaites įgyvendinti naujienų sąrašo atvaizdavimą naudojant API. Tiek iOS, tiek Android. „Jei turėjau patirties su Android, net nebuvo įrankio iOS versijai sukurti. „iOS“ programų kūrimo aplinka galima tik „Mac“. Tačiau po dviejų savaičių grįžau ir parodžiau, ką galiu padaryti „Android“. Naudodamas „iOS“ turėjau tai išsiaiškinti. Galų gale jie mane paėmė. Tada gyvenau Astrachanėje. Man tiko bet koks IT darbas, kurio atlyginimas didesnis nei dvidešimt.

Kas yra „iOS“ kūrėjai?

Mobiliųjų telefonų kūrėjai kuria programas bet kuriam nešiojamam įrenginiui. Išmanieji telefonai, planšetiniai kompiuteriai, išmanieji laikrodžiai ir visos kitos platformos, palaikančios Android arba iOS. Pagrindiniai mobiliojo ryšio kūrimo principai niekuo nesiskiria nuo įprastinio kūrimo, tačiau dėl specifinių įrankių jis buvo atskirtas į atskirą kryptį. Jis naudoja savo įrankius, programavimo kalbas ir sistemas.

„Norint dirbti su iOS, reikia MacBook, nes tik jis turi reikiamą Xcode kūrimo aplinką. Jis yra nemokamas ir platinamas per „AppStore“. Norėdami įdiegti, turite turėti savo Apple ID ir nieko daugiau. Xcode galite kurti programas bet kam – telefonui, planšetiniam kompiuteriui, laikrodžiui. Viskam yra integruotas simuliatorius ir redaktorius“, – sako Andrejus Antropovas, „GeekBrains“ iOS kūrimo skyriaus dekanas.

„Tačiau kūrimo aplinka gali būti įdiegta sistemoje Windows, jei naudojate Hackintosh. Tai veikiantis, bet apvalus variantas – nė vienas rimtas kūrėjas to nedaro. Pradedantieji perka seną „MacBook“. O patyrę dažniausiai gali sau leisti naujausią modelį.“

Kalbos - Swift arba Objective-C

Beveik visas iOS kūrimas atliekamas naudojant Swift programavimo kalbą. Ji pasirodė prieš penkerius metus ir dabar palaipsniui pakeičia senąją Objective-C kalbą, kurią Apple naudojo visose savo programose daugiau nei 30 metų.

„Objective-C sukaupta didžiulė kodų bazė, todėl vis dar reikalingi kūrėjai abiem kalbomis, priklausomai nuo įmonės, jos užduočių ir taikomųjų programų. Prieš daugelį metų parašytos paraiškos yra pagrįstos Objective-C. Ir visi nauji projektai pagal numatytuosius nustatymus yra kuriami „Swift“. Dabar „Apple“ daug daro, kad vienu metu kurti telefoną, planšetinį kompiuterį, laikrodį ir „MacBook“ būtų kuo patogesnis. Tą patį kodą galima sukompiliuoti ir paleisti visur. Anksčiau šito nebuvo. „IOS“ sukūrėme „Swift“, o „MacOS“ naudojome „Objective-C“.

Pasak Andrejaus, „Swift“ yra labai paprasta kalba, draugiška pradedantiesiems. Jis yra griežtai įvestas, o tai leidžia sugauti daugybę klaidų projekto sudarymo etape, o neteisingas kodas tiesiog neveiks.

„Objective-C yra gana sena kalba – tokio pat amžiaus kaip ir C++ kalba. Tuo metu, kai ji buvo sukurta, kalbų reikalavimai buvo visiškai kitokie. Kai „Swift“ pasirodė, jis buvo klaidingas, funkcionalumas buvo ribotas, o sintaksė buvo grubi. Ir žmonės turėjo savo rankas su „Objective-C“. Daug metų buvo tobulinama, visos ten esančios klaidos ištaisytos. Bet dabar manau, kad „Swift“ yra toks pat geras kaip „Objective-C“. Nors net Apple savo projektuose vis dar naudoja abu. Kalbos iš esmės yra keičiamos ir viena kitą papildo. Vienos kalbos struktūros ir objektai gali būti transformuojami į kitos kalbos objektus ir struktūras. Gerai žinoti abu variantus, bet pradedantiesiems „Objective-C“ dažnai atrodo bauginantis ir klaidinantis.

mokymas

„Pirmajame mano darbe viršininkas mane apmokė, padėjo įgyvendinti ir nustatyti projektą, – sako Maratas, – tačiau dirbti su Android ir iOS vienu metu yra sunku. Reikia laiko atstatyti, pereiti nuo projekto prie projekto, nuo kalbos prie kalbos. Galiausiai nusprendžiau, kad reikia pasirinkti vieną kryptį ir ją studijuoti. Aš buvau parduotas naudojant Xcode sąsają ir paprastą Swift sintaksę.

Maratas įstojo į „iOS“ kūrimo skyrių „GeekBrains“. Iš pradžių buvo labai lengva, nes jis daug ką žinojo iš darbo patirties. Metinis kursas yra padalintas į keturis ketvirčius. Pasak Andrejaus, pirmasis pateikia tik pačius pagrindus: „Swift kalbos pagrindas, pagrindinių schemų žinios, tinklų kūrimas, duomenų saugojimas, programos gyvavimo ciklas, valdiklis, pagrindinės architektūros, pagrindinės bibliotekos, kurias naudoja visi, daugiagija ir lygiagretumas programos."

Antrasis ketvirtis prideda Objective-C. Vyksta kursas apie architektūrą ir pagrindinius programavimo modelius. Trečiajame ketvirtyje jie moko teisingo kodo rašymo stiliaus. Jame paaiškinama, kas yra gamykla, kaip teisingai rašyti testus, kurti projektus, kas yra Git-Flow, Continuous Integration per Fast Lane. Ketvirtasis ir paskutinis ketvirtis skirtas komandiniam darbui, praktinėms užduotims ir stažuotėms.

„Pirmasis ketvirtis buvo lengvas, – sako Maratas, – bet tada pradėjau mokytis programavimo naudojant „Objective-C“, studijavau projektavimo modelius, Solid, Git-Flow principus, projekto architektūrą, programų vienetų ir vartotojo sąsajos testavimą, tinkintą animaciją. - ir tada aš Pasidarė įdomu mokytis.

„GeekBrains man prasidėjo ne itin sklandžiai“, – sako Borisas Pavlovas, o jo kelias į iOS kūrimą apskritai nebuvo pats tiesiausias. Berniuką augino močiutė. Ji buvo architektė, matematikė ir dizainerė, įskiepijo Borisui meilę dizainui, išmokė jį piešti ranka ir piešti. Jo dėdė buvo sistemos administratorius ir sūnėną domėjosi kompiuteriais.

Borisas buvo puikus mokinys, tačiau prarado susidomėjimą studijomis ir paliko mokyklą po devynių klasių. Baigęs koledžą, jis pradėjo važinėti dviračiu, o kompiuteriai išnyko į antrą planą. Tačiau vieną dieną Borisas patyrė stuburo traumą, dėl kurios jis negalėjo tęsti sportinės karjeros.

Jis pradėjo mokytis C++ pas dėstytoją Irkutsko Saulės ir Žemės fizikos institute. Tada susidomėjau žaidimų kūrimu ir bandžiau pereiti prie C#. Ir galiausiai, kaip ir Maratas, jį pakerėjo Swift kalba.

„Nusprendžiau lankyti nemokamą įvadinį kursą „GeekBrains“. Tiesą sakant, jis buvo labai nuobodus, vangus ir nesuprantamas, – prisimena Borisas, – mokytojas kalbėjo apie kalbos ypatybes, bet skubėjo nuo vienos temos prie kitos, neatskleisdamas esmės. Kai kursas baigėsi, aš vis dar nieko nesupratau.

Todėl po įvadinių kursų Borisas įstojo ne į metus trunkančius mokymus, o į trumpus trijų mėnesių kursus, kur jie moko pačių profesijos pagrindų. „Radau ten labai gerų mokytojų ir jie viską gana aiškiai paaiškino.

„Dažnai sulaukiame kritikos, neva mūsų mokymo vadovai nėra visiškai atnaujinti, yra netikslumų. Tačiau kursai nuolat atnaujinami, dėstytojai nuolat kalba apie naujoves. Iš grupių, kurioms vadovauju, daugelis susiranda darbą po pirmojo ketvirčio. Žinoma, dažniausiai tai būna žmonės, turintys programavimo patirties“, – sako Andrejus, – „Kita vertus, visų žinių negalima perteikti viename kurse. Tinklo klientų sąveika gyvenime netelpa į dešimt dviejų valandų paskaitų. O jei eisi tik į kursus ir daugiau nieko nedarysi, tai ir žinių tau neužteks. Jei mokysitės kiekvieną dieną ištisus metus, tokiu tempu darbo negaus tik tinginys. Nes profesijos paklausa labai didelė“.

Ko tikėtis, jei norite tapti iOS kūrėju

Galite pamatyti daugiausia naujausias laisvas darbo vietas iOS kūrėjams ir užsiprenumeruokite naujus.

Dirbti

Tačiau nei Maratas, nei Borisas taip lengvai nesusirado darbo.

„Kai kurios didelės įmonės jau seniai kūrė iOS programas Objective-C ir toliau palaiko seną kodų bazę. Deja, neturiu įtikinamų argumentų priversti juos naudoti tik „Swift“. Ypač tie, kurie naudojasi taisykle „nelieskite to, kas veikia“, – sako Maratas, „Mažai dėmesio Geekbrains skiria Objective-C krypčiai. Tai daugiau informacinio pobūdžio. Tačiau kiekviena įmonė, su kuria kalbėjau, klausė apie „Objective-C“. Ir kadangi mano studijos yra orientuotos į Swift, kaip ir ankstesnis darbas, pokalbiuose sulaukiau atsisakymų.

„Po studijų pats žinojau tik pačius paviršutiniškiausius pagrindus, kurių pagalba galėjau sukurti paprasčiausią aplikaciją“, – sako Borisas. „Žinoma, darbui to nepakako, bet tuo džiaugiausi. Irkutske buvo sunku susirasti darbą. Jei tiksliau – visai ne. Nusprendžiau paieškoti kituose miestuose. Pagal laisvų darbo vietų skaičių aktualiausi pasirodė Krasnodaras, Maskva ir Sankt Peterburgas. Nusprendžiau važiuoti į Sankt Peterburgą – arčiau Europos.

Tačiau viskas pasirodė ne taip rožiškai. Net jaunesniajam bus atleista už tai, ko jis negali žinoti. Darbo dar neradau. Dirbu už „ačiū“, semiuosi patirties. Suprantu, kad ne to norėjau, bet man įdomu, ir tai mane skatina. Noriu įgyti žinių“.

Andrejus mano, kad naujokai turėtų ieškoti stažuotės, o ne darbo. Jei turite labai mažai žinių, tai normalu, kad praktika yra nemokama. Andrejus pataria kreiptis dėl jaunesniųjų laisvų darbo vietų didelėse įmonėse, kuriose darbo procesas jau yra nusistovėjęs.

„Kai suprasite, kaip veikia programinės įrangos kūrimo procesas, bus daug lengviau orientuotis ir rasti tolesnį darbą, priklausomai nuo jūsų norų. Kai kurie žmonės imasi savarankiško kūrimo, kuria žaidimus sau, įkelia juos į parduotuvę ir patys užsidirba pinigų. Kai kurie dirba didelėje įmonėje su griežtomis taisyklėmis. Kai kurie žmonės uždirba pinigus mažose studijose, kurios kuria individualią programinę įrangą, ir ten gali stebėti visą procesą – nuo ​​projekto sukūrimo nuo nulio iki pristatymo į parduotuvę.

Atlyginimai

„IOS“ kūrėjo atlyginimas, kaip ir bet kurio kito, priklauso nuo klausimo „Maskva ar Rusija“. Tačiau dėl pramonės specifikos – daug nuotolinio darbo, galimybių persikelti ir dirbti ne regioninėje rinkoje – skaičiai vis labiau artėja vienas prie kito.

Ko tikėtis, jei norite tapti iOS kūrėju

Remiantis „My Circle“ atlyginimų skaičiuokle, „iOS“ kūrėjo vidutinis atlyginimas yra šiek tiek mažesnis 140 000 rublių.

„Labai žemo lygio jaunesnysis dažnai dirba nemokamai arba už simbolinius pinigus - 20–30 tūkstančių rublių. Jei jaunesnysis bus tikslingai paimtas į pareigas, jis gaus nuo 50 iki 80 tūkst. Viduriniai gauna nuo 100 iki 150, o kartais net iki 200. Senjorai negauna mažiau nei 200. Manau, kad jų atlyginimas yra apie 200-300. Ir atitinkamai komandų lyderių skaičius viršija 300.

Ko tikėtis, jei norite tapti iOS kūrėju

Interviu

„Pirmasis interviu įvyko per Skype. Mano nuostabai, tai buvo Google, – prisimena Borisas, – tada aš ką tik persikėliau į Sankt Peterburgą ir pradėjau ieškotis darbo. Gavau paraišką užimti iOS kūrėjo poziciją. Ne jaunesnysis, ne vidurinis, ne vyresnis – tik kūrėjas. Apsidžiaugiau ir pradėjau susirašinėti su vadovu. Manęs paprašė atlikti techninę užduotį: turėjau parašyti paraišką pokštams apie Chucką Norrisą. Aš tai parašiau. Jie man pasakė, kad viskas puiku, ir suplanavo interviu internetu.

Paskambinome vienas kitam. Graži mergina kalbėjosi su manimi. Tačiau apie kalbos mokėjimą jie neuždavė jokių klausimų – tik įvairios loginės problemos, pavyzdžiui, „Laikas yra 15:15, kiek laipsnių yra tarp valandų ir minučių rodyklės?“ arba „Stulpas yra 10 metrų ilgio, a sraigė dieną nušliaužia 3 metrus aukštyn, o naktį leidžiasi 1 metrą žemyn. Per kiek dienų ji užropos į viršų?“, ir dar pora panašių.

Tada kilo labai keisti klausimai – kodėl aš myliu „Apple“ ir kaip aš jaučiuosi apie Timą Cooką. Sakiau, kad visa įmonė yra teigiama, bet greičiau neigiama jo atžvilgiu, nes jam svarbūs pinigai, o ne produktai.

Kai prasidėjo klausimai apie Swift, mano žinių pakako tik programavimo šablonams ir OOP pagrindams. Atsisveikinome, po savaitės man perskambino ir pasakė, kad aš netinka. Tiesą sakant, iš to įgijau didžiulę patirtį: reikia žinių, jų reikia labai daug – ir teorijos, ir praktikos.

Andrejus sako, kad „pirmas dalykas, kurio visų klausia pokalbio metu, yra kontrolieriaus gyvavimo ciklas. Jie labai mėgsta paprašyti kokio nors paprasto programavimo modelio. Jie tikrai paklaus apie jūsų patirtį naudojantis populiariomis bibliotekomis. Neabejotinai kils klausimas apie „Swift“ verčių tipų ir nuorodos tipų skirtumus, apie automatinį nuorodų skaičiavimą ir atminties valdymą. Jie gali paklausti, kaip jie įdiegė duomenų saugojimą programose ir ar įgyvendino tinklo užklausas. Jie paklaus apie REST ir JSON pagrindus. Jaunesniojo neprašys konkrečių dalykų ir subtilybių. Bent jau aš neprašau“.

Borisas turėjo kitokią patirtį: „Net kai prašydavau praktikos, atlikdavau technines užduotis ir sakydavau, kad atlyginimas man nesvarbus, kol užtenka buto nuomai, vis tiek buvo atsisakyta. Skaičiau straipsnius, bandžiau suprasti, ko reikia įdarbintojui iš naujoko. Tačiau jie dažniausiai žlugo teorijomis. Kažkodėl jie uždavė klausimus iš pagrindinių lygų, kurie nėra susiję su naujokais.

Maratas pasisekė labiau. Dabar jis dirba transporto įmonėje ir vienas vadovauja iOS katedrai, o toliau studijuoja fakultete. „Kadangi esu vienintelis atsakingas už iOS, mano darbas vertinamas tik pagal sugebėjimą įgyvendinti man skirtas užduotis, o ne pagal teorijos žinias.

Bendruomenė

Andrejus gyvena Nižnij Novgorode ir sako, kad net ten susikūrė puiki bendruomenė. Kažkada jis buvo „Python“ užpakalinės programos kūrėjas, tačiau draugai jį nutempė į mobilųjį kūrimą – o dabar jis pats ragina tai daryti visus.

„Pasaulinė bendruomenė dažniausiai bendrauja per Twitter. Žmonės rašo savo tinklaraščius, įrašinėja vaizdo įrašus Youtube, kviečia vieni kitus į podcast'us. Vieną dieną turėjau klausimą apie pristatymą, kuriame kalbėjo HQTrivia komandos vadovas. Tai amerikietiškas viktorinos žaidimas, kurį vienu metu žaidžia keli milijonai žmonių. Parašiau jam „Twitter“, jis man atsakė, pasikalbėjome, o aš jam padėkojau. Bendruomenė labai draugiška, o tai puiku.

Rekomenduojamos literatūros sąrašasPradedančiojo lygis:

Vidutinis lygis:

Aukštasis lygis:

Šaltinis: www.habr.com

Добавить комментарий