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.ā
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.
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.
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. ā