Quels langages, quelles technologies viser?

Quelle langage informatique viser, quelle technologie viser? quelles entreprises viser ? beaucoup de débutants se posent ces questions car faire ce choix n’est pas simple, par exemple de temps en temps je vois des gens qui recommandent d’apprendre le langage Java, est-ce vraiment pertinent? si votre but est de travailler dans une agence Web, je vous recommande d’apprendre le PHP et le JavaScript, parce que le Java, c’est dans des très gros logiciels typiquement en informatique de banque. Pourquoi cette distinction est importante?

Si vous travaillez dans une agence Web, vous allez travailler sur des projets de petite envergure entre trois mois et six mois, parfois plus neuf mois ou un an. Alors que si vous travaillez dans le langage Java, vous allez travailler sur des gros systèmes. Non seulement vous allez travailler dans un contexte énorme, mais en plus vous allez travailler sur les très longues durées, des années voire sans fin, ce n’est pas forcément du goût de tout le monde.

Je vous rappelle que ce billet est dans le contexte du développement web (on ne parle pas de jeux vidéos, développement de logiciel desktop…)

Quel langage de programmation choisir ?

Dans le monde du web il y a les langages back end (côté serveur) et front end (côté client ou navigateur). Dans le front end Javascript règne en maitre, il est complétté par le HTML et le CSS pour la mise en forme des pages. Côté serveur, c’est plus disputé, il y a énormément de langages plus ou moins populaire. PHP est très populaire, il y a aussi Python, Ruby, Java, C# et de nouveau Javascript.

Quand un novice demande quel langage il faut étudier, et je sais que pour ce novice le conseil est très important, car il va passer beaucoup de temps avec ce langage, j’entend des réponses plus ou moins réalistes.

La raison voudrait qu’on réponde PHP ou Javascript pour le back end, (car pour le front end y a pas photo pas de débat c’est javascript), mais j’entends aussi Python ou Java. Et désolé, mais c’est vraiment pas très réaliste, les gens qui répondent ça, travaillent-ils dans ces technologies? travaillent-ils ou ont-ils travaillé dans d’autres technologies?

En effet, vu le contexte de la demande, je trouve que ce n’est pas bon conseil de conseiller le Java pour faire du web. Qui dit Java dit Java EE, Hibernate, mais surtout une courbe d’apprentissage très très longue. Et surtout vous n’allez pas faire un site vitrine, ou un petit e-commerce avec Java. Java c’est fait pour des très gros logiciels en environnement bancaire notamment. c’est un langage considéré sûr pour des choses « sérieuses », le PHP c’est pour faire mumuse. Plus sérieusement, à chaque problématique répond un langage. Si vous voulez faire un site de petite ou moyenne taille PHP ya pas photo. Pour des gros sites aussi c’est PHP. Par contre c’est ridicule d’utiliser Java EE et Hibernate pour faire un Prestashop, que tout le monde va s’approprier. La technicité est toute autre avec Java, alors non ne dites plus de bêtises, surtout si vous ne travaillez pas avec Java.

Quant au Python, malgré tout le buzz que la presse veut bien relayer, dans le monde du web, il cède la place à PHP. N’apprenez pas Python si vous voulez faire du web, vous allez rester au chômage longtemps. Python, c’est utilisé dnas l’IA, machine learning, etc, si vous voulez travailler dans ces domaine alors oui allez-y pour le Python et pas PHP.

Quant à Ruby il est trop confidentiel en France. On est en 2020, pariez sur PHP, merci.

Un truc simple à faire : Allez sur Indeed ou tout autre plateforme de job, et cherchez les offres dans ces différents languages par ville et comparez.

Quelle technologie viser?

Outre le fait de développer un logiciel en un langage pur sans faire appel à un framework, ceci prend du temps et n’est pas tout le temps justifié, il existe des frameworks qui vous facilitent le développement d’applications.

Si vous avez lu le premier paragraphe, vos choix se sont rétrécis, du moins pour le langage back-end. Maintenant, ne parlons que du PHP, il existe actuellement deux frameworks qui se détachent : Symfony et Laravel, et sont orientés objet de la façon la plus classique. Les deux sont très demandés , un petit plus pour Symfony en France, mais à l’échelle mondiale, c’est Laravel.

Mon opinion personnelle est que Symfony est un peu plus délicat à prendre en main pour un débutant que Laravel, mais quand on commence à le connaître, mais aussi quand on commence à comprendre les principes de la programmation orientée objet, (injection de dépendance, quelques pattern ORM, les closures) on arrive à se débrouiller pas mal avec, sans pour autant être un expert.

Je trouve que Laravel est plus terre à terre d’entrée de jeu, en particulier l’ORM Eloquent qui est beaucoup plus facile à appréhender que Doctrine.

Quelle entreprise viser?

Vous avez différents types d’entreprises qui recrutent des développeurs informatiques: agences web, SSII, département SI(système d’information) de grandes structures, éditeurs de logiciels, ceci c’est pour le salariat, à quoi il faut ajouter le status de freelance.

L’erreur que je rencontre le plus souvent chez les étudiant qui viennent d’obtenir leur certification (je parle de ceux qui sont en reconversion et non des étudiant en informatique), c’est qu’ils veulent se mettre en freelance pour engranger le plus rapidement de l’argent.

Parce qu’ils ont réussi un parcours, ne veut pas dire qu’ils sont prêts à l’emploi ! il y a une différence entre le niveau d’un étudiant diplômé et quelqu’un d’opérationnel. Là où on rencontre le plus souvent ce cas de figure, ce sont les étudiants en WordPress, qui se mettent en freelance pour proposer un site à 500 ou 1500 euros, ça peut sembler intéressant pour eux (au passage ils tirent les prix du marché vers le bas), mais savent-ils qu’il vont passer deux voire 3 semaines ou un mois pour le faire? Et si je vous disait que pour un site à 1500 euros, en agence, un développeur wordpress peut le torcher en un ou deux jours? vous la voyez la différence?

Le paradoxe de la pénurie de développeurs

Dans le média on nous rabâche sans cesse que l’on est en grande pénurie de développeurs, mais pourtant ce qu’on entend aussi c’est que les étudiants ou les développeur juniors ont du mal à trouver un poste (dans certains cas). D’où vient ce paradoxe? il semble que la réponse soit que le marché manque de développeurs certes, mais de développeurs expérimentés !

Aussi en réussissant un parcours certifiant ou diplômant pour les gens en reconversion, vous n’êtes qu’à mi-parcours, il reste encore du chemin à faire. Ce n’est pas de votre faute si à l’issue de votre parcours vous avez du mal à trouver un job, malheureusement les entreprises sont dans une logique économique, où il faut rentrer de l’argent, et ils préfèrent parier sur des profils plus expérimentés, ne pas prendre le risque. Mettez vous à l place d’u patron de bopite et vous comprendrez.

Ce qu’il manque au jeune développeur

Ce qu’il manque c’est des entreprises qui acceptent de jouer le jeu de montée en compétence du junior à terme, qu’ils capitalisent sur le junior, le forme afin qu’il devienne performant. Et du côté du junior, il doit jouer le jeu en acceptant un salaire qui ne soit pas mirobolant lors de la première année. Vous êtes payé pour monter en compétence que demander de plus?

Ce type d’entreprise existent rassurez-vous, il faut les trouver. En fait ce n’est pas une entreprise en particuliers, cela dépend de si vous avez un mentor qui veut bien vous faire monter en compétence, si le service informatique où vous êtes pratique cette montée en compétence.

Chez Formapedia nous prenons en compte ce paradoxe et nous accompagnons les juniors dans leurs premiers pas en entreprise.