Wat te ferwachtsjen as jo in iOS-ûntwikkelder wurde wolle

Wat te ferwachtsjen as jo in iOS-ûntwikkelder wurde wolle

Fan 'e bûtenkant fan iOS kin ûntwikkeling lykje as in sletten klub. Om te wurkjen hawwe jo perfoarst in Apple-komputer nedich; it ekosysteem wurdt nau kontrolearre troch ien bedriuw. Fan binnenút kinne jo ek soms tsjinstellingen hearre - guon sizze dat de Objective-C-taal âld en ûnhandig is, en oaren sizze dat de nije Swift-taal te grof is.

Dochs geane ûntwikkelders yn dit gebiet en binne, ienris dêr, tefreden.

Dizze kear fertelden Marat Nurgaliev en Boris Pavlov ús oer har ûnderfining - hoe't se it berop learden, hoe't se har earste ynterviews passe, wêrom't se wegeringen krigen. En Andrey Antropov, dekaan, fungearre as ekspert Fakulteit fan iOS Untwikkeling by GeekBrains.

Yn 2016 kaam Marat Nurgaliev út 'e Astrakhan-regio om in baan te krijen as mobile ûntwikkelder by in pleatslik televyzjebedriuw. Dit wie syn earste ynterview. Hy wie krekt werom út it leger, sûnder praktyk en ûnderfining, sels de teory fergetten, dêr't er al problemen mei hie. Marat's ienige ûnderfining yn mobile ûntwikkeling wie syn proefskrift oer it analysearjen fan streamen fan ynformaasjelekkage fia Android-applikaasjes. By it fraachpetear waard hy frege oer syn stúdzjes, OOP en oare teory, mar Marat koe de gatten yn syn kennis net ferbergje.

Hy waard lykwols net wegere, mar krige in praktyske taak - om yn twa wiken it werjaan fan in nijslist mei de API út te fieren. Sawol foar iOS as Android. "As ik ûnderfining hie op Android, wie d'r net iens in ark om in iOS-ferzje te meitsjen. De ûntwikkelingsomjouwing foar iOS-applikaasje is allinich beskikber op Mac. Mar twa wiken letter kaam ik werom en liet sjen wat ik koe dwaan op Android. Mei iOS moast ik it op 'e flecht útfine. Op it lêst namen se my. Doe wenne ik yn Astrakhan. Elke IT-baan mei in salaris boppe de tweintich paste my.”

Wa binne iOS-ûntwikkelders?

Mobile ûntwikkelders meitsje applikaasjes foar elk draachbere apparaat. Snoadfoans, tablets, tûke horloazjes en alle oare platfoarms dy't Android of iOS stypje. De fûnemintele prinsipes fan mobile ûntwikkeling binne net oars as konvinsjonele ûntwikkeling, mar troch spesifike ark is it skieden yn in aparte rjochting. It brûkt syn eigen ark, programmeartalen en kaders.

"Om mei iOS te wurkjen, hawwe jo in MacBook nedich, om't allinich de nedige Xcode-ûntwikkelingsomjouwing hat. It is fergees en ferspraat fia de AppStore. Om te ynstallearjen, moatte jo jo Apple ID hawwe en neat oars. Yn Xcode kinne jo applikaasjes ûntwikkelje foar alles - tillefoan, tablet, horloazje. D'r is in ynboude simulator en bewurker foar alles, "seit Andrey Antropov, dekaan fan 'e iOS-ûntwikkelingsôfdieling by GeekBrains.

"Mar de ûntwikkelingsomjouwing kin wurde ynstalleare op Windows as jo Hackintosh brûke. Dit is in wurkjende, mar rûnwei opsje - gjinien fan 'e serieuze ûntwikkelders docht dit. Begjinners keapje in âlde MacBook. En de betûfte kinne normaal it lêste model betelje. ”

Talen - Swift as Objective-C

Hast alle iOS-ûntwikkeling wurdt dien mei de programmeertaal Swift. It ferskynde fiif jier lyn en ferfangt no stadichoan de âlde Objective-C-taal, dy't Apple al mear as 30 jier yn al har applikaasjes hat brûkt.

"In enoarme koadebasis is sammele yn Objective-C, dus ûntwikkelders yn beide talen binne noch fereaske, ôfhinklik fan it bedriuw, har taken en applikaasjes. Oanfragen skreaun in protte jierren lyn binne basearre op Objective-C. En alle nije projekten wurde standert ûntwikkele yn Swift. No docht Apple in protte om simultane ûntwikkeling foar in tillefoan, tablet, horloazje en MacBook sa handich mooglik te meitsjen. Deselde koade kin wurde kompilearre en oeral rinne. Dit barde net earder. Foar iOS hawwe wy ûntwikkele yn Swift, foar MacOS brûkten wy Objective-C.

Neffens Andrey is Swift in heul ienfâldige taal dy't freonlik is foar begjinners. It is strikt typearre, wêrtroch jo in protte flaters kinne fange yn 'e projektkompilaasjestadium, en ferkearde koade sil gewoan net wurkje.

"Objective-C is in frij âlde taal - deselde leeftyd as de C++-taal. Yn 'e tiid dat it waard ûntwikkele, wiene de easken foar talen folslein oars. Doe't Swift útkaam, wie it buggy, de funksjonaliteit wie beheind, en de syntaksis wie rûch. En minsken hiene de hannen fol mei Objective-C. It is in protte jierren ferbettere, alle flaters dêr binne korrizjearre. Mar no tink ik dat Swift sa goed is as Objective-C. Hoewol sels Apple brûkt beide noch yn har projekten. De talen binne foar in grut part útwikselber en inoar oanfolling. Strukturen en objekten fan ien taal kinne wurde omfoarme ta objekten en struktueren fan in oare taal. It is goed om beide opsjes te kennen, mar foar begjinners liket Objective-C faaks yntimidearjend en betiizjend."

Training sesjes

"By myn earste baan hat myn baas my oplaat, holp my by it útfieren en opsetten fan it projekt," seit Marat, "Mar wurkje op Android en iOS tagelyk is lestich. It duorret tiid om wer op te bouwen, oer te skeakeljen fan projekt nei projekt, fan taal nei taal. Uteinlik besleat ik dat ik ien rjochting moast kieze en it studearje. Ik waard ferkocht op Xcode's ynterface en Swift's ienfâldige syntaksis."

Marat kaam yn 'e iOS-ûntwikkelingsôfdieling by GeekBrains. Earst wie it hiel maklik, want hy wist in protte dingen út wurkûnderfining. De jierlikse kursus is ferdield yn fjouwer fearnsjier. Neffens Andrey jout de earste allinich de basis: "De basis fan 'e Swift-taal, kennis fan basiskaders, netwurking, gegevensopslach, libbenssyklus fan applikaasjes, controller, basisarsjitektuer, haadbiblioteken dy't elkenien brûkt, multithreading en parallelisme yn oanfraach."

It twadde fearnsjier foeget Objective-C ta. In kursus wurdt útfierd oer arsjitektuer en basis programmearring patroanen. Yn it tredde fearnsjier leare se de juste styl fan skriuwkoade. It ferklearret wat in fabryk is, hoe't jo tests korrekt skriuwe, projekten meitsje, wat Git-Flow is, trochgeande yntegraasje fia Fast Lane. It fjirde en lêste kwart is wijd oan teamwurk, praktyske opdrachten en staazjeplakken.

"It earste fearnsjier wie maklik," seit Marat, "mar doe begon ik programmearring te learen yn Objective-C, studearje ûntwerppatroanen, de prinsipes fan Solid, Git-Flow, projektarsjitektuer, Unit- en UI-testen fan applikaasjes, it ynstellen fan oanpaste animaasje - en doe ik It waard nijsgjirrich om te studearjen."

"It begon net super soepel foar my by GeekBrains," seit Boris Pavlov, en syn paad nei iOS-ûntwikkeling yn 't algemien wie net de meast direkte. De jonge waard grutbrocht troch syn beppe. Se wie arsjitekt, wiskundige en ûntwerper en joech Boris in leafde foar ûntwerp by, learde him mei de hân te tekenjen en te tekenjen. Syn omke wie in systeembehearder en ynteressearre syn neef yn kompjûters.

Boris wie in poerbêste studint, mar ferlear belangstelling foar studearjen en ferliet skoalle nei njoggen klassen. Nei it kolleezje gie hy oan it fytsen, en kompjûters ferdwûnen op 'e eftergrûn. Mar ien dei krige Boris in spinale blessuere, dy't him foarkommen fan syn sportkarriêre troch te gean.

Hy begon C++ te studearjen by in learaar oan it Irkutsk Institute of Solar-Terrestrial Physics. Doe waard ik ynteressearre yn spultsje ûntwikkeling en besocht te wikseljen nei C #. En op it lêst, lykas Marat, waard hy fassinearre troch de Swift-taal.

“Ik besleat de fergese ynliedende kursus by GeekBrains te folgjen. Om earlik te wêzen, hy wie tige saai, traach en ûnbegryplik," herinnert Boris, "de learaar praat oer de skaaimerken fan 'e taal, mar hastich fan it iene ûnderwerp nei it oare sûnder de essinsje te iepenbierjen. Doe't de kursus ôfrûn, begriep ik noch neat."

Dêrom, nei de ynliedende kursus, Boris net ynskriuwe foar in jier-lange oplieding, mar yn in koarte trije-moanne kursus, dêr't se leare de hiele basis fan it berop. "Dêr fûn ik heul goede leararen, en se leine alles frij dúdlik út."

"Wy wurde faak bekritisearre, nei alle gedachten binne ús trainingshandboeken net hielendal bywurke, d'r binne ûnkrektens. Mar de kursussen wurde konstant bywurke, en leararen prate altyd oer ynnovaasjes. Fan 'e groepen dy't ik liede, fine in protte wurk nei it earste kwart. Fansels binne dit meastentiids minsken mei programmearûnderfining," seit Andrey, "oan 'e oare kant kin alle kennis net yn ien kursus oerbrocht wurde. Netwurk kliïnt ynteraksje yn it libben kin net passe yn tsien twa-oere lêzingen. En as jo allinich nei kursussen geane en neat oars dogge, dan hawwe jo net genôch kennis. As jo ​​it hiele jier alle dagen studearje, dan sille allinich de luie yn dit tempo gjin baan krije. Want de fraach yn it berop is tige heech.”

Wat te ferwachtsjen as jo in iOS-ûntwikkelder wurde wolle

Jo kinne it measte sjen lêste fakatueres foar iOS-ûntwikkelders en abonnearje op nije.

wurk

Mar noch Marat noch Boris fûnen sa maklik wurk.

"Guon grutte bedriuwen hawwe lang iOS-applikaasjes ûntwikkele yn Objective-C, en bliuwe de âlde koadebasis behâlde. Spitigernôch haw ik gjin twingend argumint om se te twingen om Swift eksklusyf te brûken. Benammen dejingen dy't de regel brûke "net oanreitsje wat wurket," seit Marat, "Byin omtinken wurdt jûn oan de Objective-C rjochting by Geekbrains. It is mear fan in ynformative aard. Mar elk bedriuw dat ik ynterviewd foar frege oer Objective-C. En om't myn stúdzje rjochte is op Swift, lykas myn eardere wurk, krige ik wegeringen by ynterviews.

"Nei it studearjen wist ik op mysels allinich de meast oerflakkige basis, wêrmei't ik de ienfâldichste tapassing meitsje koe," seit Boris. "Foar wurk wie it fansels net genôch, mar ik wie hjir bliid oer. It wie dreech om in baan te finen yn Irkutsk. Om krekter te wêzen - hielendal net. Ik besleat om te sjen yn oare stêden. Wat it tal fakatueres oanbelanget, bliken Krasnodar, Moskou en Sint-Petersburch it meast relevant te wêzen. Ik besleat om nei Sint-Petersburch te gean - tichter by Europa.

Mar alles blykte net sa rooskleurich te wêzen. Sels in junior sil ferjûn wurde foar wat hy net kin witte. Ik haw noch gjin baan fûn. Ik wurkje foar "tankewol", ûnderfining op te heljen. Ik begryp dat dit net is wat ik woe, mar ik bin ynteressearre, en dit driuwt my. Ik wol kennis ophelje."

Andrey is fan betinken dat nijkommers moatte sykje nei staazjes ynstee fan banen. As jo ​​​​in bytsje kennis hawwe, dan is it normaal dat de staazje net betelle is. Andrey advisearret it oanfreegjen fan junior fakatueres by grutte bedriuwen dêr't it wurkproses al fêstlein is.

"As jo ​​​​begripe hoe't it softwareûntwikkelingsproses wurket, sil it folle makliker wurde om te navigearjen en fierder wurk te finen, ôfhinklik fan jo winsken. Guon minsken geane yn ûnôfhinklike ûntwikkeling, meitsje spultsjes foar harsels, upload se nei de winkel, en monetearje se sels. Guon wurkje foar in grut bedriuw mei strange regels. Guon minsken fertsjinje jild yn lytse studio's dy't oanpaste software meitsje, en dêr kinne se it heule proses besjen - fan it meitsjen fan in projekt fanôf it begjin oant it leverjen oan 'e winkel.

Salarissen

It salaris fan in iOS-ûntwikkelder, lykas alle oare, hinget ôf fan 'e fraach "Moskou of Ruslân". Mar troch de spesifikaasjes fan de yndustry - in soad wurk op ôfstân, mooglikheden foar ferhuzing en wurk net op de regionale merk - komme de sifers hieltyd mear nei elkoar ta.

Wat te ferwachtsjen as jo in iOS-ûntwikkelder wurde wolle

Neffens de salariskalkulator fan My Circle is it gemiddelde salaris fan in iOS-ûntwikkelder wat minder 140 000 rubles.

"In junior op in heul leech nivo wurket faak fergees as foar symboalysk jild - 20-30 tûzen roebel. As in junior doelbewust yn syn posysje nommen wurdt, krijt er fan 50 oant 80 tûzen. Midden krije fan 100 oant 150, en soms sels oant 200. Senioaren krije net minder as 200. Ik tink dat har salaris sawat 200-300 is. En foar teamleaders is it dus mear as 300. ”

Wat te ferwachtsjen as jo in iOS-ûntwikkelder wurde wolle

Ynterviews

"It earste ynterview fûn plak op Skype. Ta myn ferrassing wie it Google," fertelt Boris, "doe wie ik krekt ferhuze nei Sint Petersburch en begûn te sykjen nei wurk. Ik krige in oanfraach foar in iOS-ûntwikkeldersposysje. Net junior, net midden, net senior - gewoan in ûntwikkelder. Ik wie bliid en begon te korrespondearjen mei de manager. Ik waard frege om in technyske taak te foltôgjen: ik moast in oanfraach skriuwe foar grappen oer Chuck Norris. Ik skreau it. Se fertelden my dat alles geweldich wie en planden in online ynterview.

Wy belje inoar. In moai famke praat mei my. Mar se stelden gjin fragen oer taalbehearsking - allinnich ferskate logyske problemen, bygelyks, "De tiid is 15:15, hoefolle graden binne tusken de oere en minuten hân?" of "In post is 10 meter lang, in slak krûpt oerdeis 3 meter omheech, en giet nachts 1 meter del.” Oer hoefolle dagen krûpt se nei boppen?”, en noch in pear ferlykbere.

Doe wiene d'r heul frjemde fragen - wêrom hâld ik fan Apple en hoe fiel ik my oer Tim Cook. Ik sei dat it bedriuw as gehiel posityf is, mar earder negatyf foar him, om't jild foar him wichtich is, gjin produkten.

Doe't fragen oer Swift begûnen, wie myn kennis allinich genôch foar programmearpatroanen en de basis fan OOP. Wy namen ôfskie, in wike letter belle se my werom en seine dat ik net geskikt wie. Eins haw ik hjir enoarme ûnderfining fan opdien: jo hawwe kennis nedich, jo hawwe in protte nedich - sawol teory as praktyk."

Andrey seit dat "it earste ding dat elkenien wurdt frege tidens in ynterview is de libbenssyklus fan 'e controller. Se wolle graach freegje om wat ienfâldich programmearringpatroan. Se sille grif freegje oer jo ûnderfining mei it brûken fan populêre bibleteken. D'r sil perfoarst in fraach wêze oer de ferskillen yn Swift-weardetypen fan referinsjetypen, oer automatyske referinsjeteljen en ûnthâldbehear. Se kinne freegje hoe't se gegevensopslach yn applikaasjes ymplementearre hawwe, en oft se netwurkoanfragen hawwe ymplementearre. Se sille freegje oer de basis fan REST en JSON. De junior sil net frege wurde foar spesifike dingen en subtiliteiten. Ik freegje teminsten net."

Boris hie in oare ûnderfining: “Ek doe’t ik om staazjes frege, technyske taken ôfmakke en sei dat it salaris net wichtich foar my wie, salang’t it genôch wie om in appartemint te hieren, waard ik noch wegere. Ik lês artikels, besocht te begripen wat in recruiter nedich is fan in nijkommer. Mar se mislearre meast op teoryen. Om ien of oare reden stelden se fragen út de grutte kompetysjes dy't gjin nijkommers oangeane.

Marat wie gelok. No wurket er yn in transportbedriuw en hat er allinnich de lieding oer de iOS-ôfdieling, wylst er syn stúdzje oan de fakulteit trochgiet. "Om't ik de iennichste bin dy't ferantwurdlik is foar iOS, wurdt myn wurk allinich beoardiele troch myn fermogen om de taken dy't my tawiisd binne, en net troch myn kennis fan teory."

Mienskip

Andrey wennet yn Nizjni Novgorod en seit dat sels dêr in grutte mienskip is foarme. Eartiids wie hy in backend-ûntwikkelder yn Python, mar syn freonen sleepten him yn mobile ûntwikkeling - en no sels moediget hy elkenien oan om it te dwaan.

"De wrâldwide mienskip kommunisearret normaal fia Twitter. Minsken skriuwe har eigen blogs, meitsje fideo's op Youtube, noegje inoar út foar podcasts. Op in dei hie ik in fraach oer in presintaasje wêr't de teamlieder fan HQTrivia spruts. Dit is in Amerikaansk kwisspultsje dat tagelyk wurdt spile troch ferskate miljoen minsken. Ik skreau him op Twitter, hy antwurde my, wy prate, en ik betanke him. De mienskip is ekstreem freonlik, dat is geweldich. ”

List fan oanrikkemandearre literatuerBeginnersnivo:

Gemiddeld nivo:

Avansearre nivo:

Boarne: www.habr.com

Add a comment