Kion atendi se vi volas fariĝi iOS-programisto

Kion atendi se vi volas fariĝi iOS-programisto

De ekstere de iOS, disvolviĝo povas ŝajni fermita klubo. Por labori, vi certe bezonas Apple-komputilon; la ekosistemo estas proksime regata de unu kompanio. De interne oni foje aŭdas ankaŭ kontraŭdirojn - iuj diras, ke la lingvo Objective-C estas malnova kaj mallerta, kaj aliaj diras, ke la nova lingvo Swift estas tro kruda.

Tamen, programistoj eniras ĉi tiun areon kaj, post tie, estas kontentaj.

Ĉi-foje Marat Nurgaliev kaj Boris Pavlov rakontis al ni pri sia sperto - kiel ili lernis la profesion, kiel ili pasigis siajn unuajn intervjuojn, kial ili ricevis rifuzojn. Kaj Andrej Antropov, dekano, agis kiel fakulo Fakultato de iOS-Evoluo ĉe GeekBrains.

En 2016, Marat Nurgaliev el la regiono Astraĥano venis por akiri laboron kiel movebla programisto ĉe loka televida kompanio. Ĉi tiu estis lia unua intervjuo. Li ĵus revenis el la armeo, sen praktiko kaj sperto, forgesinte eĉ la teorion, kun kiu li jam havis problemojn. La nura sperto de Marat en movebla evoluo estis lia tezo pri analizado de informfluoj per Android-aplikoj. Ĉe la intervjuo, li estis demandita pri liaj studoj, OOP kaj alia teorio, sed Marat estis nekapabla kaŝi la interspacojn en sia scio.

Tamen, li ne estis rifuzita, sed ricevis praktikan taskon - efektivigi montradon de listo de novaĵoj uzante la API en du semajnoj. Ambaŭ por iOS kaj Android. "Se mi havis ian sperton pri Android, eĉ ne ekzistis ilo por krei iOS-version. La IOS-aplika evolumedio estas nur disponebla en Mac. Sed du semajnojn poste mi revenis kaj montris, kion mi povas fari en Android. Kun iOS mi devis eltrovi ĝin sur la flugo. Fine ili prenis min. Tiam mi loĝis en Astraĥano. Ĉiu IT-laboro kun salajro pli ol dudek konvenis al mi.”

Kiuj estas iOS-programistoj?

Poŝtelefonaj programistoj faras aplikojn por iu ajn portebla aparato. Smartphones, tablojdoj, saĝaj horloĝoj kaj ĉiuj aliaj platformoj kiuj subtenas Android aŭ iOS. La fundamentaj principoj de movebla evoluo ne diferencas de konvencia evoluo, sed pro specifaj iloj, ĝi estis apartigita en apartan direkton. Ĝi uzas siajn proprajn ilojn, programlingvojn kaj kadrojn.

“Por labori kun iOS, vi bezonas MacBook, ĉar nur ĝi havas la necesan Xcode-disvolvan medion. Ĝi estas senpaga kaj distribuita per la AppStore. Por instali, vi devas havi vian Apple-ID kaj nenion alian. En Xcode vi povas evoluigi aplikojn por io ajn - telefono, tablojdo, horloĝo. Estas enkonstruita simulilo kaj redaktilo por ĉio,” diras Andrey Antropov, dekano de la iOS-disvolva fako ĉe GeekBrains.

“Sed la evolumedio povas esti instalita en Vindozo se vi uzas Hackintosh. Ĉi tio estas funkcia, sed trafika opcio - neniu el la seriozaj programistoj faras tion. Komencantoj aĉetas malnovan MacBook. Kaj la spertaj kutime povas pagi la plej novan modelon."

Lingvoj - Swift aŭ Objective-C

Preskaŭ ĉio iOS-disvolviĝo estas farita uzante la programlingvon Swift. Ĝi aperis antaŭ kvin jaroj kaj nun iom post iom anstataŭigas la malnovan lingvon Objective-C, kiun Apple uzas en ĉiuj siaj aplikoj dum pli ol 30 jaroj.

"Granda kodbazo estis akumulita en Objective-C, do programistoj en ambaŭ lingvoj daŭre estas postulataj, depende de la kompanio, ĝiaj taskoj kaj aplikoj. Aplikoj skribitaj antaŭ multaj jaroj baziĝas sur Objective-C. Kaj ĉiuj novaj projektoj estas disvolvitaj en Swift defaŭlte. Nun Apple multe faras por ke samtempa disvolviĝo por telefono, tablojdo, horloĝo kaj MacBook kiel eble plej oportuna. La sama kodo povas esti kompilita kaj rulita ĉie. Ĉi tio ne okazis antaŭe. Por iOS ni disvolvis en Swift, por MacOS ni uzis Objective-C."

Laŭ Andrey, Swift estas tre simpla lingvo, kiu estas amika por komencantoj. Ĝi estas strikte tajpita, kio ebligas al vi kapti multajn erarojn ĉe la projekta kompila stadio, kaj malĝusta kodo simple ne funkcios.

"Objektivo-C estas sufiĉe malnova lingvo - la sama aĝo kiel la lingvo C++. En la tempo, kiam ĝi estis disvolvita, la postuloj por lingvoj estis tute malsamaj. Kiam Swift aperis, ĝi estis fuŝa, la funkcieco estis limigita, kaj la sintakso estis malglata. Kaj homoj havis siajn manojn plenaj per Objective-C. Ĝi estis plibonigita dum multaj jaroj, ĉiuj tie eraroj estis korektitaj. Sed nun mi pensas, ke Swift estas same bona kiel Objective-C. Kvankam eĉ Apple ankoraŭ uzas ambaŭ en siaj projektoj. La lingvoj estas plejparte interŝanĝeblaj kaj reciproke komplementaj. Strukturoj kaj objektoj de unu lingvo povas esti transformitaj en objektojn kaj strukturojn de alia lingvo. Estas bone scii ambaŭ opciojn, sed por komencantoj Objective-C ofte ŝajnas timiga kaj konfuza."

Trejnadoj

"Ĉe mia unua laboro, mia estro trejnis min, helpis min efektivigi kaj starigi la projekton," diras Marat, "Sed labori sur Android kaj iOS samtempe estas malfacila. Necesas tempo por rekonstrui, ŝanĝi de projekto al projekto, de lingvo al lingvo. Fine mi decidis, ke mi bezonas elekti unu direkton kaj studi ĝin. Mi estis vendita sur la interfaco de Xcode kaj la simpla sintakso de Swift."

Marat eniris la iOS-disvolvan fakon ĉe GeekBrains. Komence ĝi estis tre facila, ĉar li sciis multajn aferojn el labora sperto. La ĉiujara kurso estas dividita en kvar kvaronojn. Laŭ Andrey, la unua donas nur la bazaĵojn mem: "La bazo de la Swift-lingvo, kono de bazaj kadroj, retoj, datumstokado, aplikaĵa vivociklo, regilo, bazaj arkitekturoj, ĉefaj bibliotekoj kiujn ĉiuj uzas, multfadenado kaj paraleleco en aplikoj.”

La dua kvarono aldonas Objective-C. Kurso estas farita pri arkitekturo kaj bazaj programaj ŝablonoj. En la tria kvarono, ili instruas la ĝustan stilon de skribkodo. Ĝi klarigas kio estas fabriko, kiel skribi testojn ĝuste, krei projektojn, kio estas Git-Flow, Daŭra Integriĝo per Fast Lane. La kvara kaj lasta kvarono estas dediĉita al teamlaboro, praktikaj taskoj kaj staĝoj.

"La unua trimonato estis facila," diras Marat, "sed tiam mi eklernis programadon en Objective-C, studi desegnajn ŝablonojn, la principojn de Solid, Git-Flow, projektarkitekturon, Unit- kaj UI-testadon de aplikoj, agordi propran animacion. - kaj tiam mi Fariĝis interese studi."

"Ĝi ne komenciĝis tre glate por mi ĉe GeekBrains," diras Boris Pavlov, kaj lia vojo al iOS-evoluo ĝenerale ne estis la plej rekta. La knabo estis edukita de sia avino. Ŝi estis arkitekto, matematikisto kaj dizajnisto kaj ensorbigis al Boriso amon por dezajno, instruis lin desegni permane kaj desegni. Lia onklo estis sistemadministranto kaj interesis sian nevon pri komputiloj.

Boriso estis bonega studento, sed perdis intereson pri studado kaj forlasis lernejon post naŭ klasoj. Post kolegio, li ekbiciklis, kaj komputiloj fadis en la fono. Sed unu tagon Boris ricevis vundon al la spino, kio malhelpis lin daŭrigi sian sportan karieron.

Li komencis studi C++ kun instruisto ĉe la Irkutsk Instituto de Sun-Tera-Fiziko. Tiam mi interesiĝis pri luddisvolviĝo kaj provis ŝanĝi al C#. Kaj finfine, kiel Marat, li estis allogita de la Swift-lingvo.

“Mi decidis sekvi la senpagan enkondukan kurson ĉe GeekBrains. Verdire, li estis tre enuiga, malvigla kaj nekomprenebla”, rememoras Boris, “la instruisto parolis pri la trajtoj de la lingvo, sed rapidis de unu temo al alia sen malkaŝi la esencon. Kiam la kurso finiĝis, mi ankoraŭ nenion komprenis.”

Tial, post la enkonduka kurso, Boriso enskribiĝis ne en tutjaran trejnadon, sed en mallongan trimonatan kurson, kie oni instruas la bazojn mem de la profesio. "Mi trovis tre bonajn instruistojn tie, kaj ili klarigis ĉion sufiĉe klare."

“Ofte oni kritikas nin, supozeble niaj trejnaj manlibroj ne estas tute ĝisdataj, estas eraroj. Sed la kursoj estas konstante ĝisdatigitaj, kaj instruistoj ĉiam parolas pri novigoj. El la grupoj, kiujn mi gvidas, multaj trovas laborpostenojn post la unua trimonato. Kompreneble, kutime ĉi tiuj estas homoj kun programado sperto," diras Andrey, "Aliflanke, ĉiuj scioj ne povas esti transdonitaj en unu kurso. Reta klientinterago en la vivo ne povas esti taŭga en dek du-horaj prelegoj. Kaj se vi nur iras al kursoj kaj faras nenion alian, tiam vi ne havos sufiĉe da scio. Se vi studas ĉiutage dum la tuta jaro, tiam je ĉi tiu ritmo nur maldiligentuloj ne ricevos laboron. Ĉar la postulo en la profesio estas tre alta.”

Kion atendi se vi volas fariĝi iOS-programisto

Vi povas vidi plej multe lastaj vakantaĵoj por iOS-programistoj kaj abonu novajn.

laboro

Sed nek Marat nek Boriso trovis dungadon tiel facile.

"Kelkaj grandaj firmaoj longe evoluigis iOS-aplikaĵojn en Objective-C, kaj daŭre konservas la malnovan kodbazon. Bedaŭrinde, mi ne havas konvinkan argumenton por devigi ilin uzi Swift ekskluzive. Precipe tiuj, kiuj uzas la regulon, "ne tuŝu tion, kio funkcias," diras Marat, "Malgranda atento estas atentita al la direkto de Objective-C ĉe Geekbrains. Ĝi estas pli de informa naturo. Sed ĉiu kompanio por kiu mi intervjuis demandis pri Objective-C. Kaj ĉar miaj studoj fokusiĝas al Swift, kiel mia antaŭa laboro, mi ricevis rifuzojn ĉe intervjuoj."

"Post studado, mi mem sciis nur la plej supraĵajn bazaĵojn, per kiuj mi povis krei la plej simplan aplikaĵon," diras Boris. "Por laboro, kompreneble, ĝi ne sufiĉis, sed mi ĝojis pri tio. Estis malfacile trovi laboron en Irkutsk. Por esti pli preciza — tute ne. Mi decidis serĉi en aliaj urboj. Laŭ la nombro de vakantaĵoj, Krasnodar, Moskvo kaj Sankt-Peterburgo rezultis esti la plej gravaj. Mi decidis iri al Peterburgo – pli proksime al Eŭropo.

Sed ĉio montriĝis ne tiel roza. Eĉ junulo estos pardonita pro tio, kion li ne povas scii. Mi ankoraŭ ne trovis laboron. Mi laboras por "dankon", akirante sperton. Mi komprenas, ke tio ne estas tio, kion mi volis, sed mi interesiĝas, kaj ĉi tio min pelas. Mi volas akiri scion."

Andrey opinias, ke novuloj devas serĉi staĝojn prefere ol laborpostenoj. Se vi havas tre malmulte da scio, tiam estas normale, ke la staĝo estu senpaga. Andrey konsilas kandidatiĝi por junaj vakantaĵoj al grandaj kompanioj, kie la laborprocezo jam estis establita.

"Kiam vi komprenos kiel funkcias la programaro-disvolva procezo, fariĝos multe pli facile navigi kaj trovi plian laboron, depende de viaj deziroj. Iuj homoj eniras sendependan disvolviĝon, faras ludojn por si mem, alŝutas ilin al la vendejo kaj mem monetigas ilin. Iuj laboras por granda kompanio kun striktaj reguloj. Iuj homoj gajnas monon en malgrandaj studioj, kiuj faras specialajn programojn, kaj tie ili povas rigardi la tutan procezon - de kreado de projekto de nulo ĝis liverado de ĝi al la vendejo."

Salajroj

La salajro de iOS-programisto, kiel ĉiu alia, dependas de la demando "Moskvo aŭ Rusio". Sed pro la specifaĵoj de la industrio - multe da malproksima laboro, ŝancoj por translokiĝo kaj laboro ne en la regiona merkato - la nombroj ĉiam pli alproksimiĝas unu al la alia.

Kion atendi se vi volas fariĝi iOS-programisto

Laŭ la salajra kalkulilo de My Circle, la averaĝa salajro de iOS-programisto estas iomete malpli 140 000 rubloj.

"Junulo je tre malalta nivelo ofte laboras senpage aŭ por simbola mono - 20-30 mil rubloj. Se junulo estas celkonscie prenita al sia posteno, li ricevos de 50 ĝis 80 mil. Mezoj ricevas de 100 ĝis 150, kaj foje eĉ ĝis 200. Maljunuloj ne ricevas malpli ol 200. Mi pensas, ke ilia salajro estas ĉirkaŭ 200-300. Kaj por teamgvidantoj, sekve, ĝi estas pli ol 300."

Kion atendi se vi volas fariĝi iOS-programisto

Intervjuoj

“La unua intervjuo okazis per Skajpo. Je mia surprizo, ĝi estis Guglo,” Boris memoras, “tiam mi ĵus translokiĝis al Sankt-Peterburgo kaj komencis serĉi laboron. Mi ricevis kandidatiĝon por iOS-programisto. Ne juna, ne meza, ne altranga - nur programisto. Mi ĝojis kaj komencis korespondi kun la administranto. Oni petis min plenumi teknikan taskon: mi devis skribi peton por ŝercoj pri Chuck Norris. Mi skribis ĝin. Ili diris al mi, ke ĉio estas bonega kaj planis interretan intervjuon.

Ni vokis unu la alian. Bela knabino parolis kun mi. Sed ili ne faris demandojn pri lingvoscio - nur diversaj logikaj problemoj, ekzemple, “La tempo estas 15:15, kiom da gradoj estas inter la horo kaj minutoj?” aŭ “Afosto longas 10 metrojn, a. heliko rampas 3 metrojn supren tage, kaj malsupreniras 1 metron nokte." Post kiom da tagoj ŝi rampos al la supro?“, kaj kelkaj pli similaj.

Tiam estis tre strangaj demandoj - kial mi amas Apple kaj kiel mi sentas pri Tim Cook. Mi diris, ke la firmao entute estas pozitiva, sed prefere negativa al li, ĉar gravas mono por li, ne produktoj.

Kiam komenciĝis demandoj pri Swift, mia scio sufiĉis nur por programado de ŝablonoj kaj la bazaĵoj de OOP. Ni adiaŭis, unu semajnon poste oni revokis min kaj diris, ke mi ne taŭgas. Efektive, mi akiris enorman sperton el tio: vi bezonas scion, vi bezonas multon - kaj teorion kaj praktikon."

Andrey diras, ke "la unua afero, kiun oni demandas al ĉiuj dum intervjuo, estas la vivociklo de la regilo. Ili tre ŝatas peti iun simplan programan ŝablonon. Ili certe demandos pri via sperto uzante popularajn bibliotekojn. Certe estos demando pri la diferencoj en Swift Value Types de Referencaj Tipoj, pri Aŭtomata Referenca Nombrado kaj memoradministrado. Ili povas demandi kiel ili efektivigis datumstokadon en aplikoj, kaj ĉu ili efektivigis retajn petojn. Ili demandos pri la bazoj de REST kaj JSON. Oni ne petos al la junulo specifajn aferojn kaj subtilaĵojn. Almenaŭ mi ne demandas."

Boris havis malsaman sperton: „Eĉ kiam mi petis staĝojn, plenumis teknikajn taskojn kaj diris, ke la salajro ne gravas por mi, kondiĉe ke sufiĉas por lui loĝejon, mi tamen estis rifuzita. Mi legis artikolojn, provis kompreni, kion bezonas varbanto de novulo. Sed ili plejparte malsukcesis pri teorioj. Ial ili faris demandojn de la ĉefligoj kiuj ne koncernas novulojn."

Marat estis pli bonŝanca. Nun li laboras en transportkompanio kaj estas sola respondeca pri la iOS-fako, dum li daŭrigas siajn studojn ĉe la fakultato. "Ĉar mi estas la sola respondeca pri iOS, mia laboro estas taksata nur per mia kapablo efektivigi la taskojn atribuitajn al mi, kaj ne per mia scio pri teorio."

Komunumo

Andrey loĝas en Niĵnij Novgorod kaj diras, ke eĉ tie formiĝis granda komunumo. Iam li estis backend-programisto en Python, sed liaj amikoj trenis lin en moveblan disvolviĝon - kaj nun li mem instigas ĉiujn fari ĝin.

"La tutmonda komunumo kutime komunikas per Twitter. Homoj skribas siajn proprajn blogojn, registras filmetojn en Youtube, invitas unu la alian al podkastoj. Iun tagon mi havis demandon pri prezento, kie la teamestro de HQTrivia parolis. Ĉi tio estas usona kvizludo, kiu estas ludata samtempe de pluraj milionoj da homoj. Mi skribis al li en Tvitero, li respondis al mi, ni parolis, kaj mi dankis lin. La komunumo estas ege amika, kio estas bonega."

Listo de rekomendita literaturoKomenca nivelo:

Meza nivelo:

Altnivela nivelo:

fonto: www.habr.com

Aldoni komenton