Conseils pour décider de devenir développeur iOS



Il y a très longtemps, on m'a demandé d'écrire cet article, mais soit le microphone me gênait, soit les étoiles n'étaient tout simplement pas d'accord.

En bref sur moi: j'ai 43 ans, je suis une femme et un développeur iOS. Maintenant, j'ai l'une des majors les plus recherchées du marché; la recherche d'emploi dure en moyenne de 2 jours à 2 semaines.

Pour ceux qui sont tombés par hasard sur cet article et envisagent toujours de changer de profession ou de profession, je répondrai: si vous n'essayez pas, vous ne saurez jamais si vous pouvez changer votre vie ou non. Peur de faire des erreurs à l'avance est une perte de temps.

Eh bien, maintenant, assez de morale, je commence à raconter comment je suis devenu développeur iOS et quelles difficultés j'ai rencontrées sur mon chemin. Qui est trop paresseux pour lire, vous pouvez immédiatement consulter les résultats.

Détermination de la direction


En 2014, l'entreprise dans laquelle j'ai travaillé pendant 7 ans a été fermée (bonjour aux employés de Lanka!). Et avant moi, il y avait un choix: chercher un emploi ou penser à qui je veux vraiment travailler.
À la clôture, la direction de l'entreprise a agi très loyalement envers tous ses employés, et nous avons reçu de l'argent en cas de licenciement, compte tenu du parcours qui a alors sauté, ils étaient très décents (je n'avais que 8 mois pour vivre avec eux).

Au Lanka, j'ai travaillé comme analyste d'approvisionnement. Pendant longtemps, je n'ai rien trouvé de similaire en termes de salaire ou de responsabilités fonctionnelles.

Sur le site hh.ru je suis tombé sur une publicité: devenez programmeur et recevez un salaire de "cent millions" en six mois! J'ai décidé de vérifier le marché et j'ai été agréablement surpris que le salaire moyen d'un programmeur soit 2 à 3 fois plus élevé que le salaire d'un bon acheteur connaissant l'anglais. Ouah! (Je pensais alors): tu travailles au bureau, tu fais des tâches logiques. Vous vous souvenez peut-être de la jeunesse de l'institut et commencez à programmer?

Je suis allé à une ressource bien connue, que, pour des raisons éthiques, je ne signalerai pas aux lecteurs, et j'ai suivi un cours gratuit sur les bases de la programmation là-bas. Le parcours s'est envolé, n'a même pas remarqué! Toutes les tâches étaient faciles (la base institutionnelle affectée), et j'ai finalement réalisé que mon objectif immédiat serait: de se recycler en programmeur! (pour ceux qui comprennent, une petite digression: ma connaissance de l'anglais était nulle, car j'ai étudié le français à l'école et à l'université).

Cours


L'objectif était fixé, il fallait maintenant décider - laquelle des nombreuses directions de la programmation est logique à maîtriser? J'ai trouvé un ami - un programmeur (java), il m'a recommandé d'aller au développement mobile, car le créneau est assez récent, se développe rapidement et les développeurs nous manqueront de plus en plus chaque année. (Albert, si vous lisez ceci, un autre bonjour à vous et merci beaucoup pour les conseils!).

Eh bien, l'objectif est fixé, il est temps d'agir! J'ai payé des cours en ligne (conçus pour 6 mois + 2 mois de stage), puis le coût des cours était d'environ 40 000 roubles (si quoi que ce soit, maintenant c'est deux fois plus cher). Elle attendit le début de son groupe et se laissa tomber de toute la course dans cet océan de nouvelles connaissances.


C'était très effrayant de prendre des risques, car Sur le parcours, tout le monde était beaucoup plus jeune que moi (de 18 à 30 ans), et il n'y avait pratiquement pas de filles (abandonnées après les premiers cours).

Une petite digression: ici et ci-dessous tous les prix seront indiqués pour Moscou. Comment sont les choses avec les salaires et les prix dans une autre région, je ne peux pas le dire.

Pour l'avenir, je veux dire que beaucoup dépend non seulement de votre détermination, de votre désir et de vos opportunités, mais aussi de l'enseignant que vous rencontrez sur cette voie. En ce sens, j'ai eu de la chance!

Maintenant, dans l'ordre: la formation en ligne sur un développeur mobile comprenait 2 cours sur le développement ios, les bases de Java et 2 cours sur le développement Android + tout cours cadeau que j'aime. Les cours (en ligne) ont commencé dans la soirée vers 20 h 00, de sorte que tous les employés ont pu rentrer chez eux à cette heure.

J'ai déterminé par moi-même que je voulais m'engager dans le développement Android, car Je n'avais pas un seul appareil Apple, et j'appartenais à ces gens qui traînaient constamment les propriétaires de gadgets Apple pour leur gaspillage irréfléchi d'argent (qui aurait imaginé que dans trois ans j'aurais deux iPhones et un macBook pro).

J'ai été quelque peu déçu que la formation ait commencé avec l'étude d'iOS. Cependant, comme iOS a été étudié dans objectiveC, cela a été encore plus facile pour moi dans ce sens, car la syntaxe est très similaire à l'institut natif C / C ++. La plus grande difficulté sur le parcours est due au manque de mac. J'avais un ordinateur portable très cool sur Windows (16 Go, i7, SSD256), donc, après avoir fouillé les forums, j'ai trouvé comment installer une machine virtuelle et la développer déjà sur iOS en dessous. Dire que la machine virtuelle ralentissait, c'est le moins qu'on puisse dire! De plus, nous avons dû collecter des projets sur le simulateur, car Je n'avais ni compte de développeur, ni appareil sur lequel développer, et connecter un appareil pour l'assemblage dans une machine virtuelle est toujours un plaisir. Je n'ai pas osé acheter un téléphone d'occasion et mon budget était strictement prévu pour exactement 8 mois.

Conseil matériel
Par conséquent, des conseils à ceux qui ont décidé d'étudier iOS: acheter un macMini d'occasion bon marché ou installer un hackintosh. Et l'argent n'est pas cher, et l'efficacité est plus élevée (vous n'aurez pas besoin d'attendre 10 minutes pour chaque montage).

Pour la première fois, vous n'aurez pas besoin d'un téléphone, car Pour construire sur le téléphone, vous avez besoin d'un compte développeur. Eh bien, si vous avez déjà un iPhone et si vous ne vous sentez pas désolé pour l'argent, le compte coûte 100 cu / an. Je suis allé dur et la formation a eu lieu sur une machine virtuelle, car Je ne voyais pas l'intérêt de dépenser de l'argent, outre Android, c'était mon objectif.

Mais ... il se trouve que j'ai eu beaucoup de chance avec le professeur iOS. ( Lowtrack , encore une fois, merci beaucoup pour votre aide et votre patience!). Il a abordé de manière très responsable toutes les leçons, préparées à l'avance, chaque leçon n'a pas duré 1 heure, mais plus de 3 heures, car en 1 heure, il était difficile de révéler tous les sujets, d'expliquer aux débutants comment utiliser Xcode. Mais la chose la plus remarquable est que si je ne comprenais pas quelque chose, Lowtrack était toujours en contact et chaque jour (travail ou jour de congé), Skype donnait toutes les explications, expliquait les erreurs, mâchait tout le matériel incompréhensible pour moi.

Une petite digression: je me souviendrai longtemps comment il m'a expliqué en utilisant l'exemple d'une armoire de bureau et d'un bureau ce qu'est la POO, ce que sont les classes, les objets, les méthodes.

Depuis, je savais que mon niveau en programmation était loin du niveau que les jeunes enfants avaient après l'université, j'ai étudié des journées entières pendant 14 heures. J'ai oublié de dîner. Parfois, DZ ne faisait pas que le jour, mais aussi la nuit. J'ai renversé mon régime pour aller me coucher à 6 heures du matin, à 12 heures je me suis réveillé et je suis retourné étudier. En général, afin de suivre tout sur un pied d'égalité avec tout le monde, j'ai disposé de 300%.

Aux cours de Lowtrack , il m'a conseillé d'aller étudier l'anglais (au moins obtenir un niveau de base), j'ai dû débourser et investir encore 25k dans les premiers cours d'anglais de 3 mois.

Recherche de stage


Après 3 mois, les cours iOS ont pris fin et j'ai réalisé par moi-même que je suis tombé amoureux du développement iOS. Plus tard, quand j'ai commencé à étudier Android, j'ai réalisé que je voulais faire iOS. Et l'enseignement d'Android était plus bas que le socle: malgré le fait que l'enseignant dans les cours était le meilleur des meilleurs, il ne nous donnait pas du tout de temps, il a jeté les manuels méthodologiques déjà préparés en théorie, 90% des classes se sont consacrées à l'analyse des devoirs des autres et à mon travail il n'a jamais été vu. En général, dans ces cours, j'ai réalisé que je perdais mon temps, il était temps de chercher un stage.

On m'a promis un stage obligatoire de 2 mois pour une formation en ligne. J'ai commencé à leur parler de cela, et on m'a donné des contacts d'entreprises qui recrutent des juniors pour des stages après ces cours. Il s'est avéré que le stage est une tentation. En fait, personne ne l'organisera pour vous, ne donnez que les contacts des entreprises où votre CV peut être consulté. Les contacts de la ressource en ligne pour les stages ont été joliment décorés sur une page séparée. Résultat: sur 5 entreprises, seulement 2 ont examiné mon CV, et on m'a immédiatement refusé (et qu'est-ce qui est étonnant quand il y avait des postes vacants d'entreprises comme Redmadrobot), les autres entreprises n'ont même pas pris la peine de voir mon CV. Il n'y avait pas non plus une seule vacance junior à hh. J'ai commencé à paniquer parce que 5 mois se sont écoulés depuis le début des cours et le temps presse déjà.

J'ai dû chercher moi-même des stages. Ces montagnes dorées qui m'avaient été promises sur hh.ru dans la publicité, je ne les ai pas trouvées. J'ai beaucoup cherché sur Google et je suis tombé sur un message dans vk que des stagiaires ios et Android étaient constamment recrutés dans l'équipe conditionnelle (le nom a été spécialement changé). Je leur ai écrit en groupe. Ce qui est le plus surprenant, a rapidement reçu une réponse. Moi et les gars avec qui j'ai terminé les cours ios ensemble (il y en avait 3 de plus, mais seulement 1) ont été testés. Je l'ai suivi (je soupçonne que le code était très drôle et moche). Ils m'ont donné une autre tâche, pour que je n'invente pas de vélos, et j'ai fait ma tâche réelle avec un certain cadre. Refait ça! Et puis il ne restait plus qu'à attendre une réponse ... Nous avons attendu une réponse pendant longtemps (environ 3 semaines). Après 3 semaines, je ne pouvais pas supporter l'attente et je me suis cassé dans une salle de chat, qui, probablement, était une tâche de test - c'était notre stage. Après cette phrase de Conditional, ils m'ont contacté et ont demandé un entretien à Zelenograd.

Lors de l'entretien, ils m'ont confié une tâche simple, quelque chose liée au tri. Honnêtement, je ne connaissais pas la syntaxe, alors je l'ai googlé, et j'ai inventé le tri lui-même. Je ne sais pas si la tête a vu mon tourment (je l'ai probablement vu), il a seulement dit que la logique était intéressante, mais pourrait être simplifiée.

Il a ensuite défini plusieurs tâches logiques. Et il a dit que je les ajustais.

Stage et premier emploi


Alors ça a commencé!

6 mois après le début des cours, j'ai reçu le stage tant attendu! Mais j'ai cessé de me réjouir tout de suite, dès que j'ai été informé que le stage n'était pas rémunéré, et si j'ai réussi le stage, alors je serais peut-être embauché. C'est-à-dire 3 mois tous les jours je viens dans l'entreprise, j'étudie / travaille, et pour cela je ne paie pas un centime! Triste un peu, car ces gars qui n'étaient pas invités pour ce stage trouvaient toujours un emploi rémunéré, même s'ils avaient déjà de l'expérience en programmation dans d'autres langues. J'ai décidé qu'il ne fallait pas envier, mais saisir cette chance. Bien sûr, j'ai vraiment tenté ma chance! Mon argent n'était prévu que pour 8 mois, et comme l'argent était encore dépensé pour des cours d'anglais, généralement seulement 7, j'ai même dû m'endetter un peu.



À la fin du stage, j'ai réalisé à quel point les connaissances données dans les cours diffèrent de l'expérience réelle! Si elles sont prises en pourcentage, alors les connaissances que j'ai reçues dans les cours représentent environ 10% de toutes les connaissances que j'ai reçues pendant le stage.

À ma honte, lors des stages et des cours, j'ai accordé très peu d'attention à la théorie. Ensuite, personne ne m'a expliqué que les connaissances théoriques sont très importantes et seront nécessaires pour le développement de tâches pratiques et pour d'autres entretiens.

Astuce: apprendre la théorie
Par conséquent, des conseils pour les débutants: apprenez la théorie! Et si vous n'en avez pas besoin pour le moment, cela vous sera certainement utile à l'avenir!

Lors du stage, nous, les mêmes juniors que moi (5 personnes sur chaque plateforme), avons été chargés de rédiger un vrai projet! C'était très intéressant!

Depuis qu'un projet aussi important a été organisé pour la première fois dans cette entreprise, le chaos a été observé partout et partout dans le projet. Chaque stagiaire a écrit qui était quoi. La revue n'était pas vraiment, car nous n'avions pas le temps pour un leader de garder une trace de tout le monde, de former tout le monde et aussi de penser à l'architecture. Mais nous avons tous eu une expérience inoubliable en travaillant sur ce projet. ( Un merci spécial à Mehdzor , responsable du développement mobile, pour les connaissances acquises, pour la patience et la compréhension).

Le stage est terminé. À la fin du stage, on m'a offert pas beaucoup, pas vide - à 45k (ce n'est bien sûr pas le salaire que j'aimerais, car en tant que manager, je pouvais obtenir environ 60k), mais j'ai déjà travaillé avec ces gars que je ne voulais pas quitter. L'entreprise est grise, tout le monde a payé en liquide dans une enveloppe, nous n'étions même pas inscrits au travail. Pas un jour de stage ne m'a été réduit, bien qu'ils m'aient promis que si je me montrais bien, la durée serait réduite. En fait, ce ne sont que des promesses ... la période d'essai pour tous les collègues était la même, car C'est une motivation supplémentaire pour les stagiaires d'améliorer leur travail!

Six mois plus tard, 2 autres filles nous ont emmenées dans l'entreprise pour un stage.

Et puis la persécution a commencé: ils m'ont constamment signalé la progression de ces deux étudiantes, leur excellente base théorique, leur maîtrise à la volée (d'ailleurs, l'une d'entre elles n'a pas fait de stage). C'était très décevant! De plus, j'ai ensuite dû m'engager simultanément dans un travail de direction sur un nouveau projet, et il n'y avait pas assez de temps pour le développement (80% du temps je ne le consacrais pas au développement, mais aux responsabilités managériales). Le plus loin, le pire pour l'entreprise. De nombreux étudiants stagiaires ont été recrutés, il y a eu des retards de salaires. Et à l'automne, ils ont commencé à couper des gens, parce que il n'y avait plus de projets.

Oui, malheureusement, malheureusement, mais apparemment, il est temps de passer à autre chose.

Malheureusement, le dernier zp ne m'a jamais été payé. Je pense que cet argent est tombé un point noir sur leur karma. Leurs projets n'apparaissent plus et l'entreprise ferme.

Cependant, tous ceux qui sont partis ont pu trouver rapidement un bon emploi sur sn à partir de 80+, même avec une expérience de 6 mois ou plus, dans des entreprises telles que Sberteh, Alfabank, Tinkoff.

Un autre conseil pour les débutants: oui, il est très difficile pour les juniors de trouver du travail, et vous pouvez passer plus d'un mois, cependant, essayez de trouver un salaire blanc et il est conseillé d'avoir un curateur (c'est-à-dire soit un stage avec un autre emploi, soit un junior en équipe établie).

Par exemple, j'ai une collègue (Sasha, agitez la main à maman!), Qui travaille avec moi (junior), je cherchais du travail après le cours depuis 2 mois. A passé 8 entretiens. De ceux-ci, seulement 2 invitations. Le salaire moyen sur le marché pour un junior est d'environ 60-80k. Si l'option est avec un stage, ils peuvent payer environ 30-50k pour un stage, ce qui, vous voyez, est meilleur que de travailler chez H&M ou en tant que coursier.

Faible qualification des développeurs dans les petites entreprises


J'ai été un peu abasourdi. Les RH, quand ils voient mon âge, sont sceptiques quant à mon curriculum vitae (et je les comprends probablement même), donc je n'ai pas reçu autant d'offres en tant que jeunes.

Conseils pour les plus de 35 ans
Un autre conseil pour les plus de 35 ans: ne vous découragez pas! le marché a maintenant suffisamment de postes vacants dans les petites entreprises, non seulement les géants de l'industrie informatique ont besoin de développeurs.

Je suis entré dans un petit bureau avec un salaire blanc. Comme j'avais un peu plus d'un an d'expérience, je me suis honnêtement évalué en tant que junior. J'ai été très surpris lorsque les gars qui ont écrit le projet à ce niveau se sont avérés être encore plus bas dans cette entreprise (cela arrive aussi) ...

Ma principale erreur en rejoignant cette entreprise a été: lors de l'entretien, je n'ai pas demandé qui serait le chef d'équipe et comment était organisé le processus de formation des juniors. Plus tard, il s'est avéré qu'il n'y avait pas de chef d'équipe du tout, et ils ont essayé de me faire, en suspendant les fonctions sans augmentation de salaire, car Je ne suis qu'un junior de niveau.

Peut-être que certains des jeunes et ambitieux trouveront cela très intéressant, mais je recommanderais de ne pas occuper un tel poste sans expérience pertinente, car sans expérience, vous ne pourrez pas réfléchir à l'architecture du projet (vous pouvez bien sûr pousser Viper partout, mais tous les stagiaires ou juniors ne savent pas ce que c'est par manque de base théorique).

Par exemple, ce qui a été fait dans ce projet particulier (avant mon arrivée) de telle sorte que les cheveux d'une personne expérimentée bougent

  • au lieu d'utiliser la fonction didSelect standard, un geste a été placé sur chaque cellule (à ma question: pourquoi? ils ont répondu: "sinon il y a beaucoup de lignes dans une méthode")
  • plus de 7 contrôleurs de vue pour plus de 1000 lignes (MVC - dans toute sa splendeur)
  • en règle générale, sur tous les écrans, les méthodes ViewDidLoad / viewWillAppear sur plus de 300 lignes
  • mise en page entière dans un storyboard
  • un grand nombre d'erreurs de mise en page, par exemple, une table a été placée sur scrollview
  • au lieu de changer la couleur du bouton dans différentes conditions, deux boutons différents ont été utilisés pour l'état enfoncé et relâché


Après 2 mois de travail, j'ai décidé de partir, car il n'y avait pas de chef d'équipe compétent dans l'entreprise, il y avait peu de travail, il était interdit de refactoriser, et il n'était pas réaliste de maintenir un tel code.

Ensuite, j'ai dû à nouveau chercher du travail et plus d'une fois ...

Situation du marché et salaires gris


La situation sur le marché est maintenant telle que de nombreuses entreprises ne se soucient pas du marketing, recrutent des développeurs, investissent de l'argent, le projet démarre, une fois la fonctionnalité minimale écrite, et le projet se met en place, une semaine s'écoule et le projet est fermé, car n'apporte pas le bénéfice escompté.



Ici, j'ai également fait face à la même situation: j'ai décidé de tenter ma chance et je suis retourné au salaire gris, car d'anciens collègues ont appelé à ce projet. Une bonne équipe et un chef d'équipe adéquat sont d'une grande importance pour beaucoup. Pour moi, cela a également joué un grand rôle et j'ai dû payer pour cela. Le projet a été clôturé, les salaires des 1,5 derniers mois n'ont pas été payés. Ils ont proposé de compenser avec l'équipement du lieu de travail.

J'ai donc obtenu deux acquisitions: un tout nouveau coquelicot de 2016 et de l'expérience (ne jouez plus jamais avec les salaires gris).

Astuce: évitez les salaires gris
N'achetez pas le salaire gris, même le plus élevé, ou attendez-vous à ce que le salaire soit si élevé que vous pouvez le reporter de quelques mois en 2 mois de travail! Il y a beaucoup d'entreprises sur le marché qui paient beaucoup d'argent en blanc.
N'acceptez pas non plus les offres "pseudo-blanches" - avec la conception de l'IP. Un article sur ce sujet a déjà été posté sur le hub

Résumé


:

  1. - ! , , … , , , .. .
  2. , , , , 2-3 .
    , 6 10 . , , , .. .
  3. , .
  4. . - — , , — !
    : objC, , Swift. , . .
  5. ( intermediate), WWDC .
  6. iOS, - / macMini , , . ( ) , , (100 ../).
  7. , , , . Parce que , , .
  8. , , , , , .
    . , , , .
  9. , -, !
    ! .

. :

  • ;
  • ;
  • ;
  • ;

!


PS HR-: , . , , . , -, , .
(, , intermediate, . , ).

PPS: , ()

, !

Lowtrack , .

Source: https://habr.com/ru/post/fr415345/


All Articles