Què esperar si voleu convertir-vos en desenvolupador d'iOS

Què esperar si voleu convertir-vos en desenvolupador d'iOS

Des de fora d'iOS, el desenvolupament pot semblar un club tancat. Per funcionar, definitivament necessiteu un ordinador Apple; l'ecosistema està estretament controlat per una empresa. Des de dins, de vegades també es poden sentir contradiccions: alguns diuen que el llenguatge Objective-C és vell i maldestre, i altres diuen que el nou llenguatge Swift és massa cru.

No obstant això, els desenvolupadors entren en aquesta àrea i, un cop allà, estan satisfets.

Aquesta vegada, Marat Nurgaliev i Boris Pavlov ens van explicar la seva experiència: com van aprendre la professió, com van superar les seves primeres entrevistes, per què van rebre les denegacions. I Andrey Antropov, degà, va actuar com a expert Facultat de Desenvolupament iOS a GeekBrains.

L'any 2016, Marat Nurgaliev de la regió d'Astrakhan va venir a buscar feina com a desenvolupador mòbil en una companyia de televisió local. Aquesta va ser la seva primera entrevista. Acabava de tornar de l'exèrcit, sense pràctica ni experiència, havent oblidat fins i tot la teoria, amb la qual ja tenia problemes. L'única experiència de Marat en desenvolupament mòbil va ser la seva tesi sobre l'anàlisi de fluxos de fuites d'informació a través d'aplicacions d'Android. A l'entrevista, se li va preguntar sobre els seus estudis, la POO i altres teories, però Marat no va poder amagar els buits dels seus coneixements.

No obstant això, no se li va rebutjar, sinó que se li va donar una tasca pràctica: implementar la visualització d'una llista de notícies mitjançant l'API en dues setmanes. Tant per a iOS com per a Android. "Si tenia alguna experiència amb Android, ni tan sols hi havia una eina per crear una versió d'iOS. L'entorn de desenvolupament d'aplicacions iOS només està disponible a Mac. Però dues setmanes més tard vaig tornar i vaig mostrar què podia fer a Android. Amb iOS vaig haver d'esbrinar-ho sobre la marxa. Al final em van agafar. Aleshores vaig viure a Astrakhan. Qualsevol feina d'informàtica amb un sou superior als vint m'adaptava".

Qui són els desenvolupadors d'iOS?

Els desenvolupadors mòbils fan aplicacions per a qualsevol dispositiu portàtil. Telèfons intel·ligents, tauletes, rellotges intel·ligents i totes les altres plataformes compatibles amb Android o iOS. Els principis fonamentals del desenvolupament mòbil no són diferents del desenvolupament convencional, però a causa d'eines específiques, s'ha separat en una direcció separada. Utilitza les seves pròpies eines, llenguatges de programació i frameworks.

“Per treballar amb iOS, necessites un MacBook, perquè només té l'entorn de desenvolupament Xcode necessari. És gratuït i es distribueix a través de l'AppStore. Per instal·lar-lo, heu de tenir el vostre ID d'Apple i res més. A Xcode podeu desenvolupar aplicacions per a qualsevol cosa: telèfon, tauleta, rellotge. Hi ha un simulador i un editor integrats per a tot", diu Andrey Antropov, degà del departament de desenvolupament d'iOS de GeekBrains.

"Però l'entorn de desenvolupament es pot instal·lar a Windows si feu servir Hackintosh. Aquesta és una opció funcional, però indirecta: cap dels desenvolupadors seriosos ho fa. Els principiants compren un MacBook antic. I els experimentats normalment es poden permetre l'últim model".

Idiomes - Swift o Objective-C

Gairebé tot el desenvolupament d'iOS es fa amb el llenguatge de programació Swift. Va aparèixer fa cinc anys i ara està substituint gradualment l'antic llenguatge Objective-C, que Apple ha utilitzat en totes les seves aplicacions durant més de 30 anys.

“A Objective-C s'ha acumulat una gran base de codi, de manera que encara es necessiten desenvolupadors en ambdós idiomes, depenent de l'empresa, les seves tasques i aplicacions. Les aplicacions escrites fa molts anys es basen en Objective-C. I tots els projectes nous es desenvolupen a Swift per defecte. Ara Apple està fent molt perquè el desenvolupament simultani d'un telèfon, tauleta, rellotge i MacBook sigui el més còmode possible. El mateix codi es pot compilar i executar a tot arreu. Això no passava abans. Per a iOS hem desenvolupat a Swift, per a MacOS hem utilitzat Objective-C".

Segons Andrey, Swift és un llenguatge molt senzill que és amigable per als principiants. S'escriu estrictament, la qual cosa us permet detectar molts errors en l'etapa de compilació del projecte i el codi incorrecte simplement no funcionarà.

"Objective-C és un llenguatge bastant antic, de la mateixa edat que el llenguatge C++. En el moment en què es va desenvolupar, els requisits per als idiomes eren completament diferents. Quan va sortir Swift, tenia errors, la funcionalitat era limitada i la sintaxi era difícil. I la gent tenia les mans plenes amb Objective-C. S'ha millorat durant molts anys, s'han corregit tots els errors que hi ha. Però ara crec que Swift és tan bo com Objective-C. Encara que fins i tot Apple encara utilitza tots dos en els seus projectes. Els idiomes són en gran part intercanviables i es complementen mútuament. Les estructures i els objectes d'una llengua es poden transformar en objectes i estructures d'una altra llengua. És bo conèixer les dues opcions, però per als principiants Objective-C sovint sembla intimidant i confús".

formació

"En la meva primera feina, el meu cap em va formar, em va ajudar a implementar i configurar el projecte", diu Marat, "però treballar amb Android i iOS alhora és difícil. Es necessita temps per reconstruir, canviar de projecte a projecte, d'idioma a llenguatge. Al final, vaig decidir que havia de triar una direcció i estudiar-la. Em van vendre a la interfície de Xcode i la sintaxi senzilla de Swift".

Marat va entrar al departament de desenvolupament d'iOS a GeekBrains. Al principi va ser molt fàcil, perquè sabia moltes coses per experiència laboral. El curs anual es divideix en quatre trimestres. Segons Andrey, el primer només dóna els fonaments bàsics: “La base del llenguatge Swift, coneixements de marcs bàsics, xarxes, emmagatzematge de dades, cicle de vida de l'aplicació, controlador, arquitectures bàsiques, biblioteques principals que fa servir tothom, multithreading i paral·lelisme en aplicacions."

El segon quart afegeix Objectiu-C. Es realitza un curs sobre arquitectura i patrons bàsics de programació. Al tercer trimestre, ensenyen l'estil correcte d'escriptura del codi. Explica què és una fàbrica, com escriure proves correctament, crear projectes, què és Git-Flow, Integració contínua mitjançant Fast Lane. El quart i darrer trimestre està dedicat al treball en equip, treballs pràctics i pràctiques.

"El primer trimestre va ser fàcil", diu Marat, "però després vaig començar a aprendre programació a Objective-C, estudiant patrons de disseny, els principis de Solid, Git-Flow, arquitectura de projectes, prova d'unitat i interfície d'usuari d'aplicacions, configuració d'animació personalitzada. - i després em vaig fer interessant estudiar.

"No va començar molt bé a GeekBrains", diu Boris Pavlov, i el seu camí cap al desenvolupament d'iOS en general no va ser el més directe. El nen va ser criat per la seva àvia. Va ser arquitecta, matemàtica i dissenyadora i va inculcar en Boris l'amor pel disseny, li va ensenyar a dibuixar a mà i dibuixar. El seu oncle era administrador de sistemes i interessava al seu nebot en els ordinadors.

Boris era un estudiant excel·lent, però va perdre l'interès per estudiar i va deixar l'escola després de nou anys. Després de la universitat, va començar a anar en bicicleta i els ordinadors van passar a un segon pla. Però un dia Boris va rebre una lesió a la columna, que li va impedir continuar la seva carrera esportiva.

Va començar a estudiar C++ amb un professor de l'Institut de Física Solar-Terrestre d'Irkutsk. Aleshores em vaig interessar pel desenvolupament de jocs i vaig intentar canviar a C#. I finalment, com Marat, va quedar captivat per la llengua Swift.

"Vaig decidir fer el curs d'iniciació gratuït a GeekBrains. Sincerament, era molt avorrit, lent i incomprensible”, recorda en Boris, “el professor parlava dels trets de la llengua, però anava d'un tema a un altre sense revelar-ne l'essència. Quan va acabar el curs, encara no entenia res".

Per tant, després del curs d'iniciació, en Boris no es va matricular a una formació d'un any, sinó a un curs breu de tres mesos, on s'ensenyen les mateixes bases de la professió. "Allà vaig trobar molt bons professors i m'ho van explicar tot amb força claredat".

“Sovint ens critiquen, suposadament els nostres manuals de formació no estan del tot actualitzats, hi ha imprecisions. Però els cursos s'actualitzen constantment, i els professors sempre parlen d'innovacions. Dels grups que lidero, molts troben feina després del primer trimestre. Per descomptat, normalment es tracta de persones amb experiència en programació", diu Andrey, "D'altra banda, no es poden transmetre tots els coneixements en un sol curs. La interacció amb el client de xarxa a la vida no es pot encaixar en deu conferències de dues hores. I si només vas a cursos i no fas res més, no tindreu prou coneixements. Si estudieu cada dia durant tot l'any, a aquest ritme només els ganduls no trobaran feina. Perquè la demanda en la professió és molt alta”.

Què esperar si voleu convertir-vos en desenvolupador d'iOS

Pots veure la majoria últimes vacants per a desenvolupadors d'iOS i subscriu-te a de nous.

Treballar

Però ni Marat ni Boris van trobar feina tan fàcilment.

"Algunes grans empreses han desenvolupat durant molt de temps aplicacions iOS a Objective-C i continuen mantenint la base de codi antiga. Malauradament, no tinc cap argument convincent per obligar-los a utilitzar Swift exclusivament. Especialment els que utilitzen la regla "no toqueu el que funciona", diu Marat, "es presta poca atenció a la direcció Objective-C a Geekbrains. És més de caràcter informatiu. Però totes les empreses per les quals vaig entrevistar em van preguntar sobre Objective-C. I com que els meus estudis se centren en Swift, com el meu treball anterior, vaig rebre rebutjos a les entrevistes".

"Després d'estudiar, només coneixia els conceptes bàsics més superficials, amb l'ajuda de les quals vaig poder crear l'aplicació més senzilla", diu Boris. Va ser difícil trobar feina a Irkutsk. Per ser més precisos, en absolut. Vaig decidir buscar a altres ciutats. Pel que fa al nombre de vacants, Krasnodar, Moscou i Sant Petersburg van resultar ser els més rellevants. Vaig decidir anar a Sant Petersburg, més a prop d'Europa.

Però tot va resultar no tan rosat. Fins i tot un jove serà perdonat pel que no pot saber. Encara no he trobat feina. Estic treballant per "gràcies", guanyar experiència. Entenc que això no és el que volia, però m'interessa, i això m'impulsa. Vull adquirir coneixements".

Andrey creu que els nouvinguts haurien de buscar pràctiques en lloc de feina. Si tens molt pocs coneixements, és normal que les pràctiques no siguin remunerades. Andrey aconsella sol·licitar vacants júnior a grans empreses on el procés de treball ja està establert.

"Quan entenguis com funciona el procés de desenvolupament de programari, serà molt més fàcil navegar i trobar més feina, depenent dels teus desitjos. Algunes persones entren en desenvolupament independent, creen jocs per a elles mateixes, els pengen a la botiga i els monetitzen ells mateixos. Alguns treballen per a una gran empresa amb regles estrictes. Algunes persones guanyen diners en petits estudis que fan programari personalitzat i allà poden veure tot el procés, des de crear un projecte des de zero fins a lliurar-lo a la botiga".

Salaris

El sou d'un desenvolupador d'iOS, com qualsevol altre, depèn de la pregunta "Moscou o Rússia". Però a causa de les especificitats de la indústria (molt treball a distància, oportunitats de trasllat i treball no al mercat regional), les xifres s'apropen cada cop més.

Què esperar si voleu convertir-vos en desenvolupador d'iOS

Segons la calculadora de sou My Circle, el salari mitjà d'un desenvolupador d'iOS és lleugerament inferior 140 000 rubles.

"Un jove d'un nivell molt baix sovint treballa gratis o per diners simbòlics: 20-30 mil rubles. Si un jove és portat deliberadament al seu lloc, rebrà de 50 a 80 mil. Els mitjans en reben de 100 a 150, i de vegades fins i tot fins a 200. Els grans no en reben menys de 200. Crec que el seu sou és d'uns 200-300. I per als líders d'equip, en conseqüència, són més de 300 ".

Què esperar si voleu convertir-vos en desenvolupador d'iOS

Entrevistes

“La primera entrevista es va fer a Skype. Per a la meva sorpresa, era Google”, recorda Boris, “aleshores acabava de mudar-me a Sant Petersburg i vaig començar a buscar feina. Vaig rebre una sol·licitud per a una posició de desenvolupador d'iOS. Ni junior, ni mitjà, ni sènior, només un desenvolupador. Vaig estar encantat i vaig començar a correspondre amb el gerent. Em van demanar que fes una tasca tècnica: vaig haver d'escriure una sol·licitud per fer bromes sobre Chuck Norris. Ho vaig escriure. Em van dir que tot estava genial i van programar una entrevista en línia.

Ens vam trucar. Una noia simpàtica em va parlar. Però no van fer cap pregunta sobre la competència lingüística, només diversos problemes lògics, per exemple, "L'hora són les 15:15, quants graus hi ha entre les agulles de les hores i els minuts?" o "Un pal fa 10 metres de llarg, a El cargol s'arrossega 3 metres amunt durant el dia i baixa 1 metre a la nit". En quants dies s'arrossegarà fins al cim?“, i un parell més de semblants.

Després hi va haver preguntes molt estranyes: per què estimo Apple i com em sento per Tim Cook. Vaig dir que l'empresa en conjunt és positiva, però més aviat negativa cap a ell, perquè els diners són importants per a ell, no els productes.

Quan van començar les preguntes sobre Swift, el meu coneixement només era suficient per a la programació de patrons i els fonaments bàsics de la POO. Ens vam acomiadar, una setmana després em van trucar i em van dir que no era apte. De fet, vaig obtenir una gran experiència amb això: necessites coneixements, en necessites molt, tant de teoria com de pràctica".

Andrey diu que "el primer que es pregunta a tothom durant una entrevista és el cicle de vida del controlador. Els agrada molt demanar algun patró de programació senzill. Definitivament us preguntaran sobre la vostra experiència utilitzant biblioteques populars. Definitivament hi haurà una pregunta sobre les diferències entre els tipus de valors ràpids i els tipus de referència, sobre el recompte automàtic de referències i la gestió de la memòria. Poden preguntar-se com han implementat l'emmagatzematge de dades a les aplicacions i si han implementat sol·licituds de xarxa. Preguntaran sobre els conceptes bàsics de REST i JSON. Al júnior no se li demanaran coses i subtileses específiques. Almenys no ho pregunto".

Boris va tenir una experiència diferent: “Fins i tot quan vaig demanar pràctiques, vaig fer tasques tècniques i vaig dir que el sou no era important per a mi, sempre que n'hi hagués prou per llogar un pis, em van negar. Vaig llegir articles, vaig intentar entendre què necessita un reclutador d'un nouvingut. Però majoritàriament van fracassar en teories. Per alguna raó, van fer preguntes de les grans lligues que no concerneixen als nouvinguts".

Marat va tenir més sort. Ara treballa en una empresa de transports i s'encarrega sol del departament d'iOS, mentre continua els seus estudis a la facultat. "Com que sóc l'únic responsable d'iOS, el meu treball s'avalua només per la meva capacitat per implementar les tasques que se m'encarreguen, i no pel meu coneixement de teoria".

Comunitat

Andrey viu a Nizhny Novgorod i diu que fins i tot allà s'ha format una gran comunitat. Hi havia una vegada que era un desenvolupador backend a Python, però els seus amics el van arrossegar al desenvolupament mòbil, i ara ell mateix anima tothom a fer-ho.

“La comunitat global normalment es comunica a través de Twitter. La gent escriu els seus propis blocs, grava vídeos a Youtube, es conviden mútuament a podcasts. Un dia vaig tenir una pregunta sobre una presentació on parlava el líder de l'equip de HQTrivia. Aquest és un joc de proves nord-americà que juguen simultàniament diversos milions de persones. Li vaig escriure a Twitter, em va respondre, vam parlar i li vaig donar les gràcies. La comunitat és molt amable, la qual cosa és genial."

Llista de literatura recomanadaNivell principiant:

Nivell mitjà:

Nivell avançat:

Font: www.habr.com

Afegeix comentari