Hey futur programmeur!
Il y a près de 15 ans, je terminais mes études collégiales en informatique, prêt à conquérir le monde. Je m’en rappelle comme si c’était hier. Après 3 dures années à étudier toutes les techniques de programmation proposées par mes enseignants, j’étais prêt à faire face et à relever tous les défis!
Du moins, c’est ce que je croyais…
Premier stage
C’est avec un sentiment d’invincibilité que je me suis présenté à ma première journée de stage en « développement d’application » dans une entreprise située dans le quartier St-Henri à Montréal. En l’espace d’une heure, mon invincibilité faisait place à la vulnérabilité et je me souviens m’être dit: « ma mère (infirmière de profession) serait assise à ma place et comprendrait autant que moi… ». Tout allait si vite, tout était si différent.
C’est à ce moment que j’ai réalisé que je ne connaissais « rien » ! Mes 3 années d’études équivalaient à une goutte d’eau dans l’océan!
Mon stage a duré 3 mois à raison de 4 jours par semaine. À la fin du stage, j’étais loin d’avoir les habiletés de réaliser quoi que ce soit d’intéressant. J’avais beaucoup appris, mais je ne maitrisais réellement aucun sujet à fond.
Retour sur terre
Je me suis alors dit qu’un baccalauréat en informatique me ferait le plus grand bien. Je n’avais pas de temps à perdre: je l’ai fait en 2 ans en enchainant les sessions sans jamais prendre de pause. Défi relevé!
Premier emploi
À peine un mois après la fin du bac, je décrochais mon premier emploi. Un vrai. Dans une grande banque où des milliers de personnes travaillent au quotidien. Mieux équipé que jamais, j’étais prêt à relever le défi et mettre mes nouvelles connaissances à profit!
Mes connaissances informatiques étaient à point pour ce premier emploi. Par contre, mes connaissances du domaine financier étaient nulles. Comment peut-on programmer une solution à un problème qu’on ne comprend pas ? Impossible.
La réalité avait encore frappé. Pour être un bon programmeur-analyste, il faut d’abord avoir de bonnes connaissances au niveau technologique, mais il faut également apprendre (et comprendre) le domaine pour lequel on doit créer une solution.
Ayoye!
En parallèle à mes apprentissages du domaine financier, je devais apprendre les outils utilisés à la banque, les façons de faire et me tenir à jour quant aux nouvelles technologies disponibles. Il n’y a pas un mois qui passe sans devoir ajouter ou modifier de nouveaux éléments à notre boite à outils.
Mais ça ne finit jamais ?? Non!
En informatique, plus on en apprend, plus on se rend compte qu’on ne connait « rien ». Il existe tellement de langages de programmation, de techniques, de technologies, de stratégies, de paradigmes, … que c’est I-M-P-O-S-S-I-B-L-E de tout connaitre!
À toi le futur programmeur…
Si tu termines tes études ou es sur le point de les terminer, rends-toi service et accepte que tes connaissances correspondent à une goutte d’eau dans l’océan. Cela ne fait pas de toi une personne sans valeur et sans avenir, au contraire. Cela fait de toi quelqu’un qui pourra mieux se vendre!
Quand on te demande ton niveau d’aisance pour un sujet X, quel qu’il soit, ne réponds pas : 8/10.
Si tu n’as aucune expérience professionnelle, ça peut être difficile de trouver du travail. Je sais. « Mais que puis-je faire si personne ne me donne ma chance ?».
La réponse est simple: des projets personnels! Trouve-toi de petits projets touchant à des technologies d’actualité (attention, ton programme d’étude est probablement loin d’être à jour!) et exécute-les. Assure-toi d’avoir quelque chose à montrer aux futurs employeurs. Et ça, ça commence bien AVANT de recevoir ton diplôme. Si la programmation te passionne, prouve-le.
Mieux que ça : concentre-toi sur la S-T-R-U-C-T-U-R-E. Ton petit projet ne sera peut-être pas très impressionnant en termes d’ampleur. Il est donc important de bien comprendre les technologies que tu utilises, leur vocabulaire, les bonnes pratiques, etc.
À titre d’exemple, j’ai déjà passé en entrevue un jeune programmeur fraichement diplômé. Il avait décidé de créer un logiciel qui générait de la musique automatiquement. J’étais impressionné par l’idée. En plus, il avait apporté son laptop pour me montrer le résultat. Le bémol: son code n’était pas structuré, il n’y avait aucun commentaire et tout résidait dans un seul fichier de code. Oups! J’ai été plus déçu qu’impressionné finalement…
Quoi faire pour attirer l’attention des employeurs ?
Pour attirer l’attention quand on n’a pas d’expérience professionnelle…
- Créer des projets personnels pour bâtir un portfolio et s’améliorer;
- Diffuser ce qu’on a créé sur internet;
- Ne pas surestimer ses connaissances;
- Montrer sa volonté et ne pas seulement en parler (voir #1);
- Se créer des profils en ligne et contribuer (GitHub, StackOverflow, …)
- Apprendre les technologies de l’heure (Udemy, CodeCademy, …)
- Faire les choses avec passion.
Au final, les connaissances d’aujourd’hui, à proprement parler, n’ont pas tant de valeur pour moi. Ce qui m’importe comme programmeur est ta capacité d’adaptation, ta rapidité à apprendre, tes connaissances générales et ta technique. Et je ne veux pas le savoir… je veux le voir!
Ton article est tout à fait pertinent et très juste! Très intéressant. Je suis en train d’ailleurs d’écrire un article au sujet du passage du cégep à l’université en informatique!
Merci pour les commentaires! N’hésite pas à venir publier le lien dans les commentaires quand il sera publié!
Très intéressant et très bon « message ».
CONCERNE : Se créer des profils en ligne et contribuer (GitHub, StackOverflow, …)
tout programmeur sait qu’un code se copie
tout programmeur devrait donc savoir que tout code en ligne n’a pas besoin d’être payé puisqu’il peut être pris.
tout programmeur devrait donc savoir qu’en publiant en ligne, il perd ses chances d’être payé.
TON ARTICLE EXPLIQUE PEUT-ETRE CE PROBLEME
Mes connaissances informatiques étaient à point pour ce premier emploi. Par contre, mes connaissances du domaine financier étaient NULLES. Comment peut-on programmer une solution à un problème qu’on ne comprend pas ? Impossible.
signé : un VRAI programmeur .
COMME TU LE DIT SI BIEN … Il est donc important de BIEN COMPRENDRE les technologies que tu utilises (LA POSSIBILITE d’être copié) , leur vocabulaire, les bonnes pratiques, etc.
En informatique, plus on en apprend, plus on se rend compte qu’on ne connait « rien ».
ET LE MEILLEUR POUR LA FIN
Ce qui m’importe comme programmeur est ta capacité d’adaptation, ta rapidité à apprendre, tes connaissances générales et ta technique. Et je ne veux pas le savoir… je veux le voir!
APPRENDRE, LES CONNAISSANCES et … je ne veux pas le savoir
n’est ce pas ambigu ? CONTRAIRE ? INVERSE ?
Ce qui m’importe comme programmeur est ta capacité d’adaptation,
BUG
CE QUI T’IMPORTE COMME PROGRAMMEUR C’EST DE POUVOIR COMPTER SUR LES AUTRES ( le TA capacité d’adaptation )
CE QUI M’IMPORTE A MOI COMME PROGRAMMEUR C’EST MA CAPAPCITE D’ADAPTATION) PAS CELLES DES AUTRES
NA PAS Diffuser ce qu’on a créé sur internet;
Ne pas surestimer ses connaissances; …. LE VOL DE CODE …
Je crois que vous n’avez pas compris mon article.
Quand je dis de publier, je sais évidemment que le code peut être « copié » comme vous dites. Je ne parle pas de mettre en ligne du code propriétaire (privé), mais plutôt de contribuer à des projets « open source » ou d’afficher des projets personnels sur lesquels vous avez travaillé. Le but étant de montrer votre savoir faire.
Vous semblez avoir une obsession sur le « vol de code » et la « copie ». Quel est votre point ? Si vous pensez que je dis de mettre le code d’un logiciel que vous vendez sur internet, vous n’avez réellement pas compris mon propos. Vous ne semblez pas très familier avec la programmation. Il existe des milliers de projets où le code est publié sur internet et leurs auteurs respectifs sont respectés. La copie de code n’a aucun rapport avec le propos de cet article.
Concernant la phrase « Et je ne veux pas le savoir… je veux le voir! », il s’agit d’une expression québécoise qui veut dire: je ne veux pas que vous me disiez que vous êtes bon, je veux que vous me le montriez.
En ce qui concerne « TA » capacité d’adaptation, je joue ici le rôle d’un employeur qui parle à un futur employé. C’est pour cette raison que je dis « TA » et non « MA ». Si je souhaite t’engager, je veux connaitre « TA » capacité d’adaptation. La mienne, je la connais déjà…
Et vous signez votre article « un VRAI programmeur ». Qu’est-ce qui me prouve que vous savez réellement programmer ? Vos arguments et votre démarche semblent plutôt montrer que vous avez très peu (ou pas) d’expérience. J’aimerais bien vous voir me montrer le contraire.
Sans rancune!