Comment changer de spécialité en programmeur?

Êtes-vous fatigué de votre travail? Pas de perspectives? Peut-être que vous venez de commencer votre voyage?

Dans cet article, nous examinerons la voie à suivre, le temps, les efforts et l'argent que vous devez dépenser pour passer de zéro au niveau auquel vous recevrez des invitations à travailler à l'étranger à des conditions très savoureuses.







Bonjour, je m'appelle Alexander Zelenin. Je suis un programmeur avec plus de 15 ans d'expérience. Pendant ce temps, j'ai réussi à travailler dans des postes de développeur web à CTO, dans des entreprises de différents niveaux (de 5 personnes à 2000+, startups, entreprises), dans différents pays et villes. J'ai également interviewé plus d'un millier de personnes à tout moment, enseigné des cours éducatifs, encadré, etc.



*Cet article est uniquement mon avis. Il ne prétend pas être complet, exactitude absolue, absence d'erreurs, inexactitudes. Faites preuve de bon sens dans toutes les décisions et soyez personnellement responsable de celles-ci.



- Un enseignement supérieur pertinent est-il nécessaire?



Ne pas. Cela n'affecte pas directement l'emploi disponible, les salaires ou les opportunités. Le diplôme aide un peu avec le processus de visa, mais n'a jamais été un obstacle. Tout au long de ma carrière, on ne m'a demandé un diplôme que lorsque tout était déjà signé et qu'il fallait organiser une résidence dans le pays. L'employeur a toujours trouvé des moyens de résoudre ce problème.



- Mais, néanmoins, est-ce plus facile avec l'enseignement supérieur?



Oui, car de nombreux sujets ont été abordés d'une manière ou d'une autre pendant la formation. Même si tout est oublié, il sera alors plus rapide de restaurer les connaissances. Alors si c'est - bon, non - eh bien, figez avec lui.



- Je suis introverti. Le programmeur est l'option la plus cool pour les introvertis, non?



Comment dire. Jusqu'à un certain moment, c'est peut-être oui, mais après quelques années, des compétences en communication seront nécessaires pour grandir. Vous pouvez résoudre ces problèmes au besoin.



- Difficile à étudier?



Oui très. Bien sûr, tout cela est individuel, et pour quelqu'un, c'est très facile (pour moi personnellement, tout cela m'a semblé très facile, mais le chemin était long), mais au fond, tous ceux qui se sont recyclés disent que c'est très difficile.



Le problème principal est que vous commencez dans un nouveau domaine pour vous-même (surtout lorsque vous étiez un expert dans un autre) par le bas. Le sentiment constant que vous êtes stupide, que vous ne savez pas assez, vous décidez lentement, et ainsi de suite. C'est un défi sérieux. Beaucoup plus sérieux qu'il n'y paraît.



- Ça vaut vraiment le coup?



Cela dépend de votre vision du monde, des conditions actuelles et de plusieurs autres facteurs qui vous sont propres.



Un professionnel de haut niveau peut s'attendre à ce qui suit (au moment de la rédaction de cet article):



  • Pour la Fédération de Russie: un salaire de l'ordre de 200000 roubles blancs, une assurance médicale volontaire (pour une famille), des cookies, un horaire gratuit, le paiement de l'éducation / de la maternelle pour les enfants, des voyages à des conférences spécialisées, une stabilité élevée, des tâches intéressantes, un package complet pour le déménagement (un appartement pour un mois, des billets, transport de marchandises, aide à la recherche de logement, etc.)
  • Pour l'Europe: le salaire est d'environ 5 000 euros, et en principe tout ce qui est plus élevé. Le forfait de relocalisation comprend souvent également un paiement unique de l'ordre de 7 000 €. Souvent, la pension locale commence à couler et il est possible d'obtenir un permis de séjour / citoyenneté plus tard
  • USA / Canada / Suisse / Moyen-Orient: salaire de l'ordre de 10000 $, et tous les goodies sont plus élevés


- Que signifie «spécialiste de haut niveau»?



Il est de coutume de diviser conventionnellement les spécialistes en 3 niveaux. Les exigences sont souvent très différentes, mais en général elles sont les suivantes:



  1. Junior - peut résoudre efficacement les problèmes, mais l'aide de collègues plus expérimentés est nécessaire face à des incertitudes (la tâche n'est pas claire, on ne sait pas comment la résoudre, on ne sait pas à qui demander, etc.)
  2. Middle est une unité indépendante qui peut très bien résoudre un problème et collecter toutes les informations elle-même à partir des sources nécessaires
  3. Senior est un expert qui connaît non seulement bien la partie logicielle, mais comprend également le métier dans lequel il travaille et peut proposer des solutions à des niveaux complètement différents


- D'accord, et combien de temps faut-il pour étudier pour chaque niveau?



La toute première étape est peut-être la plus difficile psychologiquement. Sur Junior, vous aurez besoin d'environ 1500 heures de temps net (c'est-à-dire six mois, 8 heures par jour).



Après cela, vous travaillerez en tant que junior pendant environ un an et demi.



Après cela, le milieu a encore deux ans.



Si vous n'avez pas changé de sujet, alors bienvenue aux seniors (4-5 ans au total).



- Attends, attends… J'ai vu des cours, il y en a 3 fois par semaine pendant 2 heures et en deux mois ils me promettent un salaire de 100 000 par mois!



Eh bien, s'ils promettent, alors ce sera (non).



J'ai enseigné plusieurs de ces cours uniquement pour mon intérêt personnel. Même après avoir augmenté la charge de travail des étudiants par heure de 2,5 fois (5 heures chacun), à la fin du deuxième mois, un bon «aperçu» des technologies a été obtenu.



Il n'y a presque pas de compétitivité après de tels cours. Cela ne compte pas pour «l'expérience». Eh bien c'est vous pouvez écrire au moins 5 ans d'expérience dans votre CV, mais cela ne vous donnera pas d'expérience.



- D'accord, d'accord, y a-t-il des avantages à bénéficier de cours payants?



En général, il y a, si vous ne vous asseyez pas et n'attendez pas la météo au bord de la mer, mais profitez activement de l'occasion pour communiquer avec un mentor et à condition qu'en plus de ces cours (qui durent environ 6 heures par semaine), vous investissez également vos 34 heures en plus.



- Quels cours recommanderiez-vous?



Libre. Je suis serieux. La principale valeur des cours est la communication avec un mentor. C'est là que s'arrêtent leurs avantages. Le problème avec de nombreuses plates-formes de ce type est que: il y a beaucoup de participants dessus et l'attention du mentor est dispersée, les mentors ne sont pas qualifiés.



Souvent, les plateformes n'offrent que quelques centimes pour leur mise en œuvre, ce qui exclut presque immédiatement l'apparition de bons spécialistes prêts à les diriger (à l'exception des spécialistes idéologiques, qui sont peu nombreux et vous trouverez des figues).



- Euh, alors comment étudier?



  1. .

    , , . ? , , ( ). .

    — . , . , . ( ) , .
  2. ,

    ,
  3. Faites un plan et fixez des délais Un

    mentor vous aidera à faire un plan. C’est irréel en soi, car vous ne savez pas ce que vous ne savez pas


- Mentor, mentor ... quoi, absolument rien sans lui?



Vous pouvez vous en passer. Mais ensuite, vous devez lire, faire beaucoup plus, essayer de naviguer dans tout et vous vérifier constamment.



J'ai eu l'occasion de communiquer avec des gens qui ont plus de 10 ans d'expérience, et en termes de connaissances, ils n'atteignent même pas les Juns. Comment cela sort-il est une question difficile. Capturer le moment de stagnation n'est pas facile.

Vous pouvez surveiller le marché, voir quelles technologies ils recherchent, voir différentes solutions fraîches, etc.



Et puis trouvez un mentor. Même si vous êtes déjà senior, il est toujours cool de se faire conseiller par un professionnel plus expérimenté.



— , , «» , 8 . ? 4 ?



Rattrapé. C'est une question très difficile. Selon l'expérience précédente, la réduction du nombre d'heures augmente la durée de la formation de manière disproportionnée (c'est-à-dire que 4 heures ne seront pas l'année prévue, mais, disons, 1,5-2). De plus, selon le travail en cours, l'assimilation de matériel complexe peut tout simplement ne pas se dérouler et c'est tout, c'est-à-dire que la combinaison peut ne pas fonctionner. Tout dépend, tout est individuel.

L'un des moyens est d'accumuler des fonds et de consacrer six mois à une telle transition. Cela peut être très difficile lorsqu'il y a déjà une famille ou d'autres exigences sous forme d'hypothèques et autres. Et il peut également s'avérer difficile de trouver un emploi à la volée ou dans des circonstances imprévues telles que le coronavirus.



Une autre façon est ... eh bien, découvrez-le en entier. Qu'est-ce que vous voulez? :-RÉ



- Mon ami a terminé les cours en deux mois et a commencé à recevoir 5000 $ par mois immédiatement après



Plusieurs options: soit il ment, soit il est un génie (dans ce cas, le cours n'a rien à voir avec ça, par hasard), soit il a eu de la chance (une connaissance embauchée de manière rusée, etc.), soit c'est quelque chose de super hautement spécialisé et il a trouvé une échappatoire ... Laissez-le vous dire comment. Cela se produit également lorsqu'une startup ne sait pas où dépenser l'argent d'un investisseur et effectue clairement des surpayements. Dans la première entreprise avec un développement adéquat, l'image sera complètement différente.



- Où chercher du travail?



Dans les capitales ou, au moins, dans des villes d'un million et plus. Si vous n'êtes pas à Moscou, Kiev, Minsk ou où que vous soyez, préparez-vous à déménager. Les marchés locaux sont trop petits et ne peuvent pas offrir suffisamment de postes vacants (en particulier pour les débutants), les opportunités de croissance sont petites, etc. En général, supprimer l'intégralité de l'article et ne laisser que cette recommandation sera l'une des meilleures décisions de carrière (!, Mais ce n'est peut-être pas la meilleure pour vos autres facteurs).



Il existe des exceptions lorsque certaines grandes entreprises ont des bureaux de développement dans les petites villes. Si vous visez une telle entreprise, ou s'il y en a une dans votre ville, il est conseillé de comparer toutes les options à l'avance.



- Est-il possible d'obtenir un emploi tout de suite?



C'est possible, ce sera plus difficile, tout d'abord, pour vous. Non pas parce que le travail lui-même est différent, mais parce que les réponses aux questions seront retardées, il ne sera pas possible pour une personne de venir montrer du doigt où quoi et pourquoi. Oui, il y a un tas d'outils maintenant (TV, chats, Skype, tableaux sont différents), mais en termes de confort et de vitesse de communication, c'est différent. Si vous visez à distance, vous devez être prêt à calculer x2 par rapport à la norme pour au moins suivre un rythme adéquat.



- J'ai 45 ans. Vont-ils me prendre Juniur sans expérience en direct?



Oui, il le feront. L'âge jouera même un plus pour vous, car une grande partie de l'expérience de la vie est bien transférée à la technologie. Avec une forte probabilité, vous traverserez le chemin vers le senior beaucoup plus rapidement, grâce à l'expérience quotidienne (qui commence à jouer un plus grand rôle à partir du stade «intermédiaire» que les compétences techniques). Avec les délocalisations dans certains pays, cela peut être plus difficile si l'âge est grand et qu'il n'y a pas de tour, mais tout cela est également résoluble.



- Quelle langue apprendre?



Tout dépends de ce que tu veux faire. Si vous ne voulez pas jouer à la loterie et emprunter la voie sûre, Java est votre choix. Dans tous les cas, cela vous permettra d'aller jusqu'au bout sans un fort changement technologique et avec un très bon salaire.



Si vous avez un ami qui promet de vous configurer en tant que développeur PHP dans six mois, cela pourrait également être un bon candidat. Parce que la langue n'est pas importante.



- Je pensais que vous plaisantiez sur l'anglais. Besoin de lui apprendre?



Pas au départ. Malgré le fait qu'une grande partie de la documentation, des informations et des articles sont en anglais, tout cela peut être absorbé par des traducteurs. Vous aurez besoin de l'anglais lorsque vous décidez de déménager. Un bon moment pour commencer à étudier pourrait être quelques mois après l'embauche en tant que Junior. Et oui, vous aurez certainement besoin de communiquer avec des locuteurs natifs - soyez prêt à investir dans ce domaine également.



À propos du traducteur, un mini-exemple: tout récemment, j'ai eu affaire à une bibliothèque pour laquelle la documentation réelle n'existe qu'en chinois (MyBatis-Plus) - Google Translate m'a aidé à comprendre ce qui se passait sans beaucoup d'aventure.



- Attends, tu as dit que la langue n'est pas importante… quoi?



Ce n'est pas entièrement vrai. C'est important, bien sûr, mais après un certain stade (senior), vous ne vous souciez pas de la langue dans laquelle vous écrivez. Les concepts sur lesquels le programme est construit sont transférés d'une langue à l'autre et c'est leur étude qui prend beaucoup plus de temps.



Relativement parlant, on peut imaginer qu'un écrivain professionnel a décidé d'écrire une histoire dans une langue autre que la sienne - l'histoire ne sera pas si expressive et belle, mais l'histoire elle-même sera cool, car il sait déjà comment écrire une histoire cool. La langue n'est qu'un outil de communication.



- D'accord, pouvez-vous me donner un plan pour quoi faire?



  1. Décidez de ce dont vous avez vraiment besoin. Est-ce que ça vaut le coup?
  2. Décidez de ce que vous voulez faire. Idéalement, faites une liste des entreprises pour lesquelles vous aimeriez travailler. Idéalement, choisissez où vous voulez être dans six mois, deux et cinq.
  3. , . , .
  4. , ( 2 3)
  5. , . . . . .
  6. . 1 , easy .
  7. . , . - - , .
  8. .


Quel que soit le langage, la liste des sujets que je recommande d'inclure dans le plan: contrôle de version (git, github), structures et algorithmes (connais tous les courants, gros O, sachez qu '«il y a quelque chose comme ça» et être capable de trouver rapidement), IDE ( pourquoi, comment le configurer), le débogage et le profilage (comment trouver les erreurs, les points d'arrêt, etc.), les tests (écrire au moins les tests les plus simples et comprendre ce qu'il faut y inclure), les bases de données (relationnelles, réseau, orientées document), la documentation (comment écrire, pourquoi), la planification et la priorisation (combien de temps cela prendra-t-il, que faire et quand), apprenez Style Gudie en fonction de votre langage, linux (compréhension de base de ce qui existe, pourquoi et où, la possibilité d'exécuter votre code là-bas), les gestionnaires de packages (comment utiliser, pourquoi comment maintenir), le versionnage sémantique (pourquoi, comment suivre), les frameworks (dans la langue souhaitée,au moins pour en connaître quelques-uns), des outils d'assemblage et d'automatisation, la cryptographie (ce qui existe, pas comment le faire), l'autorisation et l'authentification (qu'est-ce qui et ce qui existe pour cela).



La profondeur d'approfondissement de chaque sujet dépend des conditions, de ce que vous avez décidé d'étudier, etc. Pour certains sujets, 15 minutes suffisent, pour certains, vous pouvez allouer un mois ou deux sur une demi-année.



- J'ai vu qu'une entreprise qui m'intéresse s'entraîne à partir de zéro et embauche. Quel est le piège?



Avec un faible salaire pour la première ou les deux premières années. Mais en général, c'est une option plutôt cool, car avec une motivation appropriée, c'est un emploi garanti, une expérience en direct et des mentors motivés qui vous apprendront exactement ce dont l'entreprise a besoin. En théorie, cela pourrait réduire la variation après ou allonger la période de croissance, mais cela dépend fortement des entreprises et des offres spécifiques. Si une entreprise de votre liste d'intérêts propose des stages similaires à partir de zéro, cela vaut la peine de les examiner de plus près.



- Tin, tout est compliqué.



Oui et non. Le plus dur est au début. De plus, de nombreux concepts sont mémorisés et n'ont pas besoin d'être gardés à l'esprit. Beaucoup de choses sur Google en 10 secondes, à condition que vous sachiez quoi chercher sur Google.



All Articles