Carrière de programmation. Chapitre 1. Premier programme

Carrière de programmation. Chapitre 1. Premier programmeChers lecteurs de Habr, je présente à votre attention une série d'articles que je prévois de combiner à l'avenir dans un livre. Je voulais plonger dans le passé et raconter comment je suis devenu développeur et comment je continue de l'être.

Sur les conditions préalables pour se lancer dans l'informatique, le chemin des essais et des erreurs, l'auto-apprentissage et la naïveté enfantine. Je vais commencer mon histoire depuis la petite enfance et la terminer aujourd'hui. J'espère que ce livre sera particulièrement utile pour ceux qui étudient simplement pour une spécialité informatique.
Et ceux qui travaillent déjà dans l’informatique feront probablement des parallèles avec leur propre parcours.

Dans ce livre, vous trouverez des références à la littérature que j'ai lue, à l'expérience de communiquer avec des personnes avec qui j'ai croisé mon chemin en étudiant, en travaillant et en lançant une startup.
Depuis les professeurs d'université jusqu'aux grands investisseurs en capital-risque et aux propriétaires d'entreprises multimillionnaires.
À ce jour, 3.5 chapitres du livre sont prêts, sur 8 à 10 possibles. Si les premiers chapitres trouvent une réponse positive de la part du public, je publierai le livre en entier.

À propos de moi

Je ne suis pas John Carmack, Nikolai Durov ou Richard Matthew Stallman. Je n'ai pas travaillé dans des entreprises telles que Yandex, VKontakte ou Mail.ru.
Même si j'ai eu une expérience de travail dans une grande entreprise, dont je vais certainement vous parler. Mais je pense que l'essentiel n'est pas tant le grand nom, mais l'histoire même du cheminement pour devenir développeur, et plus loin, les victoires et les défaites survenues au cours de mes 12 années de carrière dans le développement commercial. Bien entendu, certains d’entre vous ont beaucoup plus d’expérience en informatique. Mais je crois que les drames et les victoires survenus au cours de ma carrière actuelle méritent d’être décrits. Il y a eu beaucoup d’événements, et ils étaient tous très divers.

Qui suis-je aujourd'hui en tant que développeur
— A participé à plus de 70 projets commerciaux, dont beaucoup ont été écrits à partir de zéro
— Dans une douzaine de nos propres projets : open-source, startups
— 12 ans en informatique. Il y a 17 ans - a écrit le premier programme
- Personne la plus précieuse de Microsoft 2016
— Professionnel certifié Microsoft
— Scrum Master certifié
— J'ai une bonne maîtrise de C#/C++/Java/Python/JS
— Salaire — 6000-9000 $/mois. en fonction de la charge
— Mon lieu de travail principal aujourd'hui est l'échange indépendant Upwork. Grâce à lui, je travaille pour une entreprise qui s'occupe du NLP/AI/ML. A une base de 1 million d'utilisateurs
— Sortie de 3 applications sur l'AppStore et GooglePlay
— Je m'apprête à fonder ma propre société informatique autour du projet que je développe actuellement

En plus du développement, j'écris des articles pour des blogs populaires, j'enseigne les nouvelles technologies et je prends la parole lors de conférences. Je me détends au club de fitness et avec ma famille.

C'est probablement tout à propos de moi en ce qui concerne le thème du livre. Vient ensuite mon histoire.

Histoire. Commencer.

J'ai appris pour la première fois ce qu'est un ordinateur à l'âge de 7 ans. Je viens de commencer la première année et en cours d'art, on nous donnait des devoirs pour fabriquer un ordinateur avec du carton, du caoutchouc mousse et des feutres. Bien sûr, mes parents m'ont aidé. Maman a étudié dans une université technique au début des années 80 et savait de première main ce qu'était un ordinateur. Au cours de sa formation, elle a même réussi à perforer des cartes perforées et à les charger dans la machine soviétique géante qui occupait la part du lion de la salle de formation.

Nous avons terminé nos devoirs avec une note de 5 parce que nous avons tout fait avec diligence. Nous avons trouvé une épaisse feuille de carton A4. Des cercles ont été découpés dans de vieux jouets en caoutchouc mousse et l'interface utilisateur a été dessinée avec des feutres. Notre appareil n'avait que quelques boutons, mais ma mère et moi leur avons attribué les fonctionnalités nécessaires, et pendant le cours, j'ai montré au professeur comment en appuyant sur le bouton « On », une ampoule s'allumerait dans le coin de « l'écran, » tout en dessinant simultanément un cercle rouge avec un feutre.

Ma prochaine rencontre avec la technologie informatique s'est produite à peu près au même âge. Le week-end, je rendais souvent visite à mes grands-parents, qui, à leur tour, vendaient diverses cochonneries et les achetaient aussi volontiers pour quelques centimes. Montres anciennes, samovars, chaudières, insignes, épées de guerriers du XIIIe siècle et bien plus encore. Parmi toute cette variété de choses, quelqu'un lui a apporté un ordinateur alimenté par une télévision et un enregistreur audio. Heureusement, ma grand-mère avait les deux. De fabrication soviétique, bien sûr. TV Electron avec huit boutons pour changer de chaîne. Et un magnétophone Vega à deux cassettes, qui pourrait même réenregistrer des bandes audio.
Carrière de programmation. Chapitre 1. Premier programme
Ordinateur soviétique « Poisk » et périphériques : TV « Electron », magnétophone « Vega » et cassette audio avec langage BASIC

Nous avons commencé à comprendre comment fonctionne tout ce système. L'ordinateur comprenait quelques cassettes audio, un manuel d'instructions très usé et une autre brochure intitulée « Langage de programmation BASIC ». Malgré mon enfance, j'ai essayé de participer activement au processus de connexion des cordons au magnétophone et à la télévision. Ensuite, nous avons inséré l'une des cassettes dans le compartiment du magnétophone, appuyé sur le bouton « Avant » (c'est-à-dire lancé la lecture), et un pseudo-graphique incompréhensible de texte et de tirets est apparu sur l'écran du téléviseur.

L'unité principale elle-même ressemblait à une machine à écrire, seulement assez jaunie et d'un poids notable. Avec l'excitation d'un enfant, j'ai appuyé sur toutes les touches, je n'ai vu aucun résultat tangible, j'ai couru et je suis allé me ​​promener. Même si j'avais déjà devant moi un manuel sur le langage BASIC avec des exemples de programmes qu'en raison de mon âge, je ne pouvais tout simplement pas réécrire.

De mes souvenirs d'enfance, je me souviens certainement de tous les gadgets que mes parents m'ont achetés, après avoir travaillé avec d'autres membres de ma famille. Le premier hochet était le jeu bien connu « Le loup attrape des œufs ». Je l'ai terminé assez rapidement, j'ai vu le dessin animé tant attendu à la fin et j'avais envie de quelque chose de plus. Et puis il y a eu Tetris. A cette époque, cela valait 1,000,000 90 XNUMX de coupons. Oui, c'était en Ukraine au début des années XNUMX, et j'ai reçu un million pour ma réussite scolaire. Me sentant à juste titre millionnaire, j'ai commandé ce jeu plus complexe pour mes parents, où ils devaient disposer correctement des figures de différentes formes tombant d'en haut. Le jour de l'achat, Tetris m'a été retiré de manière incontrôlable par mes parents, qui eux-mêmes n'ont pas pu s'en débarrasser pendant deux jours.

Carrière de programmation. Chapitre 1. Premier programme
Célèbre "Le loup attrape des œufs et Tetris"

Puis il y a eu les consoles de jeux. Notre famille vivait dans une petite maison, où mon oncle et ma tante vivaient également dans la pièce voisine. Mon oncle était pilote militaire, il a traversé des points chauds, donc malgré sa modestie il était très tenace et avait peur de peu, après de vrais
des opérations militaires. Comme beaucoup de gens dans les années 90, mon oncle s’est lancé en affaires et avait un assez bon revenu. Ainsi, un téléviseur importé, un magnétoscope, puis un décodeur Subor (analogue à Dendy) sont apparus dans sa chambre. Cela m'a coupé le souffle de le voir jouer à Super Mario, TopGun, Terminator et à d'autres jeux. Et quand il m’a remis le joystick entre les mains, mon bonheur n’a eu aucune limite.

Carrière de programmation. Chapitre 1. Premier programme
Console huit bits "Syubor" et le légendaire "Super Mario"

Oui, comme tous les enfants ordinaires qui ont grandi dans les années XNUMX, j'ai passé toute la journée dans la cour. Soit en jouant au Pioneer Ball, soit au badminton, soit en grimpant aux arbres du jardin, où poussaient de nombreux fruits différents.
Mais ce nouveau produit, où vous pouvez contrôler Mario, sauter par-dessus les obstacles et sauver la princesse, était bien plus intéressant que n'importe quel buff d'aveugle, ladushka et classiques. C'est pourquoi, voyant mon véritable intérêt pour les préfixes, mes parents m'ont confié la tâche d'apprendre la table de multiplication. Alors ils réaliseront mon rêve. Ils lui enseignent en deuxième année et je viens de terminer la première. Mais, dit et fait.

Il était impossible de penser à une motivation plus forte que d’avoir sa propre console de jeu. Et en une semaine, je répondais facilement aux questions « sept neuf », « six trois » et ainsi de suite. Le test a été réussi et ils m'ont acheté le cadeau tant convoité. Comme vous l’apprendrez plus loin, les consoles et les jeux informatiques ont joué un rôle important dans mon intérêt pour la programmation.

C’est ainsi que cela s’est passé année après année. La prochaine génération de consoles de jeux sortait. D'abord Sega 16 bits, puis Panasonic, puis Sony PlayStation. Les jeux étaient mon divertissement quand j'étais bon. Quand il y avait un problème à l’école ou à la maison, ils m’enlevaient mes joysticks et, bien sûr, je ne pouvais pas jouer. Et bien sûr, saisir le moment où vous reveniez de l'école et où votre père n'était pas encore revenu du travail pour occuper la télévision était aussi une sorte de chance. Il est donc impossible de dire que j’étais accro au jeu ou que je passais toute la journée à jouer à des jeux. Une telle opportunité n’existait pas. Je préférais passer toute la journée dans la cour, où je pouvais aussi trouver quelque chose
intéressant. Par exemple, un jeu complètement sauvage - les fusillades aériennes. De nos jours, on ne voit plus quelque chose de pareil dans les cours, mais à l’époque c’était une véritable guerre. Le paintball n'est qu'un jeu d'enfant comparé au carnage que nous avons causé. Il y avait des montgolfières
chargé de balles en plastique denses. Et après avoir tiré à bout portant sur un autre gars, il lui a laissé une ecchymose sur la moitié du bras ou sur le ventre. C'est ainsi que nous avons vécu.

Carrière de programmation. Chapitre 1. Premier programme
Pistolet jouet de l'enfance

Il ne serait pas superflu de mentionner le film « Hackers ». Il est sorti en 1995 avec Angelina Jolie, 20 ans. Dire que le film m’a fait une forte impression, c’est ne rien dire. Après tout, la pensée des enfants perçoit tout au pied de la lettre.
Et comment ces gars ont nettoyé les guichets automatiques, éteint les feux de circulation et joué avec l'électricité dans toute la ville - pour moi, c'était magique. Puis l’idée m’est venue que ce serait cool de devenir aussi omnipotent que les Hackers.
Quelques années plus tard, j’ai acheté tous les numéros du magazine Hacker et j’ai tenté de pirater le Pentagone, même si je n’avais pas encore Internet.

Carrière de programmation. Chapitre 1. Premier programme
Mes héros du film "Hackers"

Une véritable découverte pour moi a été un vrai PC, avec un moniteur à lampe de 15 pouces et une unité système basée sur un processeur Intel Pentium II. Bien sûr, il a été acheté par son oncle, qui à la fin des années XNUMX avait atteint un niveau suffisamment élevé pour se permettre
de tels jouets. La première fois qu’ils ont lancé un jeu pour moi, ce n’était pas très excitant. Mais un jour, le jour du jugement est arrivé, les étoiles se sont alignées et nous sommes venus rendre visite à notre oncle, qui n'était pas à la maison. J'ai demandé:
— Puis-je allumer l'ordinateur ?
"Oui, fais de lui ce que tu veux", répondit la tante aimante.

Bien sûr, j'ai fait ce que je voulais avec lui. Il y avait différentes icônes sur le bureau Windows 98. WinRar, Word, FAR, Klondike, jeux. Après avoir cliqué sur toutes les icônes, mon attention s'est concentrée sur FAR Manager. Cela ressemble à un écran bleu incompréhensible, mais avec une longue liste (de fichiers) pouvant être lancée. En cliquant sur chacun d'eux tour à tour, j'ai perçu l'effet de ce qui se passait. Certains ont fonctionné, d’autres non. Au bout d’un moment, j’ai réalisé que les fichiers qui se terminent par « .exe » sont les plus intéressants. Ils lancent différentes images sympas sur lesquelles vous pouvez également cliquer. J'ai donc probablement lancé tous les fichiers exe disponibles sur l'ordinateur de mon oncle, puis ils m'ont à peine tiré par les oreilles du jouet super intéressant et m'ont ramené à la maison.

Carrière de programmation. Chapitre 1. Premier programme
Le même gestionnaire FAR

Ensuite, il y a eu les clubs informatiques. Mon ami et moi y allions souvent pour jouer à Counter Strike et Quake en ligne, ce que nous ne pouvions pas faire à la maison. Je demandais souvent de la monnaie à mes parents pour pouvoir jouer au club pendant une demi-heure. En voyant mes yeux, comme le chat de Shrek, ils m'ont proposé un autre contrat lucratif. Je termine l'année scolaire sans notes C et ils m'achètent un ordinateur. Le contrat a été signé au début de l'année, en septembre, et le PC tant convoité devait arriver dès le mois de juin, sous réserve du respect des accords.
J'ai fait de mon mieux. J'ai même vendu ma bien-aimée Sony Playstation par émotion afin d'être moins distrait de mes études. Même si j'étais un élève médiocre, la 9e année était importante pour moi. Nez en sang, je devais juste avoir de bonnes notes.

Au printemps déjà, en prévision de l'achat d'un PC, l'événement le plus important de ma vie s'est probablement produit. J'essaie d'anticiper, et alors un beau jour, j'ai dit à mon père :
- Papa, je ne sais pas utiliser un ordinateur. Inscrivons-nous aux cours

À peine dit que c'était fait. Après avoir ouvert le journal avec des annonces, le père trouva un bloc écrit en petits caractères avec le titre "Cours d'informatique". J'ai appelé les professeurs et quelques jours plus tard, j'étais déjà en cours. Les cours se déroulaient de l'autre côté de la ville, dans un ancien bâtiment à panneaux Khrouchtchev, au troisième étage. Dans une pièce, il y avait trois ordinateurs alignés, et ceux qui voulaient étudier étaient effectivement formés à leur utilisation.

Je me souviens de ma première leçon. Windows 98 a été long à charger, puis le professeur a pris la parole :
- Donc. Devant vous se trouve un bureau Windows. Il contient des icônes de programme. En bas se trouve le bouton Démarrer. Souviens-toi! Tout travail commence par le bouton Démarrer. Cliquez dessus avec le bouton gauche de la souris.
Il a continué.
- Ici - vous voyez les programmes installés. Calculatrice, Bloc-notes, Word, Excel. Vous pouvez également éteindre votre ordinateur en cliquant sur le bouton « Arrêter ». Essayez-le.
Finalement, il est passé à la partie la plus difficile pour moi à ce moment-là.
« Sur le bureau », explique le professeur, on peut également voir des programmes qui peuvent être lancés en double-cliquant.
- Double!? - Comment ça se passe en général ?
- Essayons. Lancez le Bloc-notes en double-cliquant dessus avec le bouton gauche de la souris.

Ouais, Schaass. La chose la plus difficile à ce moment-là était de maintenir la souris au même endroit et en même temps de cliquer rapidement deux fois. Au deuxième clic, la souris a légèrement tremblé et le raccourci avec. Mais j'ai quand même réussi à surmonter une tâche aussi insurmontable pendant la leçon.
Ensuite, il y a eu une formation sur Word et Excel. Un jour, ils m'ont simplement laissé parcourir des photos de nature et de monuments architecturaux. C'était l'activité la plus intéressante de ma mémoire. Bien plus amusant que d'apprendre à formater du texte dans Word.

À côté de mon ordinateur, d’autres étudiants étudiaient. À plusieurs reprises, j'ai rencontré des gars qui écrivaient des programmes tout en discutant passionnément de ce processus. Cela m'intéressait aussi. Me souvenant du film Hackers et fatigué de MS Office, j'ai demandé à être transféré vers des cours
la programmation. Comme tous les événements marquants de la vie, cela s’est produit spontanément, par intérêt.

Je suis arrivé à mon premier cours de programmation avec ma mère. Je ne me souviens pas pourquoi. Apparemment, elle a dû négocier de nouveaux cours et effectuer le paiement. C'était le printemps dehors, il faisait déjà nuit. Nous avons parcouru toute la ville en minibus-Gazelle jusqu'à la périphérie, atteint le fameux
panneau Khrouchtchev, est monté à l'étage et nous a laissé entrer.
Ils m'ont fait asseoir devant l'ordinateur final et ont ouvert un programme avec un écran complètement bleu et des lettres jaunes.
- Ici Turbo Pascal. L'enseignant a commenté son action.
- Écoutez, j'ai écrit ici une documentation sur son fonctionnement. Lisez-le et jetez-y un oeil.
Devant moi se trouvait une toile de texte jaune absolument incompréhensible. J’ai essayé de découvrir quelque chose par moi-même, mais je n’y suis pas parvenu. La grammaire chinoise et c'est tout.
Finalement, après un certain temps, l'animateur du cours m'a remis une feuille de papier A4 imprimée. Une chose étrange était écrite dessus, que j'avais déjà aperçue sur les moniteurs des gars des cours de programmation.
- Réécrivez ce qui est écrit ici. Le professeur a commandé et est parti.
J'ai commencé à écrire :
programme Somme ;

J'ai écrit en cherchant simultanément des lettres anglaises sur le clavier. Dans Word, au moins je me suis formé au russe, mais ici je dois apprendre d'autres lettres. Le programme a été tapé avec un seul doigt, mais avec beaucoup de précautions.
début, fin, var, entier - Qu'est-ce que c'est? Même si j’avais étudié l’anglais dès la première année et que je connaissais le sens de nombreux mots, je ne parvenais pas à tout relier entre eux. Comme un ours dressé sur un vélo, j'ai continué à pédaler. Enfin quelque chose de familier :
writeln('Entrez le premier chiffre');
Ensuite - writeln('Entrez le deuxième numéro');
Ensuite - writeln('Résultat = ',c);
Carrière de programmation. Chapitre 1. Premier programme
Ce tout premier programme Turbo Pascal

Ouf, je l'ai écrit. J'ai retiré mes mains du clavier et j'ai attendu que le gourou apparaisse pour obtenir des instructions supplémentaires. Finalement, il est venu, a scanné l'écran et m'a dit d'appuyer sur la touche F9.
"Maintenant, le programme est compilé et vérifié pour les erreurs", a déclaré le gourou.
Il n’y a eu aucune erreur. Puis il m'a dit d'appuyer sur Ctrl+F9, ce que j'ai également dû expliquer étape par étape pour la première fois. Ce que vous devez faire est de maintenir Ctrl enfoncé, puis d'appuyer sur F9. L’écran est devenu noir et un message que j’ai compris est finalement apparu dessus : « Entrez le premier numéro ».
Sur ordre du professeur, j'ai saisi le 7. Puis le deuxième chiffre. J'entre 3 et j'appuie sur Entrée.

La ligne « Résultat = 10 » apparaît à la vitesse de l'éclair sur l'écran. C’était de l’euphorie et je n’avais jamais rien vécu de pareil de ma vie. C'était comme si l'Univers tout entier s'ouvrait devant moi et que je me retrouvais dans une sorte de portail. La chaleur a traversé mon corps, un sourire est apparu sur mon visage, et quelque part très profondément dans mon subconscient, j'ai réalisé : que c'est le mien. Très intuitivement, sur le plan émotionnel, j’ai commencé à ressentir l’énorme potentiel de cette boîte bourdonnante sous la table. Il y a tellement de choses que vous pouvez faire de vos propres mains, et elle le fera !
Que c'est une sorte de magie. Je ne comprenais absolument pas comment ce texte jaune et incompréhensible sur un écran bleu se transformait en un programme pratique et compréhensible. Ce qui compte aussi ! Ce qui m'a surpris, ce n'est pas le calcul lui-même, mais le fait que les hiéroglyphes écrits se soient transformés en calculatrice. Il y avait un écart entre ces deux événements à cette époque. Mais intuitivement, j’ai senti que ce matériel pouvait presque tout faire.

Presque tout le chemin du retour dans le minibus, j'avais l'impression d'être dans l'espace. Cette image avec l'inscription « Résultat » tournait dans ma tête, comment est-ce arrivé, que peut faire d'autre cette machine, puis-je écrire quelque chose moi-même sans morceau de papier. Mille questions qui m'intéressaient, m'excitaient et m'inspiraient à la fois. J'avais 14 ans. Ce jour-là, le métier m'a choisi.

A suivre ...

Source: habr.com

Ajouter un commentaire