Par où commencer à travailler en tant que programmeur. Apprendre la programmation à partir de zéro - un guide étape par étape pour les débutants

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, cet article parlera exclusivement de mon expérience personnelle, ce qui m'a permis d'obtenir des entretiens même pour des entreprises de premier plan comme 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

Suivant point important dans le CV après les technologies en demande et En anglaisé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é. C'est difficile de compter grande quantité des programmeurs intelligents qui, autant que je m'en souvienne, 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 traduire toutes les conversations en haut niveau, où les approches et concepts généraux sont discutés, mais pas une 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. , ont des qualités de leadership, une résistance au stress, des compétences en communication et une foule d’autres compétences, « sans lesquelles c’est impossible ».

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

Je n’ai pas étudié pour devenir programmeur, même si j’ai toujours voulu le devenir. Au début, je me suis généralement orienté vers une spécialité liée au matériel informatique, mais il s'est avéré que ce n'était pas très intéressant, j'ai donc été transféré vers l'optoélectronique.

L'étude portait sur le traitement d'images : ce n'est pas du tout de la programmation, mais c'est quand même plus proche de ce que je souhaitais. Il s'agit d'une spécialité liée à l'informatique.

J'ai toujours gardé à l'esprit que je travaillerais comme programmeur. C'est ce qui s'est finalement passé.

J'ai trouvé une offre d'emploi dans

J'ai commencé à chercher activement un emploi de programmeur Java dès ma cinquième année, mais j'ai d'abord décidé de faire un stage dans une entreprise. J'ai vu une annonce pour un stage sur la page publique du MAI sur VK. Pour être honnête, c'était la première fois que j'entendais parler de Jet Infosystems. J'ai trouvé des informations sur l'entreprise sur Internet, tout m'a semblé intéressant et j'ai laissé une demande sur leur site Internet.

Il s’est avéré qu’il y avait beaucoup de candidats : cent et demi. Leur sélection a été assez longue. Nous avons d’abord été invités à une assemblée générale, puis nous avons passé un examen théorique et réalisé plusieurs travaux pratiques.

Ensuite, pour ceux qui l’ont fait avec succès, un autre entretien a été organisé. Ce n'est qu'après cela que nous avons tous rejoint le groupe de formation, puis j'ai reçu une invitation à travailler en tant que développeur Java. Mais comme on dit, c’est une toute autre histoire, et ce n’est pas ce que je veux vous raconter.

Je n'ai lu qu'un seul livre sur la programmation

On peut dire que je suis autodidacte.

Je suis sûr que la programmation est un domaine que vous pouvez comprendre par vous-même sans de longs cours théoriques à l'université.

Avant de commencer sérieusement à apprendre à programmer en Java, je n'avais lu qu'un seul livre sur la programmation. Il s’agissait d’un cours « C++ en 21 jours ».

Je ne dirai pas que je n'ai pas aimé ça ou que tout semblait trop compliqué et inutile, mais j'ai quand même opté pour Java. D'ailleurs, maintenant au travail, je dois programmer non seulement en Java, mais aussi en « plus », donc il n'y a pas de connaissances inutiles.

Pourquoi ai-je choisi Java ?

  • À mon avis, Java est peut-être le seul langage de programmation qui ne prend pas beaucoup de temps entre le début de son apprentissage et l'obtention du produit final. Peut-être que je suis le genre de personne qui veut « ressentir » rapidement le résultat. La théorie pure ne m'attire pas vraiment.
  • J’avais un objectif précis devant moi. J'ai compris qu'il me serait extrêmement difficile d'obtenir un emploi de programmeur ; lors d'un prochain entretien, je devrais montrer au moins quelque chose et dire : « Je n'ai aucune expérience professionnelle, un diplôme n'est pas exactement ce dont j'ai besoin, mais J'ai ça – regarde. Mais heureusement, j'ai trouvé un emploi grâce à un stage.
  • Il existe désormais un grand nombre de guides différents pour développer des applications pour le système d'exploitation. Donc ici, tout correspondait littéralement pour moi : il y avait suffisamment de matériel pour la formation, et il y avait la possibilité d'obtenir un résultat facilement tangible relativement rapidement.

Bref, après un petit cours de C++, j'ai suivi une sorte de tutoriel Java pour débutants. Je ne me souviens pas de son nom, je me souviens seulement que j'ai arrêté de le lire avant même d'arriver au milieu. Je voulais « m’enfuir » le plus vite possible.

Ensuite, j'ai vu beaucoup de guides pour débutants et je peux dire avec certitude : il n'y a pas de différence fondamentale entre eux. Ils sont à peu près pareils. Pour trouver quelque chose, il vous suffit de taper « book for java starter » dans la requête et c'est parti.

J'ai trouvé de nombreuses réponses à mes questions dans cette chaîne de télégramme.

Il existe peu de sources de programmes en langue russe sur Internet. Faites avec

Oui, et encore une chose importante. Vous devez accepter le fait que dans le segment russophone du réseau, il existe un certain nombre de livres et de ressources sur la programmation par rapport au nombre de sources en langue anglaise.

Bien sûr, il n'y a tout simplement aucun moyen de programmer sans une bonne connaissance de l'anglais. Alors pour ceux qui maîtrisent l’anglais au niveau Google Translator, je ne peux conseiller qu’une chose : améliorez d’abord votre anglais. Tout le reste vient plus tard.

Bien sûr, tout n'est pas si triste : il existe « Google Developer Tools » en russe. Mais de toute façon, ce n’est pas par là qu’il faut commencer.

Je sais qu'il existe différents cours de programmation en ligne - payants et gratuits - mais il s'est avéré que je pouvais m'en passer. Ce qui plaide une fois de plus en faveur de mon argument initial selon lequel la programmation peut être apprise sans l'aide de personne.

Où ai-je commencé à "échouer"

Ayant un peu compris Java pour Android, j'ai commencé petit à petit avec des exemples d'applications typiques - du simple au plus complexe. À ce moment-là, je savais déjà quel type d’application je voulais éventuellement créer.

J'ai été aidé par un ami qui m'a suggéré de rédiger une application pédagogique pour les écoliers. J'ai réfléchi et nourri cette idée pendant longtemps. J'ai parcouru la liste des applications existantes et me suis assuré qu'il y avait peu d'applications similaires, après quoi j'ai commencé à les développer.

La chose la plus difficile pour moi a probablement été de trouver bon sujet pour un projet complet. Je ne sais pas si c'est un inconvénient ou pas, mais je suis construit de telle manière que si le sujet est bon, si j'aime l'idée et que je suis enthousiasmé, je n'ai pas de problèmes de motivation . Il n'y a aucun problème de motivation - il n'y a aucune difficulté insurmontable.

Quelles ressources peuvent aider un débutant ?

  • stackoverflow.com.

Là, avec une probabilité allant jusqu'à 90 %, vous pouvez obtenir une réponse complète à la question que vous rencontrez en développement.

  • Dépôt avec sources Github.com.

Il m'a vraiment aidé à apprendre des exemples des autres.

  • Youtube

On y trouve de nombreux screencasts qui permettent très rapidement de comprendre une technologie particulière.

J'ai développé ma première application en un mois

Bref, j'ai fait la demande en littéralement un mois. Les sources de connaissances les plus utiles étaient Developer.android.com et le même Stackoverflow.com. La chose la plus intéressante est que le processus habituel de téléchargement d'une candidature sur jeu de Google cela a pris deux mois entiers. Même si, peut-être, tout a duré si longtemps parce qu'après le développement, ma passion s'est un peu refroidie. Un peu plus tard, j'ai développé une version web de l'application après avoir lu le livre Beginning Java EE 7.

Je ne voudrais pas terminer mon histoire par une phrase banale sur le fait que « tout est entre nos mains » et « il suffit de le vouloir ». Bien sûr, pas tout le monde, et je comprends que j'ai quand même obtenu un poste de programmeur grâce à un peu de chance : que se serait-il passé si je n'étais pas tombé sur ce post sur VK ?

De plus, je ne veux en aucun cas diminuer l'importance d'une formation universitaire et dire : « Pourquoi tout cela est-il nécessaire ? Écoutez, tout s'est passé comme ça. Besoin de. L'université vous apporte en fait beaucoup et, peut-être plus important encore, vous inculque l'habitude d'apprendre.

Et pourtant : vous pouvez apprendre à programmer tout seul. Maintenant, j'en suis sûr.

Cet article n'est pas un tutoriel de codage. Et pas un article sur « quel langage de programmation choisir ». Si vous voulez comprendre à quel point vous êtes intéressé à découvrir le monde du code, alors la question la plus importante est : qu’est-ce que la programmation ? À quoi ressemble la programmation de l’intérieur ? Suis-je et la programmation compatibles ?

Le principe de « la logique, pas les mathématiques »

L’une des plus grandes idées fausses des nouveaux programmeurs est que la programmation est pleine de mathématiques. Si vous pensez que la programmation vous rappellera vos connaissances scolaires en trigonométrie, en algèbre, etc., alors vous vous trompez. Ce type de mathématiques est rare en programmation.

Par expérience, les choses « purement mathématiques » incluent, par exemple, l’ordre des opérations dans une expression et le système de coordonnées. Rien de bien compliqué. Au contraire, il y a beaucoup de logique. La nécessité d’anticiper, de comprendre dans quel ordre faire les choses et comment contrôler ce flux imprègne tous les aspects de la programmation. Si vous avez un talent pour la logique, il vous sera alors facile de commencer à gérer des tâches de programmation.

Le principe « d’attraper une étoile filante »

La programmation peut être considérée comme l’exécution de nombreux « processus » – comme pour forcer l’ordinateur à « faire le travail à votre place » – et la gestion de ces processus. En programmation, un processus produit souvent un résultat. Le résultat peut être un fichier, mais il peut aussi s'agir de quelque chose de plus simple, comme une chaîne ou un nombre.

Le problème du travail avec les processus est que si vous ne faites rien avec leurs résultats, ils se dissolvent tout simplement. Littéralement parlant, ils « tombent dans l’oubli », ne sont jamais recréés, très semblables aux étoiles qui scintillent dans le ciel et disparaissent. En d’autres termes, vous devez « les attraper ».

Si vous créez quelque chose avec un processus, vous devez le récupérer ou vous le perdrez. C'est là que les variables entrent en jeu – comme moyen de « capturer » les résultats d'un processus. Ce principe aide grandement à comprendre ce qu’est la programmation dès les premiers stades de l’apprentissage. Et si vous l’attrapez tôt, vous le trouverez très utile.

Le principe du « dictionnaire »

Il existe de nombreux « types » en programmation. Considérez les types comme les éléments constitutifs d’un langage de programmation. Un type est une chaîne ou une collection de caractères entre guillemets. "Apple" et "orange" sont des chaînes. Ils peuvent, par exemple, être combinés et rendus « pomme-orange ». Les nombres sont d’un type différent. Les nombres peuvent être ajoutés, soustraits, multipliés (entre autres opérations). Ensuite, il y a les « tableaux » - un ensemble d'objets dans un certain ordre. ["First", "goes", "before", "second"], par exemple, est un tableau avec le premier élément "First" et le dernier élément "second".

Mais l’un des types les plus puissants est peut-être le hachage ou la paire clé-valeur. Le hasch a plusieurs noms. En Ruby, c'est "hash". En JavaScript, cela s'appelle « objet ». Peut-être que Python lui a donné un meilleur nom : « dictionnaire ». Si vous réfléchissez un peu, un dictionnaire est un ensemble de clés (mots) indiquant leur signification.

Mais pourquoi est-ce important ? Il s’avère qu’une telle structure est souvent nécessaire pour stocker des données. Par exemple, vous pouvez regrouper les informations sur une personne de cette façon :

("first_name" => "Jonathan", "last_name" => "Richards", "nationality" => "Britannique" )

Il existe des clés « first_name » (prénom), « last_name » (nom de famille), etc. Ce sont comme des propriétés ou des attributs d’une personne. Vous pouvez également ajouter « hair_colour » (couleur des cheveux), « age » (âge) ou « gender » (sexe). Et chacune de ces clés a une signification. Une partie importante de la programmation consiste à définir les formats des structures de données. Et les paires clé-valeur deviennent les armes les plus précieuses de votre arsenal, il est donc utile de comprendre leur fonctionnement le plus tôt possible.

Le principe de la « matriochka »

La programmation est pleine d'objets qui se trouvent à l'intérieur d'objets à l'intérieur d'autres objets. Lors de la programmation, vous vous retrouvez souvent à essayer de structurer des données, et souvent ces structures contiennent d'autres structures en leur sein.

Ajoutons la propriété « siblings » à l'exemple précédent :

("first_name" => "Jonathan", "last_name" => "Richards", "nationality" => "Britannique", "frères et sœurs" => ( "frères" => , "soeurs" => ["Fiona", "Marie"] ) )

Vous verrez ce principe tout au long de votre programmation. En HTML, certains éléments contiennent d'autres éléments :

En informatique, les objets sont principalement des programmes ou des fichiers. C’est un principe extrêmement utile. En programmation, vous entendrez souvent les termes « entrée » et « sortie » – entrée et sortie. La raison en est que la tâche consiste souvent à recevoir des entrées (entrée), à ​​les traiter (processus) et à apporter des modifications (sortie). Le traitement est effectué par des processus (bits actifs) contrôlés par votre code. Les bits passifs sont des données sur lesquelles les processus opèrent. C'est comme transformer de la viande hachée en saucisse.

Le principe « chien, chat et poisson »

(ou le principe de cause à effet)

Imaginez que vous avez une chambre. Dans cette pièce il y a un chat et un poisson dans un bol. Le poisson se comporte comme d'habitude. A un certain moment, 2 choses se produisent : le chien entre dans la pièce et le chat quitte la pièce. Au même moment, le poisson se met à chanter. Question : Qu'est-ce qui a fait chanter le poisson ?

Il existe de nombreuses possibilités à considérer. Nous pouvons supposer que cela s'est produit parce qu'un chien est entré. Et on peut supposer que la raison est que le chat est sorti. Ou peut-être que la raison est une combinaison des deux événements. Peut-être que les deux événements n’ont rien à voir là-dedans. Mais le fait est que 18h17 est le moment où un poisson se transforme en sorcière. Peut-être que tous les poissons chantent. Certaines de ces options peuvent être vraies.

Ce qui est vraiment important pour un programmeur, c'est d'être capable d'isoler les causes du changement. Vous rencontrerez des situations comme celle-ci tant que vous coderez. Dans de telles situations, nous pourrions vouloir nous demander : peut-on simuler l’entrée du chien sans que le chat ne sorte (cela pourrait clarifier beaucoup de choses) ; peut-on simuler la sortie d'un chat sans qu'un chien n'entre ; pouvons-nous reproduire complètement l'environnement (par exemple, heure 18h17) pour voir s'il influence le chant des poissons, indépendamment des chiens et des chats ? Et ainsi de suite. Il est important d’utiliser une méthodologie pour déterminer les raisons du changement. Cette capacité vous aidera encore et encore tant que vous coderez.

Les abstractions, ou le principe de la « pizza »

C’est l’un des principes les plus délicats. Imaginez une pizzeria. Chaque jour, le chef prépare des pizzas avec des garnitures différentes. Chaque pizza est préparée dans un certain ordre : vous préparez d'abord la pâte, puis vous la laissez, puis vous la mettez dans la poêle, ajoutez la sauce tomate, les garnitures, le fromage et enfin vous la faites cuire.

Mais bien entendu, le chef ne prépare pas chaque pizza de A à Z dans l’ordre décrit ici. Cela prendrait des années. Au lieu de cela, il prépare tout à l'avance, et quand il s'agit de napolitain, il lui suffit de prendre la base (qui est déjà formée), d'ajouter la sauce tomate, les anchois et le fromage, puis de cuire au four.

La chose importante à comprendre ici est que le cuisinier a seulement besoin de connaître les ingrédients de chaque pizza spécifique, mais sinon, toutes les pizzas sont similaires les unes aux autres. La programmation ressemble beaucoup, vous utilisez des « abstractions » pour stocker des données plus générales (comme la croûte d'une pizza) tout en les séparant des données plus spécifiques (les garnitures).

Transformons la fabrication de pizza en code. Commençons par mal faire les choses. Créons une méthode make_a_napoletana_pizza (faire une pizza Neapolitana) :

Faire_une_napoletana_pizza

Il y aura 5 étapes (faire la base, ajouter la sauce tomate, ajouter les anchois, ajouter le fromage, cuire au four) :

Make_the_base add_the_tomato_sauce add_anchovy add_cheese cuire

Super. Mais que se passe-t-il si nous voulons faire une pizza au salami ? Nous serons obligés d'écrire une toute nouvelle méthode make_a_salami_pizza (faire une pizza au salami), qui aura beaucoup de points communs avec la méthode actuelle, sauf qu'elle ajoutera du salami à la place des anchois. C'est un peu cher. L'approche du programmeur consiste à « abstraire » les parties communes des techniques de fabrication de pizza et à prendre en compte les différents ingrédients spécifiques. Nous pouvons le faire avec un "argument" qui est "passé" à la méthode.

C'est ce que cela signifie. Imaginons que notre méthode make_a_pizza soit appelée avec l'argument "toppings". La méthode ressemblera à ceci :

Faire_une_pizza (garnitures)

Et cela fonctionnera comme ceci :

Make_the_base add_the_tomato_sauce add_toppings(toppings) add_cheese bake

À la ligne 3, nous prenons les garnitures définies précédemment et les ajoutons à la pizza.

Maintenant que nous avons défini une méthode générale pour préparer une pizza, nous pouvons simplement l'appeler et préciser les ingrédients que nous souhaitons. Tout se passe automatiquement. En d'autres termes, nous appelons make_pizza(salami), et lorsque la méthode s'exécutera, le salami deviendra une garniture et sera ajouté à la pizza lorsque la méthode atteindra la 3ème ligne. En changeant simplement les garnitures, vous pouvez créer 2 pizzas différentes en utilisant une seule méthode. C'est aussi économique que lorsque la serveuse écrit simplement « 1 x salami, 1 x végétarien » sur le bon de commande et que le cuisinier sait tout ce dont il a besoin. En programmation, cela s'appelle "l'abstraction".

Et voilà : sept principes qui s’apprennent généralement au cours des 3 premières années de programmation et qui contribuent de manière significative à la compréhension de l’art du codage. Si vous commencez votre voyage, ces principes peuvent également vous aider.

Irina Davydova


Temps de lecture : 13 minutes

Un Un

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

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

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

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

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

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

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

Les avantages du métier comprennent les avantages suivants :

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

Inconvénients :

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

Vidéo : Comment devenir programmeur ?

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

Les principales qualités d'un bon programmeur

Un bon programmeur devrait...

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

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

Tu devrais commencer par étudier...

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

Langage de programmation – par lequel commencer ?

Vous devrez également étudier...

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

Tout dépend de la direction choisie.

Par exemple…

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

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

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

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

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

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

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

Ressources et livres en ligne utiles pour apprendre à devenir programmeur

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

Ressources d'apprentissage:

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

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

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

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

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

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

C'est pourquoi…

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

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

Perspectives de carrière des programmeurs et salaires des programmeurs

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

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

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

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

Aujourd’hui, il est difficile d’imaginer notre vie sans des objets qui sont déjà devenus des objets quotidiens comme les ordinateurs portables et personnels, les smartphones et les consoles, les terminaux dans les supermarchés, les systèmes bancaires automatisés, etc. Cette liste peut être longue, mais ils ont tous une chose en commun : ce sont les programmeurs qui insèrent le « cerveau » dans ces appareils intelligents modernes.

Mais avant de choisir ce métier, il faut bien comprendre par où commencer pour réussir dans ce domaine difficile.

Toute personne possédant des compétences de base, des connaissances et un grand désir peut devenir programmeur. De plus, vous devez décider dans quelle direction de programmation vous aimeriez le plus travailler. Dans ce cas, il y a trois directions principales.

1. Les programmeurs Web constituent le métier le plus simple. Comprend :

  • Maquettiste créant des modèles (conception de sites Web);
  • Programmeur serveur créant un script de site Web.

2. Les programmeurs de logiciels (niveau de complexité moyen) sont divisés en :

  • Développeur de logiciels;
  • Développeur de programmes système.

3. Programmeurs développant des jeux pour PC, téléphones mobiles, consoles - le domaine de travail le plus difficile.

Combien de temps faut-il étudier ?

Tout dépend du désir et de l'intensité d'acquérir des connaissances théoriques et des compétences pratiques. Cependant, il existe une règle non écrite selon laquelle tout s’apprend en un an. L'essentiel est d'avoir l'envie d'apprendre et d'acquérir constamment de nouvelles compétences. Quant à l’âge auquel on peut maîtriser ce métier, c’est aussi une question de détermination. Certains, âgés de 18 à 20 ans, n'ont ni envie ni énergie vitale, tandis que d'autres, étant à l'âge de la retraite, atteignent facilement les objectifs qu'ils se sont fixés.

Quelles connaissances et qualités sont nécessaires ?

Les jeunes qui souhaitent lier leur vie à la programmation dès l'âge scolaire doivent comprendre que l'éducation qu'ils reçoivent assis à leur bureau facilitera considérablement leur tâche de maîtrise de ce métier.

Dans le programme scolaire, une attention particulière doit être portée aux matières suivantes :

  1. Mathématiques supérieures. En plus de la capacité d'effectuer des calculs ordinaires, c'est l'une des rares matières scolaires qui oblige à réfléchir, analyser, développer une pensée abstraite et tirer des conclusions personnelles. Ce sont les compétences qu’une personne devrait posséder ;
  2. Langue anglaise. Dans ce cas, il faut au minimum un « niveau intermédiaire avec un dictionnaire ». Idéalement, cela signifie une bonne connaissance d’un langage technique et la capacité de traduire des textes spécialisés. Après tout, pour la plupart, vous devrez étudier et utiliser de la documentation, acheter divers logiciels et également négocier avec des contreparties étrangères avec une maîtrise sûre de la langue anglaise ;
  3. Informatique (théorie de la programmation). Il est nécessaire d'avoir une compréhension des types de données et des bases du travail avec des bases de données, des opérateurs de base et des langages de programmation (dans le programme scolaire, il s'agit de Pascal et du C++), ainsi que des bases de la programmation orientée objet ;
  4. La physique. Beaucoup de gens pensent que la connaissance de ce sujet est absolument inutile pour maîtriser le métier de programmeur. Mais cette opinion peut être qualifiée d'erronée. Après tout, ce domaine de travail peut être étroitement lié à la physique. Par exemple, créer un simulateur de vaisseau spatial ou maritime, ainsi que des jeux informatiques aussi proches que possible de la réalité. Des connaissances sur l'incidence et la réfraction de la lumière, la création de mouvements et de dérives réels d'une voiture dans diverses conditions météorologiques, la représentation réaliste de l'eau, de la fumée ou du feu, etc. peuvent devenir nécessaires.

Qualités requises pour le travail :

  1. Possession d'une pensée extraordinaire et logique ;
  2. Pensée mathématique ;
  3. Capacité à gérer son temps (sans oublier un auto-apprentissage constant) ;
  4. La capacité de diviser une grande tâche en sous-tâches ;
  5. La capacité de choisir le bon objectif et d'avoir le désir de l'atteindre ;
  6. Capacité à travailler dans une grande équipe. Vous ne pouvez pas gérer seul de grands projets, et les petits projets ne sont pas particulièrement demandés. Il est nécessaire de discuter des questions peu claires avec des collègues plus expérimentés et de combler les lacunes dans les connaissances ;
  7. Capacité à apprendre rapidement. Les technologies ne restent pas immobiles. Par conséquent, en plus des travaux existants sur vos projets, vous devez constamment surveiller et être au courant des derniers changements dans le domaine des technologies de l'information.

Connaissances et compétences minimales

Selon les ingénieurs et programmeurs de Google, tout spécialiste qui se respecte dans le domaine de la programmation doit posséder un certain nombre de connaissances et de compétences minimales pour devenir professionnel à l'avenir. Alors, ce qu’il faut savoir pour devenir un spécialiste de haut niveau :

  • Apprenez les bases de l'informatique grâce aux cours à distance de Coursera ou Udacity ;
  • Acquérir des connaissances en programmation dans au moins un langage (Python, C++, Java);
  • Apprendre d'autres langages (PHP, Java Script, HTML, CSS) ;
  • Apprenez à tester le code ;
  • Apprendre à comprendre les algorithmes et les structures de données ;
  • Acquérir des connaissances en mathématiques discrètes ;
  • Étudier les fonctionnalités des systèmes d'exploitation ;
  • Acquérir des connaissances sur l'intelligence artificielle;
  • Apprenez à créer des compilateurs ;
  • Acquérir des connaissances en cryptographie et en programmation parallèle.

Au début des travaux pratiques, les experts cités ci-dessus conseillent :

  • Créez votre propre site Web, serveur ou robot ;
  • Développer une partie d'un grand système, comprendre la documentation et les codes, et déboguer le programme ;
  • Commencez à travailler sur un grand projet en équipe. Cela vous permettra d'apprendre plus rapidement et de vous habituer à l'interaction en équipe ;
  • Améliorez constamment vos connaissances et vos compétences ;
  • Commencez le travail d’enseigner aux autres.

Où puis-je obtenir les connaissances nécessaires ?

Vous pouvez acquérir vous-même les connaissances théoriques et pratiques nécessaires dans le domaine de la programmation de plusieurs manières :

  1. Apprendre des livres et des magazines. Cette option peut être qualifiée de standard et éprouvée depuis de nombreuses années. Cependant, afin d'économiser sur l'achat de « supports papier », vous pouvez télécharger les informations les plus pertinentes sur les questions de programmation à partir des ressources Internet. De nombreux praticiens soutiennent que la perception du matériel étudié est meilleure à partir de sources papier. Et la nécessité d'écrire manuellement de nombreux codes différents vous permettra de gagner en confiance en vous et de vous débarrasser de la manière passive d'écrire des codes de programme comme le « copier-coller » ;
  2. Cours vidéo de formation. Ils constituent une bonne alternative aux livres et aux magazines. Les livres sont pour la plupart écrits dans un langage ennuyeux et pas toujours compréhensible, sans possibilité de poser une question intéressante à l'auteur. Si vous regardez des cours vidéo, tout est beaucoup plus facile. La principale chose nécessaire est de répéter toutes les actions affichées sur le moniteur. Et si des difficultés ou des moments incompréhensibles surviennent, vous pouvez toujours poser votre question à l'auteur sur le forum. Un autre aspect positif d'une telle formation est la mise en œuvre indépendante d'un certain nombre d'actions décrites dans la leçon. Oui, cela se produit sous la forme d’une répétition claire des opérations réalisées dans la vidéo. Mais c'est précisément cette procédure qui développe progressivement la capacité de créer de manière indépendante des scripts, des applications et des programmes.

Après avoir acquis un niveau de connaissances suffisant, vous pouvez évaluer vos points forts et concourir sur différents sites spécialisés pour programmeurs. De plus, pour obtenir des informations nouvelles et utiles, ainsi que pour communiquer avec des « collègues », il est recommandé de visiter les forums Internet.

Conclusion

Des changements dans les technologies informatiques, y compris les langages de programmation, se produisent constamment. Il faut essayer de rester dans l'air du temps, étudier diverses littératures consacrées à un domaine de travail spécifique. La recherche constante de différentes façons de résoudre les problèmes contribuera à améliorer les connaissances professionnelles. La communication avec des collègues ou simplement des personnes liées à la programmation vous permettra de trouver rapidement les bons moyens d'accomplir les tâches assignées.

Il n’y a rien de mal à utiliser constamment des ouvrages de référence sur les langages de programmation, car on ne peut pas tout garder en tête, et il y a des choses que l’on n’est pas obligé de garder. Il vaut la peine d'aborder la solution de tout problème (même le plus simple à première vue) de manière approfondie et lente. Lorsque vous appliquez pour la première fois les connaissances théoriques acquises dans la pratique, vous devez apprendre à développer votre propre algorithme de solution. Il est nécessaire de s'attaquer le plus souvent possible aux petits problèmes de programmation et de perfectionner progressivement ses compétences. Plus tard, avec l'expérience acquise, le programmeur pourra se permettre, en plus de son travail principal, d'animer des séminaires et des consultations supplémentaires rémunérés, ainsi que de recruter des étudiants. J'espère que de telles difficultés ne vous ont pas effrayé et que vous continuerez à avancer vers votre objectif.

Publications sur le sujet