Wat om te verwag as jy 'n iOS-ontwikkelaar wil word

Wat om te verwag as jy 'n iOS-ontwikkelaar wil word

Van die buitekant van iOS kan ontwikkeling soos 'n geslote klub lyk. Om te werk, het jy beslis 'n Apple-rekenaar nodig, die ekosisteem word noukeurig deur een maatskappy beheer. Van binne kan jy ook soms teenstrydighede hoor – sommige sê dat die Objective-C-taal oud en lomp is, en ander sê dat die nuwe Swift-taal te kru is.

Nietemin gaan ontwikkelaars na hierdie gebied en is hulle tevrede.

Hierdie keer het Marat Nurgaliev en Boris Pavlov ons vertel van hul ervaring - hoe hulle die beroep geleer het, hoe hulle hul eerste onderhoude geslaag het, hoekom hulle weiering ontvang het. En Andrey Antropov, dekaan, het as 'n kenner opgetree Fakulteit iOS-ontwikkeling by GeekBrains.

In 2016 het Marat Nurgaliev van die Astrakhan-streek 'n werk as 'n mobiele ontwikkelaar by 'n plaaslike televisiemaatskappy kom kry. Dit was sy eerste onderhoud. Hy het pas teruggekeer van die weermag, sonder oefening en ondervinding, nadat hy selfs die teorie vergeet het, waarmee hy reeds probleme gehad het. Marat se enigste ervaring in mobiele ontwikkeling was sy tesis oor die ontleding van inligtinglekkasievloei deur Android-toepassings. By die onderhoud is hy uitgevra oor sy studies, OOP en ander teorie, maar Marat kon nie die leemtes in sy kennis wegsteek nie.

Hy is egter nie geweier nie, maar het 'n praktiese taak gekry - om binne twee weke die vertoon van 'n lys nuus met behulp van die API te implementeer. Beide vir iOS en Android. "As ek enige ervaring op Android gehad het, was daar nie eens 'n instrument om 'n iOS-weergawe te skep nie. Die iOS-toepassingsontwikkelingsomgewing is slegs op Mac beskikbaar. Maar twee weke later het ek teruggekom en gewys wat ek op Android kan doen. Met iOS moes ek dit dadelik uitvind. Op die ou end het hulle my gevat. Toe het ek in Astrakhan gewoon. Enige IT-werk met ’n salaris bo twintig het my gepas.”

Wie is iOS-ontwikkelaars?

Mobiele ontwikkelaars maak toepassings vir enige draagbare toestel. Slimfone, tablette, slimhorlosies en alle ander platforms wat Android of iOS ondersteun. Die fundamentele beginsels van mobiele ontwikkeling verskil nie van konvensionele ontwikkeling nie, maar as gevolg van spesifieke gereedskap is dit in 'n aparte rigting geskei. Dit gebruik sy eie gereedskap, programmeertale en raamwerke.

“Om met iOS te werk, het jy 'n MacBook nodig, want net dit het die nodige Xcode-ontwikkelingsomgewing. Dit is gratis en versprei deur die AppStore. Om te installeer, moet jy jou Apple ID hê en niks anders nie. In Xcode kan jy toepassings vir enigiets ontwikkel - foon, tablet, horlosie. Daar is ’n ingeboude simulator en redigeerder vir alles,” sê Andrey Antropov, dekaan van die iOS-ontwikkelingsafdeling by GeekBrains.

“Maar die ontwikkelingsomgewing kan op Windows geïnstalleer word as jy Hackintosh gebruik. Dit is 'n werkende, maar omkeer-opsie - nie een van die ernstige ontwikkelaars doen dit nie. Beginners koop 'n ou MacBook. En die ervares kan gewoonlik die nuutste model bekostig.”

Tale - Swift of Objective-C

Byna alle iOS-ontwikkeling word gedoen met behulp van die Swift-programmeertaal. Dit het vyf jaar gelede verskyn en vervang nou geleidelik die ou Objective-C-taal, wat Apple al vir meer as 30 jaar in al sy toepassings gebruik.

“’n Groot kodebasis is in Objective-C opgehoop, so ontwikkelaars in albei tale word steeds benodig, afhangende van die maatskappy, sy take en toepassings. Aansoeke wat baie jare gelede geskryf is, is gebaseer op Objective-C. En alle nuwe projekte word by verstek in Swift ontwikkel. Nou doen Apple baie om gelyktydige ontwikkeling vir 'n foon, tablet, horlosie en MacBook so gerieflik moontlik te maak. Dieselfde kode kan saamgestel en oral uitgevoer word. Dit het nie voorheen gebeur nie. Vir iOS het ons in Swift ontwikkel, vir MacOS het ons Objective-C gebruik.”

Volgens Andrey is Swift 'n baie eenvoudige taal wat vriendelik is vir beginners. Dit is streng getik, wat jou toelaat om baie foute in die projeksamestellingstadium op te spoor, en verkeerde kode sal eenvoudig nie werk nie.

“Objective-C is 'n redelik ou taal - dieselfde ouderdom as die C++-taal. In die tyd toe dit ontwikkel is, was die vereistes vir tale heeltemal anders. Toe Swift uitkom, was dit karig, die funksionaliteit was beperk en die sintaksis was rof. En mense het hul hande vol gehad met Objective-C. Dit is vir baie jare verbeter, al die foute daar is reggestel. Maar nou dink ek Swift is so goed soos Objective-C. Alhoewel selfs Apple steeds albei in sy projekte gebruik. Die tale is grootliks uitruilbaar en mekaar aanvullend. Strukture en objekte van een taal kan omskep word in objekte en strukture van 'n ander taal. Dit is goed om albei opsies te ken, maar vir beginners lyk Objective-C dikwels intimiderend en verwarrend."

opleiding

“By my eerste werk het my baas my opgelei, my gehelp om die projek te implementeer en op te stel,” sê Marat, “Maar om op Android en iOS terselfdertyd te werk is moeilik. Dit neem tyd om te herbou, oor te skakel van projek na projek, van taal na taal. Op die ou end het ek besluit dat ek een rigting moet kies en dit moet bestudeer. Ek is verkoop op Xcode se koppelvlak en Swift se eenvoudige sintaksis.

Marat het die iOS-ontwikkelingsafdeling by GeekBrains betree. Aanvanklik was dit baie maklik, want hy het baie dinge uit werkservaring geweet. Die jaarlikse kursus word in vier kwartale verdeel. Volgens Andrey gee die eerste een slegs die heel basiese beginsels: “Die basis van die Swift-taal, kennis van basiese raamwerke, netwerking, databerging, toepassingslewensiklus, kontroleerder, basiese argitekture, hoofbiblioteke wat almal gebruik, multithreading en parallelisme in aansoeke.”

Die tweede kwartaal voeg Objective-C by. 'n Kursus word aangebied oor argitektuur en basiese programmeringspatrone. In die derde kwartaal leer hulle die korrekte styl van kode skryf. Dit verduidelik wat 'n fabriek is, hoe om toetse korrek te skryf, projekte te skep, wat Git-Flow is, deurlopende integrasie deur Fast Lane. Die vierde en laaste kwartaal word gewy aan spanwerk, praktiese opdragte en internskappe.

“Die eerste kwartaal was maklik,” sê Marat, “maar toe begin ek programmering in Objective-C leer, ontwerppatrone bestudeer, die beginsels van Solid, Git-Flow, projekargitektuur, Eenheid- en UI-toetsing van toepassings, die opstel van pasgemaakte animasie - en toe ek Dit het interessant geword om te studeer.”

"Dit het nie baie glad vir my by GeekBrains begin nie," sê Boris Pavlov, en sy pad na iOS-ontwikkeling in die algemeen was nie die mees direkte nie. Die seuntjie is deur sy ouma grootgemaak. Sy was 'n argitek, wiskundige en ontwerper en het by Boris 'n liefde vir ontwerp gekweek, hom geleer om met die hand te teken en te teken. Sy oom was 'n stelseladministrateur en het sy broerskind in rekenaars geïnteresseerd.

Boris was 'n uitstekende student, maar het belangstelling in studeer verloor en die skool na nege grade verlaat. Ná universiteit het hy begin fietsry, en rekenaars het op die agtergrond vervaag. Maar eendag het Boris 'n ruggraatbesering opgedoen, wat hom verhinder het om sy sportloopbaan voort te sit.

Hy het C++ begin studeer by 'n onderwyser by die Irkutsk Institute of Solar-Terrestrial Physics. Toe begin ek belangstel in speletjie-ontwikkeling en probeer om oor te skakel na C#. En uiteindelik, soos Marat, was hy geboei deur die Swift-taal.

“Ek het besluit om die gratis inleidende kursus by GeekBrains te neem. Om eerlik te wees, was hy baie vervelig, traag en onverstaanbaar,” onthou Boris, “die onderwyser het oor die kenmerke van die taal gepraat, maar van een onderwerp na 'n ander gehaas sonder om die essensie te openbaar. Toe die kursus geëindig het, het ek steeds niks verstaan ​​nie.”

Boris het dus ná die inleidende kursus nie vir ’n jaarlange opleiding ingeskryf nie, maar vir ’n kort drie maande lange kursus, waar hulle die heel basiese beginsels van die beroep onderrig. “Ek het baie goeie onderwysers daar gekry, en hulle het alles baie duidelik verduidelik.”

“Ons word dikwels gekritiseer, na bewering is ons opleidingshandleidings nie heeltemal op datum nie, daar is onakkuraathede. Maar die kursusse word voortdurend opgedateer, en onderwysers praat altyd oor innovasies. Van die groepe wat ek lei, kry baie werk ná die eerste kwartaal. Natuurlik is dit gewoonlik mense met programmeringservaring,” sê Andrey, “Aan die ander kant kan alle kennis nie in een kursus oorgedra word nie. Netwerkkliëntinteraksie in die lewe kan nie in tien twee-uur lesings ingepas word nie. En as jy net na kursusse gaan en niks anders doen nie, dan sal jy nie genoeg kennis hê nie. As jy elke dag vir die hele jaar studeer, dan kry net luies nie werk teen hierdie pas nie. Omdat die aanvraag in die beroep baie hoog is.”

Wat om te verwag as jy 'n iOS-ontwikkelaar wil word

Jy kan die meeste sien jongste vakatures vir iOS-ontwikkelaars en teken in op nuwes.

Werk

Maar nie Marat of Boris het so maklik werk gekry nie.

“Sommige groot firmas het al lank iOS-toepassings in Objective-C ontwikkel, en gaan voort om die ou kodebasis te handhaaf. Ongelukkig het ek nie 'n dwingende argument om hulle te dwing om Swift uitsluitlik te gebruik nie. Veral diegene wat die reël gebruik "moenie raak aan wat werk nie," sê Marat, "min aandag word geskenk aan die Objective-C-rigting by Geekbrains. Dit is meer van 'n informatiewe aard. Maar elke maatskappy waarvoor ek 'n onderhoud gevoer het, het gevra oor Objective-C. En aangesien my studies op Swift gefokus is, soos my vorige werk, het ek weiering by onderhoude gekry.”

“Nadat ek gestudeer het, het ek op my eie net die mees oppervlakkige basiese beginsels geken, met behulp waarvan ek die eenvoudigste toepassing kon skep,” sê Boris “Vir werk was dit natuurlik nie genoeg nie, maar ek was bly hieroor. Dit was moeilik om werk in Irkutsk te kry. Om meer presies te wees – glad nie. Ek het besluit om in ander stede te kyk. Wat die aantal vakatures betref, was Krasnodar, Moskou en St. Petersburg die relevantste. Ek het besluit om na St. Petersburg te gaan – nader aan Europa.

Maar alles blyk nie so rooskleurig te wees nie. Selfs 'n junior sal vergewe word vir wat hy nie kan weet nie. Ek het nog nie werk gekry nie. Ek werk vir "dankie", om ervaring op te doen. Ek verstaan ​​dat dit nie is wat ek wou hê nie, maar ek stel belang, en dit dryf my. Ek wil kennis opdoen.”

Andrey glo dat nuwelinge eerder internskappe as werk moet soek. As jy baie min kennis het, is dit normaal dat die internskap onbetaald is. Andrey raai aan om aansoek te doen vir junior vakatures by groot maatskappye waar die werkproses reeds gevestig is.

“Wanneer jy verstaan ​​hoe die sagteware-ontwikkelingsproses werk, sal dit baie makliker word om te navigeer en verdere werk te kry, afhangend van jou begeertes. Sommige mense gaan in onafhanklike ontwikkeling, maak speletjies vir hulself, laai dit op na die winkel en verdien dit self. Sommige werk vir 'n groot maatskappy met streng reëls. Sommige mense maak geld in klein ateljees wat pasgemaakte sagteware maak, en daar kan hulle die hele proses dophou – van die skep van ’n projek van nuuts af tot die aflewering daarvan by die winkel.”

salarisse

Die salaris van 'n iOS-ontwikkelaar, soos enige ander, hang af van die vraag "Moskou of Rusland". Maar weens die besonderhede van die bedryf – baie afgeleë werk, geleenthede vir hervestiging en werk wat nie in die streeksmark is nie – nader die getalle mekaar al hoe meer.

Wat om te verwag as jy 'n iOS-ontwikkelaar wil word

Volgens die My Circle-salarisrekenaar is die gemiddelde salaris van 'n iOS-ontwikkelaar effens minder 140 000 roebels.

"'n Junior op 'n baie lae vlak werk dikwels gratis of vir simboliese geld - 20-30 duisend roebels. As 'n junior doelgerig na sy pos geneem word, sal hy van 50 tot 80 duisend ontvang. Middels ontvang van 100 tot 150, en soms selfs tot 200. Seniors ontvang nie minder as 200 nie. Ek dink hul salaris is so 200-300. En vir spanleiers is dit dus meer as 300.”

Wat om te verwag as jy 'n iOS-ontwikkelaar wil word

Onderhoude

“Die eerste onderhoud het op Skype plaasgevind. Tot my verbasing was dit Google,” onthou Boris, “toe het ek pas na St. Petersburg verhuis en begin werk soek. Ek het 'n aansoek ontvang vir 'n iOS-ontwikkelaarpos. Nie junior nie, nie middel nie, nie senior nie - net 'n ontwikkelaar. Ek was verheug en het met die bestuurder begin korrespondeer. Ek is gevra om 'n tegniese taak te voltooi: Ek moes 'n aansoek skryf vir grappies oor Chuck Norris. Ek het dit geskryf. Hulle het vir my gesê alles was wonderlik en het 'n aanlyn onderhoud geskeduleer.

Ons het mekaar gebel. 'n Lekker meisie het met my gepraat. Maar hulle het geen vrae oor taalvaardigheid gevra nie - slegs verskeie logiese probleme, byvoorbeeld, "Die tyd is 15:15, hoeveel grade is tussen die uur- en minuutwysers?" of "'n Pos is 10 meter lank, a slak kruip bedags 3 meter op en sak snags 1 meter af.” Oor hoeveel dae sal sy na bo kruip?”, en nog 'n paar soortgelyke.

Toe was daar baie vreemde vrae – hoekom ek lief is vir Apple en hoe ek oor Tim Cook voel. Ek het gesê die maatskappy as geheel is positief, maar eerder negatief teenoor hom, want geld is vir hom belangrik, nie produkte nie.

Toe vrae oor Swift begin het, was my kennis net genoeg vir programmeringspatrone en die basiese beginsels van OOP. Ons het gegroet, 'n week later bel hulle my terug en sê dat ek nie geskik is nie. Eintlik het ek baie ervaring hieruit opgedoen: jy het kennis nodig, jy het baie daarvan nodig – sowel teorie as praktyk.”

Andrey sê dat "die eerste ding wat almal tydens 'n onderhoud gevra word, is die lewensiklus van die kontroleerder. Hulle vra baie graag vir 'n eenvoudige programmeringspatroon. Hulle sal beslis vra oor jou ervaring met gewilde biblioteke. Daar sal beslis 'n vraag wees oor die verskille tussen Swift-waardetipes en verwysingstipes, oor outomatiese verwysingtelling en geheuebestuur. Hulle kan vra hoe hulle databerging in toepassings geïmplementeer het, en of hulle netwerkversoeke geïmplementeer het. Hulle sal vra oor die basiese beginsels van REST en JSON. Die junior sal nie vir spesifieke dinge en subtiliteite gevra word nie. Ek vra darem nie.”

Boris het ’n ander ervaring gehad: “Selfs toe ek vir internskappe gevra het, tegniese take voltooi het en gesê het die salaris is nie vir my belangrik nie, solank dit genoeg was om ’n woonstel te huur, is ek steeds geweier. Ek het artikels gelees, probeer verstaan ​​wat 'n werwer van 'n nuweling nodig het. Maar hulle het meestal misluk op teorieë. Om een ​​of ander rede het hulle vrae uit die groot ligas gevra wat nie nuwelinge raak nie.”

Marat was gelukkiger. Nou werk hy in 'n vervoermaatskappy en is alleen in beheer van die iOS-afdeling, terwyl hy sy studies by die fakulteit voortsit. "Aangesien ek die enigste een is wat vir iOS verantwoordelik is, word my werk slegs beoordeel deur my vermoë om die take wat aan my opgedra is te implementeer, en nie deur my kennis van teorie nie."

Gemeenskap

Andrey woon in Nizhny Novgorod en sê dat selfs daar 'n groot gemeenskap gevorm het. Eens op 'n tyd was hy 'n backend-ontwikkelaar in Python, maar sy vriende het hom by mobiele ontwikkeling ingesleep - en nou moedig hy self almal aan om dit te doen.

“Die wêreldgemeenskap kommunikeer gewoonlik via Twitter. Mense skryf hul eie blogs, neem video's op Youtube op, nooi mekaar na podcasts. Eendag het ek 'n vraag gehad oor 'n aanbieding waar die HQTrivia-spanleier gepraat het. Dit is 'n Amerikaanse vasvra-speletjie wat gelyktydig deur 'n paar miljoen mense gespeel word. Ek het vir hom op Twitter geskryf, hy het my geantwoord, ons het gepraat en ek het hom bedank. Die gemeenskap is uiters vriendelik, wat wonderlik is.”

Lys van aanbevole literatuurBeginner vlak:

Gemiddelde vlak:

Gevorderde vlak:

Bron: will.com

Voeg 'n opmerking