premier pas sur l'histoire et le programme

This commit is contained in:
Yannick Francois 2020-03-04 23:14:07 +01:00
commit 8c99b01e6a
4 changed files with 137 additions and 0 deletions

BIN
barre-XX-premier-boulot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

48
introduction.md Normal file
View File

@ -0,0 +1,48 @@
Par où commencer ? Mon premier contact avec l'informatique ? Celui des consoles et des jeux vidéos. J'avais effectivement un amstard cpcp 6128, mais je n'ai pas programmer dessus, j'ai joué, c'est tout. J'étais comme ceux que l'on appel de la génération Y, un simple usager. Ensuite, un atari ST est apparu. De la même manière, nous avons joué dessus avec mon frère.
Et puis il y eu le bull zenith que ma mère à ramené du boulot. J'ai tapé mon rapport de stage dessus. Encore une fois, c'était un outil dont j'ai appris à me servir. Jusqu'à mes 21 ans, les outils informatiques ont été pour moi des outils.
Niveau pédagogique, j'ai traversé le collège avec perte et fracas : jours de renvoie, colle, punition. J'étais un élève comme je n'aimerais pas en avoir. Je ne comprennais pas mon environnement, ce qu'on voulais de moi. Je n'avais pas envie de me plié aux demandes. Je n'écoutais pas. À quoi tout cela allez bien pouvoir me servir ? J'ai dit à une prof une fois : « mais madame, à quoi ça va me servir pour faire mes courses ce que vous me dites ? »... Horrible. Il y a bien quelque prof qui ont réussi à avoir un cours assez calme avec moi. Un prof de math, les profs de physique, de biologie et de technologie. En sport aussi,j'était plutôt tranquille. La physique, avec les manipulations, me permettais de me projeter dans l'apprentissage. La biologie aussi.
L'attitude des profs à du beaucoup jouer aussi. En biologie, je me souviens que j'avais décidé de m'assoir face à la fenêtre, pour regarder dehors. Ça me faisait tourner le dos à la prof et au tableau. Elle m'a laissé faire. Et au premier contrôle, avec un 14, je crois qu'elle a décidé que c'était ok de me laisser comme ça. L'année c'est très bien passé.
En 5eme, un de mes meilleurs amis est un redoublant. Ses amis deviennent aussi les miens, et je me retrouve à avoir des amis qui sont dans le niveau d'après. Du coup, en 3eme, quand je vois que le lycée semble est la simple suite du collège, j'évoque mon envie d'aller voir ailleur. Le conseillé d'orientation me propose plusieurs piste que j'explore. J'opte pour le lycée technique.
Au lycée, je suis dans un environnement qui me conviens mieux. Les cours les plus importants portent sur des éléments de tout les jours, des mises en pratique quotidienne. Je me souviens de mon premier cours de productique où le prof, pour nous expliquer la productique, nous dit que c'est l'activité qui vise à construire tout ce qui nous entour, les tables sur lesquelles ont écrit, les chaises sur lesquelles nous sommes assis. C'est parfait.
Alors qil y a bien une partie du cursus qui est comme au collège, mais comme la charge horaire et les coéficients de ces matuère sont faible, ça passe plutôt bien. L'anglais, le français, l'histoire, la philo deviennent mes horaires de sieste, repos, détente...
Les profs de matières technique ont quelque chose de différents ici, ils ont une expérience pro souvent, et nous relate des annecdotes de dehors, et puis il nous parle comme d'égale à égale presque, en tout cas, c'est le sentiment que nous avons avec eux.
Je me souviens d'un de mes profs qui passe vérifier mon travail de réglage sur une machine, puis, on lance la fabrication ensemble, et là, on explose un outil. Il a fait la même tête que moi, il n'a pas vu l'erreur que j'avais fait... Ça permet de positionner les profs à un niveau similaire au sien : ils font aussi des erreurs, parfois aussi ils oublient des trucs.
Le BTS est en suite de mon lycée, bien que je le fasse dans un autre établissement.
Viens le moment de la bascule où, pour ne pas rentrer dans le monde du travail trop rapidement, je m'inscrit dans une formation en alternance : Gestion de Production Assistée par Ordinateur. L'ancêtre des ERP. C'est plutôt intéressant.
Par contre, je ne trouve pas d'entreprise prête à m'embaucher en apprentissage. C'est génant. Lors d'un repas chez des amis de la famille, ma mère se retrouve à expliquer que je cherche un poste. Philippe Merlin va alors lui demander de m'appeler pour que je passe l'après midi même avec mon CV. Il pense que ça serait intéressant de m'embaucher.
Il me parle de la programmation, de ce que c'est de construire des logiciels. Je ne suis pas sur de tout comprendre, mais un truc est clair pour moi : je vais pouvoir construire des trucs dans un environnement à priori sans limite (quelle erreur je faisait !). Et puis de toute façon, je n'avais rien d'autre, alors autant explorer cette piste qui avait l'air plutôt sympa.
Me voilà donc embauché en apprentissage dans une boite de service qui intervient beaucoup chez des clients sur des logiciels de gestion de production. Avant de passer chez des clients, je vais devoir apprendre à programmer.
Une boutique en bas d'une barre du XXe arrondissement, au 119 boulevard Mortier. Je suis seul dedans, avec un bureau et un ordinateur (les gros beige, avec lecteur de disquette), une pile de 6 livres en anglais à propos d'un langage de programmation propriétaire : Progress (https://www.progress.com/ https://fr.wikipedia.org/wiki/Progress_Software)
J'ai démarré le 1er décembre 1998.
Philippe passait tout les jeudi matin, entre 7h et 9h30, c'était là que je pouvais poser mes questions. Le reste du temps, je parcourais le livre qui conetenais des exercices me permettant de découvrir ce langage, cette outil, cet univers. Seul et sans trop comprendre ce qu'on allais me demander de faire par la suite.
Au bout de 4 mois, le 1er avril 1999, je me suis retrouver à aller chez mon premier client. J'étais dans l'ombre d'un autre consultant. Le plan c'était d'être avec lui, de regarder ce qu'il fait, d'apprendre en faisant avec lui, en faisant comme lui. Au debut, j'ai beaucoup observé, et petit à petit, j'ai commencé à faire devant lui, puis il m'a laissé faire seul, sans sa surveillance... Le tout sur les 3 ou 4 mois.
J'ai continué durant toute l'année 1999 à suivre des consultants.
En janvier 2000, j'était en inter-contrat dans les locaux. Nous étions passé à 5 salariés, dans des nouveaux locaux. Philippe m'a demandé si je pouvais aller à Bourges le lendemain, pour remplacer un consultant qui avait craqué, pour une mission de 3 mois. J'ai accepté, la peur au ventre. J'allais me retrouver seul, loin de Philippe et des autres consultants. Et en même temps, je me sentais prêt à essayer.

89
programme.md Normal file
View File

@ -0,0 +1,89 @@
# Les pieds dans le code
Pour mettre les pieds dans le code, une manière qui me semble bien fonctionner,
c'est une alternance d'exercices et de projets.
## Choix d'un langage de prédilection
Il me semble important, au moment d'apprendre à programmer, de choisir un
langage de prédilection. Et cependant, je tiens à ce que l'apprentissage se
fasse sur la programmation, et non sur la syntaxe. Pour la syntaxe, des site
commr [Learn X in Y minutes](https://learnxinyminutes.com/) sont bien
suffisant. Et il y a aussi le code que d'autres ont fait sur le projet.
Apprenre à programmer signnifie donc être en capacité de lire du code, de
comprendre ce code. Pour y arriver il me semble qu'il faut :
- savoir reconnaitre les mots clefs du langages, les litéraux, et les éléments
choisi par l'équipe de développement
- savoir visualiser les structures (boucle, condition, fonction, bloc cohérent
de code, ...)
- avoir une représentation mental de l'état de la mémoire
Pour choisir son langage, le plus intéressant serait de regarder où vous voulez
aller travailler ensuite et choisir les piles technologiques qui correspondent
à celles utiliser par l'équipe que vous voulez rejoindre. Ça me semblele
meilleur choix.
Vous pouvez aussi choisir un langage plutôt qu'un autre parce qu'une personne
proche va pouvoir vous aider dans votre apprentissage.
## Exercices
Permettant de prendre le temps de la répétition, de ralentir, de travailler sur
du petit. Les exercices permettent de travailler les reflexes.
Tout les sujets de Katas sont des bon exercices pour moi. Il en existe d'autres
également. Voici une petite liste de source possible
- [Coding dojo](codingdojo.org/)
- [cyber dojo](https://www.cyber-dojo.org/)
- [exercism.io](https://exercism.io/)
- [Projet Euler](https://projecteuler.net/)
- [codewars](https://www.codewars.com/)
- [Sphere Online Judge](https://www.spoj.com/)
- [les exercices de
recrutement](https://github.com/Rookie-Club/entretiens-test-technique)
Le principe, c'est de se donner une heure et une page blanche.
Au début, vous allez avoir l'impression de faire toujours la même chose, c'est
que les premiers pas ne sont pas encore des automatismes. Et puis, viendra le
moment où vous irez plus loin, parce que certains automatisme seront là. Vous
entrainerez de nouveaux gestes.
## Projets
Pour mettre en perspective ce qui a été découvert, appris durant les exercices.
Il y a plusieurs étapes d'apprentissage autour du projet. Le fait de retrouver
les gestes acquis durant les exercices arrivent dans un second temps.
Apprendre à:
- naviguer dans un projet
- lire le readme
- installer un projet avec ces dépendances
- peut-être faire une première proposition de modification ou de création d'une
documentation d'installation (fichier README ou INSTALL, ou autre)
- executer les tests s'il y en a
- executer le projet
- peut-être (encore) faire une proposition de modification ou de création d'une
documentation lié à l'environnement de dev (comment executer les tests ?
Comment contribuer ? comment lancer le serveur en environnement de dev ?).
Parfois trouvé dans les fichier CONTRIBUTING ou autres
- choisir un bug parmi la liste (ce qui est aussi valable, c'est de prendre LE
bug qu'on arrive à comprendre)
- reproduire le bug en question
- chercher une solution
- la mettre en place en respectant les standards du projet (ou faire une
proposition qui dépasse les standard du projet. Par exemple, ajouter un test
alors qu'il n'y en avait pas, c'est plutôt chouette :))
- faire une demande de modification.
_demande de modification_ c'est les pull request sur github, les merge request
sur gitlab, et peut-être un autre nom ailleur.

BIN
programme.pdf Normal file

Binary file not shown.