Ce dont vous avez besoin pour devenir programmeur. Cours sur PHP et frameworks. J'ai trouvé une offre d'emploi dans

Irina Davydova


Temps de lecture : 13 minutes

Un Un

Chacun choisit le métier de « programmeur » pour sa propre raison. L'un a décidé de simplement changer de spécialité, le second est obligé d'apprendre un autre métier, le troisième ne se comprend pas sans codes, et quelqu'un se lance dans le métier simplement par curiosité.

D’une manière ou d’une autre, tout le monde repart de zéro. Et avant de repartir de zéro, demandez-vous : avez-vous vraiment besoin de ce métier ?

L’essence du travail d’un programmeur – principales spécialisations, avantages et inconvénients du travail

L’essence du travail d’un programmeur dépend de la spécialisation et de l’entreprise.

Cependant, il arrive parfois qu’un programmeur soit à la fois « un Suédois, un faucheur et un trompettiste ». Mais cela se produit généralement dans les petites entreprises dont les patrons économisent sur les spécialistes.

Les principales catégories dans lesquelles tous les programmeurs peuvent être grossièrement divisés en fonction de leurs activités :

  • Spécialistes des applications. Tâches : développement de logiciels pour jeux, éditeurs, comptabilité/programmes, messageries instantanées, etc. ; développement de logiciels pour systèmes de surveillance audio/vidéo, systèmes d'alarme, etc.; adapter les programmes aux besoins spécifiques d'une personne.
  • Spécialistes du système. Tâches : développer des systèmes d'exploitation, créer des interfaces avec des bases de données, gérer un système informatique, travailler avec des réseaux, surveiller le fonctionnement des systèmes créés, etc. Ces spécialistes gagnent plus que quiconque dans leur domaine, en raison de la rareté et de la spécificité du métier.
  • Spécialistes du Web. Tâches : travailler avec Internet, créer des sites Web et des pages Web, développer des interfaces Web.

Les avantages du métier comprennent les avantages suivants :

  1. Un salaire très correct.
  2. Forte demande de bons spécialistes.
  3. Possibilité d'obtenir un emploi prestigieux sans éducation.
  4. La possibilité de gagner de l'argent à distance tout en étant assis à la maison sur le canapé.
  5. Possibilité de travailler à distance pour les entreprises étrangères.
  6. Un métier créatif (cependant, la créativité dépend souvent des souhaits du client).
  7. Conditions confortables que les grandes entreprises offrent à leurs spécialistes (boissons/petits pains gratuits, lieux spéciaux pour les loisirs et le sport, etc.).
  8. Possibilité d'obtenir une « option ». C'est-à-dire un bloc d'actions de l'entreprise. C'est vrai, seulement après avoir passé un certain temps dans l'entreprise.
  9. Élargissez vos horizons. Au fur et à mesure que vous évoluez dans votre profession, vous devez vous familiariser avec divers domaines de la vie et vous plonger dans une variété de systèmes - du travail de bureau à la comptabilité, etc.

Inconvénients :

  • Travailler « toute la journée » est courant dans ce métier.
  • Ce travail sera ennuyeux et monotone pour beaucoup de gens.
  • Les intérêts du spécialiste et du client ne coïncident pas toujours et ce qui est évident pour le programmeur, en règle générale, ne peut pas être expliqué du tout au client. Cela conduit à des conflits et du stress.
  • Les modes de fonctionnement d'urgence ne sont pas rares.
  • Le besoin de se développer constamment, d'apprendre de nouvelles choses et d'avoir le temps d'évoluer avec la sphère informatique. En quelques années seulement, les programmes deviennent obsolètes et il faut en écrire de nouveaux.

Vidéo : Comment devenir programmeur ?

Qualités personnelles et professionnelles nécessaires, compétences et capacités professionnelles pour travailler en tant que programmeur - que devez-vous savoir et être capable de faire ?

Les principales qualités d'un bon programmeur

Un bon programmeur devrait...

  1. J'adore ton travail. Et pas seulement aimer - en avoir marre.
  2. J'adore apprendre et enseigner à partir de zéro.
  3. Soyez très travailleur, diligent et patient.
  4. Soyez prêt pour un travail de routine constant.
  5. Être capable de travailler en équipe.

De quelles connaissances un futur programmeur a-t-il besoin ?

Tu devrais commencer par étudier...

  • Langue anglaise.
  • Appareils informatiques et physique de tous les processus.
  • Langages de programmation.
  • Méthodologie de développement logiciel.
  • Méthodologie de tests logiciels.
  • Systèmes de contrôle de versions.

Langage de programmation – par lequel commencer ?

Vous devrez également étudier...

  • Java. Plus populaire que Python et un bon choix pour un débutant. Mais plus complexe que Python.
  • PHP. Conçu pour le Web, mais sera utile à tout débutant.
  • C et C#. Langues très complexes, vous pouvez les laisser pour plus tard.
  • Rubis. Une bonne option pour une deuxième langue.
  • Django. Il vous apprendra à programmer correctement. Similaire en complexité à Python.

Tout dépend de la direction choisie.

Par exemple…

  1. Un programmeur Web bénéficiera de connaissances en HTML, CSS et JavaScript.
  2. Pour programmeur de bureau – API et frameworks.
  3. Pour les développeurs d'applications mobiles - Android, iOS ou Windows Phone.

Où étudier pour devenir programmeur à partir de zéro - établissements d'enseignement en Russie, cours, enseignement à distance, apprentissage en ligne ?

Si vous n'avez pas d'amis qui peuvent vous apprendre le métier de programmeur de toutes pièces, alors vous avez plusieurs options de formation :

  • Auto-éducation. Le chemin le plus difficile vers la programmation, qui passe par l'étude de sites, d'applications, de livres, etc.
  • Université. Si vous venez de terminer vos études et rêvez d'exercer un métier prestigieux de programmeur, inscrivez-vous dans la faculté appropriée. Vous recevrez toujours des connaissances de base grâce à l'auto-éducation, mais la « croûte » vous aidera à vous rapprocher plus rapidement de votre objectif cher. Choisissez des universités techniques, après avoir étudié au préalable les programmes de formation.
  • Professeur personnel . Si vous parvenez à trouver un mentor parmi les programmeurs, l’auto-apprentissage sera plus rapide et plus efficace. Recherchez des mentors sur les forums en ligne, lors de soirées informatiques, de conférences thématiques, etc.
  • Cours. Ils peuvent vous apprendre tel ou tel langage de programmation dans des cours simples que l'on trouve même dans les petites villes. Par exemple, " Portail informatique éducatif GeekBrains", « Spécialiste" chez MSTU Bauman, « Académie informatique STEP", MASPC.

Vous pouvez obtenir une formation supérieure en tant que programmeur en…

  1. MEPhI.
  2. Université russe d’économie Plekhanov.
  3. Université d'État de génie civil de Moscou.
  4. MSTU Bauman.
  5. Université d'État de gestion.

Vidéo : 7 erreurs commises par les programmeurs débutants

Ressources et livres en ligne utiles pour apprendre à devenir programmeur

  • habrahabr.ru (articles sur des sujets informatiques, informations sur une variété de sujets). Cette ressource est connue de tous les programmeurs.
  • rsdn.org (livres, questions d'actualité, forum utile, combler les lacunes dans les connaissances, matériel en russe).
  • sql.ru (excellent forum pratique, littérature utile et même offres d'emploi).
  • theregister.co.uk (nouvelles du secteur informatique).
  • opennet.ru (actualités, articles utiles, forum, etc.). Une ressource pour les professionnels.
  • driver.ru (bibliothèque de pilotes). Site utile pour les débutants.

Ressources d'apprentissage :

  1. ocw.mit.edu/courses (plus de 2000 cours sur divers sujets).
  2. coursera.org (plus de 200 cours gratuits).
  3. thecodeplayer.com (guides étape par étape pour les débutants).
  4. eloquentjavascript.net (ressource d'introduction à Java Script).
  5. rubykoans.com (pour tous ceux qui apprennent Ruby).
  6. learncodethehardway.org (apprendre Python, Ruby, C, etc.).
  7. udemy.com (cours payants et gratuits).
  8. teamtreehouse.com (plus de 600 leçons).
  9. webref.ru/layout/learn-html-css (pour maîtriser HTML et CSS).
  10. getbootstrap.com (explorant les fonctionnalités de Bootstrap).
  11. learn.javascript.ru (frontend d'apprentissage et Javascript).
  12. backbonejs.org (pour les développeurs front-end).
  13. itman.in/uroki-django (pour apprendre Django).

Sites d'apprentissage gratuits pour aider les débutants :

  • ru.hexlet.io (8 cours gratuits en C et PHP, JavaScript et Bash).
  • htmlacademy.ru (18 cours gratuits pour les maquettistes).
  • codecademy.com (cours populaires sur les langages, les outils, etc.).
  • codeschool.com (plus de 60 cours (13 gratuits) sur HTML/CSS et JavaScript, Ruby et Python, iOS et Git, etc.).
  • checkio.org (pour apprendre Python et JavaScript).
  • codingame.com (apprentissage par les jeux vidéo, 23 langages de programmation).
  • codecombat.com (apprendre JavaScript, Python, etc.). Un jeu éducatif qui est également accessible à ceux qui ne parlent pas encore anglais.
  • codehunt.com (formation pour trouver les erreurs dans le code).
  • codefights.com (une plateforme de formation par le biais de tournois sur laquelle vous pouvez obtenir un entretien dans une entreprise informatique décente).
  • bloc.io/ruby-warrior# (apprentissage de Ruby et des arts/intelligence).
  • theaigames.com (développement des compétences en programmation - un simulateur de jeu en ligne passionnant pour un programmeur).
  • codewars.com (une collection de tâches éducatives interactives pour ceux qui ont un minimum de connaissances).

Il faut généralement entre six et 12 mois pour apprendre par soi-même les bases de la programmation.

Comment trouver rapidement un emploi de programmeur et commencer à gagner de l'argent - conseils de personnes expérimentées

Naturellement, sans expérience professionnelle, vous ne pourrez tout simplement pas obtenir un emploi dans une entreprise normale.

C'est pourquoi…

  1. Lisez des livres, étudiez des sites Web et renseignez-vous, mais commencez maintenant à écrire vos toutes premières lignes de code.
  2. Créez et compliquez vos propres tâches en fonction du matériel que vous avez couvert.
  3. Recherchez vos premiers projets, même pour du « drôle d'argent », notez-le dans votre « CV ».
  4. Recherchez du travail sur les échanges indépendants en russe (ru) et sur les échanges en anglais (upwork.com) - il y a plus de chances d'y parvenir.
  5. Commencez par de petits projets que vous pouvez gérer.
  6. Ne manquez pas l’option open source (de tels projets manquent toujours de personnel).
  7. Aidez « pour un joli centime » (ou même gratuitement, pour l'expérience) les programmeurs que vous connaissez. Laissez-les vous confier des tâches simples.

  • Assurez-vous d'écrire : votre expérience professionnelle, une liste des langues et technologies que vous parlez, votre formation et vos contacts.
  • Nous n’entassons pas la liste complète de nos qualités et talents dans notre CV. Même si vous jouez magistralement de l’accordéon à boutons, vous ne devriez pas en parler sur votre CV.
  • Concevez votre CV pour qu'il soit créatif mais pertinent.
  • Vous ne devez pas remplir des éléments tels que « vos objectifs et ambitions » ou « où est-ce que je me vois dans 5 ans ». Il suffit d'écrire ce que vous avez fait avant et ce que vous aimeriez faire maintenant.
  • N'écrivez pas sur des langages et des technologies dont vous ne connaissez que le nom. Vous ne devez écrire dans votre CV que ceux dans lesquels vous nagez comme un poisson dans l'eau. Pour tout le reste, il existe une phrase magique : « il y a eu une petite expérience ».
  • Si vous maîtrisez Delphi, n'oubliez pas de mentionner que vous connaissez également C#, Jave ou un autre langage, car personne n'a vraiment besoin d'un « programmeur Delphi » (Delphi est la base que tout diplômé connaît).
  • Ne mentionnez pas un travail qui ne relevait pas de votre spécialité. Cela n’intéresse personne. De plus, personne ne se soucie de savoir si vous avez un permis de conduire ou une voiture. Vous n'obtiendrez pas un emploi de coursier.

Perspectives de carrière des programmeurs et salaires des programmeurs

Le salaire moyen d'un programmeur dans les grandes villes du pays est de : de 50 000 à 200 000 roubles.

Pour la Russie dans son ensemble - de 35 mille à 120 000.

Ce métier figure parmi les plus demandés – et les mieux rémunérés. Même un modeste spécialiste peut gagner suffisamment pour acheter un sandwich au caviar, mais un professionnel n'aura certainement pas besoin d'argent.

Du stagiaire au chef d'un service informatique, le chemin n'est pas si long et le salaire tout en haut peut atteindre 4 000 $ par mois. Eh bien, vous pouvez alors passer à la direction d'un grand projet (note - développement de logiciels), et ici le salaire dépasse déjà 5 000 $.

22/12/14 157K

Chaque fois, ayant du mal à surmonter les obstacles de la vie, j’ai envie de m’approprier et de remodeler ce monde pour moi-même. Malheureusement, nous ne sommes pas nés créateurs de cet univers. Pour ceux qui veulent assouvir les ambitions de leur créateur, il ne reste que le monde virtuel.

Bien que pour créer ici, vous n'aurez pas besoin de tant de magie et de connaissances en runes que de connaissances sur les bases de la programmation. Par conséquent, pour tous les aspirants créateurs de réalité virtuelle, nous vous expliquerons comment apprendre à programmer.

Ce qu'une théière doit savoir

Même si j’aimerais l’admettre, en réalité, la programmation n’est pas une chose si magique. Créer du code peut parfois être comparé à marcher pieds nus sur des fonds marins recouverts de fragments de roches pointues.

Pour devenir programmeur, vous devez être non seulement intelligent, mais aussi patient et persévérant. Apprendre à programmer s'accompagne toujours de maux de tête, d'yeux rouges dus au manque de sommeil et d'un regard lointain. C'est ainsi que vous pouvez facilement reconnaître un programmeur.

De nombreux débutants considèrent qu'écrire du code est presque le métier le plus romantique. Le nombre de personnes souhaitant apprendre la programmation a particulièrement augmenté après avoir regardé le film « Matrix ». C'est le personnage principal de cette image, Neo, qui a poussé beaucoup de personnes à s'engager dans la voie de la compréhension des sciences du logiciel :

Mais la plupart de ceux qui commencent leurs études abandonnent au bout de quelques semaines. Et la principale raison en est une mauvaise direction d'étude, une mauvaise méthodologie ou même un manuel de programmation.

Après l'effondrement de l'URSS, toutes les universités nationales n'ont même pas essayé pendant longtemps de remodeler leur système éducatif pour l'adapter aux besoins du marché moderne. Les universités techniques ne font pas exception à cette règle.

La programmation en tant que branche et spécialisation distincte n'existait pas en tant que telle. Ses principes fondamentaux étaient enseignés uniquement en lien avec d'autres disciplines de l'ingénierie. Et même les miettes de connaissances qui ont été transmises aux étudiants dans ce domaine ne répondaient pas aux normes modernes et ont perdu de leur pertinence il y a 20 à 30 ans.

Dans les pays de l’ex-URSS, le principal langage de programmation enseigné dans les universités techniques était le BASIC.

La situation n’a pas radicalement changé, même dix ans plus tard. Seuls quelques établissements d’enseignement, conscients des tendances de la nouvelle époque, ont commencé au début des années 2000 à remodeler leur éducation selon les normes mondiales. Et ce n'est qu'à partir de ce moment que la programmation a commencé à être perçue comme un métier à part entière et une spécialisation de formation :

Dans le même temps, divers cours commerciaux spécialisés et établissements d'enseignement ont commencé à apparaître. Mais la qualité de l’enseignement et des connaissances dispensées était extrêmement faible. Il y avait une pénurie de professionnels compétents capables d’enseigner aux nouveaux arrivants non seulement des connaissances théoriques, mais aussi des compétences pratiques en programmation.

Et c’est l’aspect le plus important du métier de programmeur. Par conséquent, la plupart des gourous actuels de l’industrie informatique russe ont commencé eux-mêmes leur formation en programmation à partir de zéro.

Dans une certaine mesure, cette tendance se poursuit encore aujourd'hui. Bien qu'à notre époque, le nombre de professionnels impliqués dans l'enseignement ait considérablement augmenté.

À partir de quel langage dois-je commencer à apprendre la programmation ?

La compréhension des sciences du logiciel se caractérise non seulement par une formation intensive, mais aussi par son début. Il est parfois difficile pour un débutant non seulement de commencer son auto-apprentissage, mais aussi de déterminer les coordonnées du point de départ du processus. Nous allons donc essayer de vous aider à surmonter toutes ces difficultés :

Avant de vous casser les dents sur le granit de la science, vous devez décider par où commencer l'apprentissage de la programmation. Au début, il est très difficile de choisir une spécialisation. Commençons donc par sélectionner la première langue.

Le plus souvent, le choix se porte sur le langage de programmation C. C’est ici que la plupart des débutants dans le monde commencent leur formation. La majorité des langages de programmation ont été créés sur la base du C et héritent à bien des égards de sa structure et de sa syntaxe.

En apprenant le C, vous apprenez les bases non pas d’un langage de programmation, mais de plusieurs.

Examinons les caractéristiques de ce langage qui le rendent optimal pour l'apprentissage :

  • Une base facile à comprendre : certaines des fonctionnalités intégrées du langage sont incluses dans des bibliothèques de plug-ins séparées pour plus de simplicité. Ces éléments incluent la plupart des fonctions et méthodes mathématiques permettant de travailler avec le système de fichiers ;
  • Système de typage optimisé – grâce à un ensemble simple de types de données et à un typage strict, le risque de commettre des erreurs lors du processus d’écriture du code du programme est réduit ;
  • L'accent mis par C sur le type de programmation procédurale, dans lequel une hiérarchie claire de tous les éléments de code est observée ;
  • Accès à la mémoire de la machine à l'aide de pointeurs ;
  • Nombre minimum de mots-clés pris en charge ;
  • Prise en charge de la portée du nom ;
  • Prise en charge des types de données personnalisés ( associations et structures).

En termes simples, C est l'endroit où un débutant devrait commencer avant d'apprendre à programmer dans d'autres langages.

Programmes (compilateurs) pour la programmation

Pour apprendre la programmation, il ne suffit pas d’avoir une envie et un ordinateur avec accès à Internet. Pour écrire des programmes en C, vous aurez besoin d'un logiciel spécialisé : un compilateur.

Un compilateur est un programme spécial qui traduit le code du programme sous une forme compréhensible par un ordinateur.

Voici quelques compilateurs spécialisés prenant en charge le langage C :

  • Microsoft Visual Studio est un outil professionnel qui prend en charge de nombreux langages, dont plusieurs langages serveur. Convient aux débutants, si vous le prenez « pour grandir » :

  • Borland C++ est un compilateur gratuit idéal pour les débutants. Contrairement à l’outil précédent, il possède une interface claire et compréhensible. Sa maîtrise ne posera donc pas de difficultés particulières même si vous maîtrisez en toute autonomie les bases de la programmation :

  • Code :: Blocks est un environnement de développement gratuit qui prend en charge l'écriture de code dans plusieurs langues. Option de difficulté moyenne :

Quant à la littérature spécialisée, nous ne recommanderons pas les livres de certains auteurs. Ici, comme on dit, choisissez ce que vous voulez. Car dans la plupart des cas, le choix d’un tutoriel de programmation est un processus individuel. Utilisez la source qui vous convient le mieux.

Découvrez ce que vous devrez faire. En règle générale, les programmeurs écrivent des codes pour les applications utilisées dans les entreprises. Vous devez donc découvrir comment fonctionne l'entreprise, comment elle est organisée et comment son système financier est structuré.

Explorez différents types d'architecture matérielle informatique. Il sera utile d'apprendre les bases de la conception de circuits numériques et de l'architecture informatique. Cependant, certains experts estiment que cela n'est pas nécessaire au stade initial, il suffira donc de lire 2-3 articles sur ce sujet (par exemple, ceci et cela). Vous pourrez y revenir une fois que vous maîtriserez votre premier langage de programmation.

Apprenez un langage de programmation de niveau de base. N'hésitez pas à apprendre quelque chose qui est considéré comme enfantin simplement parce que vous êtes plus âgé. Un exemple d’un tel langage est Scratch. De tels langages faciliteront le travail avec votre premier vrai langage de programmation. Toutefois, cette étape ne doit pas être considérée comme obligatoire. De plus, vous pouvez le faire avant l’étape précédente.

Apprenez l'un des systèmes de modélisation avancés (par exemple, UML ou ORM).

Commencez à écrire une petite console ou des applications de type console. Vous pouvez utiliser des exercices issus de manuels de programmation. Choisissez un outil pour écrire des programmes dans le langage de programmation avec lequel vous travaillez.

Commencez à appliquer ce que vous avez appris.

  • Paradigme orienté objet.
  • Suivez un cours d'introduction à au moins un langage de programmation dans un paradigme de programmation différent. Vous devez apprendre un langage dans chaque paradigme, et généralement tous les bons programmeurs le font, mais tout ce que vous avez à faire est de commencer avec un langage, de travailler avec, de vous entraîner, puis de passer à d'autres une fois que vous avez une réelle expérience de programmation. Examinez de plus près l’un des domaines suivants :

    • Paradigme de programmation logique.
    • Paradigme de programmation fonctionnelle.
  • Essayez de comparer deux langages de programmation que vous maîtrisez déjà.Évaluez les forces et les faiblesses de chacun. Habituellement, ils procèdent ainsi :

    • Prenez un exemple simple de vos premiers travaux dans un premier langage de programmation et réécrivez-le en utilisant un deuxième langage.
    • Créez un nouveau projet et utilisez-y les deux langues. Vous ne pourrez peut-être pas faire certaines choses dans l'une des langues - tout dépendra du projet et des langues que vous choisissez.
    • Réalisez des aide-mémoire ou comparez des constructions similaires dans les deux langues et leurs différences dans un tableau récapitulatif.
    • Trouvez un moyen de reproduire les constructions trouvées dans une langue en utilisant une autre langue.
  • Apprenez les concepts de programmation visuelle en utilisant l'un des langages de votre choix. Presque tous les langages de programmation ont des versions ou des bibliothèques qui prennent en charge la programmation visuelle et d'autres types de programmation de console ou de type console. Vous pouvez procéder comme suit :

    • Suivez un cours d'introduction à la programmation événementielle. Fondamentalement, la programmation visuelle est basée sur des événements et leur traitement (en utilisant le langage de programmation de votre choix).
    • Essayez de travailler avec de nombreux logiciels de bureau pour comprendre ce que font les programmes. La plupart des sociétés de développement proposent des versions bêta d'applications que vous pouvez essayer. Suivez l'évolution de l'interface utilisateur.
    • Lisez des articles ou des didacticiels sur l'utilisation des interfaces utilisateur graphiques.
  • Commencez à appliquer vos connaissances en développant des applications simples. Essayez d'utiliser les connaissances que vous acquérez pour résoudre les problèmes quotidiens. Par exemple, écrivez des programmes qui renommeront des fichiers en masse, compareront visuellement les fichiers texte, copieront les titres des documents vers un emplacement spécifique dans un fichier mémoire ou un fichier texte distinct, etc. Pour commencer, gardez les choses simples.

    Peut-être que, pour une raison quelconque, vous avez soudainement voulu devenir programmeur. La bonne nouvelle est qu’une fois que vous aurez compris le système, vous pourrez apprendre à réussir les entretiens et à survivre à vos premiers mois de travail.

    La mauvaise nouvelle est qu’il n’y a toujours pas d’échappatoire à l’ABC de la programmation, et pour vous sentir à l’aise dans votre nouveau poste, vous devrez de toute urgence finir d’apprendre tout ce que vous êtes censé savoir déjà sur le bout des doigts.

    Bien entendu, l'article se concentrera exclusivement sur mon expérience personnelle, qui m'a permis de passer des entretiens même dans des entreprises aussi prestigieuses que Luxoft.

    Comment je suis devenu programmeur

    J'ai découvert l'ordinateur pour la première fois à l'âge de 6 ans. À l’âge de 13 ans, j’avais déjà mon propre site Internet personnel. J'ai eu de mauvais résultats à l'école et à l'université aussi. Au cours de ma deuxième année, mon ami a trouvé un emploi de programmeur Java et m'a fortement recommandé de faire de même. L'idée m'a intrigué. Il fallait un plan.

    Première étape : reprendre

    Le premier et principal problème auquel sont confrontés les débutants est leur CV. Sans un CV adéquat et accrocheur, vous ne serez pas invité à des entretiens. Mais qu’en est-il de ceux qui n’ont aucune expérience professionnelle ? Afin de ne pas aller aux RH les mains vides, mon ami et moi avons écrit dans mon CV une année entière d'expérience de travail sur son projet, sur lequel nous étions censés avoir travaillé ensemble.

    Politique salariale

    Le prochain point important du CV après les technologies et la langue anglaise très demandées était le salaire souhaité. Sans y réfléchir à deux fois, mon ami et moi avons décidé de jouer gros et avons alors écrit une somme exorbitante de mille dollars, censée éliminer les « entreprises voyous ».

    Honte et honte

    Les premiers entretiens ont été un échec. Ils se sont littéralement moqués de moi. Lors du premier entretien technique, au cours duquel on m'a posé quelques problèmes sur papier, j'ai été compris en un rien de temps. Quelqu’un a même recommandé paternellement le livre Thinking in Java.

    Premier emploi

    Finalement, j'ai été invité à un entretien dans une succursale d'une entreprise danoise, où j'ai répondu à des questions fondamentales et j'ai agréablement surpris tout le monde avec mon anglais. J'ai été embauché en tant que développeur Java junior à une condition : pendant les trois premiers mois, je suivrais le cours SCJP (Sun Certified Java Programmer), qui comblerait mes lacunes et ferait de moi un spécialiste mieux préparé. Quoi de mieux qu'un stage rémunéré sans avoir à travailler (montrer son incompétence) ? J'ai travaillé dans cette entreprise pendant six mois, afin de pouvoir, après quelques mois, être promu dans une plus grande entreprise.

    Sur la base de mon expérience amère, mais toujours inestimable, je vais donner une liste de recommandations qui aideront les autres aventuriers à trouver relativement rapidement un emploi de programmeur.

    1. CV. Il doit être correctement formaté et rédigé exclusivement en anglais. Si vous n’avez pas assez d’expérience, vous pouvez (et devriez) l’inventer, mais vous devez vous préparer à être responsable de chaque mot écrit dans votre CV. Par exemple, si JMS (Java Message Service) y est écrit, alors au moins vous devriez suivre au moins un didacticiel et jouer avec JMS, faire quelques exemples, même s'il s'agit d'un banal « Bonjour tout le monde ! Maintenant, il sera plus pratique de se montrer, vous avez vraiment « travaillé avec JMS ».
    • Apprenez l'ABC de la programmation. Si vous pouvez encore vous permettre de « nager » dans les profondeurs de certaines technologies complexes comme Struts et Spring, alors les réponses incorrectes aux questions fondamentales ne seront jamais pardonnées. Si je vous réveille la nuit, vous devriez pouvoir parler de POO, d'héritage, d'encapsulation, de polymorphisme et d'autres concepts de base, et également pouvoir tout expliquer avec des exemples.
    • Pratique. Vous ne pouvez apprendre à programmer qu'en programmant. C'est douloureux et désagréable (si vous n'êtes pas programmeur), mais il n'y a pas d'autre moyen. La seule façon de ne plus avoir peur des problèmes d’entretien est de les résoudre vous-même à la maison.
    • Lisez des livres et suivez des tutoriels sur Java uniquement en anglais Absolument tous les termes de programmation sont plus faciles à comprendre dans la langue d'origine, c'est-à-dire en anglais. Lire de la littérature technique sur Java en russe, c'est manquer de respect à soi-même. Pourquoi? Parce que pour comprendre quelque chose du genre "... le module table est à bien des égards une option intermédiaire, un compromis entre le script de transaction et le modèle de domaine", vous devez être vraiment un génie, ce qui est peu probable.
    • Apprenez enfin l'anglais ! Tout d’abord, cela concerne l’anglais parlé. Il est difficile de compter le grand nombre de programmeurs intelligents qui, dans ma mémoire, ont été rejetés pour une seule raison : un niveau d'anglais parlé insatisfaisant. Non, si, bien sûr, vous envisagez de travailler comme programmeur quelque part dans une entreprise nationale, votre niveau de langue ne jouera pas un rôle important. Mais si vous souhaitez trouver un emploi dans une entreprise internationale, alors Dieu lui-même vous a ordonné d'apprendre la langue. Votre niveau d’anglais se traduira par des centaines de dollars supplémentaires en augmentation de salaire.
    • Connaître le marché. Recherchez les postes vacants, lisez les exigences, demandez à vos amis programmeurs combien ils gagnent. Utilisez des services qui vous permettront d'avoir une image plus complète du marché informatique. Vous seriez surpris de savoir combien de programmeurs talentueux gagnent la moitié de ce qu'ils pourraient, simplement à cause de leur paresse et de leur réticence à garder le nez au vent.
    • Marchander. Il n’y a rien de mal à marchander votre salaire. Votre argument dans un litige peut être soit un bon anglais, soit une offre d'emploi dans une autre entreprise. Le dernier argument fonctionne particulièrement bien : « Oui, mais Luxoft m'offre 300 $ de plus, pourquoi devrais-je accepter vos conditions ? Peut-être pourrions-nous trouver un compromis ? À un moment donné, j'ai réussi à négocier plusieurs fois une centaine de dollars supplémentaires sur mon salaire, et après un an, cette centaine de dollars m'a donné à l'improviste un revenu supplémentaire de 1 800 dollars. Vous devez comprendre que même pour les petites entreprises informatiques étrangères, cent dollars supplémentaires sont comme une goutte d'eau dans l'océan.
    • Trouvez-vous un mentor. C'est bien si vous avez un ami plus expérimenté qui peut vous donner des conseils et répondre même aux questions les plus stupides. Grâce à son expérience et son soutien moral, vous progresserez en programmation plus vite que tout seul. Si vous n’avez pas de mentor, c’est une bonne idée de suivre des cours de programmation qui non seulement donneront une image plus complète de ce que fait un programmeur, mais vous permettront également de rencontrer des personnes plus expérimentées. Qui sait, peut-être que l’un d’eux voudra devenir votre mentor.
    • Démarrez votre projet. Même s'il s'agit d'un exemple des pires pratiques de codage et que vous ne le terminez jamais, vous aurez au moins quelque chose à faire qui vous donnera envie de comprendre la programmation et d'apprendre de nouvelles technologies. De plus, vous disposerez d’un sujet supplémentaire pour des conversations intimes lors des entretiens.
    • Cherchez un emploi pendant l'été. Premièrement, lorsque tout le monde est en vacances, les entreprises sont plus susceptibles de manquer de personnel et d’être convoquées pour un entretien. Deuxièmement, puisque vos concurrents-candidats sont également en vacances, vos chances d'être à nouveau remarqué par les RH augmentent.
    • Ne jamais abandonner. Même si vous avez l'impression d'échouer à l'entretien, il est important de persévérer et de continuer à essayer de résoudre le problème, aussi difficile que cela puisse paraître. Qui sait, peut-être qu'en ce moment même votre diligence dans votre travail est testée !
    • Évitez les tâches sur l'ordinateur. Il n'y a aucun moyen de démasquer un non-professionnel plus rapidement que de le lancer immédiatement dans le feu de l'action en matière de programmation. Votre tâche est d'essayer de porter toutes les conversations à un niveau élevé, où les approches et concepts généraux sont discutés, mais pas de mise en œuvre spécifique pour résoudre un problème particulier. Si on vous donne du papier et un stylo et qu’on vous demande d’écrire la solution, demandez la possibilité de la dessiner schématiquement. Ainsi, en vous éloignant de la syntaxe d'un langage spécifique, vous vous épargnerez non seulement quelques erreurs gênantes, mais montrerez également que vous êtes capable de penser de manière abstraite sans entrer dans trop de détails.
    • Soyez le premier à parler.Évitez les situations où il y a une pause dans l’air, pendant laquelle une autre question insidieuse pourrait germer dans l’esprit de l’intervieweur. Dès qu’il y a un problème, commencez à raconter quelque chose que vous connaissez bien. Essayez d'imposer votre jeu à l'intervieweur.
    • Essayez de dire la vérité. Si vous n’avez jamais écrit de procédures PL/SQL, il est préférable de le dire directement. Cela peut être un inconvénient pour vous, mais vous vous éviterez de vous embêter en répondant à une question dont vous ne savez rien. Un intervieweur expérimenté détectera vos lacunes dans vos connaissances à un kilomètre et demi.
    • Méfiez-vous des petites entreprises. Les petites entreprises ont tendance à avoir de petites équipes. Moins il y a de personnes dans l’équipe, plus vite ils vous comprendront. Votre objectif est une grande entreprise maladroite, où vous pouvez gagner du temps.
    • Suivez le code vestimentaire. Si vous vous présentez à un entretien pour un poste de programmeur en costume élégant, cela éveillera plus de suspicion que si vous vous présentez en short ou en pull usé. Ce serait également une bonne idée de mettre des lunettes en disant : « Je suis un véritable rat de bibliothèque ».
    • Bien sûr, quelqu'un qui est au courant pourrait souligner que la recette ci-dessus est plus un moyen de devenir codeur que programmeur, et il aurait raison quelque part. Cependant, le fait est que vous ne trouverez jamais de poste vacant portant le titre « Bad Coder Wanted ». Tout le monde a besoin de programmeurs. De préférence senior. Ceux qui ont plus de cinq ans d'expérience dans le travail sur des projets d'entreprise et qui maîtrisent également plusieurs langages de programmation, ont en même temps une compréhension approfondie du SGBD, peuvent écrire des scripts bash, des procédures stockées, maîtrisent Linux, TCP/IP. , ont des qualités de leadership, une résistance au stress, des compétences en communication et une foule d’autres compétences, « sans lesquelles c’est impossible ».

      De telles personnes existent, je les ai vues moi-même. Mais ils sont trop peu nombreux pour couvrir pleinement les besoins du marché toujours plus avide des informaticiens. Et cela signifie que vous avez toujours une chance, tel un aventurier que vous êtes.

    Par où commencer à apprendre la programmation à partir de zéro ?
    Dans cet article, j'ai essayé d'analyser en détail s'il est possible de devenir programmeur à partir de zéro et quelles sont les options disponibles pour maîtriser la programmation par vous-même et commencer à gagner de l'argent avec celle-ci.
    MISE À JOUR: Ceux qui cherchent par où commencer à apprendre la programmation à partir de zéro en 2018 (ou se préparent tout juste à commencer en 2019 :)) ont beaucoup de chance grâce au livre « Introduction au développement logiciel » de Yakov Kramarenko. Je recommande de tout cœur d'y jeter un œil - cela vaut la peine d'être mis à jour avec la note Google n°1 et les avis des lecteurs pour ceux qui apprennent à coder par eux-mêmes.

    J'ai essayé de donner le meilleur - à mon avis - de la manière la plus efficace possible. Je vous préviens, ce n'est pas facile ! Une lecture plus approfondie peut vous coûter de nombreuses heures d'activités intéressantes :)

    Je le dis tout de suite : si vous décidez d'étudier la programmation uniquement par vous-même, sans investir d'argent, vous devrez y consacrer plus de temps. Attendez-vous à maîtriser une nouvelle spécialité en au moins un an si vous étudiez en parallèle avec un autre emploi.

    Si vous trouvez quelque chose à ajouter à cet article pour le rendre plus utile aux gens, écrivez dans les commentaires.

    Cet article contient les bonnes pratiques basées sur mon expérience si vous souhaitez apprendre la programmation par vous-même. Tout cela est toujours d'actualité avec quelques ajouts.

    Un livre sur la programmation Web pour les débutants

    La version 2016 est traduite : https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about.

    Il est préférable de suivre le cours en anglais. Vous améliorerez votre langage et les informations seront plus fraîches. Bien que le cours n'ait pas beaucoup changé, ce n'est qu'en 2017 que Python a commencé à être utilisé à la place de PHP.

    Terminer le cours prendra du temps, mais fournira une compréhension assez complète qui serait autrement difficile à obtenir par vous-même.

    Dans un premier temps, vous devez décider quel domaine de programmation vous intéresse. Si nous parlons d'apprendre le développement à partir de zéro et que vous souhaitez commencer à gagner de l'argent rapidement, alors à mon avis, il existe deux options : le développement pour appareils mobiles ou le développement Web.

    Le meilleur choix dans une telle situation, à mon avis, est de commencer à apprendre le développement web. Ici, le seuil d'entrée pour les débutants est plus bas et il est possible de commencer à exécuter des commandes simples plus tôt.

    Comment devenir soi-même programmeur à partir de zéro

    Si je partais de zéro pour apprendre le développement Web par moi-même (en réalisant que sans investir d'argent, c'est un chemin plus long), alors je me recommanderais ce chemin :

    1. Comprendre HTML et CSS

    Un bon cours pour le développement de base du HTML et du CSS : https://learn.shayhowe.com/html-css/ (anglais) ou https://webref.ru/layout/learn-html-css (traduction).

    Après cela, cela vaut la peine de s'intéresser aux capacités de Bootstrap, qui est devenu le standard de facto pour le développement accéléré d'applications Web : http://getbootstrap.com/

    Cela suffira pour les prochaines étapes.
    Vous voudrez peut-être vous arrêter à ce stade et étudier CSS plus en détail. Cela vous donnera l'opportunité de travailler en tant que concepteur de mise en page - une personne qui transforme une conception en une page HTML statique, après quoi le programmeur l'anime, mettant en œuvre la logique du projet.

    Vous pouvez également gagner de l'argent grâce à cela, à la fois en tant qu'indépendant et en travaillant dans une entreprise informatique spécialisée dans le développement Web.

    Mais depuis que nous avons décidé de devenir programmeur, on passe à autre chose !

    2. Apprenez à connaître jQuery

    Si vous l'avez aimé, vous pouvez continuer à comprendre le frontend et commencer à apprendre Javascript.

    Si https://angularjs.org/ ou http://backbonejs.org/ suit, alors c'est la voie vers le développement front-end. Une bonne spécialité, d'autant plus que de telles connaissances seront utiles à tout programmeur ayant choisi le développement web.

    Mon conseil est de s'en tenir à jQuery pour le moment et de passer à autre chose.

    3. Maîtriser un langage de programmation serveur

    Il y a beaucoup de choix ici. Les langages de programmation les plus prometteurs sont Ruby, Java, Python, Node.JS (Javascript pour le serveur).

    Le langage de programmation le plus simple pour un débutant est Python. Si vous apprenez Python puis le framework de développement web Django, vous aurez tout ce dont vous avez besoin pour vous lancer seul dans des projets assez complexes.

    Une bonne option est le langage de programmation Python et Django

    De plus - Python et Django vous apprendront la programmation « correcte ». Python figure systématiquement parmi les 5 à 10 langages les plus populaires, et les bons spécialistes de Python comptent parmi les programmeurs les mieux payés. Python est à la fois un langage de programmation simple et compréhensible pour les programmeurs débutants, et en même temps il est utilisé dans de nombreuses grandes entreprises et sur de grands projets.

    Pour commencer par vous-même, lisez « Python for Kids » de Jason Briggs ou regardez :

    Entre autres matériaux, je recommande Learn Python The Hard Way. livre « Python simple. Style de programmation moderne." Et bien sûr, le didacticiel Python 2 et le didacticiel Python 3.

    Django est sans doute le meilleur framework pour le développement Web

    Le meilleur outil pour toutes les occasions est très difficile à trouver. Django a le potentiel pour devenir un tel outil de développement Web.

    Par où commencer pour apprendre Django :

    Commencez par la documentation officielle, il y a un très bon tutoriel là-bas : https://docs.djangoproject.com/en/2.1/intro/

    Tango avec Django est une bonne opportunité d'améliorer votre anglais et en même temps de comprendre comment les projets web sont structurés et comment tout fonctionne.

    Option n°2 – PHP et WordPress

    Une autre façon consiste à commencer avec PHP et à travailler avec les CMS populaires. Si vous apprenez vous-même la programmation et souhaitez vous lancer rapidement, commencez par PHP.

    Beaucoup de gens considèrent PHP comme un langage de programmation « pas tout à fait réel », et pour cause. PHP est rarement utilisé dans les grandes applications Web et est conçu uniquement pour le Web - il ne peut pas être utilisé dans d'autres domaines.

    D’autre part, PHP est en tête du nombre de sites Web lancés dans le monde. Les CMS (systèmes de gestion de contenu) les plus populaires sont basés sur celui-ci.

    Après cela, découvrez comment créer des thèmes pour WordPress - c'est probablement le CMS le plus populaire au monde, à en juger par le nombre de sites en cours d'exécution.

    Une fois que vous avez bien compris cela, vous pouvez déjà trouver un emploi. Il existe de nombreux sites utilisant PHP et WordPress, il y a donc suffisamment de travail pour tout le monde.

    Comment commencer à gagner de l'argent en tant que programmeur

    Beaucoup de gens imaginent le travail d'un programmeur indépendant comme ceci :

    En réalité, cela ressemble à ceci :

    Si vous êtes prêt à travailler en tant que programmeur et cherchez un moyen de gagner de l’argent, bienvenue en freelance ! Les échanges indépendants vous permettront de trouver des commandes simples (peut-être presque gratuites au début) - pour vous entraîner. En règle générale, travailler pour une entreprise informatique peut être plus lucratif si vous recherchez simplement un emploi en programmation.

    Après le point 2 - après avoir maîtrisé HTML, CSS et jQuery - vous pouvez vous rendre sur des échanges indépendants et prendre des commandes simples, créant ainsi votre profil.

    Connaissez-vous l'anglais? https://www.upwork.com/

    Pas du tout, même avec un dictionnaire ? http://freelance.ru/

    Au moment où vous pourrez créer vous-même des sites Web, il vous sera plus facile de trouver des clients - il y aura des critiques et de l'expérience.

    Chemin rapide vers le développement Web

    D'après mon expérience, apprendre la programmation à partir de zéro prendra au mieux 6 à 12 mois, 6 mois si vous avez quelqu'un pour vous aider.

    Pour accélérer le processus d'entrée en informatique, recherchez la possibilité de suivre une formation (vous en aurez peut-être besoin de plusieurs) ou trouvez une personne qui se formera avec vous. En réalité, sans une personne qui vous transmettra son savoir, c'est très difficile ; vous pouvez rester assis pendant un an à lire des livres et ne jamais commencer. Et avec une personne compétente qui sait parler simplement de choses complexes, c’est beaucoup plus facile.

    À une époque, j’avais choisi la voie d’entrée par la formation. Etant donné que j'en savais beaucoup sur le développement, cela m'a permis de maîtriser en 2 mois ce qui aurait pu prendre six mois. Trouvez votre chemin.

    J'ai des gens qui ont sérieusement décidé de se lancer dans une carrière de programmeur et qui souhaitent accélérer le processus. Il existe de nombreux autres cours. Si vous trouvez un mentor - une personne qui vous guidera par la main - cela raccourcira considérablement votre chemin pour devenir développeur.

    Dès que vous êtes sûr de pouvoir créer quelque chose, recherchez une entreprise dans laquelle vous pouvez développer davantage ou des clients.

    HTML, CSS, Python et Javascript ne sont que les connaissances de base, la première étape. Ensuite, la pratique, l’étude des algorithmes et des outils de développement sont très importantes.

    Si vous avez des questions, posez-les dans les commentaires ! J'espère que cet article vous aidera à faire le premier pas. Bonne chance!



  • Des questions ?

    Signaler une faute de frappe

    Texte qui sera envoyé à nos rédacteurs :