Que esperar se queres converterte nun programador de iOS

Que esperar se queres converterte nun programador de iOS

Desde fóra de iOS, o desenvolvemento pode parecer un club pechado. Para funcionar, definitivamente necesitas un ordenador Apple; o ecosistema está estreitamente controlado por unha empresa. Desde dentro, ás veces tamén se poden escoitar contradicións: algúns din que a linguaxe Objective-C é vella e torpe, e outros din que a nova linguaxe Swift é demasiado burda.

Non obstante, os desenvolvedores entran nesta área e, unha vez alí, están satisfeitos.

Esta vez, Marat Nurgaliev e Boris Pavlov contáronnos a súa experiencia: como aprenderon a profesión, como pasaron as súas primeiras entrevistas, por que recibiron as negativas. E Andrey Antropov, decano, actuou como experto Facultade de Desenvolvemento iOS en GeekBrains.

En 2016, Marat Nurgaliev, da rexión de Astrakhan, chegou a buscar un traballo como programador móbil nunha empresa de televisión local. Esta foi a súa primeira entrevista. Acababa de regresar do exército, sen práctica nin experiencia, esquecida ata a teoría, coa que xa tiña problemas. A única experiencia de Marat no desenvolvemento móbil foi a súa tese sobre a análise de fluxos de fuga de información a través de aplicacións de Android. Na entrevista, preguntáronlle sobre os seus estudos, OOP e outras teorías, pero Marat non puido ocultar as lagoas dos seus coñecementos.

Non obstante, non foi rexeitado, senón que se lle encomendou unha tarefa práctica: implementar a visualización dunha lista de noticias mediante a API en dúas semanas. Tanto para iOS como para Android. "Se tivera algunha experiencia en Android, nin sequera había unha ferramenta para crear unha versión de iOS. O contorno de desenvolvemento de aplicacións iOS só está dispoñible en Mac. Pero dúas semanas despois volvín e mostrei o que podía facer en Android. Con iOS tiven que descubrilo sobre a marcha. Ao final leváronme. Entón vivín en Astracán. Calquera traballo informático cun soldo superior aos vinte anos conveníame”.

Quen son os desenvolvedores de iOS?

Os desenvolvedores móbiles fan aplicacións para calquera dispositivo portátil. Teléfonos intelixentes, tabletas, reloxos intelixentes e todas as outras plataformas compatibles con Android ou iOS. Os principios fundamentais do desenvolvemento móbil non son diferentes do desenvolvemento convencional, pero debido a ferramentas específicas, separouse nunha dirección separada. Utiliza as súas propias ferramentas, linguaxes de programación e frameworks.

“Para traballar con iOS, necesitas un MacBook, porque só ten o contorno de desenvolvemento Xcode necesario. É gratuíto e distribúese a través da AppStore. Para instalar, necesitas ter o teu ID de Apple e nada máis. En Xcode podes desenvolver aplicacións para calquera cousa: teléfono, tableta, reloxo. Hai un simulador e un editor integrados para todo ", di Andrey Antropov, decano do departamento de desenvolvemento de iOS en GeekBrains.

"Pero o ambiente de desenvolvemento pódese instalar en Windows se usas Hackintosh. Esta é unha opción funcional, pero indirecta: ningún dos desenvolvedores serios o fai. Os principiantes compran un MacBook vello. E os expertos normalmente poden pagar o último modelo”.

Idiomas - Swift ou Objective-C

Case todo o desenvolvemento de iOS realízase mediante a linguaxe de programación Swift. Apareceu hai cinco anos e agora vai substituíndo aos poucos a antiga linguaxe Objective-C, que Apple utilizou en todas as súas aplicacións durante máis de 30 anos.

"En Objective-C acumulouse unha enorme base de código, polo que aínda son necesarios desenvolvedores en ambos os dous idiomas, dependendo da empresa, das súas tarefas e aplicacións. As solicitudes escritas hai moitos anos baséanse en Objective-C. E todos os proxectos novos desenvólvense en Swift por defecto. Agora Apple está a facer moito para que o desenvolvemento simultáneo dun teléfono, tableta, reloxo e MacBook sexa o máis cómodo posible. O mesmo código pódese compilar e executar en todas partes. Isto non ocorreu antes. Para iOS desenvolvemos en Swift, para MacOS usamos Objective-C.

Segundo Andrey, Swift é unha linguaxe moi sinxela que é amigable para principiantes. Está escrito estrictamente, o que lle permite detectar moitos erros na fase de compilación do proxecto e o código incorrecto simplemente non funcionará.

"Objetivo-C é unha linguaxe bastante antiga, a mesma idade que a linguaxe C++. No momento en que se desenvolveu, os requisitos para as linguas eran completamente diferentes. Cando saíu Swift, tiña erros, a funcionalidade era limitada e a sintaxe era áspera. E a xente tiña as mans cheas co Obxectivo-C. Mellorouse durante moitos anos, corrixíronse todos os erros que había. Pero agora creo que Swift é tan bo como o Objective-C. Aínda que ata Apple aínda usa ambos nos seus proxectos. As linguas son en gran parte intercambiables e complementarias entre si. As estruturas e obxectos dunha lingua pódense transformar en obxectos e estruturas doutra lingua. É bo coñecer as dúas opcións, pero para os principiantes Objective-C adoita parecer intimidante e confuso".

formación

"No meu primeiro traballo, o meu xefe formoume, axudoume a implementar e configurar o proxecto", di Marat, "Pero traballar en Android e iOS ao mesmo tempo é difícil. Leva tempo reconstruír, pasar de proxecto en proxecto, de lingua en lingua. Ao final, decidín que tiña que escoller unha dirección e estudala. Vendéronme a interface de Xcode e a sintaxe sinxela de Swift".

Marat entrou no departamento de desenvolvemento de iOS en GeekBrains. Ao principio foi moi doado, porque sabía moitas cousas por experiencia laboral. O curso anual divídese en catro trimestres. Segundo Andrey, o primeiro dá só os conceptos básicos: “A base da linguaxe Swift, o coñecemento de marcos básicos, redes, almacenamento de datos, ciclo de vida das aplicacións, controlador, arquitecturas básicas, bibliotecas principais que todos usan, multithreading e paralelismo en aplicacións”.

O segundo cuarto suma o Obxectivo-C. Realízase un curso sobre arquitectura e patróns básicos de programación. No terceiro trimestre, ensinan o estilo correcto de escribir código. Explica o que é unha fábrica, como escribir probas correctamente, crear proxectos, que é Git-Flow, Integración continua a través de Fast Lane. O cuarto e último trimestre está dedicado ao traballo en equipo, traballos prácticos e prácticas.

"O primeiro trimestre foi fácil", di Marat, "pero despois comecei a aprender programación en Objective-C, estudando patróns de deseño, os principios de Solid, Git-Flow, arquitectura de proxectos, probas de unidades e IU de aplicacións, configurando animacións personalizadas. - e entón eu Fíxose interesante estudar".

"Non comezou moi ben para min en GeekBrains", di Boris Pavlov, e o seu camiño cara ao desenvolvemento de iOS en xeral non foi o máis directo. O neno foi criado pola súa avoa. Era arquitecta, matemática e deseñadora e inculcoulle a Boris o amor polo deseño, ensinoulle a debuxar a man e a debuxar. O seu tío era administrador de sistemas e interesáballe ao seu sobriño polos ordenadores.

Boris era un estudante excelente, pero perdeu o interese por estudar e deixou a escola despois de nove anos. Despois da universidade, comezou a andar en bicicleta e os ordenadores pasaban a un segundo plano. Pero un día Boris sufriu unha lesión na columna vertebral, que lle impediu continuar coa súa carreira deportiva.

Comezou a estudar C++ cun profesor no Instituto de Física Solar-Terrestre de Irkutsk. Entón interesei o desenvolvemento de xogos e tentei cambiar a C#. E finalmente, como Marat, quedou cativado pola lingua Swift.

"Decidín facer o curso gratuíto de iniciación en GeekBrains. Sinceramente, era moi aburrido, lento e incomprensible”, lembra Boris, “o profesor falaba das características da lingua, pero apresurábase dun tema a outro sen revelar a esencia. Cando rematou o curso, aínda non entendía nada".

Por iso, despois do curso de iniciación, Boris non se matriculou nunha formación dun ano, senón nun curso breve de tres meses, onde se ensinan os fundamentos da profesión. "Alí atopei moi bos profesores, e explicárono todo con bastante claridade".

“Moitas veces nos critican, supostamente os nosos manuais de formación non están totalmente actualizados, hai imprecisións. Pero os cursos actualízanse constantemente, e os profesores sempre falan de innovacións. Dos grupos que dirixo, moitos atopan traballo despois do primeiro trimestre. Por suposto, normalmente trátase de persoas con experiencia en programación", di Andrey, "Por outra banda, todo o coñecemento non se pode transmitir nun curso. A interacción do cliente da rede na vida non pode encaixar en dez conferencias de dúas horas. E se só vas a cursos e non fas nada máis, entón non terás coñecementos suficientes. Se estudas todos os días durante todo o ano, a este ritmo só os preguiceiros non conseguirán traballo. Porque a demanda na profesión é moi alta”.

Que esperar se queres converterte nun programador de iOS

Podes ver o máis últimas vacantes para desenvolvedores de iOS e subscríbete a outros novos.

Traballar

Pero nin Marat nin Boris atoparon emprego tan facilmente.

"Algunhas grandes empresas desenvolveron desde hai tempo aplicacións para iOS en Objective-C e seguen mantendo a antiga base de código. Desafortunadamente, non teño un argumento convincente para obrigalos a usar Swift exclusivamente. Especialmente aqueles que usan a regra "non toquen o que funciona", di Marat, "Préstase pouca atención á dirección de Objective-C en Geekbrains. É máis de natureza informativa. Pero todas as empresas para as que entrevistei preguntaron sobre Objective-C. E como os meus estudos están centrados en Swift, como o meu traballo anterior, recibín negativas nas entrevistas".

"Despois de estudar, eu só coñecía os conceptos básicos máis superficiais, coa axuda dos cales podía crear a aplicación máis sinxela", di Boris. "Para o traballo, por suposto, non era suficiente, pero estaba contento con isto. Foi difícil atopar traballo en Irkutsk. Para ser máis precisos, en absoluto. Decidín buscar noutras cidades. En canto ao número de vacantes, Krasnodar, Moscova e San Petersburgo resultaron ser os máis relevantes. Decidín ir a San Petersburgo, máis preto de Europa.

Pero non todo resultou ser tan rosado. Mesmo un xuvenil será perdoado polo que non pode saber. Aínda non atopei traballo. Estou traballando para "grazas", gañando experiencia. Entendo que isto non é o que quería, pero estou interesado, e isto me impulsa. Quero adquirir coñecementos".

Andrey cre que os recén chegados deberían buscar prácticas en lugar de emprego. Se tes moi poucos coñecementos, o normal é que as prácticas non sexan remuneradas. Andrey aconsella solicitar prazas junior ás grandes empresas nas que xa está establecido o proceso de traballo.

"Cando entendes como funciona o proceso de desenvolvemento de software, será moito máis fácil navegar e atopar máis traballo, dependendo dos teus desexos. Algunhas persoas entran en desenvolvemento independente, crean xogos por si mesmos, cárganos na tenda e monetizan eles mesmos. Algúns traballan para unha gran empresa con regras estritas. Algunhas persoas gañan cartos en pequenos estudos que fan software personalizado, e alí poden ver todo o proceso, desde a creación dun proxecto desde cero ata a entrega na tenda.

Salarios

O salario dun desenvolvedor de iOS, como calquera outro, depende da pregunta "Moscova ou Rusia". Pero debido ás especificidades da industria -moito traballo remoto, oportunidades de traslado e traballo non no mercado rexional- os números achéganse cada vez máis entre si.

Que esperar se queres converterte nun programador de iOS

Segundo a calculadora de salarios My Circle, o salario medio dun programador de iOS é lixeiramente inferior 140 000 rublos.

"Un júnior a un nivel moi baixo adoita traballar gratis ou por diñeiro simbólico - 20-30 mil rublos. Se un menor é tomado a propósito para o seu posto, recibirá de 50 a 80 mil. Os medios reciben de 100 a 150, e ás veces mesmo ata 200. Os maiores non reciben menos de 200. Creo que o seu salario ronda os 200-300. E para os líderes do equipo, en consecuencia, son máis de 300".

Que esperar se queres converterte nun programador de iOS

Entrevistas

"A primeira entrevista tivo lugar en Skype. Para a miña sorpresa, era Google”, lembra Boris, “daquela acababa de mudarme a San Petersburgo e comecei a buscar traballo. Recibín unha solicitude para un posto de programador de iOS. Non junior, nin medio, nin senior - só un programador. Quedei encantado e comecei a corresponder co director. Pedíronme que completara unha tarefa técnica: tiven que escribir unha solicitude para bromas sobre Chuck Norris. escribíno. Dixéronme que todo era xenial e programaron unha entrevista en liña.

Chamámonos. Unha rapaza simpática falou comigo. Pero non fixeron ningunha pregunta sobre a competencia lingüística, só varios problemas lóxicos, por exemplo, "A hora son as 15:15, cantos graos hai entre as agullas das horas e dos minutos?" ou "Un poste mide 10 metros de longo, un o caracol sube 3 metros durante o día e baixa 1 metro pola noite". ¿En cantos días se arrastrará ata o cumio?“, e un par de similares máis.

Despois houbo preguntas moi estrañas: por que me encanta Apple e como me sinto por Tim Cook. Dixen que a empresa no seu conxunto é positiva, pero negativa cara a el, porque o diñeiro é importante para el, non os produtos.

Cando comezaron as preguntas sobre Swift, os meus coñecementos só eran suficientes para programar patróns e os conceptos básicos de POO. Despedímonos, unha semana despois chamáronme e dixéronme que non era apto. En realidade, gañei unha enorme experiencia con isto: necesitas coñecemento, necesitas moito, tanto teoría como práctica.

Andrey di que "o primeiro que se lle pregunta a todos durante unha entrevista é o ciclo de vida do controlador. Gústalles moito pedir algún patrón de programación sinxelo. Definitivamente preguntarán pola túa experiencia usando bibliotecas populares. Definitivamente haberá unha pregunta sobre as diferenzas entre os tipos de valores Swift e os tipos de referencia, sobre o reconto automático de referencias e a xestión da memoria. Poden preguntar como implementaron o almacenamento de datos nas aplicacións e se implementaron solicitudes de rede. Preguntarán sobre os conceptos básicos de REST e JSON. Ao júnior non se lle pedirán cousas e sutilezas concretas. Polo menos non o pregunto".

Boris tivo unha experiencia diferente: “Aínda que pedín prácticas, cumpría tarefas técnicas e dixen que o soldo non era importante para min, sempre que fose suficiente para alugar un piso, aínda me negaron. Lin artigos, intentei entender o que necesita un reclutador dun recén chegado. Pero sobre todo fallaron en teorías. Por algún motivo, fixeron preguntas das grandes ligas que non afectan aos recén chegados".

Marat tivo máis sorte. Agora traballa nunha empresa de transportes e encárgase en solitario do departamento de iOS, mentres continúa os seus estudos na facultade. "Dado que son o único responsable de iOS, o meu traballo avalíase só pola miña capacidade para implementar as tarefas que se me encomenden, e non polos meus coñecementos teóricos".

Comunidade

Andrey vive en Nizhny Novgorod e di que mesmo alí se formou unha gran comunidade. Érase unha vez un desenvolvedor backend en Python, pero os seus amigos arrastrárono ao desenvolvemento móbil, e agora el mesmo anima a todos a facelo.

"A comunidade global comunícase normalmente a través de Twitter. As persoas escriben os seus propios blogs, gravan vídeos en Youtube, invítanse mutuamente a podcasts. Un día tiven unha pregunta sobre unha presentación na que falou o líder do equipo de HQTrivia. Este é un xogo de preguntas estadounidenses que xogan simultaneamente varios millóns de persoas. Escribínlle en Twitter, contestoume, falamos e deille as grazas. A comunidade é moi amable, o que é xenial."

Lista de literatura recomendadaNivel principiante:

Nivel medio:

Nivel avanzado:

Fonte: www.habr.com

Engadir un comentario