Quelle est la meilleure façon d’être programmeur ? Comment apprendre à programmer à partir de zéro à la maison

1.1 Pourquoi en avez-vous besoin

Soyez un scribe ! Cela [ce poste] vous libérera d’impôts, il vous protégera de toutes sortes de travaux. Elle t'enlèvera de la houe et... et tu ne porteras pas le panier. Elle vous séparera de l'aviron et de l'aviron, elle vous éloignera des ennuis. Vous ne serez pas sous plusieurs dirigeants et plusieurs dirigeants.
[...]
Devenez scribe ! Ses membres sont lisses et vos mains deviendront douces. Quand vous sortez, vous êtes habillé, vous êtes exalté, vous êtes interrogé par les courtisans. Lorsqu’ils recherchent quelqu’un de compétent, ils vous trouvent. Ceux qui ne savent rien cherchent un scientifique. Il s'élève au point de recevoir le titre de ser, loué pour son excellent comportement.

Papyrus Apastasi II, Egypte ancienne

Le temps passe, mais rien ne change. raison principale le fait est que les programmeurs sont indispensables sur le marché du travail. La demande est la cause première de tous les autres facteurs. Bonnes conditions travail, salaires élevés, direction loyale. Tout cela a l’air très, très attrayant. En fait, le métier de programmeur est le seul ascenseur social de notre époque. Vous n’avez pas besoin de parents riches, de relations étendues avec toutes sortes de « bonnes personnes », d’une éducation supérieure prestigieuse et d’autres attributs des personnes qui réussissent à notre époque. Tout ce dont vous avez besoin est la capacité de créer des programmes informatiques ou des sites Web. Vous pouvez commencer à programmer tout en vivant dans la province la plus éloignée et la moins prestigieuse. Et obtenez un succès fantastique dans la vie.

En gros, dans le pire des cas, votre carrière pourrait ressembler à ceci. Premièrement, six mois à un an d’études indépendantes. Ceux. études sans approfondissement aide extérieure. Le maximum que vous puissiez faire est de demander quelque chose sur les forums thématiques. Ils vous aideront certainement. Mais 99 % d’entre eux liront de gros livres épais et feront des exercices à partir de là, 3 à 4 heures par jour. Ensuite, vous pouvez être payé pour vos connaissances. Et il sera possible de trouver un tel travail. Après avoir travaillé ainsi pendant un an, le salaire le plus courant est de 300 à 400 dollars. Vous vivrez une expérience qui vous ouvrira toutes les portes de la vie. Vous pouvez recevoir 1 000 $ ou plus à distance et/ou déménager là où vous préférez. Même dans un autre pays. Et y vivre n'est pas pire que chez les locaux. Je ne soutiens pas le slogan stupide « sortez de... », mais si vous voulez vraiment changer de résidence permanente. Ce métier est le chemin le plus court et le plus simple.

Une fois votre stage terminé, votre situation ne sera jamais pire. Ce sera très difficile. Même purement psychologiquement, le métier est relaxant. Vous n'aurez pas peur des crises, des guerres, des catastrophes naturelles et de la mauvaise gestion. Parce qu'à tout moment, vous pouvez vous déplacer n'importe où et changer de travail pour un autre. Vous aurez toujours assez d’argent pour un « petit pain et du beurre » et même pour un remboursement anticipé de l’hypothèque.

1.2 Qui peut devenir programmeur ?

Maintenant un peu de goudron. Quiconque sait travailler avec sa tête peut devenir programmeur. En fait, travailler avec sa tête est aussi dur qu’un dur travail physique. Lorsque le cerveau est sollicité, il consomme beaucoup de nutriments et d’énergie. Il faut le forcer à travailler par la force de sa volonté. On ne trouve pas plus souvent des personnes qui aiment travailler avec leur tête que des personnes qui aiment l'activité physique. Nous savons tous combien de personnes peuvent volontairement faire des exercices le matin et aller régulièrement à la salle de sport pendant des années. Environ le même nombre souhaitent volontairement charger leur cerveau de travail. Cela demandera de la volonté et de la patience. Si vous êtes prêt à résoudre des problèmes complexes, des problèmes « insolubles » depuis plus d'un an, vous pouvez devenir programmeur.

Bien sûr, dans cette partie, j'ai dû énumérer le type d'éducation que vous devriez avoir. Quels cours, diplômes et compétences devez-vous posséder ? Mais tout cela est secondaire. Parce que les diplômes, les compétences et les cours s’acquièrent. Si vous n’êtes pas prêt à ronger le granit de la science, il ne vous arrivera rien. Sinon, vous pourrez acquérir toutes les connaissances nécessaires en six mois.

Il est tout à fait logique que plus vous connaissez l'ordinateur, plus votre chemin sera facile. Vous devez être capable d'utiliser un ordinateur comme un utilisateur expérimenté. Ceux. sais ce que c'est système de fichiers, en partie, comment y stocker vos fichiers, comment les ouvrir avec différents programmes, comment installer des programmes et utiliser l'un d'entre eux, si cela n'en nécessite aucun connaissances particulières sur ce que font ces programmes. Je pense qu'en six mois, on peut apprendre à utiliser suffisamment un ordinateur. Même si vous ne l'avez jamais vu auparavant.

La plupart des gens qui souhaitent devenir programmeurs sont des amateurs. jeux d'ordinateur, dont les parents ont coupé Internet pour les ramener à la réalité. Retour à la réalité, où il faut se nourrir, et non un personnage virtuel. Ils sont employés par les administrateurs système au niveau le plus bas. Ils vont travailler dans le support technique parce que l'ordinateur est la seule chose qu'ils peuvent bien utiliser. Ces personnes possèdent déjà les connaissances nécessaires.

Si vous avez des difficultés à communiquer avec un ordinateur, mon conseil est d’apprendre d’abord à l’utiliser en toute confiance. Ne serait-ce que parce que les problèmes que vous rencontrerez en étudiant la programmation nécessitent la même approche et les mêmes compétences que lors de la résolution de problèmes simple utilisateur. Par conséquent, les utilisateurs inexpérimentés doivent devenir expérimentés. Il existe une énorme quantité de littérature gratuite, de cours interactifs, de didacticiels vidéo et d'utilisateurs expérimentés pour vous aider. Au moins, les tâches d'apprentissage de la programmation sont d'un ordre de grandeur plus difficiles que celles d'un simple utilisateur. De bonnes compétences informatiques sont la responsabilité de tout programmeur !

D'autres connaissances, comme les langues étrangères et même les mathématiques, peuvent être considérées comme insignifiantes au stade initial.
Bien sûr, il y aura des gens qui demanderont : « Attendez !!! Et si je suis stupide (vieux, handicapé, etc.) ??? Quel devrait être mon QI ???

En fait, il n’existe pas de moyen à 100 % de déterminer vos capacités en programmation sur la base de certains critères formels. Selon un scientifique populaire, neurophysiologiste, le cerveau humain est très changeant. Si le poids, la taille et la taille des principaux organes humains varient, de manière conditionnelle, de +\-50 % chez la majorité des adultes, alors la taille des lobes du cerveau varie des dizaines de fois. Il est donc très difficile de comprendre quelle activité vous convient le mieux. Pour ce faire, nous devons créer un nouveau type de produit déjà incroyablement coûteux. dispositif médical. Embauchez ensuite des spécialistes rares et coûteux qui analyseront les relevés de l'appareil. Et en même temps, ce n’est pas un fait que, pour votre argent, ils ne feront tout simplement pas d’erreurs. Comme cela arrive dans tous les projets complexes et coûteux, au stade initial.

Bien sûr, tout le monde pense que tout peut se réduire à quelque chose comme un examen d’entrée à l’université, dont la matière principale sera les mathématiques. Mais non! Je m'empresse de contrarier tout le monde. De l’extérieur, les mathématiques ressemblent à la programmation, mais ce n’est qu’à première vue. Je me souviens qu'il y a 10 ans, j'avais lu un extrait d'un livre dans lequel l'auteur, un programmeur expérimenté, disait que la programmation ressemblait davantage à de la linguistique. Oui oui! Selon lui, les linguistes professionnels peuvent être les meilleurs programmeurs que des mathématiciens professionnels ! Je ne peux pas être d'accord à 100%. Mais il y a là une part de rationalité.

Regardons un exemple. Vous devez rédiger des instructions pour que votre enfant fasse ses courses au magasin. Du genre : « Vous allez au magasin, cherchez du sucre de canne, si vous n’en avez pas, achetez du sucre ordinaire. Ensuite, vous achetez du pain, une miche de blanc et de noir. Si vous n’avez pas de noir, achetez du gris… » Vous serez surpris, mais ce genre d’instructions est de la pure programmation. De plus, vous pouvez les rédiger en langues étrangères. Ou vous pouvez le faire, en utilisant la syntaxe d'un langage de programmation de la même manière qu'un langage étranger. Et un autre programmeur pourra comprendre ce qui est écrit.

Pour ceux qui n’y croient pas, regardons la logique simple mise en œuvre dans des centaines de programmes. « Interrogez le nombre de lignes allouées dans le tableau. Si la quantité est supérieure à zéro, activez le bouton « Appliquer ». Sinon passif… » Vous pouvez également écrire cet algorithme dans une langue naturelle maternelle ou étrangère ou dans un langage de programmation.
Vous serez également surpris, mais traduire des algorithmes du langage naturel vers un langage de programmation est le travail le plus courant. Lorsqu'un programmeur se voit confier la tâche de mettre en œuvre une logique claire inventée par d'autres. Et vice versa, traduire la logique programmée en langage naturel est également nécessaire. Quand ces « autres » ont besoin de décrire exactement comment fonctionne le programme. Oui, c’est vrai, C++, PHP et d’autres langages de programmation peuvent être perçus comme des langues étrangères particulières. Les mathématiques sont également nécessaires, mais en règle générale, lors de l'exécution de tâches hautement spécialisées que vous ne rencontrerez peut-être jamais. Vous pouvez commencer sans aucune préparation mathématique.

La programmation est une branche distincte de la science. Cela est en quelque sorte lié aux mathématiques. Mais cela peut aussi être associé à la linguistique. Les technologies de programmation individuelles sont sûrement liées à autre chose. Par conséquent, vous ne pouvez pas simplement dire si vous réussirez ou non.

1.3 Trois étapes sur le chemin vers un métier

Maintenant que vous en avez assez de toutes ces absurdités de programmation et d'un peu faits incroyables, il est temps de passer directement aux études. Votre évolution professionnelle doit se dérouler en trois étapes :

1) Période d'essai. Tu dois essayer ce type activités.
Le fait est que maîtriser un métier nécessite six mois voire un an d'études. Et vous devez comprendre le plus tôt possible si vous le pouvez ou non. Faut-il investir votre temps et même votre argent ? Ou vous serez déçu.

Durant cette période, il est nécessaire de maîtriser 2-3 vraies technologies de programmation. Mais leur maîtrise ne devrait pas prendre beaucoup de temps. Si vous pouvez le gérer, il est logique de consacrer les six mois ou un an promis à l’étape suivante.

2) Étude indépendante.
Si vous avez réussi l'étape précédente, vous pouvez investir votre temps dans la maîtrise du métier.

3) Stage.
Votre premier emploi et votre premier argent.

2 Période d'essai

2.1 Que faire ?!

Il n'y a en réalité qu'une seule façon de savoir si vous le pouvez ou non. « Pour commencer à programmer, vous devez commencer à programmer. Et pour commencer à programmer, il faut commencer à programmer !

Beaucoup de gens considèrent la programmation comme une tâche difficile ; il faut savoir beaucoup de choses pour travailler en tant que programmeur. Et c'est vrai. Si c’était facile, ils ne toucheraient pas des salaires aussi élevés. Mais d’un autre côté, il existe de nombreux livres accès libre. Et la plupart d’entre eux sont de grande qualité. Les professionnels des grandes entreprises ont tendance à écrire de gros livres ou articles dans lesquels ils décrivent leur expérience inestimable aux autres. Des gens étranges bien sûr. Au lieu de recevoir d’énormes sommes d’argent pour leur travail, ils se lancent dans l’écriture de livres, pour lesquels ils paient moins, voire rien du tout. Ces « bizarreries » seront discutées plus tard. Et maintenant, il faut bien comprendre qu'il y a très peu de secrets dans ce métier. La plupart des questions peuvent être résolues en effectuant une recherche sur Internet. Ainsi, malgré la complexité, la programmation est l’un des métiers les plus accessibles.

Pendant période d'essai vous devez décider des technologies sur lesquelles vous allez vous lancer. Ils ne devraient pas être trop compliqués ni prendre beaucoup de temps à apprendre. Mais, d’un autre côté, ils doivent être demandés par le marché, pour que même les quelques semaines ou mois qui y sont consacrés ne soient pas vains.

Personnellement, mon avis est que ce devrait être :

2.1.1 HTML
Un langage de programmation très simple. Pour être plus précis, ce n’est même pas le langage de programmation auquel tout le monde est habitué. Procédural et orienté objet, comme C++, PHP, Ruby, etc. Il est impossible d’écrire dessus « que faire en magasin ». Il s'agit d'un langage de balisage que vous trouverez sur n'importe quelle page Web. Les instructions de cette langue ressemblent à ceci : « Ce paragraphe doit avoir une police en italique », « Afficher l'image image.png ici », « La taille de la police de ce morceau de texte est de 12 points. La couleur est rouge."

C'est un langage très utile pour les débutants. Même si vous n’envisagez pas de vous lancer dans le développement web, ces connaissances vous seront utiles. Temps de développement approximatif : 2 à 5 jours. Dans le même temps, il n’est pas nécessaire de mémoriser de nombreuses données de référence. Il suffit d'apprendre à utiliser ces mêmes ouvrages de référence. Parmi les programmeurs, HTML n’est pas considéré comme quelque chose de sérieux et de complexe. Mais l'ignorance Les bases du HTML, quelque chose que vous ne pouvez admettre qu’à vos proches. Les employeurs et les collègues vous percevront comme un retard mental.

Au fur et à mesure que vous apprenez le HTML, vous rencontrerez constamment des références à Technologies CSS. L'étude n'est pas nécessaire à ce stade. Mais si vous vous intéressez au CSS, cette connaissance ne sera pas superflue.

2.1.2 JavaScript

C’est déjà un « vrai » langage de programmation. Son étude est étroitement liée au HTML. C’est là que vous attendent les premières vraies difficultés. Bien qu'il existe un grand nombre de manuels de langue, de cours vidéo et de toutes sortes de sites Web, où tout est détaillé dans les moindres détails. Ce sera un véritable test.

Quelqu'un a sûrement hâte de commencer à apprendre le C, Python et même Haskell. Mais même si vous envisagez de devenir programmeur système. Très probablement, tôt ou tard, vous rencontrerez HTML et JS.

L'une des raisons du choix de JS comme premier langage de programmation est son applicabilité dans différents domaines. A commencer par la logique des pages web côté client. Terminons par le langage QML de type JS, où les développeurs du framework Qt nous tirent par les oreilles.

Si un programmeur débutant ne connaît pas des choses simples, il n’y a guère de différence par où commencer. Les technologies proposées ne nécessitent pas d’environnements de développement et d’exécution volumineux et lourds. Il existe de nombreux manuels et ouvrages de référence en russe. Il n'est pas nécessaire de se confondre avec l'arithmétique des adresses et des détails similaires. Votre tâche consiste à apprendre à créer des constructions logiques de base telles que des boucles, des branches, etc.

Tout manuel contient des exercices. Et au stade initial, vous devriez faire ces exercices. Le plus gros le meilleur!

Cependant, il existe deux petites catégories de personnes qui peuvent remplacer JS par autre chose :

1) Ceux qui ont de bons mentors dans d’autres technologies de programmation.
Par exemple, un frère/entremetteur qui travaille comme programmeur système S. Et il est prêt à vous aider. Dans ce cas, C peut être préférable. Mais à ma connaissance, environ 30 % des programmeurs sont des programmeurs WEB. Donc, avec une forte probabilité, JS sera le bon choix.

2) Les personnes qui ont actuellement besoin d’une autre langue pour travailler. Les administrateurs système utilisent généralement SQL et bash.

Dans le cas de SQL, je ne me ferais pas d'illusions. C’est aussi un « faux » langage. Complexité entre HTML et JS. De toute façon, il faudra probablement l’enseigner à tout le monde. Mais au fil du temps, je vous conseillerais de continuer à essayer quelque chose comme JS qui prend en charge les paradigmes procéduraux et POO. Plus dans apprendre SQL tout est comme ça. Si vous ne le maîtrisez pas, cela ne sert à rien de continuer.

Mais avec bash, tout est différent. J'ai entendu dire que JS vous permettait de remplacer bash via un module dans node.js. Ainsi, si vous avez besoin d’écrire des scripts à partir de zéro, JS sera plus intéressant. Si nous corrigeons ce qui a été écrit devant vous, il n’y a pas d’autre choix. Tout comme avec SQL, JS restera dans votre file d'attente.

2.2 Tutoriels

Une question très importante est de savoir quels supports pédagogiques utiliser. Voici les options dans d'accord par lequel ils doivent passer.
  1. Cours vidéo. Il y en a beaucoup sur n'importe quel sujet. Youtube fournira certainement des listes de lecture pour toute technologie populaire. Même en russe. Tout y est clair et vous pouvez commencer à sculpter votre premier « Bonjour le monde ! c'est nécessaire d'eux. Il n'y a qu'un seul inconvénient. Ils peuvent ne pas couvrir toutes les profondeurs de la langue étudiée. Mais sans cela, vous aurez suffisamment de problèmes.
  2. Manuels multimédias. Il s'agit très probablement de collections de didacticiels vidéo et d'autre chose. Très souvent vendu pour de l'argent.
  3. Livres. Le plus difficile à comprendre. Ils couvrent simplement davantage les subtilités de diverses technologies. Gardez-le pour plus tard. Lorsque vous épuisez les possibilités des options précédentes.
Mais seulement s'il vous plaît, ici et plus loin. Il n’est pas nécessaire d’acheter des cours ou de payer pour des manuels miracles. Tous les « miracles » traînent depuis longtemps, tout au plus sur les torrents. À mon avis, Rutrracker, interdit en Russie, contient la meilleure collection de manuels et de livres multimédias.

2.3 Résolution des problèmes techniques

Faisant preuve de volonté et de patience, vous avez héroïquement commencé à étudier le sujet. Et toutes sortes de choses ont commencé à apparaître devant toi problèmes techniques. Vous pouvez tout faire selon les instructions. Mais vos exemples pourraient ne pas fonctionner. Ne serait-ce que parce que les instructions peuvent avoir été écrites pour des versions précédentes outils logiciels. L'étape la plus difficile est peut-être le premier lancement code source, que vous avez simplement copié du tutoriel.

Les erreurs les plus courantes sont liées au fait que les débutants ont tendance à se précipiter et à considérer certaines choses comme facultatives. Comme toute personne normale, vous pensez qu'il y a des points mineurs dans les livres sur la programmation. Vous souhaitez probablement obtenir des résultats rapidement, sous la forme d'un poste de stagiaire. Et puis, entouré de collègues compétents, vous comprendrez tout et l’étudierez en profondeur. Donc "un tutoriel" sur JavaScript qui ne sera même pas votre langage principal. Cela peut être perçu comme une distance marathon qu’il faut parcourir rapidement. En fait, tout manuel de programmation doit être perçu comme un champ à labourer. Quiconque manque de petites choses se retrouve avec des problèmes insolubles. Et au lieu d'être en compagnie de collègues compétents, ils sont confrontés à une solitude totale lorsqu'ils étudient à nouveau la matière.

Par exemple, avez-vous mal mémorisé un terme mineur ? Et après quelques jours, l’interpréteur de code ou le compilateur vous enverra un message d’erreur détaillé. Dans lequel il y aura des dizaines de termes, à la fois ceux qui ont été rencontrés plus tôt dans le manuel, ainsi que ceux qui n'ont pas été rencontrés. Et l’erreur que vous reconnaissez peut être la clé. Après l'avoir réparé, tous les autres disparaîtront comme par magie. La plupart des raisons d'abandon scolaire au stade initial sont liées au tri des erreurs générées par l'interprète ou le compilateur.

Il vous semble, Description détaillée utiliser des guillemets avec des opérations arithmétiques est une sorte d'absurdité folle que vous n'utiliserez jamais ? Vous ne pouvez pas. Mais l'auteur considère que c'est simple. Par conséquent, plus loin dans le manuel, l'ajout de symboles avec et sans guillemets apparaîtra partout. Mais même si vous décidez qu'il est préférable de prendre un manuel sur un autre langage de programmation pour lequel vous avez de grands espoirs. Il vous tourmentera également avec des lignes comme « 5 » + 3. De plus, avec les mêmes explications verbeuses « stupides ».

Les problèmes insolubles font partie de la vie de tout programmeur. Et peu importe avec quelle diligence vous faites tout, vous n’y échapperez pas. Personnellement, même malgré 5 ans d'expérience, je regarde aussi des livres sur quelque chose d'obscur et de complexe. Et parfois je pense aussi : « C'est une sorte d'absurdité. Comment vais-je résoudre ça ?!” Et absolument le même que le vôtre. Pour moi, beaucoup dépend de la résolution de problèmes qui semblent complètement sans issue.

Si vous avez des problèmes que vous pouvez aborder sur un forum ou un groupe thématique sur un réseau social, alors avec mes problèmes, cela ne sert à rien.

En fait, il existe un algorithme spécial pour les résoudre :

1) Vous devez réfléchir très attentivement aux raisons. Analysez les messages du compilateur, du runtime ou de l'interpréteur (JavaScript) associés à une erreur. Vous devez très bien comprendre ce que l'ordinateur vous dit à propos du problème. Si vous ne comprenez pas, recherchez sur Internet par texte ou par code d'erreur. Très souvent il y a des explications, mais en anglais. Même après traduction, on ne comprend pas grand-chose. Mais il faut essayer très fort. Il ne s’agit pas simplement d’une situation dans laquelle vous résolvez un problème spécifique. C'est une situation où vous acquérez de nouvelles expériences. Pas moins important que les connaissances d'un manuel. Parallèlement à cela, le code potentiellement problématique est analysé. Si vous avez réécrit ou copié le code quelque part, vous devez le comprendre parfaitement.
Si en une heure et demie à deux heures vous semblez avoir tout exploré et tout compris. Mais ils n’ont pas trouvé de solution. Nous devons donc laisser le problème à demain. Même s'il y a plus d'idées.

2) Faites autre chose qui ne dépend pas de votre problème et cela fonctionne. Vous pouvez même continuer à étudier votre guide d’étude actuel. Vous serez surpris, mais au fil du temps, des idées viendront sur la façon de résoudre le problème. S'ils ne sont pas tout à fait clairs. Il n’est pas recommandé de se précipiter pour trouver une solution immédiatement. Il vaut mieux l'écrire et le laisser pour demain.

3) Le lendemain ou tout autre jour. Nous essayons de nouvelles idées pour résoudre le problème. Nous répétons la première étape.

4) Si tout va toujours mal, nous préparons une question pour le mentor ou pour le forum. Vous devez clairement comprendre ce que vous vouliez faire. Et quel est ton code ? Demander aux gens de trouver pour vous du code que vous n'avez même pas pris la peine d'étudier en profondeur montre un manque de respect total.

En règle générale, cela suffit amplement pour résoudre tous les problèmes.

2.4 Travailler avec des mentors

Un petit ensemble de règles pour travailler avec divers spécialistes expérimentés, coachs, mentors, etc.
  • Avant de poser la question, vous devriez essayer de trouver une solution vous-même.
  • Essayez de demander uniquement ce qui n'est pas décrit dans les livres, la documentation et Internet. Sinon, vous y serez envoyé.
  • Si vous êtes envoyé quelque part, vous devez y aller. Sinon, le mentor s’y rendra lui-même et trouvera une solution. Cela gâchera grandement son opinion sur vous.
  • Pour que votre mentor ne reste pas des heures à votre bureau et surveille chacun de vos mouvements, vous devez regrouper les questions. Demandez-les « en vrac », plusieurs accumulés en même temps. Et pas comme cela se présente.
  • Il est préférable de poser des questions lorsque votre progression est bloquée. S’il y a autre chose à faire, faites-le. Cela peut aussi soulever des questions. Lesquelles il est préférable de poser ensemble.

3 Étude indépendante

Prenez votre place ! Les livres sont déjà devant vos camarades. Prenez votre robe et prenez soin de vos sandales. Lisez le livre avec diligence. Ne passez pas votre journée à ne rien faire, sinon malheur à votre corps ! Écrivez avec votre main, lisez avec votre bouche, demandez conseil à quelqu'un qui en sait plus que vous.

Ne passez pas vos journées à ne rien faire, sinon ils vous frapperont, car l'oreille du garçon est sur son dos et il écoute quand on le bat.

Ne soyez pas une personne sans raison et sans éducation ! Et la nuit, on vous instruit, et le jour, vous êtes éduqué, mais vous n'écoutez aucune instruction et ne faites ce que vous avez l'intention de faire. Et les lions sont dressés et les chevaux sont apprivoisés - et seulement vous ! Il n’y a personne comme vous dans tout le pays. Notez-le bien !

On me dit que tu abandonnes tes études, que tu t'adonnes aux plaisirs, que tu erres de rue en rue où règne une odeur de bière. Et la bière séduit les gens, elle bouleverse l'âme. Tu es comme une chapelle sans dieu, comme une maison sans pain. Ils vous apprennent à chanter à la flûte. Vous êtes assis devant une fille et vous êtes oint d'encens. Votre couronne de fleurs pend à votre cou.

Je t'attacherai les pieds si tu te promènes dans les rues et tu seras battu avec un fouet d'hippopotame !
Instructions pour un scribe. L'Egypte ancienne

Après avoir maîtrisé les bases de JavaScript. Vous avez déjà une bonne idée de ce que signifie écrire du code de programme.

Et vous êtes prêt à passer six mois à un an pour maîtriser le métier. Et ce qui est important, pour vous c'est une question de temps.

3.1 Que étudier ?

Toutes les personnes cherchant à maîtriser n'importe quel métier peuvent être divisées en deux catégories : les amateurs et les professionnels.

Les amoureux, des gens qui aiment cette activité. Et ils sont prêts à le faire même gratuitement. Sacrifier du temps qui pourrait être consacré au divertissement, à la détente, etc. Depuis que vous l’avez essayé, vous comprenez parfaitement si vous aimez ou non la programmation. Les amateurs ont une très bonne qualité. Ils n'ont pas besoin d'être motivés. Ils travailleront dur, consciencieusement et prendront plaisir à acquérir de nouvelles connaissances. Ensuite, ils seront tout aussi heureux de partager ces connaissances avec leurs collègues et amis. Mais les amateurs les plus amateurs écrivent des articles, voire des livres entiers, sur leurs expériences.

Professionnels ils sont prêts à le faire uniquement pour de l'argent. Ou pour la perspective de les recevoir. Les professionnels doivent être motivés. Et ils arrêtent presque toujours leur développement dès qu'ils obtiennent un bon travail. Même une augmentation de salaire deux fois ne constituent peut-être pas une raison suffisante pour poursuivre leurs études. En règle générale, seuls les amateurs peuvent suivre une formation avancée.

Bien entendu, les purs professionnels et les amateurs sont rares. Certaines personnes aiment travailler à moitié ou à quart. Quelqu'un a essayé différentes technologies, trouve quelque chose à faire pour lui-même.

Disons qu'un développeur travaillait pour de l'argent. Il a eu une fois l'occasion de se rendre chez le client et de clarifier les exigences avec les utilisateurs directs. Et le développeur a compris. Visiter des comptables est bien plus intéressant que d’écrire du code. De ce fait, le développeur se déplacera pour toute l’équipe. Même après les heures. Se reconvertit progressivement en tant qu'analyste de systèmes ou chef de projet.

Mais au fond, ils essaient différentes technologies. Certains d’entre eux sont captivants, d’autres non. Même la même technologie peut vous captiver au début, mais devenir ennuyeuse au bout d'un an.

Il est très important pour toute personne de comprendre quelle activité elle préfère. Car le confort de vie en dépend grandement. C’est une idée fausse très répandue que le travail sert uniquement à gagner de l’argent. Bien que ce soit une partie énorme et meilleure de la vie. Au travail, vous pouvez être créatif, communiquer et bien plus encore. Si vous allez à un travail que vous n'aimez pas pour des raisons d'argent, vous devrez en quelque sorte compenser cela par du divertissement et de la détente. En conséquence, il se peut même qu’il n’y ait pas assez d’argent pour l’indemnisation.

Les spécialistes les mieux payés sont des amateurs expérimentés. Ils tirent le plus de plaisir du travail et de la vie. Par conséquent, à ce stade, vous devez décider ce que vous aimez le plus.

La technologie (le langage de programmation que vous apprendrez) doit être commercialement demandée. Du TOP 10 des langues populaires. Sinon, vous ne pourrez pas recevoir d'argent pour votre travail. Cela signifie que vous ne deviendrez pas programmeur. Vous devrez gagner de l'argent séparément, programmer séparément. Ce qui est évidemment impossible.

Vous avez encore un stage devant vous. Et ils acceptent volontiers des stages uniquement dans des spécialités rares. Surtout à distance. Par conséquent, réfléchissez/décidez à quoi vous voulez consacrer votre vie. Qu’allez-vous étudier à ce stade ? Vous pouvez continuer avec JavaScript. Vous pouvez essayer autre chose. Personne ne vous dérange pour changer d’avis à mi-chemin. Vous vous êtes déjà testé et il existe un certain champ d'expérimentation.

La seule exception que je ferais concerne le C++. C'est un langage complexe. La maîtrise prend probablement deux fois plus de temps. Que du C ou du JS. Dans ce cas, le salaire sera majoré de 20 % maximum. C++ est le langage des amateurs de C++.

Si vous n'aimez pas JS et que vous vous sentez comme le « professionnel » décrit ci-dessus, Java est probablement votre meilleur choix. Autrefois, je ne pouvais même pas exécuter un programme écrit dans ce langage (archive jar). Mais d'un autre côté, les développeurs Java en collaboration avec Oracle (PL\SQL) des grandes entreprises sont peut-être les développeurs informatiques les mieux payés. Malgré le fait qu'il s'agisse de technologies de complexité moyenne. (Je suppose que dans le monde Java, ils ne paient que pour la possibilité d'exécuter des fichiers jar.)

Il existe également un langage merveilleux appelé Python. Ce sera très utile pour toutes sortes de mathématiciens et statisticiens, car... leur ouvre la porte du monde de la Data Science. D’un autre côté, c’est le langage de développement Web pour tous les autres.

Étudier à ce stade vise à améliorer au maximum vos qualifications. En effet, vous augmenterez le prix marchand de votre travail. Rassurez-vous, tout ce que vous perdez à cause de la programmation à ce stade vous sera restitué plusieurs fois.

Les études indépendantes ont un avantage sur un stage. Vous pouvez acquérir des connaissances plus fondamentales. En fait, la plupart des programmeurs sont des professionnels. Ils ont appris un peu. Nous nous sommes mis au travail. Et ils exploitent leur peu de connaissances. La plupart de ce qu’ils lisent sont de courts articles expliquant comment préparer rapidement quelque chose. Ou taisez-vous de tout problème. Il leur manque vraiment des connaissances fondamentales. Vous serez surpris, mais tout n'est pas possible
"Recherche le sur Google." Quelque chose que vous devez savoir et être capable de faire dès le début. Ne serait-ce que parce que vous devrez faire face à ce que vous avez « recherché sur Google ». Le code que vous trouvez pourrait être écrit par un très bon spécialiste. Si vous manquez de connaissances fondamentales, vous ne les comprendrez tout simplement pas.

Vous devriez choisir vous-même un livre volumineux et fondamental sur n’importe quel langage de programmation. Et étudiez-le jusqu'au bout. Avec tous les devoirs d’étude.

Accomplir des tâches éducatives à ce stade est une tâche difficile et morne ! Vous vous ennuierez, vous ne serez pas intéressé et vous voudrez tout abandonner. C’est exactement ce que font la plupart des gens. Motivez-vous, proposez des tâches intéressantes, continuez à apprendre. Et vous ne serez pas cette majorité.

En plus des langages de programmation de base tels que C, Java, JS, etc., vous devez apprendre les éléments suivants :

langue anglaise
Comme vous le savez, les programmeurs sont des gens qui savent lire l’anglais, mais ne peuvent pas le parler. C'est la langue dans laquelle vous chercherez des solutions à vos problèmes et communiquerez avec les clients. L'anglais parlé élargit considérablement l'éventail des recherches d'emploi. Cela a un très bon effet sur les salaires. Même si, je dois l'admettre, on peut y consacrer autant de temps que sur un langage de programmation.

L'anglais technique est plus facile à apprendre. Traduisez simplement les documents dont vous avez besoin en utilisant différents traducteurs. Mémorisez des mots inconnus.

SQL
Dans la plupart des cas, vous aurez besoin de cette technologie tôt ou tard. Il n'est pas nécessaire d'apprendre des modules complémentaires comme PL\SQL (sauf pour l'apprentissage de Java). Mais maîtriser la création de tables, de jointures et d'unions est très souhaitable. La chose la plus utile sera peut-être d’étudier en utilisant PostgreSQL comme exemple.

SQL a un autre aspect. Cette langue est peut-être la chose la plus difficile à demander pour postuler à un emploi de testeur. Par conséquent, si vous l'apprenez seulement, vous avez une chance d'obtenir un travail très proche de la programmation. Dans un tel travail, il sera un peu plus facile d'apprendre la programmation elle-même. Et vous passerez très facilement de testeurs à développeurs. Dès que tu montres que tu sais écrire bon code.

Maîtrisez la méthode de frappe « à l’aveugle » à dix doigts sur le clavier
Il y a beaucoup à imprimer. Assurez-vous donc de le maîtriser. Il existe de nombreux formateurs en ligne gratuits sur le Web. Vous pouvez essayer de le maîtriser avant la première étape « test ». Si vous n’avez même pas la patience pour cela, cela ne sert à rien de passer à autre chose.

Systèmes de contrôle de versions
Bien sûr, ce sera Git. Assurez-vous d'apprendre les bases et de l'essayer dans vos propres projets éducatifs. Mais enfin et surtout. Au début, il sera difficile de comprendre de quoi il s’agit et quels avantages cela apporte.

Ces matières sont bonnes car elles permettent de suivre le rythme de vos études. Même lorsque vous êtes coincé à apprendre la langue principale. Vous aurez très probablement les problèmes « insolubles » décrits. Basculez ici et cherchez lentement une solution.

3.2 Méthodes courantes d'acquisition des connaissances

Université
Je peux vous en dire beaucoup sur l'enseignement supérieur. Mais cela n'a pas importance pratique. En bref. Il vaut mieux être stagiaire après une année d’études indépendantes qu’après quatre années d’études universitaires. Ceux qui commencent maintenant à étudier selon mes recommandations, dans 4 ans, effectueront des tests techniques lors de l'embauche de ceux qui entrent désormais dans les universités.

Cours payants formation de programmeur
Tout est très difficile ici. La demande crée l’offre. Mais cette proposition est souvent très Mauvaise qualité. Vous pouvez essayer n'importe lequel d'entre eux. Mais s'il vous plaît, n'espérez pas trop. Essayez de suivre les premiers cours gratuitement. Et fuyez là si vous ne comprenez rien en cours. Aucune des marques sous lesquelles ces cours sont dispensés n’ajoutera à votre compréhension du sujet. La « garantie d’emploi » y est généralement une arnaque.

Cours et écoles dispensés par de grandes entreprises pour leurs futurs salariés
Le cas le plus célèbre est peut-être celui de la Yandex School of Data Analysis.

Ici, vous serez enseigné par des spécialistes très coûteux. Et ils le feront pour leurs besoins internes. En règle générale, ces cours comportent certaines exigences pour les candidats. Yandex nécessitait une formation en mathématiques. EPAM nécessitait une connaissance des bases de la programmation. Vous ne pouvez tout simplement pas y arriver. Mais si vous avez la possibilité de suivre ces cours, ça vaut vraiment le coup d’y aller ! Même si vous restez « esclave » de ces entreprises pour environ 400 à 500 dollars par mois pendant une année entière. Un gros plus de tels cours. Ils ne nécessitent aucune éducation.

3.3 Stratégie d'apprentissage

La plupart des étudiants s’attendent à apprendre la programmation simplement en étudiant. Comme si je m'étais assis devant un manuel sans connaître le sujet, mais j'avais fini de l'apprendre et j'avais commencé à tout comprendre. L'ensemble du processus semble linéaire aux débutants. En passant de chapitre en chapitre, en accomplissant des tâches pédagogiques, une personne acquiert des connaissances. Les gens ne peuvent pas imaginer d’autres modèles. Parce que nous n’avons jamais réalisé de projets complexes et longs. Mais en réalité, tout n’est pas si simple. Tout programmeur sait que lors de la mise en œuvre d'un projet, de nouveaux détails sont inévitablement découverts qui interfèrent ou, au contraire, aident à sa mise en œuvre. En règle générale, plus le projet est vaste, moins il ressemble à ce qui était initialement prévu.

Un exemple simple. Vous avez commandé un costume chez le tailleur. Tous les détails ont été discutés. Une semaine plus tard, le maître appelle pour annoncer que la forme convenue des coutures semble très mauvaise sur le costume et doit être modifiée. Il s’avère ensuite qu’une partie du matériel doit être modifiée. Il n'y a pas besoin. Vous changez et changez. Au final, vous obtenez environ les 2/3 de ce que vous aviez initialement prévu. Dans le cas du développement logiciel. Un projet de costume d'affaires peut aboutir à un maillot de bain. Et pour le prix d'un costume. Si vous pensez que c'est incroyable, demandez à des chefs de projet intelligents. En attendant, vous devez apprendre une chose, il y aura beaucoup de choses inattendues dans votre projet d'études. Et il faut être capable de travailler avec ces surprises.

Sans plonger dans la jungle de la gestion de projet, il ne faut pas évoluer en informatique de manière linéaire, comme décrit au début. Et « dans une spirale ». Cela ressemble à ceci. Si vous ne connaissez pas bien l'ordinateur. Inutile d’imaginer que dans un an vous serez programmeur C++ ou PHP. Vous apprenez d’abord l’ordinateur. De nouvelles opportunités et obstacles s’ouvrent à vous. Par exemple, vous avez commencé à mieux comprendre ce que vous voulez faire au final, des sites Web ou des applications de bureau. Ensuite, pendant la période d'essai, vous essayerez la programmation pour le web (html, js). Vous en apprendrez encore plus sur la programmation. Après la période d'essai, vous pouvez déjà planifier votre orientation principale. Quelle langue allez-vous étudier ? Au tout début de son parcours, quelqu’un n’a peut-être pas soupçonné de programmation système. Qu'il existe une direction distincte dans laquelle les développeurs écrivent de manière invisible à l'utilisateur moyen programmes. Et peut-être que cela sera plus intéressant pour vous que ce dont vous rêviez au début.

Le processus d'apprentissage comprendra certainement la lecture de manuels et la résolution de problèmes. Mais la séquence et l'ordre même de passage des manuels doivent obéir au cycle « en spirale ». Pour que chaque étape donne bonne base pour le prochain.

Vous devez être votre propre gestionnaire et planifier réalisable objectifs, étapes. À l’heure actuelle, de nombreux jeunes rêvent de devenir les créateurs d’un site Web ou d’un système d’exploitation de premier ordre. Et quelqu'un rêve d'écrire une calculatrice et de l'utiliser pour obtenir un poste de stagiaire. J'espère que vous pourrez deviner qui sera un programmeur à succès dans un an. Il est très important que vos projets et vos idées soient mis en œuvre avec succès. Un tien vaut mieux que deux tu l'auras.

De plus, les qualités de « manager » sont très utiles pour ceux qui se considèrent comme « idiots ». En informatique, il est très facile d’être intelligent et très difficile d’être le contraire. Une personne intelligente peut facilement prendre un manuel, le lire et faire immédiatement quelque chose d'utile. Les gens stupides prendront le même manuel, le liront et ne comprendront rien. Vous devez donc diviser le matériel d'apprentissage en parties et vous entraîner davantage (écrire du code) sur la base de ces parties. Vous pouvez diviser le matériel en plusieurs parties afin que tout le monde puisse le comprendre. Pour ceux qui savent planifier leur processus éducatif et il n’y a pas d’obstacles insurmontables à la résolution des « problèmes insolubles » (2.3). Vous maîtriserez absolument tout, quelle que soit votre intelligence. Que cela prenne beaucoup plus de temps. Mais il est bien plus important pour vous d’avoir des connaissances/expériences holistiques et testées que la rapidité de leur acquisition.

Bien entendu, il vous sera très difficile de comprendre et, surtout, d’appliquer un tel modèle dans la pratique. Mais ceux qui réussissent recevront un joli bonus sous la forme de la perspective de devenir « chef de projet ». Si maintenant vous voulez juste être payé en tant que programmeur, alors vous voudrez tellement le salaire d'un chef de projet que vous ne pourrez pas dormir. Il n'y a qu'un seul inconvénient ici. Pourtant, vous devez d’abord devenir un bon programmeur.

3.4 Quand chercher un emploi

Il est très difficile de dire quand chercher son premier emploi dans cette spécialité. En fait, vous pouvez commencer votre recherche d’emploi dès la première étape. Je pense que beaucoup le feront. Si vous avez entre 23 et 25 ans et que vous vivez dans un secteur où le secteur du développement de logiciels est bien développé, vous réussirez. Peut-être que vous ne deviendrez pas un bon spécialiste. Mais vous gagnerez certainement votre vie.

D'un autre côté. Il y a des gens qui vivent là où personne n'est impliqué dans le développement de logiciels. Et il y a des gens qui ont largement plus de 25 ans. Ces gens doivent étudier plus longtemps. Passer de peu qualifié à hautement qualifié. Afin de recruter des programmeurs hautement qualifiés dans leurs rangs, les employeurs sont prêts à faire beaucoup. Une aide à la réinstallation peut vous être proposée. Ou même du travail à distance. Un âge supérieur à 30 ou 40 ans ne fera pas une grande différence. L'essentiel est de montrer votre haut niveau d'expérience.

Il est logique de commencer votre recherche d’emploi le plus tôt possible si vous occupez déjà un emploi à volume élevé. Où vous ne pouvez pas lire de livres sur la programmation. Dans ce cas, peu importe après quel travail vous étudiez le sujet le soir. Actuellement ou après avoir travaillé en tant que stagiaire.

La recherche précoce présente un gros inconvénient. Après l'entretien, l'employeur aura une opinion sur vous. Que vous ne voudrez pas changer au fil du temps si vous avez montré une fois niveau faible connaissance. Dans six mois, lorsque vous en saurez beaucoup plus, votre CV pourrait même ne pas être pris en compte. Parce que l’opinion à votre sujet restera la même. On ne peut qu’espérer que la première interview sera oubliée avec le temps. Mais cela fait au moins six mois. Il se peut que l'employeur maintienne une base de données de candidats. Pour ne pas les interviewer deux fois. Dans ce cas, tout sera très triste.

3.5 « Que dois-je savoir pour être accepté en tant que Junior ? »

Les débutants posent très souvent cette question. Il n’y a pas de réponse claire ici. Cette question ne peut être répondue que par un employeur spécifique à un moment précis. Il est impossible de répondre à tout moment à l’ensemble du marché du travail. Vos chances d'être embauché en tant que « Junior » ou, comme je le dis, « stagiaire » varient dans le temps en fonction de plusieurs processus et facteurs.

Votre processus d'auto-apprentissage vous rend plus attractif auprès des employeurs. A ce moment, les postes vacants qui vous conviennent apparaissent. Étroitement lié au langage de programmation que vous apprenez. Vous y envoyez votre CV. Et l'employeur choisit le plus approprié parmi les candidats qui ont répondu. Les qualifications des candidats sont limitées au-dessus du salaire du poste vacant. Vous pourriez être le meilleur pour ce salaire. Ou peut être pas. Ainsi, au fil du temps, vous apprenez et devenez plus précieux. Et à un moment donné, de toute façon, vous serez le meilleur de tous ceux qui ont répondu.

Il y a aussi le facteur âge du candidat. Ce qui réduit un peu votre attractivité. Plus l’âge est élevé, plus la diminution est importante. Il y a un facteur d’avoir un bon portefeuille qui augmente. Expérience, recommandations et bien plus encore.

Vous valez peut-être beaucoup en tant que programmeur C++, mais très peu en tant que programmeur PHP.
Le facteur le plus « gratuit » est votre popularité auprès des employeurs. Quand vous êtes connu de plus d’employeurs. Il y a plus de chances que vous soyez embauché quelque part.

« La patience et le travail vont tout détruire ! » L'auto-formation continue est votre garantie d'obtenir un emploi !

4 Premier emploi en tant que stagiaire

4.1 Comment chercher son premier emploi ?

4.1.1 Portefeuille

Tout d’abord, rédigez un portfolio. Cela doit être petit programme ou un script pour un site qui fait quelque chose de similaire à un travail utile. L’objectif doit être clair pour votre employeur potentiel. Par exemple, un carnet d'adresses. Si vous fabriquiez une calculatrice pour calculer les trajectoires de vol des satellites terrestres, ce serait bien sûr cool. Mais il est peu probable que votre futur employeur soit au courant. Il ne pourra donc pas évaluer le résultat. Il est souhaitable que le programme stocke d'une manière ou d'une autre les paramètres et les données utilisateur. Il doit y avoir un petit morceau de code complet. Si, par exemple, vous envoyez votre correctif à un projet gratuit, l'employeur sera peut-être trop paresseux pour se plonger dans le code source de l'ensemble du projet. Et évaluez ce que vous avez changé là-bas dans ce contexte. C'est bien si l'application utilise une base de données SQL, là où cela a du sens.

Et le plus important bien sûr. Comment cela sera écrit. Il doit s’agir d’un code bien formaté et structuré. Soyez prêt, l'employeur prendra une ligne de ce code et la saisira dans le moteur de recherche.

Pour que le code du portfolio soit bon, il faut le laisser reposer pendant une semaine. Ceux. écrivez et partez pour une semaine. Ensuite, révisez tout le code. Après avoir corrigé les erreurs, téléchargez-le sur un partage temporaire et créez un sujet sur le forum demandant aux programmeurs plus expérimentés de consulter le code source. Avec l'indication obligatoire qu'il s'agit de votre portefeuille.

Après avoir corrigé les erreurs qui vous sont signalées. Peut-être s’agira-t-il même d’une refonte globale de votre travail. Téléchargez le code sur l'un des sites d'hébergement de code source. Supprimez le sujet dans lequel vos erreurs vous ont été signalées. Le futur employeur n'a pas besoin d'être informé des erreurs.

En fin de compte, il est très important de comprendre chaque ligne que vous écrivez. Très probablement, vous serez traîné et posé toutes sortes de questions délicates.

Croyez-moi, la création d'un portfolio et la révision du code par des collègues plus expérimentés ajouteront +30 % à votre expérience. Il vous permet également d’évaluer adéquatement vos qualifications actuelles. Votre code ne sera bien sûr pas parfait. Préparez-vous, ils y trouveront des erreurs (gratuitement !). Ce n'est pas si grave. Mais quand vous ne savez pas pourquoi vous avez écrit le code de cette façon et pas d’une autre, c’est un vrai problème. Cela signifie simplement que vous n’avez pas écrit le code ! Dans ce cas, ils vous donneront le souhait de revenir dans six mois avec votre code.

4.1.2 Résumé

En général, vous pouvez en dire beaucoup sur une personne à partir d'un CV. Par exemple, un CV mal structuré. Très probablement, il sera écrit par un développeur qui ne se soucie pas particulièrement de la structure du code source.
Une rubrique copiée du réseau, par exemple « Qualités professionnelles ». Cela indique que le candidat est enclin à mentir. Le manque de réalisations, dont on ne se souvient même pas lors d'un entretien, indique qu'une personne est un « professionnel ». Et beaucoup plus.

Il y a eu une histoire drôle une fois. J'ai entrepris de critiquer le curriculum vitae d'un collègue. Les résultats ont été décevants. Je dis : « Votre CV est tellement mauvais que je vous embaucherais ! » Vous êtes un bon spécialiste. Mais avec votre CV, vous ne trouverez pas un bon emploi. Par conséquent, vous pouvez conserver un petit salaire. Et tu ne vas nulle part !

Pour que cela n'arrive pas. Il est également conseillé de remettre votre CV à des spécialistes RH et à des programmeurs pour évaluation.

Naturellement, il n’est pas nécessaire de mentir ou de fournir des faits douteux dans votre CV. Il sera lu très attentivement par des personnes possédant une vaste expérience de la vie. Toute tentative de cacher quelque chose ou d’embellir sera considérée de manière extrêmement négative.

Il vaut mieux avoir un CV modeste. Mais assurez-vous que vous répondrez de n'importe quel mot qu'il contient.
Si vous avez déjà acquis une certaine expérience professionnelle et que vous avez de quoi vous vanter. Vous pouvez ajouter une section « Portfolio » à la toute fin. Décrivez en détail les projets auxquels vous avez participé. Solutions techniques intéressantes, réalisations (détails). Au moins 10 pages. Mais juste à la fin.
Assurez-vous d'indiquer que vous êtes prêt pour un déménagement (déménagement) et des voyages d'affaires.
Un profil complété sur LinkedIn, HeadHunter et d'autres sites de recherche d'emploi vous aidera également.

4.1.3 Recherche d'emploi

Passons maintenant à la partie amusante.
Vous devez clairement comprendre que les stagiaires et les développeurs inexpérimentés sont rarement nécessaires. Les employeurs recherchent avant tout des personnes expérimentées. Mais leurs salaires ne leur permettent pas toujours d’embaucher ceux dont ils ont besoin. Par conséquent, votre CV sans expérience sera considéré tôt ou tard. Et le code de votre portfolio vous aidera beaucoup.

Par conséquent, vous devez envoyer votre CV à tous les postes vacants qui correspondent à votre profil. Par exemple, nous avons étudié JavaScript. Envoyez votre CV partout où ce JavaScript était requis. Indépendamment de l'expérience minimale requise, de la présence d'un enseignement supérieur spécialisé, du fait que le poste soit déjà pourvu, et bien plus encore. À « l’autre bout du fil », ils savent mieux quoi faire. Envoyez également à toutes les entreprises qui ont théoriquement ou peuvent avoir des spécialistes dans votre profil. Le courrier est généralement trié par des secrétaires. Ce n'est pas grave s'ils suppriment votre courrier électronique. L'opinion de ces employeurs à votre sujet n'a pas d'importance. Même s'il s'agit des entreprises les plus prestigieuses.

La recherche d'emploi elle-même prend entre un mois et deux. En règle générale, si vous postulez à un poste, vous serez contacté dans un délai de 2 à 3 jours. Puis, dans la semaine, un entretien et/ou une tâche test. Et puis, dans un délai d'un mois, l'employeur réfléchira aux résultats. Les refus directs ne sont généralement pas envoyés. Ils vous oublient tout simplement et c’est tout. Alors préparez-vous à de nombreuses interviews qui vous feront les oublier. Il n’est pas nécessaire de placer vos espoirs dans des options. Passez l’entretien et replongez-vous dans l’apprentissage de la programmation.

4.1.4 « Karma » du programmateur

Il y a un point très intéressant lors de la recherche d'un emploi. Disons que vous avez appris JavaScript. Ils enseignaient et étudiaient consciencieusement. Ensuite, vous recherchez un emploi de programmeur JavaScript. Et soudain, on vous propose de devenir, par exemple, programmeur système. Un employeur pourrait dire que votre JavaScript est bon. Mais il n'a que des postes vacants pour les programmeurs système S. Par conséquent, vous pouvez opter pour le stagiaire S.

L'astuce ici est qu'après un tel premier travail. Revenir au travail avec JavaScript sera problématique. Et ce n’est pas une sorte de magie. Tout comme un programmeur C, vous serez expérimenté. En tant que programmeur JavaScript inexpérimenté. Ceux. revenir à JavaScript réduit votre salaire. Peut-être même deux fois. Par conséquent, vous resterez programmeur système C pour le reste de votre vie. Je ne pense pas que ce soit une mauvaise option. Mais vous devez être conscient de ces restrictions.

4.1.5 Entretien

Vous pourriez être surpris, mais la plupart des entretiens avec les programmeurs se déroulent à distance. Par conséquent, même si vous souhaitez trouver un emploi dans une ville située à des centaines de kilomètres, il n’y a rien de mal à ce que vous soyez maintenant dans un endroit différent. Un employeur peut vérifier vos compétences à distance et décider si vous devez passer un entretien en personne ou aller directement travailler dans sa ville.

Si l'entretien se déroule par contumace, tout est simple. Vous aurez besoin d'une bonne connexion, Internet et téléphone. Et une heure et demie à deux heures pendant lesquelles personne n'interférera. S'il y a du silence et bon internet pas possible chez vous. Convenez avec vos amis qu'ils vous donneront leur chambre avec ordinateur ou un appartement pour la durée de l'entretien. Les appels vidéo ne sont généralement pas nécessaires. Vous aurez probablement besoin de Skype et de TeamViewer. Des environnements de développement lourds, des compilateurs et des éditeurs ne sont généralement pas nécessaires. Un simple éditeur de code comme Sublime ou Notepad++ suffira. L'employeur notera ce dont vous avez besoin pour l'entretien.

On a beaucoup écrit sur les entretiens en face-à-face. Je ne vois pas l'intérêt de me répéter. Dans tous les cas, après avoir reçu une invitation, vous devez vous renseigner le plus possible sur l'entreprise qui vous invite. Consultez les avis sur elle en tant qu'employeur. Et décidez si vous souhaitez y travailler. Si vous le souhaitez, assurez-vous de trouver une raison pour laquelle vous êtes là. Pourquoi y as-tu envoyé ton CV ?! Après tout, il se peut qu’il ne réponde pas aux exigences formelles.

Dans tous les cas, vous devez avant tout souhaiter un travail intéressant et une évolution professionnelle. Vous avez essayé la programmation et vous avez vraiment aimé ça. Et maintenant vous recherchez un travail intéressant dans ce sens. Tout d’abord, vous attendez des tâches intéressantes de votre futur emploi. L'opportunité de communiquer avec des collègues partageant les mêmes idées. Et bien sûr, perfectionnez vos compétences professionnelles. C’est le genre de questions que vous devriez poser au début. Vous devriez être intéressé par le type d’expérience qu’auront vos futurs collègues. Quelles technologies sont utilisées dans le projet pour lequel ils recherchent un employé.

Bien sûr, soyons honnêtes. La plupart des gens sont préoccupés par la question principale, celle du salaire. C'est la dernière chose qui doit être clarifiée. De telles questions sont généralement posées dans un premier temps par des « professionnels ». Les patrons recherchent des amateurs.

Habituellement, le salaire d'un stagiaire ayant quelques connaissances sur le sujet correspond au salaire d'un hamster de bureau ordinaire dans la même ville. Mais s’ils proposent moins, mon conseil est d’accepter quand même. Disons que vous travaillez en tant qu'administrateur système. Vous recevez 500 $. Je pense que 500 $ est le plafond pour un administrateur système en Russie centrale. Et maintenant, on vous propose le poste de programmeur (en fait un stagiaire) pour 300 $. Si cela vous semble « nul ». Ne commencez même pas à étudier quoi que ce soit. Fermez cet article. Et oubliez la programmation en tant que futur métier.

Votre premier salaire de développeur devrait être suffisant pour survivre. Le fait est qu’en plus de 300 $, vous recevrez 1 000 $ d’expérience et de connaissances. Acquérir de l'expérience dans le développement d'équipe. Votre travail sera évalué par des collègues plus expérimentés. Obtenez un accès illimité à leur expertise. Très probablement, votre portefeuille grandira avec de vrais projets. Tout cela fera de vous un véritable spécialiste recherché. Si vous n'êtes pas paresseux et profitez de tout cela. En seulement six mois, vous atteindrez vos 500 $. Et ce ne sera que le début de votre carrière.

Bien sûr, il peut arriver que vous n’obteniez pas « 1 000 $ d’expérience et de connaissances ». Dans ce cas, cherchez simplement un autre emploi.

Vous ne devriez avoir peur de rien pendant l'entretien. Vous devez vous comporter naturellement, mais avoir une attitude de travail. Les entretiens se déroulent généralement poliment. La tâche de votre futur patron est de comprendre quel genre de personne et de spécialiste vous êtes. Ils préféreront vous surveiller de très près.
Personne ne vous donnera jamais une véritable opinion sur vous. Une mauvaise opinion peut vous retourner contre vous. Ce qui n'a aucun sens. Peut-être que vous serez à nouveau utile. Et les bonnes choses peuvent être la raison pour laquelle on demande un salaire plus élevé.

Un entretien, c'est comme un premier rendez-vous avec une fille. Tout est toujours poli, cultivé et bon. Mais le prochain n’arrivera peut-être pas.

4.2 Stage

Le but du stage est de peaufiner les connaissances acquises.

4.2.1 Travail indépendant

Les programmeurs débutants peuvent lire de nombreux articles sur Internet qui expliquent à quel point il est formidable d'être un « freelance ». Asseyez-vous sous les palmiers, prenez des commandes ponctuelles et « ne travaillez pas pour votre oncle ».

Pour comprendre les avantages et les inconvénients du travail indépendant, vous devez comprendre que l'employeur n'est prêt à investir dans votre formation que dans une perspective à long terme. Sinon, il lui est plus facile de payer trop cher un spécialiste tout fait que d'attendre que des débutants résolvent des problèmes complexes. Par conséquent, le travail indépendant n’offre pas une expérience approfondie. Personne ne vous donnera simplement des ordres si vous n'avez pas les compétences nécessaires. En revanche, le freelancing est la première pratique intéressante et le premier argent. Et pour l’argent du client, vous pouvez en même temps créer un portefeuille pour vous-même.

N'ayez pas de grands espoirs. Essayez simplement de retrouver les commandes à la fin de l’autoformation. Ce sera formidable si vous réussissez. Mais ne présumez pas que vous avez effectué un stage et que vous êtes devenu un véritable programmeur. C'est une bonne activité uniquement lorsque des entreprises sérieuses ne vous embauchent pas encore. Ou vous y travaillez déjà depuis 3 à 5 ans.

4.2.2 Entreprises

Une fois, j’ai entendu parler d’une loi économique. Plus l'association de travailleurs est grande, plus l'association reçoit de revenus par employé. En conséquence, dans les grandes entreprises, les salaires des travailleurs sont généralement plus élevés. Que des « freelances » individuels. Du moins en informatique. Ce sont les célèbres géants de l’industrie qui paient les salaires les plus élevés et achètent les meilleurs esprits. Il faut donc aimer « l'oncle » qui rassemble les spécialistes en groupe et leur donne du travail. Parce qu’ensemble, vous pouvez gagner bien plus que séparément.

Et si c'est le cas. Vous devez apprendre à travailler en équipe. Utiliser des outils de développement collectif. Des collègues partageront leur expérience avec vous et vous aideront à corriger les erreurs. Vous serez vous-même surpris de voir combien de nouveautés il y a dans la profession que vous n'avez jamais rencontrées auparavant.

Comme indiqué précédemment, la plupart des gens sont des « professionnels ». Une fois qu’ils auront obtenu leur premier emploi, ils se « calmeront ». Et leur stratégie sera la « survie ». Ils maîtriseront uniquement les connaissances nécessaires ici et maintenant. Disons que vous devez écrire des requêtes SQL pour le code. Ils chercheront rapidement sur Internet comment faire une demande sous tâche spécifique. Et ils écriront du code sur cette base. Ensuite, le code est soumis à une « révision du code » par un collègue expérimenté. Là, il s'avère qu'au lieu de deux requêtes et un tas de code, vous pouvez écrire une requête, mais avec des « jointures ». Et ainsi le stagiaire se connecte. Là, il lit un extrait d'un document sur les « jointures ». Retravaille le code. Donc tous les jours. C'est ainsi que la plupart des stagiaires accumulent des connaissances.

Il serait juste, après 3-4 questions similaires liées à la base de données, de prendre un manuel sur ce SGBD et de l'étudier complètement. Habituellement, seuls les « amateurs » le font. Qui devient curieux de savoir ce qu'il y a d'autre à part les « rejoints ».

Il convient de noter que la lecture de n'importe quel manuel à ce stade est bien plus intéressante. Vous connaissez déjà la technologie. Et de bonnes connaissances peuvent rendre votre travail beaucoup plus facile. C'est beaucoup plus attrayant que de simples exemples abstraits tirés de livres de l'étape précédente.

Le stage se transforme en douceur en travail régulier. Il est difficile de déterminer le moment où l’on peut se considérer comme un développeur à part entière. Probablement lorsque vos questions à vos collègues manquent de réponses simples. Et vous comprenez que la plupart des problèmes devront être résolus vous-même. Habituellement, cette période est de six mois. Si vous avez travaillé dur à l'étape précédente. Si vous étiez pressé, vous vous installiez après avoir fini de lire le livre sur la langue principale à mi-chemin. Alors continuez à maîtriser le livre et les technologies supplémentaires.

Après le stage, vous êtes libre de faire ce que vous voulez. Free-lance. Faites des projets indépendants et tout ça. Mais mon conseil pour vous. Lisez parfois de la littérature liée à votre travail. Pour améliorer vos compétences. Si vous avez déjà lu comment écrire du code en général. Vous pouvez maintenant lire comment le faire très bien et correctement. Rassurez-vous, vous verrez toujours de nouveaux horizons de formation professionnelle. Ne soyez pas paresseux ! Surtout si vous voulez un gros salaire.

5. Conclusion

J'espère que cet article aidera tous ceux qui souhaitent maîtriser notre merveilleux métier.
Si vous aimez ce travail. Il existe une idée pour parler des avantages et des inconvénients de l'enseignement supérieur en informatique.

Mots clés:

  • la programmation
  • carrière de programmeur
  • étudiez-le
  • auto-apprentissage
  • auto-éducation
  • stage chez lui
Ajouter des balises

Commentaires 179

Qui peut devenir programmeur ?

Que faut-il apprendre pour maîtriser ce métier ?

Nous examinerons ces questions et bien d’autres dans cet article. Un merci spécial pour la création de cet article va à la fondation Galina, qui l'a demandé dans le cadre du concours « Posez une question et gagnez un prix ».

Programmeur - qui est-ce ?

Parlons un peu du métier de programmeur lui-même.

Un programmeur est une personne qui écrit des programmes. Il s’agit de simplifier ce concept le plus simplement possible.

Tout d'abord, il convient de noter que le métier de programmeur comprend un grand nombre de spécialités différentes. Et chacun d'eux nécessite certaines spécificités. Cependant, certaines compétences sont requises dans chacune des spécialités.

Quelles qualités faut-il avoir pour devenir programmeur ?

La caractéristique la plus importante qui sépare un bon programmeur d'un amateur est le désir d'amélioration constante et d'auto-éducation. Bon programmeur n'apprend guère plus qu'écrit des programmes. Le manque d'habitude d'étudier entraîne un retard dans les progrès et un tel programmeur cesse d'avoir de la valeur sur le marché du travail.

Le deuxième trait qui caractérise les bons programmeurs peut être appelé la persévérance. La persévérance et la capacité de terminer ce que vous avez commencé sont indispensables. Il est rare qu'un programmeur réussisse tout du premier coup. Habituellement, vous devez rester assis longtemps, rechercher des erreurs, tester diverses méthodes de mise en œuvre. Par conséquent, je considère la persévérance comme l’une des qualités les plus importantes d’un programmeur.

Il existe également de nombreuses autres caractéristiques qui définissent les développeurs de logiciels. Mais aucun d’entre eux n’est aussi important que ceux décrits ci-dessus.

À quelles matières scolaires faut-il prêter une attention particulière ?

On entend souvent dire que seule une personne ayant bien étudié les mathématiques à l’école peut devenir programmeur. Je ne suis pas entièrement d'accord avec cette position.

Pour un programmeur, les mathématiques et l’informatique sont des matières fondamentales, mais pas les seules dont les programmeurs ont besoin.

Comme je l'ai écrit ci-dessus, un programmeur doit constamment apprendre et s'améliorer. Et cette habitude ne peut être développée qu’en étudiant tout. De plus, l’étude de matières orales telles que la littérature, l’histoire, la géographie, etc. développe considérablement la mémoire et augmente la vitesse de lecture. Ces compétences seront essentielles lors de l’apprentissage de nouveaux langages de programmation ou algorithmes.

Il est également difficile de surestimer l'importance de l'apprentissage des langues étrangères. Une énorme quantité de documentation, de littérature scientifique et technique est publiée en langues étrangères. Les langues prioritaires sont l'anglais et l'allemand. La priorité, bien entendu, est l’anglais.

Sport. Apprenez à faire des exercices dès l’enfance. En choisissant de travailler comme programmeur, vous optez pour un mode de vie sédentaire. Et si vous ne voulez pas ruiner votre santé dans votre jeunesse, assurez-vous de consacrer quelques heures par jour à l'exercice.

Programmeur est un spécialiste qui développe des algorithmes et logiciels d'ordinateur basé sur des modèles mathématiques spéciaux. Le métier est prometteur et très demandé partout dans le monde (valeur médiane). Vous pouvez devenir programmeur à tout âge. La profession convient aux hommes et aux femmes ayant des intérêts pour la programmation, les mathématiques, les langues, ainsi que de bonnes compétences analytiques et une logique développée (pouvez-vous réussir le test pour voir si vous pouvez devenir programmeur). Il existe également des collèges qui enseignent la programmation, mais vous pouvez l'apprendre par vous-même ; en règle générale, les programmeurs possédant des compétences sont plus valorisés. Exister . Le métier a le sien. Le métier convient à ceux qui s'intéressent à l'informatique (voir choisir un métier en fonction de l'intérêt pour les matières scolaires).

Variétés

En programmation, non seulement les compétences pratiques sont privilégiées, mais aussi les idées d'un spécialiste. Les programmeurs peuvent être divisés en trois catégories selon leur spécialisation :

  1. Programmeurs d'applications Ils sont principalement engagés dans le développement de logiciels appliqués - jeux, programmes de comptabilité‚ rédacteurs‚ messagers, etc. Leur domaine de travail comprend également la création de logiciels pour les systèmes de vidéosurveillance et audio, les systèmes de contrôle d'accès, les systèmes d'extinction ou d'alarme incendie, etc. Leurs responsabilités incluent également l'adaptation des programmes existants aux besoins d'une organisation ou d'un utilisateur particulier.
  2. Les programmeurs système développent des systèmes d'exploitation, travaillent avec des réseaux et écrivent des interfaces vers diverses bases de données distribuées. Les spécialistes de cette catégorie sont parmi les plus rares et les mieux payés. Leur tâche est de développer des systèmes logiciels (services) qui, à leur tour, contrôlent le système informatique (qui comprend le processeur, les communications et les périphériques). La liste des tâches comprend également d'assurer le fonctionnement et le fonctionnement des systèmes créés (pilotes de périphériques, chargeurs de démarrage, etc.).
  3. Les programmeurs Web travaillent également avec des réseaux, mais, dans la plupart des cas, avec des réseaux mondiaux : Internet. Ils écrivent les composants logiciels des sites Web, créent des pages Web dynamiques et des interfaces Web pour travailler avec des bases de données.

Caractéristiques du métier

Basé sur l'analyse de modèles mathématiques et d'algorithmes pour résoudre des problèmes scientifiques, techniques et de production, le programmeur développe des programmes d'exécution travail informatique. Élabore un schéma de calcul pour les méthodes de résolution de problèmes, traduit les algorithmes de solution en langage machine formalisé. Détermine les informations saisies dans la machine, son volume, les modalités de suivi des opérations effectuées par la machine, la forme et le contenu des documents sources et les résultats des calculs. Développe des présentations et des schémas pour la saisie, le traitement, le stockage et la sortie des informations, effectue des vérifications documentaires des programmes.

Définit un ensemble de données qui fournit une solution au nombre maximum inclus dans ce programme conditions. Effectue le débogage des programmes développés, détermine la possibilité d'utiliser des programmes prêts à l'emploi développés par d'autres organisations. Développe et met en œuvre des méthodes d'automatisation de la programmation, des programmes standards et standards, des programmes de programmation, des traducteurs, des langages algorithmiques d'entrée.

Effectue des travaux d'unification et de typification des processus informatiques, participe à la création de catalogues et de fiches programmes standards, dans l'élaboration de formes de documents soumis à un traitement mécanique, en travail de conception pour élargir la portée de la technologie informatique.

Avantages et inconvénients du métier

Avantages:

  • paiement de bénéfices élevés ;
  • demande relativement élevée de spécialistes ;
  • parfois, on peut trouver un emploi sans avoir fait d'études supérieures ;
  • est avant tout un métier créatif.

Inconvénients :

  • il faut souvent beaucoup expliquer la même chose, car ce qui est clair et évident pour le programmeur ne l'est pas toujours pour l'utilisateur ;
  • travailler en mode d'urgence (parfois) dans une situation stressante ;
  • le métier laisse une empreinte spécifique sur le personnage, que tout son entourage n'aime pas.

Lieu de travail

  • Entreprises informatiques et studios Web ;
  • centres de recherche;
  • les organisations qui incluent dans leur structure une unité de personnel ou des départements de programmeurs.

Qualités importantes

La programmation est un domaine en évolution rapide, un programmeur doit donc être capable de s'adapter rapidement à l'état actuel de la technologie et d'apprendre constamment de nouvelles technologies. Par conséquent, la capacité d’auto-apprentissage est l’une des principales compétences qu’un programmeur doit posséder. Sinon, dans quelques années, sa valeur en tant que spécialiste sera sensiblement inférieure.

La maîtrise de l'anglais au niveau de la lecture de la documentation technique est une autre exigence obligatoire pour les représentants de cette profession. Pour de tels spécialistes, il est très important de pouvoir travailler en équipe, sur de grands projets, avec des outils de développement collectifs, avec de grandes systèmes financiers(budgétaire, bancaire, comptabilité de gestion). Pour les candidats au poste de programmeur principal, des compétences en gestion de projet et d'équipe, l'indépendance, l'initiative, ainsi que la capacité d'assumer la responsabilité personnelle de la tâche assignée sont souhaitables.

Formation de programmeur

STEP Computer Academy est un établissement d'enseignement international qui enseigne. En activité depuis 1999. 42 agences dans 16 pays. Le plus grand centre de formation agréé pour Microsoft, Cisco, Autodesk. Les étudiants reçoivent des certificats internationaux et un diplôme international. L'objectif principal est l'emploi de chaque diplômé.

Dans ce cours, vous pouvez obtenir un métier de programmeur à distance en 1 à 3 mois. Diplôme de reconversion professionnelle établi par l'Etat. Formation sous un format entièrement à distance. Le plus grand établissement d'enseignement de formation professionnelle complémentaire. l'éducation en Russie.

Salaire

Le programmeur est l'une des professions les plus populaires et les mieux rémunérées en Russie. Même le spécialiste le moins avancé peut trouver un emploi en fonction de son niveau de connaissances, puis progressivement apprendre et acquérir de l'expérience. Le salaire du stagiaire est d'environ 1 000 $. Un programmeur à temps plein dans une entreprise de niveau intermédiaire (non informatique) gagne entre 1 500 et 1 800 dollars, un peu plus dans une organisation associée au développement de logiciels de masse. Le salaire du programmeur principal est de 2 500 à 3 000 $. La prochaine étape est le chef du service informatique. À connaissances nécessaires une expérience de travail obligatoire, la maîtrise d'une langue étrangère, des compétences en gestion du personnel, etc. sont ajoutées, et les revenus peuvent atteindre 4 000 $. Un bon programmeur peut devenir le gestionnaire d'un grand projet de développement logiciel, et ici le niveau de revenu atteint 5 000 $ ou plus.

Salaire au 28/03/2019

Russie 40 000—180 000 ₽

Moscou 50 000—200 000 ₽

Étapes de carrière et perspectives

Un bon début de carrière peut être de rejoindre un groupe de programmeurs lors du développement d’un projet. Les grands projets attirent souvent l'attention des entreprises occidentales, qui « surenchérissent » sur les programmeurs russes. Par exemple, une fois qu'un groupe de nos jeunes scientifiques a développé le processeur Elbrus pour le ministère de la Défense, mais ils ont finalement tous été rachetés par Intel Corporation, et maintenant nos scientifiques et programmeurs travaillent à l'étranger, et le projet Elbrus lui-même a été lentement fermé. . Le problème de la « fuite des cerveaux » dans cette profession est l’un des plus aigus.

Un programmeur peut faire carrière jusqu'à la tête d'un groupe de programmeurs (chef d'équipe), directeur informatique d'une entreprise, chef de projet informatique, etc. Au cours de son travail, un programmeur peut évoluer dans sa spécialité et s'améliorer professionnellement.

Programmeurs célèbres et grands

Knut Donald Erwin
Matsumoto Yukihiro
Tanenbaum Andrew
Raymond Éric Stephen
Fowler Martin
Grâce à la trémie
L'homme de stalle Richard Matthew
Kay Alan
Meyer Sid
Stroustrup Björn

L’émergence de la programmation comme métier et surtout comme activité professionnelle est difficile à dater sans ambiguïté.

Souvent considéré comme le premier appareil programmable, le métier à tisser jacquard a été construit en 1804 par Joseph Marie Jacquard, qui a révolutionné l'industrie du tissage en offrant la possibilité de programmer des motifs sur des tissus à l'aide de cartes perforées.

Le premier dispositif informatique programmable, le moteur analytique, a été conçu par Charles Babbage (mais n'a pas pu le construire). Le 19 juillet 1843, la comtesse Ada Augusta Lovelace, fille du grand poète anglais George Byron, aurait écrit le premier programme de l'histoire de l'humanité pour le moteur analytique. Ce programme a résolu l'équation de Bernoulli, qui exprime la loi de conservation de l'énergie d'un fluide en mouvement.

Dans mon premier et unique travail scientifique Ada Lovelace a abordé un grand nombre de sujets. Un certain nombre d'entre elle dispositions générales(le principe de sauvegarde des cellules de mémoire de travail, la connexion de formules récurrentes avec des processus de calcul cycliques) ont conservé leur importance fondamentale pour la programmation moderne. Les documents de Babbage et les commentaires de Lovelace décrivaient des concepts tels que les sous-programmes et les bibliothèques de sous-programmes, la modification des instructions et le registre d'index, qui n'ont commencé à être utilisés que dans les années 1950.

Cependant, aucun des programmes écrits par Ada Lovelace n’a jamais été lancé.

Ada Augusta, comtesse de Lovelace, est généralement considérée comme la première programmeuse honoraire (même si, bien entendu, l'écriture d'un seul programme ne peut pas être considérée comme une profession ou une activité professionnelle selon les normes modernes). L'histoire a conservé son nom dans le titre Langue universelle programmation de "l'Enfer".

Le premier ordinateur programmable fonctionnel (1941), les premiers programmes pour celui-ci, ainsi que (avec certaines réserves) le premier langage de programmation de haut niveau Plankalküll ont été créés par l'ingénieur allemand Konrad Zuse.

L'histoire n'a pas conservé les noms des personnes qui ont commencé à effectuer professionnellement le travail de programmation lui-même (indépendamment de la configuration du matériel informatique), car au début la programmation était considérée comme une opération de configuration secondaire.

Les lois de Murphy pour les programmeurs

1. Rien ne fonctionne comme prévu.

2. Rien n’est programmé comme il se doit.

3. Un bon programmeur se caractérise par sa capacité à prouver pourquoi une tâche ne peut pas être accomplie alors qu'il est tout simplement trop paresseux pour la terminer.

4. Il faut trois fois moins de temps pour résoudre un problème que pour discuter de tous les avantages et inconvénients de sa solution.

5. La date de livraison promise est la date d’achèvement du projet soigneusement calculée majorée de six mois.

6. Le programmeur connaît toujours la séquence d'actions par laquelle un utilisateur peut bloquer son programme, mais il ne résout jamais ce problème, espérant que personne ne pensera jamais à exécuter cette séquence.

7. Les vrais programmeurs adorent Windows - toutes les erreurs commises en raison de leur propre stupidité peuvent être imputées à Microsoft.

8. Conséquence - 99% des problèmes imputés à Microsoft sont une conséquence de la stupidité des programmeurs eux-mêmes.

9. Dans un accès de colère, pour une raison quelconque, tout le monde frappe le moniteur innocent au lieu de l'unité centrale.

10. En cas de grève de la faim, un vrai programmeur pourra manger de la nourriture choisie sous les boutons du clavier pendant encore un mois.

11. Un vrai programmeur a déjà remplacé au moins trois claviers imbibés de bière.

12. Quiconque rencontre des problèmes pour configurer l'encodage est automatiquement considéré comme un Néandertalien.

13. Les conversations amateurs sur les ordinateurs provoquent de graves nausées, voire des vomissements. La question de savoir comment changer le « fond d'écran » dans Windows donne envie d'égorger celui qui pose la question.

14. Pour la plupart des personnes qui ont besoin de votre aide, la raison de l'erreur dans le programme est purement génétique.

15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM, etc. Ce sont des mots, pas des abréviations.

16. L'expression « souris-norushka » n'a aucun sens.

17. Les problèmes les plus mystiques, largement gonflés et annoncés, se révèlent finalement être vos erreurs les plus stupides.

18. Corollaire - si votre programme effectue des actions mystiques, alors vous avez fait quelque chose d'incroyablement stupide.

19. Le pire sentiment pour un programmeur, c'est quand dix personnes se tiennent autour de vous et que tout le monde essaie de trouver la cause d'un problème dans votre programme, et que vous comprenez déjà quel est le problème, mais vous avez peur de le dire parce que c'est quelque chose de complètement stupide...

20. La solution à tous les problèmes de la vie se trouve sur Internet. Il faut juste être capable de bien chercher.

21. Un conflit d'instructions logiques dans la vie provoque une erreur fatale dans le travail du cerveau du programmeur - une augmentation de la température et de graves vertiges, y compris des vomissements ou une perte de conscience, sont possibles.

22. Les programmeurs méprisent plus ceux qui méprisent les programmeurs que ceux qui méprisent les programmeurs méprisent les programmeurs qui méprisent ceux qui les méprisent.

23. Si vous avez compris le précédent, alors vous êtes programmeur.

Il existe 10 types de personnes dans ce monde : celles qui comprennent le système de nombres binaires et celles qui ne le comprennent pas.

Vidéo : vous êtes programmeur

Vous devriez commencer votre chemin vers une carrière de programmeur en répondant à la question : avez-vous vraiment besoin de programmation ? Cette question ne s'applique pas à ceux qui étudient ou ont étudié dans une spécialité proche de la programmation. Si vous étiez meilleur en mathématiques à l'école qu'en sciences humaines, si vous aimez passer beaucoup de temps sur l'ordinateur, si vous voulez apprendre quelque chose de nouveau, alors la programmation est faite pour vous.

Où commencer

Il existe plusieurs options pour le développement d'événements, grâce auxquels une personne devient programmeur. Le premier, ce sont les parents-programmeurs qui ont tout appris à leurs enfants. Ces enfants n'ont même pas besoin d'aller à l'université. La deuxième option est le métier à la mode de programmeur. Après l'école, nous avons dû choisir où aller étudier et nous avons choisi le domaine à la mode de l'informatique, qui semblait nous plaire. Et la dernière option est un passe-temps qui s'est transformé en travail.

Si aucune des situations ci-dessus ne vous est arrivée, vous avez le choix entre quatre options :

  • Auto-éducation. Cette option peut être utilisée indépendamment ou en combinaison avec d’autres méthodes. Internet regorge d'applications qui vous aident à apprendre divers langages et technologies de programmation. Mais c'est le chemin le plus difficile pour les débutants.
  • Université. Si vous terminez vos études et souhaitez devenir programmeur, allez à l’université. Si ce n'est pour la connaissance, alors pour la croûte. Il peut servir de bonus pour postuler à un emploi. Bien que vous acquériez également quelques connaissances. Mais n'oubliez pas de vous renseigner. Le choix d'une université doit être abordé de manière très responsable. Étudiez attentivement les programmes de formation et choisissez les meilleures universités techniques.
  • Mentor. Ce sera très bien si vous trouvez une personne qui accepte de vous aider et de vous orienter dans la bonne direction. Il vous proposera des livres et des ressources adaptés, vérifiera votre code, vous donnera conseils utiles. À propos, nous avons déjà expliqué où vous pouvez trouver un mentor. Vous pouvez rechercher un mentor parmi des programmeurs familiers, lors de soirées et de conférences informatiques, sur des forums en ligne, etc.
  • Cours pratiques spécialisés. Essayez de rechercher des cours dans votre ville qui vous apprendront un langage de programmation ou une technologie. J'ai été agréablement surpris par le nombre de cours de ce type à Kiev, y compris des cours gratuits et suivis d'un emploi.

Quelle langue, technologie et direction choisir

Lorsque vous deviendrez programmeur, après un an ou deux, vous serez libre de choisir le langage de votre choix. Mais lors du choix d’un premier langage de programmation, un débutant doit prendre en compte les critères suivants :

  • Disponibilité des postes vacants sur le marché. Le but ultime de ce parcours est de trouver un emploi de programmeur. Et cela sera difficile à réaliser si personne ne recherche sur le marché du travail des développeurs dans votre langage de programmation. Consultez les sites d'emploi, voyez qui est le plus recherché, notez une douzaine de langues. Et passons au critère suivant.
  • Niveau d'entrée bas. Si vous devez passer beaucoup de temps à apprendre une langue, cela peut vous décourager de programmer. Découvrez les langues que vous avez sélectionnées ci-dessus. Passez en revue la littérature que vous devrez lire pour apprendre ces langues. Et choisissez celles qui sont décrites comme faciles, ou qui vous paraissent faciles. Ces langages peuvent être PHP, Ruby, Python.
  • Le frisson du processus. Si vous n'aimez pas écrire du code dans la langue de votre choix, vous n'apprécierez pas le processus, votre travail ou votre vie. En as-tu besoin? Faites les bons choix.

Vous devrez également décider de l’orientation de la programmation. Mobile, ordinateur de bureau, jeux, Web, programmation de bas niveau, etc. Les secteurs les plus populaires et relativement simples sont le développement pour les clients Web, mobiles et de bureau. Une langue peut convenir à chaque direction et pas une autre du tout. Autrement dit, lors du choix d'un langage de programmation, il convient également de partir de ce facteur.

Quoi qu’il en soit, apprenez les technologies Web. C'est un langage de balisage, de styles et qui rendra votre page dynamique. L'étape suivante consiste à apprendre un langage côté serveur (Python, PHP, Ruby et autres) et les frameworks Web qui lui conviennent. Étudiez les bases de données : presque tous les postes vacants de programmeur le mentionnent.

Comment acquérir une première expérience

Sans expérience, vous n'obtiendrez pas de travail. Sans travail, vous n'acquérirez pas d'expérience. Cercle vicieux vrai vie. Mais ce n’est pas grave, on s’en sortira.

Tout d’abord, n’attendez pas d’avoir lu tous les livres sur le langage de programmation que vous avez choisi. Commencez à écrire vos premières lignes de code après le deuxième chapitre du livre. Effectuez toutes les tâches des livres, retapez les exemples, comprenez-les. Compliquez les exemples et les tâches des livres avec vos propres idées. Créez vos propres tâches pour le matériel que vous avez couvert. Résolvez ces problèmes.

Deuxièmement, vous devez trouver vos premiers projets. C’est probablement l’option la plus difficile, mais elle fonctionne. Vous devrez rechercher vous-même les commandes, les exécuter et vous soucier du paiement. Pour un débutant, c'est extrêmement difficile, mais toutes les autres options sembleront alors un jeu d'enfant. Les projets terminés peuvent être enregistrés comme expérience et présentés à votre futur employeur. Les vrais projets sont un gros plus sur votre CV.

Si vous connaissez l’anglais, mieux vaut vous inscrire aux échanges anglophones. Le marché y est plus grand. Si vous ne connaissez pas l'anglais, apprenez-le. En attendant, des échanges freelance en russe s'offrent à vous. Recherchez des petits projets qui sont égaux ou juste au-dessus de votre niveau de compétence. Postulez pour quelques dizaines de ces emplois. Et préparez-vous à recevoir une mer de refus. Mais si une ou deux candidatures sont retenues, vous aurez la possibilité d'acquérir une réelle expérience.

Une autre bonne option pour acquérir une véritable expérience est l’open source. De tels projets ont toujours besoin de nouvelles personnes, même des débutants. Vous pouvez rechercher des bogues dans le projet ou consulter le outil de suivi des bogues et suggérer des méthodes pour les résoudre. Vous pouvez facilement trouver de tels projets sur GitHub ou . N'hésitez pas à y poser des questions.

La quatrième option pour acquérir de l'expérience consiste à aider d'autres programmeurs. Demandez-leur de vous confier de petites tâches simples. Si quelque chose ne fonctionne pas, vous aurez toujours quelqu'un vers qui vous tourner. Et en même temps vous participerez à un vrai projet.

La dernière façon est propres projets, divers hackathons ou travailler dans un espace de coworking. Il est difficile de démarrer seul ses propres projets, il vaut mieux chercher des connaissances ou des amis.

Pourquoi choisir Python

Parlons un peu plus du choix de votre premier langage de programmation. La première langue doit être simple et populaire sur le marché. Une telle langue est Python. Je recommande fortement de le choisir comme premier langage de programmation.

Le code du programme Python est lisible. Vous n'avez même pas besoin d'être programmeur pour avoir une compréhension de base de ce qui se passe dans un programme. Grâce à la syntaxe simple de Python, il vous faudra moins de temps pour écrire un programme qu'en Java, par exemple. Une énorme base de données de bibliothèques qui vous fera économiser beaucoup d'efforts, de nerfs et de temps. Python est un langage de haut niveau. Cela signifie que vous n’avez pas à trop penser aux cellules mémoire et à ce qu’il faut y mettre. Python est un langage à usage général. Et c'est si simple que même les enfants peuvent l'apprendre.

En toute honnêteté, il convient de mentionner d'autres langages de programmation. Java pourrait être un bon choix pour un débutant. Ce langage est plus populaire que Python, mais aussi un peu plus complexe. Mais les outils de développement sont bien mieux développés. Il suffit de comparer Eclipse et IDLE. Après Java, il vous sera plus facile de travailler avec des langages de programmation de bas niveau.

PHP- une autre langue très populaire. Et je pense que c'est encore plus simple que Python. Il est très simple de trouver un mentor ou une solution à un problème sur le forum. En effet, il existe un grand nombre de programmeurs PHP dans le monde. différents niveaux. Il n'y a pas d'importation normale en PHP, il existe de nombreuses options pour résoudre le même problème. Et cela complique l'apprentissage. Et PHP est conçu exclusivement pour le Web.

Langues C Et C# très difficile pour un débutant. Rubis - un bon choix comme langue seconde, mais pas comme première. Javascript- un langage très simple, mais qui ne vous apprendra rien de bon. Mais la tâche du premier langage de programmation est toujours de vous apprendre quelque chose de correct, de définir une sorte de logique.

L'anglais est-il important ?

Important! Ne sait pas? Enseigner. Savez-vous? Améliorer. Apprenez à lire, écrire, écouter et parler anglais. Concentrez-vous sur la littérature technique. Écoutez des podcasts en anglais. Lisez des manuels de programmation en anglais.

Ce qu'il faut savoir en plus du langage de programmation

Bien sûr, outre le langage de programmation et l’anglais, vous devez connaître autre chose. Mais cela dépend de la direction que vous choisissez. Un programmeur Web doit connaître HTML, CSS, JavaScript. Un programmeur de bureau enseigne les API du système d’exploitation et divers frameworks. Un développeur d'applications mobiles apprend les frameworks Android, iOS ou Windows Phone.

Tout le monde doit apprendre les algorithmes. Essayez de suivre un cours sur Coursera ou de trouver un livre sur les algorithmes qui vous convient. De plus, vous devez connaître l'une des bases de données, des modèles de programmation et des structures de données. Cela vaut également la peine de consulter les référentiels de code. Au moins avec un. Une connaissance des systèmes de contrôle de version est requise. Choisissez Git, c'est le plus populaire. Vous devez connaître les outils avec lesquels vous travaillez, le système d'exploitation et l'environnement de développement. Et la principale compétence d'un programmeur est de pouvoir utiliser Google. Vous ne vivrez pas sans cela.

Dernières étapes

Vous devez préparer un curriculum vitae. Pas seulement un CV, mais un . Vous ne devriez pas y écrire, mais vous n’avez pas non plus besoin de garder le silence sur vos compétences. Une fois que vous êtes invité à un entretien, vous devez vous y préparer. Parcourez le matériel répertorié sur votre CV. Vous devez avoir confiance en vos connaissances. Parcourez les projets sur lesquels vous avez travaillé, réfléchissez aux technologies que vous avez utilisées. Et en avant - vers un avenir radieux avec nouveau métier programmeur

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. Dès le 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 travail

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 (trahir son incompétence) ? J'ai travaillé dans cette entreprise pendant six mois, afin de pouvoir être promu après quelques mois 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. Résumé. 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 seulement 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 comprendre quelque chose du genre « ... le module table est à bien des égards une option intermédiaire, un compromis par rapport au scénario de transaction et au modèle. Domaine», vous devez vraiment être 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 à laquelle vous ne comprenez 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. , avoir Qualités de meneur, la résistance au stress, les compétences en communication et une foule d’autres compétences « sans lesquelles vous ne pouvez pas le faire ».

    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.