Choix technologies pour recherche d'entreprise (alternance)

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous et à toutes,

Je voudrais savoir quelle technologie est la plus utilisée en entreprise car j'aimerais avoir les bases dans différents langages pour avoir un éventail de compétences plus important car je voudrais effectuer mon parcours ingénieur en alternance. Et ainsi me permettre d'atteindre un plus grand nombre d'entreprises.

Les technologies qui me semblent les plus utilisés sont JAVA, PHP et C#. Malgré que C# soit le moins présent j'ai l'impression que celui-ci va s'imposer dans les années à venir.

Sachant que j'aimerais travailler dans le développement desktop et/ou web et/ou mobile.

Cordialement

Je pense qu'il y a assez d'entreprises différentes pour que tu trouves une offre dans un langage que tu connais et que tu apprécies. À partir du moment où tu n'utilises pas quelque chose de trop exotique aucun souci à se faire selon moi.

Si tu veux faire du web je te conseille dans un premier temps de toucher un peu à des frameworks MVC/MVT "classiques" parce qu'une fois que tu as compris comment ça fonctionne tu es capable de te former très rapidement à un autre. Ensuite la mode en ce moment c'est JavaScript. Si tu fais du web t'as pas mal de chances pour toucher à Node. Tout le monde en veut en ce moment. Pour le mobile c'est pas compliqué : soit tu fais du cross-platform et là c'est du JS, soit tu fais du natif et là t'as pas 36 questions à te poser.

Après si tu es dans une grosse entreprise et que tu bosses sur un SI qui existe depuis un certain temps tu auras tendance à utiliser des technologies qui sont là depuis pas mal de temps mais si tu es dans un stratup on peut très bien te demander de faire du Node+React.

Je ne pense pas qu'il y ai tel ou tel langage qu'il faut absolument connaître pour entrer dans une entreprise, tout dépend de ce que tu veux faire. Après je ne connais pas trop les critères de recrutement pour de l'alternance. Trouve une boite qui fait quelque chose qui t'intéresse et forme toi à fond sur les technologies qu'ils utilisent. Après tout l'alternance c'est fait pour apprendre.

+3 -0

Tout dépend de ce que tu veux faire. Si tu veux être dans des technos web, il te faudra les bases de Html/CSS/JS dans tous les cas. Même si ce n'est pas ton truc de faire la partie front, tu devra forcément y toucher. Si tu n'es pas attiré par le web, peut importe.

Oui le Java est clairement le langage où il y a le plus de demande actuellement mais il y a aussi probablement plus de gens formé en école dessus.

Dans tous les cas ce qu'il faut c'est d'être bien formé et d'avoir la bonne logique. Par expérience le plus important c'est d'avoir la bonne culture et d'aimer ce que tu fais, le reste tu pourra t'adapter et te vendre.

Deux exemples :

  • Perso mon langage principal est actuellement Python. Il y a moins d'offres qu'en Java, certes, mais il y a aussi moins de candidat vraiment compétent. Je l'ai remarqué autant quand je postulais à des offres que quand j'en recrutait. Il vaut mieux maitriser parfaitement un langage un peu moins utiliser que survoler un langage très utilisé. Je n'ai jamais eu aucun soucis pour trouver un poste. Par contre on galère à trouver de bon candidats en recrutement.
  • La logique et la culture est plus importante que le langage qui est presque anecdotique. Dans ma boite actuel j'ai été recruté pour faire une grosse part de dev web alors que je n'avais que très peu d'expérience opérationnel dans ces technos. Mon chef m'a dit clairement "Vu ce que tu maîtrise, je ne doute pas que tu t'y formera rapidement". De la même façon, quand on recrute, on se fout en général que le candidat connaisse Python si il maitrise déjà un autre langage correctement et qu'il est pret à se former. On recrutera beaucoup plus facilement un bon dev C, Java ou C++ qu'un mauvais dev Python. Quand je vois le nombre de candidat qui ont soit disant de l’expérience en dev mais sont incapable de faire un fizzBuzz…

Bref, pour moi, choisi plus tes technos par préférences personnels que par un hypothétique plan de carrière basé sur un langage. Tu n'a aucune garanti que le langage que tu choisira sera encore important quand tu finira tes études et un langage reste un outils.

Perso mon langage principal est actuellement Python. Il y a moins d'offres qu'en Java, certes, mais il y a aussi moins de candidat vraiment compétent. Je l'ai remarqué autant quand je postulais à des offres que quand j'en recrutait. Il vaut mieux maitriser parfaitement un langage un peu moins utiliser que survoler un langage très utilisé. Je n'ai jamais eu aucun soucis pour trouver un poste. Par contre on galère à trouver de bon candidats en recrutement.

+1, il y a plus de demande que d'offre pour des développeurs compétents en Python : la techno a décollé durant les dernières années au point de faire exploser la demande (et ça se ressent très positivement sur les fourchettes de salaire). Le développeur Python expérimenté qui connaît également C ou C++ est un profil très courtisé aujourd'hui.

La logique et la culture est plus importante que le langage qui est presque anecdotique. Dans ma boite actuel j'ai été recruté pour faire une grosse part de dev web alors que je n'avais que très peu d'expérience opérationnel dans ces technos. Mon chef m'a dit clairement "Vu ce que tu maîtrise, je ne doute pas que tu t'y formera rapidement". De la même façon, quand on recrute, on se fout en général que le candidat connaisse Python si il maitrise déjà un autre langage correctement et qu'il est pret à se former. On recrutera beaucoup plus facilement un bon dev C, Java ou C++ qu'un mauvais dev Python. Quand je vois le nombre de candidat qui ont soit disant de l’expérience en dev mais sont incapable de faire un fizzBuzz…

Là par contre je suis plus réservé.

Ça dépend du poste. Dans ma précédente boîte, on avait vraiment besoin que les types connaissent les langages sur lesquels ils vont bosser, typiquement parce qu'ils allaient s'insérer dans un environnement sur lequel il y avait une tétrachiée de trucs internes auxquels il allait falloir les former, et qu'on n'avait de ce fait pas le temps de leur apprendre le langage et son écosystème en prime. Par contre je te rejoins sur le fait qu'il y a un nombre hallucinant de candidats incapables de faire un fizzbuzz ou une suite du fibonacci, ou qui postulent à un poste sous linux sans connaître des trucs de base (comment savoir combien de RAM est actuellement occupée, quelle est la différence entre un thread et un processus, comment sont attribués les PID…).

PS : Enfin dans tous les cas je rejoins Kjé au moin là dessus : choisis le langage qui te plait. Il faut choisir son job en fonction des technos qui te plaisent. Pas l'inverse.

+0 -0

Je soutient ce qu'on dit mes deux voisins du dessus. Je sort d'un peu moins de 3 ans d'alternance, je vais juste te lister un peu les technos utilisées cette année et que tu risquerais d'utiliser.

J'ai fait mon alternance, dans une entreprise pour travailler en tant que développeur Java.

  • Méthodologie de projet: Agile et Scrum.
  • Gestionnaire de version: Git
  • Environnement de développement: Eclipse/Intellij, Git Bash, GitLab, Redmine (Je conseil toujours Jira qui est mieux selon moi) .
  • Intégration continue: Jenkins
  • Framework: Spring Boot (Beaucoup de monde qui fait du J2EE utilise ça maintenant) et Struts.
  • Problématiques abordées: Rest API, Cache, Test unitaire et test d'intégration, Mock, Refacto avec design pattern habituel en java, … .
  • Version de Java 1.7 et 1.8 ( :) )
  • ORM: Hibernate ou JDBC ( :( )
  • Base de données: PostgreSQL
  • Autre: Docker (que je recommande vivement à l'apprentissage)
+0 -0

(Je conseil toujours Jira qui est mieux selon moi)

Ça dépend comment tu bosses. En Scrum, Jira est parfaitement adapté, mais si tu ne suis pas une méthodologie Agile (et il y a beaucoup de boîtes qui ne bossent pas en agile), les 3/4 de ses features ne servent plus à rien (son organisation n'a plus de sens). Ajoute à cela le fait que Jira est une solution propriétaire d'Atlassian alors que Redmine est libre… Le choix repose entièrement sur la façon de fonctionner de l'équipe, et la volonté de la boîte de payer pour ce genre d'outils. Quoi qu'il en soit, c'est le genre d'outil auquel il ne faut pas plus d'une demi-journée d'adaptation.

+1 -0

(Je conseil toujours Jira qui est mieux selon moi)

Ça dépend comment tu bosses. En Scrum, Jira est parfaitement adapté, mais si tu ne suis pas une méthodologie Agile (et il y a beaucoup de boîtes qui ne bossent pas en agile), les 3/4 de ses features ne servent plus à rien (son organisation n'a plus de sens). Ajoute à cela le fait que Jira est une solution propriétaire d'Atlassian alors que Redmine est libre… Le choix repose entièrement sur la façon de fonctionner de l'équipe, et la volonté de la boîte de payer pour ce genre d'outils.

nohar

Je suis d'accord avec toi, je parlais de ceux qui bossent en Agile.

Si tu as une petite équipe (<10) et que tu héberge toi-même, le logiciel, c'est 10 dollars en tout à vie, c'est pas cher, après si tu es une grosse entreprise, c'est plus cher mais bon tu as les moyens normalement. C'est 100 % reversés à des œuvres de charité, donc ça me fait pas mal de payer ^^ .

/fin d'aparté.

+0 -0

Oui oui ça dépend forcément des entreprises et du contexte de celles-ci. Mais je préfère mille fois un candidat qui ne dise pas une seule connerie sur Java qu'un candidat qui se dit maîtrisant Python mais ne sait pas ce qu'est un itérateur. Et on a largement plus de chances d'embaucher le premier que le deuxième. C'est d'autant plus vrai dans les boite où ta présence n'est pas critique (stagiaire, alternant, etc.) où c'est prévu et normal que tu ne sois pas aussi efficace qu'un dev expérimenté. Après si la boite cherche explicitement un expert Python, oui en effet elle risque de plus tiquer si tu ne le maitrise pas.

Tout ça pour dire que de toute façon faire des choix de carrière sur des technos, et d'autant plus sur un langage, c'est globalement une mauvaise idée. Prend ce qui te plait (tant que ce n'est pas du brainfuck)

Je vous remercie pour vos conseils. Cependant, je ne sais pas encore quoi faire, j'hésite entre la programmation web et mobile ou le développement plus orienté entreprise. Auriez-vous des expériences/articles à partager vis-à-vis de ses professions ?

Je ne sais pas ce que tu entends par « développement plus orienté entreprise ». Tu as de grandes chances de faire du web ou du mobile en entreprise à l'heure actuelle (bien qu'il n'y ai pas que ça je te l'accorde).

+0 -0

Je ne sais pas ce que tu entends par « développement plus orienté entreprise ». Tu as de grandes chances de faire du web ou du mobile en entreprise à l'heure actuelle (bien qu'il n'y ai pas que ça je te l'accorde).

gustavi

Par développement orienté entreprise, je pensais au J2E qui est très en vogue. Mais pour l'instant je ne sais pas trop quoi faire, car j'ai l'impression que le développement "orienté entreprise" est plus "difficile" dans la création d'algorithmes (ce qui ne me déplais pas) et que le développement web/mobile permet d'associer le design au code (ce qui ne me déplais pas non plus). Je me pose donc la question : "Qu'est qui pourrait le plus me plaire ?" …

Au passage, l'un paye-t-il plus que l'autre ?

+0 -0

Pour savoir ce qui te plaît il n'y a pas 36 façons : essaye par toi même. Je doute qu'une personne autre que toi sans en mesure de répondre à cette question. Découvre des technologies, intéresse toi aux nouveautés et soit ouvert d'esprit, ça n'en sera que bénéfique.

+1 -0

Là encore y'a à boire et à manger. Tu as des boîtes qui vont éditer des services web dont le backend réalise des trucs vachement complexes (data science, cloud, machine learning), et du développement "en entreprise" qui consiste à developper des applis bêtes et méchantes.

Si tu cherches une classification qui a du sens aujourd'hui, il vaut mieux différencier le frontend (interface utilisateur) et le backend (l'intelligence qu'il y a derrière, le métier de la boîte), car les technos varient entre l'un et l'autre. À ceci s'ajoute le fullstack (typiquement le developpeur intervient sur tous les éléments de la chaîne), ou les postes de dev (développement pur et dur), ops (admin sys, déploiement), ou devops (la rencontre des deux, le développeur bosse sur des outils d'admin ou d'intégration internes qui automatisent ses tâches manuelles)…

Et malgré ces considérations rien n'est figé dans le marbre : j'ai fait de la R&D pendant 8 ans (donc plutôt dev backend) et je viens de changer de boîte pour occuper un poste de devops (release engineering)… Tu ne peux pas vraiment figer ta carrière à l'avance comme ça, il faut raisonner en fonction de ce qui te plait là, tout de suite.

+1 -0

Surtout qu'on parle d'informatique. Docker et React n'ont que 3 ans par exemple et le nombre d'entreprises qui utilisent ces technologies est non négligeable.

+1 -0

Je plussoi les propos de nohar. Rien n'est figé car ça peut beaucoup évolué en fonction de tes envies et de ta boite.

Mon précédent poste je faisais du code dit "de recherche" dans un groupe dédié et en plus de ce qui était machine learning on devait développer et maintenir des workers en production (qui faisaient ces traitements après réception de requêtes). Du coup il y avait à la fois du traitement d'image/machine learning, du plus bas niveau pour faire des workers fiables et sans interface graphique, un peu d'admin sys pour gérer les déploiement et les scales automatiques et enfon du développement d'outils interne (pour faire nos tests). Là maintenant je fais en gros du dev fullstack avec un peu de machine learning pour des besoins interne.

Il ne faut pas je pense chercher à rentrer dans une case. Pour le moment essai par toi même : teste quelques langages, essai de réaliser quelques projets qui t'intéresse. Tant que tu n'as pas de choix à faire, fait au gré de tes envies. Quand tu va chercher une entreprise en alternance il faudra que tu choisisse déjà vers quel entreprise tu te dirige, tu le fera ainsi plus facilement en connaissance de cause. Et à la fin de l'alternance tu verra bien si tu souhaite rester dans des thématiques proches ou changer.

D'après vos dires, je veux m'orienter vers le back-end. Je vais essayer différents langages, frameworks, faire des projets. Je pourrais ensuite faire un classement des entreprises qui me plaisent le plus.

Merci à tous pour vos conseils, expériences !

Cordialement

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte