Un ami junior qui travaille avec Python et moi, qui travaille avec .Net, discutions,
et au cours de la conversation, dans un contexte lié à l’emploi,
entre un junior qui utilise des langages difficiles à voir en Corée comme Rust ou Elixir,
et un junior qui utilise des langages très présents en Corée comme Java ou JS,
nous avons discuté entre juniors de savoir lequel serait avantagé.
Bien sûr, avec nos connaissances limitées, la conclusion à laquelle nous sommes arrivés est que la priorité absolue est de montrer ses compétences en CS et en tests de code,
et qu’ensuite cela dépendrait surtout de l’entreprise, mais cela restait une simple supposition.
Qu’en pensez-vous, vous les aînés ?
20 commentaires
J’arrive probablement un peu tard avec ce commentaire, mais dire simplement que la langue n’est qu’un outil~~~ me paraît assez irréaliste. Si un junior maîtrise vraiment Rust, qui a au minimum une courbe d’apprentissage raide et une barrière à l’entrée élevée, alors il manipulera sans doute facilement d’autres langages comme .net ou Python. Je pense qu’il y aura un écart de niveau assez net dans les compétences de base. D’après mon expérience, les personnes entrées sur le marché du développement avec Python plutôt qu’avec C/C++ avaient souvent plus de lacunes sur les bases client/serveur, les algorithmes, et plus généralement dans la manière de travailler. Bien sûr, il faut que des connaissances métier dans le domaine concerné viennent soutenir cela pour produire un effet de synergie. Autrement dit, dans la réalité, il existe clairement un écart de niveau dès la ligne de départ, et ce n’est pas simplement une question de choix du langage.
Même si ce n’est sans doute pas le point essentiel de cette question, j’éprouve parfois un certain regret quand j’entends dire que « le langage n’est qu’un outil, peu importe lequel on choisit ». Chaque langage poursuit des valeurs différentes et est conçu avec des intentions propres, et j’ai l’impression que tout cela se retrouve nivelé sous l’idée que « de toute façon, les deux permettent de faire ceci ou cela de la même manière ».
Je peux comprendre l’idée que le langage n’est qu’un moyen, si on la limite à l’apprentissage des bases comme les structures de contrôle, les structures de données et les algorithmes. En revanche, je pense qu’après cette phase d’initiation, il est pertinent de prendre en compte des détails comme l’inertie du secteur, la bibliothèque standard, les bibliothèques tierces, le modèle d’exécution, le mode de déploiement, l’accessibilité et la qualité de la documentation, ainsi que le nombre d’utilisateurs. Même si l’expressivité des langages généralistes est équivalente, choisir Python pour le machine learning reste par exemple l’option la plus sûre.
C’est peut-être parce que je suis junior, ou alors je ne l’ai vu que dans le parcours d’initiation.
Merci pour vos conseilsT_T
Je suis d'accord haha
La stack technique couramment utilisée dans notre secteur en Corée est avantageuse. Il y a une différence entre ce qu’on peut apprendre en autodidacte et ce qu’on peut apprendre en entreprise. Je me dis que la seconde option est sans doute un peu moins solitaire.
Je suis un junior qui faisait du Java, mais je suis tombé sous le charme de .NET 😭
Techniquement, ce ne sont pas forcément les technologies les plus abouties ou les plus productives qui sont choisies par le marché. Dans mon cas, il y a une dizaine d’années, il n’y avait qu’une seule grande entreprise qui utilisait Python Django, donc je me souviens avoir sagement renoncé à chercher un emploi dans cette voie et avoir étudié PHP et Spring à la place. C’est aussi un peu regrettable, j’ai l’impression qu’aucun framework actuel n’égale la productivité de Django.
Ah, d'accord... alors il va falloir que j'y réfléchisse.
Honnêtement, une fois qu’on maîtrise vraiment un langage, on s’adapte facilement aux autres.
Enfin, tant qu’on ne passe pas d’un langage orienté objet à un langage fonctionnel.
Je pense que je me référerais aux offres d’emploi de l’entreprise que j’aimerais rejoindre.
Le langage n’est peut-être pas si important… Ce qui compte davantage, c’est sans doute la maîtrise de l’environnement, la capacité à le comprendre et à le manier, ainsi qu’une conception robuste… Mieux vaudrait peut-être se donner pour objectif d’étudier ou de contribuer à des projets open source bien conçus dans le langage visé…
Étudier en regardant l’open source ! Je m’en souviendrai.
Au moins en Corée, il y a beaucoup d’entreprises qui travaillent avec Java, donc c’est aussi un avantage pour trouver un emploi.
Avoir Java comme langage principal et étudier des langages secondaires est un choix avantageux si l’on ne considère que la perspective de l’emploi.
Indépendamment du niveau réel, sans expérience pertinente, il y a de fortes chances d’être écarté dès l’examen du dossier T_T
Exactement. Même si quelqu’un maîtrise très bien d’autres langages, si le langage principal utilisé dans l’entreprise est Java, il faut alors un employé capable de contribuer immédiatement en Java.
Même si j’apprends le CS par cœur et que je connais la documentation sur le bout des doigts,
si mon parcours ne correspond pas à l’entreprise, ils me recalent dès l’examen du CV T_T
Triste à dire, mais c’est du vécu T_T
Le langage est-il un choix ?
Au travail, je m’occupe de frameworks Java ou de solutions web comme WebSquare, mais pour le développement en loisir, je fais du node ou du rust.
Si l’on ne fait que son travail en entreprise, je pense qu’il est normal de suivre la voie de l’entreprise ; et si l’on a des développements qu’on veut vraiment faire soi-même, je pense qu’on trouvera du temps pour étudier le langage qu’on souhaite...
Je pense qu’il est important d’avoir des connaissances en CS et en architecture, en partant du principe que les langages et les frameworks peuvent toujours changer. À mes yeux, le langage n’est pas l’essentiel.
Il va falloir que je rouvre mes manuels spécialisés.
J’ai reçu une alerte et je suis allé voir ; il semble que les personnes au-dessus aient discuté de la question de savoir si un langage n’est qu’un simple outil, haha.
Je ne pense pas qu’un langage soit un « simple » outil, mais je pense bien que c’est un outil.
Chaque langage a sa propre philosophie et ses propres principes de conception ; je pense donc qu’il faut comprendre cela et choisir le langage adapté au problème à résoudre (ou au produit à fournir).
Au final, savoir comment trouver le langage approprié vient avec l’expérience ou l’apprentissage. Dans cette optique, je considère les langages comme des outils, et c’est pour cela que je disais que l’architecture ou les connaissances en informatique fondamentale sont plus importantes.
En relisant un commentaire que j’avais écrit il y a deux semaines, je me suis dit que la phrase de fin — « Je pense que le langage n’est pas important. » — faisait un peu arrogante, donc je laisse ce commentaire complémentaire, haha.