Mida oodata, kui soovite saada iOS-i arendajaks

Mida oodata, kui soovite saada iOS-i arendajaks

Väljastpoolt iOS-i võib arendus tunduda suletud klubina. Töötamiseks on kindlasti vaja Apple’i arvutit, ökosüsteemi kontrollib täpselt üks ettevõte. Ka seestpoolt on vahel kuulda vastuolusid – ühed ütlevad, et Objective-C keel on vana ja kohmakas, teised aga, et uus Swifti keel on liiga toores.

Sellegipoolest lähevad arendajad sellesse piirkonda ja on seal rahul.

Seekord rääkisid Marat Nurgaliev ja Boriss Pavlov meile oma kogemusest – kuidas nad seda ametit õppisid, kuidas läbisid oma esimesed intervjuud, miks said keeldumised. Ja eksperdina tegutses dekaan Andrei Antropov iOS-i arendusteaduskond GeekBrainsis.

2016. aastal tuli Marat Nurgaliev Astrahani piirkonnast, et saada tööd mobiiliarendajana kohalikku telefirmasse. See oli tema esimene intervjuu. Ta oli just sõjaväest naasnud, ilma praktika ja kogemusteta, unustanud isegi teooria, millega tal juba probleeme oli. Marati ainsaks mobiiliarenduse kogemuseks oli tema lõputöö Androidi rakenduste kaudu toimuvate infolekkevoogude analüüsimisest. Intervjuul küsiti temalt õpingute, OOP-i ja muu teooria kohta, kuid Marat ei suutnud oma teadmiste lünki varjata.

Talle siiski ei keeldutud, vaid anti praktiline ülesanne – rakendada kahe nädala jooksul API abil uudiste nimekirja kuvamine. Nii iOS-i kui ka Androidi jaoks. "Kui mul oli Androidiga kogemusi, polnud isegi iOS-i versiooni loomiseks tööriista. iOS-i rakenduste arenduskeskkond on saadaval ainult Macis. Kuid kaks nädalat hiljem tulin tagasi ja näitasin, mida ma Androidiga teha saan. IOS-iga pidin selle käigu pealt selgeks saama. Lõpuks võtsid nad mu kaasa. Siis elasin Astrahanis. Mulle sobis igasugune IT-töö, mille palk on üle kahekümne.”

Kes on iOS-i arendajad?

Mobiiliarendajad teevad rakendusi igale kaasaskantavale seadmele. Nutitelefonid, tahvelarvutid, nutikellad ja kõik muud platvormid, mis toetavad Androidi või iOS-i. Mobiiliarenduse põhiprintsiibid ei erine tavaarendusest, kuid spetsiifiliste tööriistade tõttu on see eraldatud omaette suunaks. See kasutab oma tööriistu, programmeerimiskeeli ja raamistikke.

“IOS-iga töötamiseks on vaja MacBooki, sest ainult sellel on vajalik Xcode’i arenduskeskkond. See on tasuta ja levitatakse AppStore'i kaudu. Installimiseks peab teil olema Apple ID ja mitte midagi muud. Xcode'is saate arendada rakendusi kõige jaoks – telefonile, tahvelarvutile, kellale. Kõige jaoks on sisseehitatud simulaator ja redaktor, ”ütleb GeekBrainsi iOS-i arendusosakonna dekaan Andrey Antropov.

"Kuid arenduskeskkonna saab installida Windowsi, kui kasutate Hackintoshi. See on töötav, kuid ringtee variant – ükski tõsine arendaja seda ei tee. Algajad ostavad vana MacBooki. Ja kogenumad saavad tavaliselt endale uusimat mudelit lubada.”

Keeled - Swift või Objective-C

Peaaegu kogu iOS-i arendus toimub Swifti programmeerimiskeele abil. See ilmus viis aastat tagasi ja asendab nüüd järk-järgult vana Objective-C keelt, mida Apple on kasutanud kõigis oma rakendustes juba üle 30 aasta.

"Objective-C-sse on kogunenud tohutu koodibaas, nii et olenevalt ettevõttest, selle ülesannetest ja rakendustest on endiselt vaja mõlemas keeles arendajaid. Aastaid tagasi kirjutatud rakendused põhinevad Objective-C-l. Ja kõik uued projektid töötatakse vaikimisi välja Swiftis. Nüüd teeb Apple palju selleks, et telefoni, tahvelarvuti, kella ja MacBooki samaaegne arendus oleks võimalikult mugav. Sama koodi saab kompileerida ja igal pool käivitada. Seda ei juhtunud varem. iOS-i jaoks töötasime välja Swiftis, MacOS-i jaoks kasutasime Objective-C.

Andrey sõnul on Swift väga lihtne keel, mis on sõbralik algajatele. See on rangelt trükitud, mis võimaldab teil projekti koostamise etapis tuvastada palju vigu ja vale kood lihtsalt ei tööta.

„Objective-C on üsna vana keel – sama vana kui C++ keel. Selle väljatöötamise ajal olid keeltele esitatavad nõuded täiesti erinevad. Kui Swift välja tuli, oli see lollakas, funktsionaalsus piiratud ja süntaks oli karm. Ja inimestel olid Objective-C-ga käed-jalad tööd täis. Seda on palju aastaid täiustatud, kõik vead seal parandatud. Kuid nüüd arvan, et Swift on sama hea kui Objective-C. Kuigi isegi Apple kasutab oma projektides endiselt mõlemat. Keeled on suures osas vahetatavad ja üksteist täiendavad. Ühe keele struktuure ja objekte saab teisendada teise keele objektideks ja struktuurideks. Hea on teada mõlemat võimalust, kuid algajatele tundub Objective-C sageli hirmutav ja segadust tekitav.

koolitus

„Esimesel töökohal õpetas ülemus mind välja, aitas mind projekti elluviimisel ja seadistamisel,“ ütleb Marat. „Kuid Androidi ja iOS-iga korraga töötamine on keeruline. Ümberehitamine, projektilt projektile, keelest keelele lülitumine võtab aega. Lõpuks otsustasin, et pean valima ühe suuna ja seda õppima. Mind müüdi Xcode'i liidese ja Swifti lihtsa süntaksiga."

Marat astus GeekBrainsi iOS-i arendusosakonda. Alguses oli see väga lihtne, sest ta teadis paljusid asju töökogemusest. Aastane kursus on jagatud neljaks kvartaliks. Andrey sõnul annab esimene neist ainult põhitõed: "Swifti keele alused, põhiraamistike tundmine, võrgud, andmesalvestus, rakenduse elutsükkel, kontroller, põhiarhitektuurid, peamised teegid, mida kõik kasutavad, mitmelõimelisus ja paralleelsus. rakendused."

Teine kvartal lisab Objective-C. Kursus viiakse läbi arhitektuuri ja põhiliste programmeerimismustrite kohta. Kolmandal veerandil õpetatakse õiget koodi kirjutamise stiili. See selgitab, mis on tehas, kuidas õigesti teste kirjutada, projekte luua, mis on Git-Flow, pidev integreerimine Fast Lane'i kaudu. Neljas ja viimane veerand on pühendatud meeskonnatööle, praktilistele ülesannetele ja praktikale.

"Esimene veerand oli lihtne," ütleb Marat, "aga siis hakkasin õppima Objective-C programmeerimist, uurisin disainimustreid, Solidi, Git-Flow põhimõtteid, projekti arhitektuuri, rakenduste ühiku- ja kasutajaliidese testimist, kohandatud animatsiooni seadistamist. - ja siis ma Õppimine muutus huvitavaks."

"GeekBrainsis ei alanud see minu jaoks eriti sujuvalt," ütleb Boris Pavlov ja tema tee iOS-i arendamiseni üldiselt ei olnud kõige otsesem. Poissi kasvatas vanaema. Ta oli arhitekt, matemaatik ja disainer ning sisendas Borisesse disainiarmastuse, õpetas teda käsitsi joonistama ja joonistama. Tema onu oli süsteemiadministraator ja tundis oma vennapoja huvi arvutite vastu.

Boriss oli suurepärane õpilane, kuid kaotas huvi õppimise vastu ja lahkus koolist pärast üheksat klassi. Pärast kolledžit hakkas ta jalgrattaga sõitma ja arvutid jäid tagaplaanile. Kuid ühel päeval sai Boris selgroovigastuse, mis takistas tal sportlaskarjääri jätkata.

Ta alustas C++ õppimist Irkutski Päikese-Maafüüsika Instituudi õpetaja juures. Siis tekkis mul huvi mänguarenduse vastu ja proovisin üle minna C#-le. Ja lõpuks, nagu Marat, köitis teda kiire keel.

„Otsustasin läbida GeekBrainsi tasuta sissejuhatava kursuse. Kui aus olla, siis ta oli väga igav, loid ja arusaamatu,” meenutab Boris, “õpetaja rääkis küll keele eripäradest, kuid tormas ühelt teemalt teisele, sisuliselt paljastamata. Kui kursus lõppes, ei saanud ma ikka veel millestki aru.

Seetõttu ei registreerunud Boris pärast sissejuhatavat kursust mitte aasta pikkusele koolitusele, vaid lühikesele kolmekuulisele kursusele, kus õpetatakse eriala põhitõdesid. "Leidsin sealt väga head õpetajad ja nad selgitasid kõike üsna selgelt."

“Meid kritiseeritakse sageli, väidetavalt pole meie koolitusjuhendid täiesti ajakohased, esineb ebatäpsusi. Kuid kursusi uuendatakse pidevalt ja õpetajad räägivad alati uuendustest. Minu juhitavatest rühmadest leiavad paljud töökoha pärast esimest kvartalit. Loomulikult on tavaliselt tegemist programmeerimiskogemusega inimestega,“ ütleb Andrey, „Teisalt ei saa kõiki teadmisi ühel kursusel edasi anda. Võrgukliendi suhtlemine elus ei mahu kümnesse kahetunnisesse loengusse. Ja kui käite ainult kursustel ja ei tee midagi muud, siis pole teil piisavalt teadmisi. Kui terve aasta iga päev õppida, siis sellise tempoga ainult laisk tööd ei saa. Sest nõudlus selle eriala järele on väga suur.»

Mida oodata, kui soovite saada iOS-i arendajaks

Näete kõige rohkem viimased vabad töökohad iOS-i arendajatele ja tellige uusi.

Töö

Kuid ei Marat ega Boris nii kergesti tööd leidnud.

"Mõned suured ettevõtted on Objective-C-s iOS-i rakendusi pikka aega arendanud ja jätkavad vana koodibaasi säilitamist. Kahjuks ei ole mul kaalukaid argumente, et sundida neid ainult Swifti kasutama. Eriti need, kes kasutavad reeglit „Ära puuduta seda, mis töötab,” ütleb Marat, „Geekbrainsis pööratakse Objective-C suunale vähe tähelepanu. See on pigem informatiivse iseloomuga. Kuid iga ettevõte, kellega ma intervjueerisin, küsis Objective-C kohta. Ja kuna mu õpingud keskenduvad Swiftile, nagu ka mu eelmine töö, sain intervjuudel keeldumisi.

„Pärast õppimist teadsin üksinda vaid kõige pealiskaudsemaid põhitõdesid, mille abil sain luua kõige lihtsama rakenduse,“ ütleb Boris. „Töö jaoks sellest muidugi ei piisanud, aga mul oli selle üle hea meel. Irkutskis oli raske tööd leida. Täpsemalt – üldsegi mitte. Otsustasin vaadata teistesse linnadesse. Vabade töökohtade arvu poolest osutusid kõige aktuaalsemateks Krasnodar, Moskva ja Peterburi. Otsustasin minna Peterburi – Euroopale lähemale.

Kuid kõik osutus mitte nii roosiliseks. Isegi juuniorile antakse andeks see, mida ta ei tea. Ma pole veel tööd leidnud. Ma töötan "aitäh", omandan kogemusi. Ma saan aru, et see pole see, mida ma tahtsin, kuid olen huvitatud ja see ajendab mind. Tahan teadmisi omandada."

Andrey usub, et uustulnukad peaksid otsima pigem praktikakohti kui tööd. Kui teil on väga vähe teadmisi, siis on normaalne, et praktika on tasustamata. Andrey soovitab kandideerida juunioride vabadele kohtadele suurettevõtetesse, kus tööprotsess on juba paika pandud.

“Kui mõistate, kuidas tarkvara arendusprotsess töötab, on navigeerimine ja edasise töö leidmine olenevalt teie soovidest palju lihtsam. Mõned inimesed tegelevad iseseisva arendusega, teevad endale mänge, laadivad need poodi üles ja teevad need ise rahaks. Mõned töötavad suures ettevõttes, kus kehtivad ranged reeglid. Mõned inimesed teenivad raha väikestes stuudiotes, mis teevad kohandatud tarkvara, ja seal saavad nad jälgida kogu protsessi – alates projekti loomisest nullist kuni selle poodi tarnimiseni.

Palgad

IOS-i arendaja palk, nagu iga teinegi, sõltub küsimusest “Moskva või Venemaa”. Kuid tulenevalt valdkonna spetsiifikast - palju kaugtööd, kolimisvõimalused ja töötamine mitte regionaalsel turul - lähenevad numbrid üha enam üksteisele.

Mida oodata, kui soovite saada iOS-i arendajaks

Minu Circle palgakalkulaatori järgi on iOS-i arendaja keskmine palk veidi väiksem 140 000 rubla.

"Väga madalal tasemel juunior töötab sageli tasuta või sümboolse raha eest - 20-30 tuhat rubla. Kui juunior sihikindlalt oma kohale võetakse, saab ta 50–80 tuhat. Keskmised saavad 100-150 ja mõnikord isegi kuni 200. Seeniorid alla 200 ei saa. Ma arvan, et nende palk on 200-300 ringis. Ja meeskonna esinumbrite puhul on see vastavalt üle 300.

Mida oodata, kui soovite saada iOS-i arendajaks

Intervjuud

«Esimene intervjuu toimus Skype’is. Minu üllatuseks oli see Google,” meenutab Boris, “siis olin just Peterburi kolinud ja hakkasin tööd otsima. Sain avalduse iOS-i arendaja ametikohale. Ei juunior, ei keskmine, mitte vanem – lihtsalt arendaja. Olin rõõmus ja hakkasin juhatajaga kirjavahetust pidama. Mul paluti täita tehniline ülesanne: pidin kirjutama taotluse Chuck Norrise kohta käivate naljade kohta. Ma kirjutasin selle. Nad ütlesid mulle, et kõik oli suurepärane ja leppisid kokku veebiintervjuu.

Helistasime üksteisele. Üks kena tüdruk rääkis minuga. Keeleoskuse kohta aga küsimusi ei küsitud, vaid erinevaid loogikaülesandeid, näiteks “Kell on 15:15, mitu kraadi on tunni- ja minutiosuti vahel?” või “Post on 10 meetrit pikk, a tigu roomab päeval 3 meetrit üles ja öösel laskub 1 meetri kõrgusele. Mitme päeva pärast ta tippu roomab?“, ja veel paar sarnast.

Siis tekkisid väga kummalised küsimused – miks ma Apple’i armastan ja kuidas ma Tim Cooki suhtun. Ütlesin, et ettevõte on tervikuna positiivne, aga tema suhtes pigem negatiivne, sest tema jaoks on oluline raha, mitte tooted.

Kui tekkisid küsimused Swifti kohta, piisas minu teadmistest ainult programmeerimismustrite ja OOP-i põhitõdede jaoks. Jätsime hüvasti, nädala pärast helistati tagasi ja öeldi, et ma ei sobi. Tegelikult sain sellest tohutu kogemuse: teadmisi on vaja, neid on vaja palju – nii teooriat kui praktikat.

Andrey ütleb, et "esimene asi, mida kõigilt küsitakse intervjuu ajal, on kontrolleri elutsükkel. Neile meeldib väga küsida mõnda lihtsat programmeerimismustrit. Nad küsivad kindlasti teie kogemuste kohta populaarsete raamatukogude kasutamisel. Kindlasti tekib küsimus Swifti väärtustüüpide ja võrdlustüüpide erinevuste, automaatse viiteloenduse ja mäluhalduse kohta. Nad võivad küsida, kuidas nad rakendasid rakendustes andmete salvestamist ja kas nad rakendasid võrgupäringuid. Nad küsivad RESTi ja JSONi põhitõdede kohta. Juuniorilt konkreetseid asju ja peensusi ei küsita. Vähemalt ma ei küsi."

Borisil oli teistsugune kogemus: „Isegi kui küsisin praktikakohta, täitsin tehnilisi ülesandeid ja ütlesin, et palk pole minu jaoks oluline, nii kaua, kuni sellest piisab korteri üürimiseks, keelduti ikka. Lugesin artikleid, püüdsin aru saada, mida värbaja uuelt tulijalt vajab. Kuid enamasti kukkusid nad läbi teooriate osas. Millegipärast esitasid nad kõrgliigadest küsimusi, mis uusi tulijaid ei puuduta.»

Maratil oli rohkem õnne. Nüüd töötab ta transpordifirmas ja juhib üksinda iOS-i osakonda, jätkates samas teaduskonnas õpinguid. "Kuna iOS-i eest vastutan ainult mina, hinnatakse minu tööd ainult selle järgi, kas suudan mulle pandud ülesandeid ellu viia, mitte aga minu teooriateadmiste järgi."

Kogukond

Andrei elab Nižni Novgorodis ja ütleb, et isegi seal on tekkinud suurepärane kogukond. Kunagi oli ta Pythonis taustaarendaja, kuid sõbrad tirisid ta mobiiliarendusse – ja nüüd julgustab ta ise kõiki seda tegema.

"Ülemaailmne kogukond suhtleb tavaliselt Twitteri kaudu. Inimesed kirjutavad ise blogisid, salvestavad Youtube’i videoid, kutsuvad üksteist podcastidesse. Ühel päeval tekkis mul küsimus esitluse kohta, kus HQTrivia meeskonnajuht rääkis. See on Ameerika viktoriinimäng, mida mängib korraga mitu miljonit inimest. Kirjutasin talle Twitteris, ta vastas mulle, me rääkisime ja ma tänasin teda. Kogukond on väga sõbralik, mis on suurepärane. ”

Soovitatava kirjanduse loeteluAlgaja tase:

Keskmine tase:

Edasijõudnute tase:

Allikas: www.habr.com

Lisa kommentaar