Ko sagaidīt, ja vēlaties kļūt par iOS izstrādātāju

Ko sagaidīt, ja vēlaties kļūt par iOS izstrādātāju

No iOS ārpuses attÄ«stÄ«ba var Ŕķist slēgts klubs. Lai strādātu, noteikti ir nepiecieÅ”ams Apple dators, ekosistēmu cieÅ”i kontrolē viens uzņēmums. ArÄ« no iekÅ”puses dažkārt var dzirdēt pretrunas - daži saka, ka Objective-C valoda ir veca un neveikla, bet citi saka, ka jaunā Swift valoda ir pārāk rupja.

Tomēr izstrādātāji ieiet Å”ajā jomā un, tur nonākuÅ”i, ir apmierināti.

Å oreiz Marats Nurgalijevs un Boriss Pavlovs pastāstÄ«ja par savu pieredzi ā€“ kā viņi apguva profesiju, kā izturēja pirmās intervijas, kāpēc saņēma atteikumus. Un Andrejs Antropovs, prāvests, darbojās kā eksperts iOS attÄ«stÄ«bas fakultāte vietnē GeekBrains.

2016. gadā Marats Nurgalijevs no Astrahaņas reÄ£iona ieradās, lai iegÅ«tu darbu kā mobilo sakaru izstrādātājs vietējā televÄ«zijas uzņēmumā. Å Ä« bija viņa pirmā intervija. ViņŔ bija tikko atgriezies no armijas, bez prakses un pieredzes, aizmirsis pat teoriju, ar kuru viņam jau bija problēmas. Marata vienÄ«gā pieredze mobilo ierīču izstrādē bija viņa disertācija par informācijas noplÅ«des plÅ«smu analÄ«zi, izmantojot Android lietojumprogrammas. Intervijā viņam jautāja par studijām, OOP un citām teorijām, taču Marats nespēja noslēpt robus savās zināŔanās.

Taču viņam netika atteikts, bet tika dots praktisks uzdevums - divu nedēļu laikā ieviest ziņu saraksta attēloÅ”anu, izmantojot API. Gan iOS, gan Android. "Ja man bija pieredze ar Android, nebija pat rÄ«ka, lai izveidotu iOS versiju. iOS lietojumprogrammu izstrādes vide ir pieejama tikai operētājsistēmā Mac. Bet pēc divām nedēļām es atgriezos un parādÄ«ju, ko varu darÄ«t operētājsistēmā Android. Izmantojot iOS, man tas bija jāizdomā lidojuma laikā. Beigās viņi mani paņēma. Tad es dzÄ«voju Astrahaņā. Man derēja jebkurÅ” IT darbs ar atalgojumu virs divdesmit.ā€

Kas ir iOS izstrādātāji?

Mobilo ierīču izstrādātāji veido lietojumprogrammas jebkurai pārnēsājamai ierÄ«cei. Viedtālruņi, planÅ”etdatori, viedpulksteņi un visas citas platformas, kas atbalsta Android vai iOS. Mobilās izstrādes pamatprincipi neatŔķiras no parastās izstrādes, taču specifisku rÄ«ku dēļ tā ir nodalÄ«ta atseviŔķā virzienā. Tas izmanto savus rÄ«kus, programmÄ“Å”anas valodas un ietvarus.

ā€œLai strādātu ar iOS, nepiecieÅ”ams MacBook, jo tikai tam ir nepiecieÅ”amā Xcode izstrādes vide. Tas ir bezmaksas un tiek izplatÄ«ts, izmantojot AppStore. Lai instalētu, jums ir nepiecieÅ”ams jÅ«su Apple ID un nekas cits. Programmā Xcode var izstrādāt aplikācijas jebkam ā€“ tālrunim, planÅ”etdatoram, pulkstenim. Visam ir iebÅ«vēts simulators un redaktors,ā€ saka Andrejs Antropovs, GeekBrains iOS izstrādes nodaļas dekāns.

"Taču izstrādes vidi var instalēt operētājsistēmā Windows, ja izmantojat Hackintosh. Å Ä« ir funkcionāla, bet apļveida iespēja ā€” neviens no nopietniem izstrādātājiem to nedara. Iesācēji iegādājas vecu MacBook. Un pieredzējuÅ”ie parasti var atļauties jaunāko modeli.

Valodas ā€” Swift vai Objective C

GandrÄ«z visa iOS izstrāde tiek veikta, izmantojot Swift programmÄ“Å”anas valodu. Tas parādÄ«jās pirms pieciem gadiem un tagad pakāpeniski aizstāj veco Objective-C valodu, ko Apple ir izmantojis visās savās lietojumprogrammās vairāk nekā 30 gadus.

ā€œObjective-C ir uzkrāta milzÄ«ga kodu bāze, tāpēc joprojām ir nepiecieÅ”ami izstrādātāji abās valodās atkarÄ«bā no uzņēmuma, tā uzdevumiem un lietojumprogrammām. Pirms daudziem gadiem rakstÄ«tie pieteikumi ir balstÄ«ti uz Objective-C. Un visi jaunie projekti pēc noklusējuma tiek izstrādāti Swift. Tagad Apple dara daudz, lai vienlaicÄ«ga tālruņa, planÅ”etdatora, pulksteņa un MacBook izstrāde bÅ«tu pēc iespējas ērtāka. To paÅ”u kodu var apkopot un palaist visur. IepriekÅ” tas nenotika. Operētājsistēmā iOS mēs izstrādājām Swift, bet operētājsistēmai MacOS izmantojām Objective-C.

Pēc Andreja teiktā, Swift ir ļoti vienkārÅ”a valoda, kas ir draudzÄ«ga iesācējiem. Tas ir stingri drukāts, kas ļauj pieļaut daudzas kļūdas projekta apkopoÅ”anas stadijā, un nepareizs kods vienkārÅ”i nedarbosies.

ā€œObjective-C ir diezgan veca valoda ā€” tāda paÅ”a vecuma kā C++ valoda. Laikā, kad tas tika izstrādāts, prasÄ«bas valodām bija pilnÄ«gi atŔķirÄ«gas. Kad Swift iznāca, tas bija kļūdains, funkcionalitāte bija ierobežota un sintakse bija aptuvena. Un cilvēkiem bija darba pilnas rokas ar Objective-C. Tas ir daudzus gadus uzlabots, visas kļūdas tur ir izlabotas. Bet tagad es domāju, ka Swift ir tikpat labs kā Objective-C. Lai gan pat Apple savos projektos joprojām izmanto abus. Valodas lielā mērā ir savstarpēji aizstājamas un savstarpēji papildinoÅ”as. Vienas valodas struktÅ«ras un objektus var pārveidot par citas valodas objektiem un struktÅ«rām. Ir labi zināt abas iespējas, taču iesācējiem Objective-C bieži Ŕķiet biedējoÅ”s un mulsinoÅ”s.

treniņŔ

ā€œPirmajā darbā mans priekÅ”nieks mani apmācÄ«ja, palÄ«dzēja Ä«stenot un izveidot projektu,ā€ saka Marats, ā€œtaču strādāt operētājsistēmā Android un iOS vienlaikus ir grÅ«ti. Ir nepiecieÅ”ams laiks, lai atjaunotu, pārslēgtos no projekta uz projektu, no valodas uz valodu. Beigās nolēmu, ka jāizvēlas viens virziens un tas jāizpēta. Mani pārdeva, izmantojot Xcode interfeisu un Swift vienkārÅ”o sintaksi.

Marats iestājās GeekBrains iOS izstrādes nodaļā. Sākumā tas bija ļoti viegli, jo viņŔ daudzas lietas zināja no darba pieredzes. Gada kurss ir sadalÄ«ts četros ceturkŔņos. Pēc Andreja teiktā, pirmais sniedz tikai paÅ”us pamatus: ā€œSwift valodas pamats, zināŔanas par pamata ietvariem, tÄ«klu veidoÅ”anu, datu glabāŔanu, lietojumprogrammu dzÄ«ves ciklu, kontrolieri, pamata arhitektÅ«rām, galvenajām bibliotēkām, ko visi izmanto, daudzpavedienu un paralēlisma. pieteikumi.ā€

Otrajā ceturksnÄ« tiek pievienots MērÄ·is-C. Tiek vadÄ«ts kurss par arhitektÅ«ru un programmÄ“Å”anas pamatiem. TreÅ”ajā ceturksnÄ« viņi māca pareizo koda rakstÄ«Å”anas stilu. Tajā ir paskaidrots, kas ir rÅ«pnÄ«ca, kā pareizi uzrakstÄ«t testus, veidot projektus, kas ir Git-Flow, nepārtraukta integrācija caur Fast Lane. Ceturtais un pēdējais ceturksnis ir veltÄ«ts komandas darbam, praktiskiem uzdevumiem un praksei.

"Pirmais ceturksnis bija viegls," saka Marats, "bet pēc tam es sāku mācÄ«ties programmÄ“Å”anu Objective-C, pētot dizaina modeļus, Solid, Git-Flow principus, projektu arhitektÅ«ru, lietojumprogrammu vienÄ«bu un lietotāja interfeisa testÄ“Å”anu, pielāgotas animācijas iestatÄ«Å”anu. - un tad es Kļuva interesanti mācÄ«ties.

"GeekBrains man sākās ne pārāk gludi," saka Boriss Pavlovs, un viņa ceļŔ uz iOS attÄ«stÄ«bu kopumā nebija tieŔākais. Zēnu audzināja vecmāmiņa. Viņa bija arhitekte, matemātiÄ·e un dizainere un ieaudzināja Borisā mÄ«lestÄ«bu pret dizainu, iemācÄ«ja viņam zÄ«mēt ar roku un zÄ«mēt. Viņa tēvocis bija sistēmas administrators un interesēja brāļadēlu par datoriem.

Boriss bija izcils students, taču zaudēja interesi par mācÄ«bām un pameta skolu pēc deviņām klasēm. Pēc koledžas viņŔ sāka braukt ar velosipēdu, un datori pazuda fonā. Taču kādu dienu Boriss guva mugurkaula traumu, kas viņam liedza turpināt sporta karjeru.

ViņŔ sāka studēt C++ pie skolotājas Irkutskas Saules un zemes fizikas institÅ«tā. Tad sāku interesēties par spēļu izstrādi un mēģināju pāriet uz C#. Un visbeidzot, tāpat kā Maratu, viņu aizrāva Sviftu valoda.

ā€œEs nolēmu apmeklēt bezmaksas ievadkursu GeekBrains. Ja godÄ«gi, viņŔ bija ļoti garlaicÄ«gs, kÅ«trs un nesaprotams,ā€ atceras Boriss, ā€œskolotājs runāja par valodas Ä«patnÄ«bām, bet steidzās no vienas tēmas pie citas, neatklājot bÅ«tÄ«bu. Kad kurss beidzās, es joprojām neko nesapratu.

Tāpēc pēc ievadkursa Boriss iestājās nevis gadu ilgā apmācÄ«bā, bet gan Ä«sos trÄ«s mēneÅ”u kursos, kur māca paÅ”us profesijas pamatus. "Es tur atradu ļoti labus skolotājus, un viņi visu izskaidroja diezgan skaidri."

ā€œMÅ«s bieži kritizē, it kā mÅ«su apmācÄ«bas rokasgrāmatas nav lÄ«dz galam aktuālas, ir neprecizitātes. Bet kursi tiek pastāvÄ«gi atjaunināti, un skolotāji vienmēr runā par jauninājumiem. No manis vadÄ«tajām grupām daudzas atrod darbu pēc pirmā ceturkŔņa. Protams, parasti tie ir cilvēki ar programmÄ“Å”anas pieredzi,ā€ stāsta Andrejs, ā€œSavukārt visas zināŔanas nevar nodot vienā kursā. TÄ«kla klientu mijiedarbÄ«ba dzÄ«vē nav iekļaujama desmit divu stundu lekcijās. Un, ja jÅ«s apmeklējat tikai kursus un neko citu nedarÄ«siet, jums nepietiks zināŔanu. Ja visu gadu mācÄ«sies katru dienu, tad tādā tempā darbu nedabÅ«s tikai slinkais. Jo pieprasÄ«jums pēc profesijas ir ļoti liels.ā€

Ko sagaidīt, ja vēlaties kļūt par iOS izstrādātāju

Jūs varat redzēt visvairāk jaunākās vakances iOS izstrādātājiem un abonējiet jaunas.

Strādāt

Taču ne Marats, ne Boriss tik viegli neatrada darbu.

"Daži lieli uzņēmumi jau sen ir izstrādājuÅ”i iOS lietojumprogrammas Objective-C un turpina uzturēt veco kodu bāzi. Diemžēl man nav pārliecinoÅ”u argumentu, lai piespiestu viņus izmantot tikai Swift. ÄŖpaÅ”i tie, kas izmanto noteikumu ā€œnepieskarieties tam, kas darbojas,ā€ saka Marats, ā€œObjective-C virzienam Geekbrains tiek pievērsta maz uzmanÄ«bas. Tam vairāk ir informatÄ«vs raksturs. Bet katrs uzņēmums, kuru intervēju, jautāja par Objective-C. Un, tā kā manas studijas ir vērstas uz Sviftu, tāpat kā mans iepriekŔējais darbs, intervijās saņēmu atteikumus.

ā€œPēc studijām pats zināju tikai virspusējos pamatus, ar kuru palÄ«dzÄ«bu varēju izveidot visvienkārŔāko aplikāciju,ā€ stāsta Boriss. ā€œDarbam, protams, ar to nepietika, bet par to man bija prieks. Irkutskā bija grÅ«ti atrast darbu. Pareizāk sakot ā€“ ne visai. Nolēmu paskatÄ«ties citās pilsētās. Vakanču skaita ziņā visaktuālākās izrādÄ«jās Krasnodara, Maskava un Sanktpēterburga. Nolēmu doties uz Sanktpēterburgu ā€“ tuvāk Eiropai.

Taču viss izrādÄ«jās ne tik rožaini. Pat junioram tiks piedots tas, ko viņŔ nevar zināt. Es vēl neesmu atradis darbu. Es strādāju "paldies", gÅ«stu pieredzi. Es saprotu, ka tas nav tas, ko es gribēju, bet esmu ieinteresēts, un tas mani virza. Es gribu iegÅ«t zināŔanas."

Andrejs uzskata, ka jaunpienācējiem jāmeklē prakses vietas, nevis darbs. Ja jums ir ļoti maz zināŔanu, tas ir normāli, ka prakse ir neapmaksāta. Andrejs iesaka pieteikties junioru vakancēm lielos uzņēmumos, kur darba process jau ir izveidots.

ā€œKad sapratÄ«si, kā darbojas programmatÅ«ras izstrādes process, bÅ«s daudz vieglāk orientēties un atrast turpmāko darbu atkarÄ«bā no vēlmēm. Daži cilvēki iesaistās neatkarÄ«gā attÄ«stÄ«bā, veido spēles sev, augÅ”upielādē tās veikalā un paÅ”i gÅ«st peļņu. Daži strādā lielā uzņēmumā ar stingriem noteikumiem. Daži cilvēki pelna naudu mazās studijās, kas ražo pielāgotu programmatÅ«ru, un tur viņi var vērot visu procesu ā€” no projekta izveides no nulles lÄ«dz tā piegādei veikalā.

Algas

IOS izstrādātāja alga, tāpat kā jebkura cita, ir atkarÄ«ga no jautājuma ā€œMaskava vai Krievijaā€. Taču, ņemot vērā nozares specifiku - daudz attālinātā darba, pārcelÅ”anās iespējas un darbu ne reÄ£ionālajā tirgÅ« - skaitļi arvien vairāk tuvojas viens otram.

Ko sagaidīt, ja vēlaties kļūt par iOS izstrādātāju

Saskaņā ar My Circle algu kalkulatoru iOS izstrādātāja vidējā alga ir nedaudz mazāka 140 000 rubļi.

ā€œÄ»oti zemā lÄ«menÄ« juniors bieži strādā par brÄ«vu vai par simbolisku naudu - 20-30 tÅ«kstoÅ”iem rubļu. Ja junioru mērÄ·tiecÄ«gi paņems savā amatā, viņŔ saņems no 50 lÄ«dz 80 tÅ«kst. Vidējie saņem no 100 lÄ«dz 150, un dažreiz pat lÄ«dz 200. Seniori nesaņem mazāk par 200. Es domāju, ka viņiem alga ir ap 200-300. Un attiecÄ«gi komandas vadÄ«bā tas ir vairāk nekā 300.

Ko sagaidīt, ja vēlaties kļūt par iOS izstrādātāju

Intervijas

ā€œPirmā intervija notika Skype. Man par pārsteigumu tas bija Google,ā€ atceras Boriss, ā€œtad es tikko biju pārcēlies uz Sanktpēterburgu un sāku meklēt darbu. Saņēmu pieteikumu iOS izstrādātāja amatam. Ne juniors, ne vidējais, ne vecākais - tikai izstrādātājs. Es biju sajÅ«smā un sāku sarakstÄ«ties ar vadÄ«tāju. Man tika lÅ«gts izpildÄ«t tehnisku uzdevumu: man bija jāuzraksta pieteikums jokiem par Čaku Norisu. Es to uzrakstÄ«ju. Viņi man teica, ka viss ir lieliski, un ieplānoja tieÅ”saistes interviju.

Mēs viens otram sazvanÄ«jāmies. Ar mani runāja jauka meitene. Bet par valodas prasmi viņi neuzdeva nekādus jautājumus - tikai dažādas loÄ£iskas problēmas, piemēram, ā€œPulks ir 15:15, cik grādu ir starp stundu un minÅ«Å”u rādÄ«tājiem?ā€ vai ā€œPasts ir 10 metrus garÅ”, a Gliemezis pa dienu rāpo 3 metrus uz augÅ”u, bet naktÄ« nolaižas 1 metru uz leju. Pēc cik dienām viņa rāpos lÄ«dz virsotnei?ā€œ, un vēl pāris lÄ«dzÄ«gas.

Tad radās ļoti dÄ«vaini jautājumi ā€“ kāpēc es mÄ«lu Apple un kā es jÅ«tos pret Timu Kuku. Teicu, ka uzņēmums kopumā ir pozitÄ«vs, bet drÄ«zāk negatÄ«vs pret viņu, jo viņam ir svarÄ«ga nauda, ā€‹ā€‹nevis produkti.

Kad sākās jautājumi par Swift, manas zināŔanas bija pietiekamas tikai programmÄ“Å”anas modeļiem un OOP pamatiem. AtvadÄ«jāmies, pēc nedēļas man atzvanÄ«ja un teica, ka neesmu piemērota. PatiesÄ«bā es no tā ieguvu milzÄ«gu pieredzi: jums ir vajadzÄ«gas zināŔanas, jums to vajag daudz - gan teoriju, gan praksi.

Andrejs stāsta, ka ā€œpirmais, ko ikvienam intervijas laikā jautā, ir kontroliera dzÄ«ves cikls. Viņiem ļoti patÄ«k lÅ«gt kādu vienkārÅ”u programmÄ“Å”anas modeli. Viņi noteikti jautās par jÅ«su pieredzi populāro bibliotēku izmantoÅ”anā. Noteikti bÅ«s jautājums par Swift vērtÄ«bu veidu atŔķirÄ«bām no atsauces veidiem, par automātisko atsauces skaitÄ«Å”anu un atmiņas pārvaldÄ«bu. Viņi var jautāt, kā viņi ieviesa datu glabāŔanu lietojumprogrammās un vai viņi ieviesa tÄ«kla pieprasÄ«jumus. Viņi jautās par REST un JSON pamatiem. Konkrētas lietas un smalkumus junioram neprasÄ«s. Vismaz es nejautāju."

Borisam bija cita pieredze: ā€œPat tad, kad prasÄ«ju prakses vietas, pildÄ«ju tehniskos darbus un teicu, ka alga man nav svarÄ«ga, ja vien pietiks dzÄ«vokļa Ä«rÄ“Å”anai, man tik un tā atteica. LasÄ«ju rakstus, mēģināju saprast, kas vervētājam vajadzÄ«gs no jaunpienācēja. Bet viņi lielākoties cieta neveiksmi teorijās. Kādu iemeslu dēļ viņi uzdeva jautājumus no galvenajām lÄ«gām, kas neattiecas uz jaunpienācējiem.

Maratam paveicās vairāk. Tagad viņŔ strādā transporta uzņēmumā un viens pats vada iOS nodaļu, vienlaikus turpinot studijas fakultātē. "Tā kā esmu vienÄ«gais, kas atbild par iOS, manu darbu vērtē tikai pēc manas spējas izpildÄ«t man uzticētos uzdevumus, nevis pēc teorijas zināŔanām."

Kopiena

Andrejs dzÄ«vo Ņižņijnovgorodā un stāsta, ka pat tur ir izveidojusies lieliska kopiena. Savulaik viņŔ bija Python aizmugursistēmas izstrādātājs, taču draugi viņu ievilka mobilajā izstrādē ā€“ un tagad viņŔ pats mudina ikvienu to darÄ«t.

ā€œGlobālā sabiedrÄ«ba parasti sazinās, izmantojot Twitter. Cilvēki raksta savus emuārus, ieraksta video vietnē Youtube, aicina viens otru uz podkāstiem. Kādu dienu man radās jautājums par prezentāciju, kurā uzstājās HQTrivia komandas vadÄ«tājs. Å Ä« ir amerikāņu viktorÄ«nas spēle, kuru vienlaikus spēlē vairāki miljoni cilvēku. Es viņam uzrakstÄ«ju tviterÄ«, viņŔ man atbildēja, mēs runājām, un es viņam pateicos. SabiedrÄ«ba ir ļoti draudzÄ«ga, kas ir lieliski. ā€

Ieteicamās literatūras sarakstsIesācēja līmenis:

Vidējais līmenis:

Augsts līmenis:

Avots: www.habr.com

Pievieno komentāru