Comment choisir un langage de programmation pour apprendre aujourd'hui et obtenir un excellent travail en 2 ans
Coder n'est pas facile. ou du moins, apprendre à coder ne l’est pas, surtout en partant de zéro. Cela peut prendre des années de travail acharné pour devenir un très bon programmeur; Il existe donc un moyen de choisir la bonne langue à partir d’aujourd’hui pour pouvoir être embauché dans quelques années.?
Pour le savoir, j'ai posé cette question à notre groupe d'experts résidents: Bien que nous écrivions tous, plusieurs d'entre nous ont également une expérience de la programmation. Il s’ensuivit une discussion intéressante que vous voudriez lire avant de vous engager dans votre cheminement pour devenir un codeur professionnel..
Une méthode à la folie?
Ce n'est pas la première fois que nous discutons du choix d'un langage de programmation: en 2011, nous avions discuté du langage de programmation à apprendre pour le développement de logiciels? Quel langage de programmation devez-vous apprendre pour le développement de logiciels? Quel langage de programmation devez-vous apprendre pour le développement de logiciels? Lorsque vous débutez sur la voie de la programmation, il est important que vous investissiez votre temps judicieusement en choisissant d'apprendre quelque chose qui vous sera bénéfique dans un avenir immédiat avec des résultats visibles sur votre plateforme de… Lire la suite, ainsi que celle que vous devriez apprendre pour le Web. programmation Quel langage de programmation apprendre - Programmation Web Quel langage de programmation apprendre - Programmation Web Aujourd'hui, nous allons examiner les différents langages de programmation Web qui alimentent Internet. Ceci est la quatrième partie d'une série de programmation pour débutants. Dans la première partie, nous avons appris les bases de… Read More .
Mais il ne s’agit pas d’un conseil (comme “aller avec JavaScript”) mais une méthodologie - quelque chose que les gens pourraient utiliser dans deux ans à compter d'aujourd'hui, théoriquement. Comment savoir réellement quelles langues sont à la hausse? À quels indicateurs de popularité de code faire confiance et à qui se méfier (et pourquoi)? Quels sont les meilleurs sites de projection salariale? GitHub est-il une indication ou non??
Par exemple, personne ne s’emballe à propos de PHP ces derniers temps - mais beaucoup, beaucoup de développeurs vivent bien en codant PHP, et c’est toujours le gros de ce qui se passe sur le Web. Alors, apprendre PHP maintenant est-il une mauvaise idée? (Probablement… )
Il n'y a pas une langue
C'est ici que James, notre développeur Web et technicien résident, est intervenu pour dire ceci:
Les programmeurs n'apprennent généralement pas une seule langue de toute façon. Tous ceux qui empruntent la voie classique CompSci se retrouveront avec beaucoup de Java, un peu de Haskell, du Prolog s’ils suivent un cours en IA, du Nœud s’ils suivent un cours en ingénierie de démarrage, un peu en PHP s’ils apprennent des techniques traditionnelles. Des CMS, certains .NET s’ils effectuent des stages dans des entreprises sans valeur, certains JavaScript, des concepteurs de sites Web, C ++, des concepteurs de jeux, et enfin des Ruby s’ils veulent gâcher leur vie avec des langages obscurs que personne ne utilise réellement.
Il n'y a pas “méthodologie”??, et vous ne choisissez pas une langue pour apprendre: il te choisit!
Apprendre une seule langue, c'est comme ne manger que des digestifs pendant un an lorsqu'il y a tout un rayon de biscuits. Et sérieusement, qui choisit les emplois en fonction du salaire projeté?
Mais que se passe-t-il si vous n'apprenez pas CompSci??
J'ai répondu à James en disant:
Voici la chose: Ce n'est pas pour quelqu'un qui prend l'itinéraire classique CompSci. À en juger par l'explosion du MOOC et le nombre de cours de programmation en ligne, de nombreuses personnes découvrent le codage à partir de zéro. Et quand on commence comme ça, il faut une langue pour commencer. Peut-être vous en sortirez-vous plus tard, mais cette première langue sera un investissement essentiel en temps et en efforts - alors mieux vaut en valoir la peine.
Ce qui résonne le plus chez moi, c’est ce dernier petit bout dit-il - qui choisit les emplois en fonction du salaire projeté. Je pense que certaines personnes le font, mais je pense aussi que ce n'est pas une bonne façon de s'y prendre.
En fin de compte, les gens sont essayer de comprendre par quelle langue commencer, et l'utilisation que cette langue a dans le monde réel pèsent lourd dans la décision (pas à quel point il est facile d'apprendre - Pascal…).
Choisissez un projet d'abord, puis une langue
James est revenu avec ceci:
D'accord, peut-être que l'un des points de cette méthodologie devrait être: ne pas avoir de méthodologie. Quand j'ai découvert PHP, c'était via WordPress. J'avais une formation en programmation CompSci et une expérience en conception de sites Web, mais je n'avais jamais vu PHP auparavant. Je l'ai appris parce que WordPress avait l'air assez facile et je voulais jouer avec WordPress. Non pas parce que j'avais consulté une liste de technologies à la pointe de la technologie ou si j'avais envisagé de changer de carrière, mais parce que je voulais savoir quelque chose de cool qui l'utilisait.
Si quelqu'un cherchait à apprendre à programmer uniquement pour un travail, il échouerait. S'ils cherchaient simplement parce qu'ils aiment apprendre à programmer quelque chose, le choix de la langue importerait peu, du moment que cela puisse susciter leur passion.
Une autre raison de choisir un projet d'abord
C'est alors que Simon intervient avec quelques conseils pragmatiques:
Tout d’abord, cela dépend si vous voulez développer pour le Web ou “la norme” Logiciel.
Pour ce dernier, Java est plutôt bon:
- Simple OO
- Multiplateforme (Linux, Windows, Mac, Android)
- Syntaxe similaire à beaucoup d'autres langages de programmation (JS, C #).
Je ne peux pas en dire beaucoup sur le développement Web, bien que HTML / JS / CSS / PHP / MySQL semble fonctionner pour beaucoup de gens. Python aussi.
Mais oui, le “pour vous trouver un bon travail dans 2 ans” peu m'irrite aussi. Souligne le mauvais aspect de l’apprentissage de la programmation. Une fois que vous pouvez programmer, il est assez facile de maîtriser une autre langue.
Etre embauché pour connaître une langue spécifique revient à se faire embaucher comme PA pour savoir comment gérer MS Excel. Si c'est la qualification principale, ça va probablement être un mauvais travail.
Ne pas apprendre une langue: apprendre la conception de logiciels
Un consensus commençait à se former. Bruce Epper, de la marque MakeUseOf Answers, a déclaré ceci:
La langue elle-même n'a pas d'importance. En ce qui concerne la programmation des tâches, les aspects les plus importants tendent à comprendre la conception et l’architecture logicielles de base, le processus de codage en général, connaître les modèles de conception, savoir quand les utiliser et savoir comment appliquer un modèle spécifique à la tâche à accomplir - qui sont tous indépendants de la langue. Une fois que le codeur le sait, choisir une langue complètement nouvelle devient un jeu d'enfant..
Il existe même des compétences en gestion de projet, en documentation et en rédaction qui sont plus importantes pour un programmeur que de connaître un langage spécifique..
La base sur laquelle vous construisez est importante: anglais ou latin?
C’est alors que Guy est intervenu pour nous rappeler à tous que la langue Est-ce que matière, dans une certaine mesure:
La langue elle-même n'est pas la chose la plus importante dans l'obtention d'un emploi, je suis d'accord. Cependant, la base sur laquelle vous construisez le fait. Depuis que j'ai fait les deux itinéraires, je vais comparer les langages de programmation aux langages humains.
Python semble être l'anglais d'aujourd'hui. De plus en plus, je vois Intro CompSci et les cours de programmation commencent par Python au lieu de Java, qui semblait être le plus populaire depuis environ 10 ans. Vous pouvez faire beaucoup de ce que vous voulez faire avec Python.
C ++ est le latin du monde de la programmation. Si vous l'apprenez, vous pouvez apprendre les principes sous-jacents d'une multitude de langues et les apprendre plus facilement. Python serait une promenade si vous êtes bien fondé en C++.
Qu'est ce qu'un “Job de programmation,” En tous cas?
C’était maintenant au tour de Matthew de nous rappeler à tous qu’être un codeur peut signifier des choses très différentes pour différentes personnes:
Une chose dont on n'a pas beaucoup parlé est le type de travail de programmation que vous souhaiteriez.
Ne vous inquiétez-vous pas trop des avantages offerts aux employés de Startup? Vous voulez la stabilité et un salaire décent, mais pas d'équité? Aimez-vous porter une tenue de travail? Apprenez C #, Java ou COBOL. COBOL a également l’avantage d’avoir été écrit dans chaque application bancaire jamais conçue (hyperbole, mais vous voyez l’idée). La plupart des développeurs COBOL étant à la retraite ou décédés, il existe une forte demande pour les développeurs COBOL, certains gagnant des salaires à six chiffres! Cependant, vous travaillerez sur d'énormes bases de code mal écrites créées au cours de plusieurs décennies. Ce n'est pas drôle.
Mais que se passe-t-il si la sécurité de l'emploi n'est pas votre truc? Vous souhaitez travailler sur des produits intéressants, mais êtes-vous prêt à risquer de perdre votre emploi lorsque le modèle économique ne fonctionne pas? J'ai trouvé que ce qui se passait (Hacker News) était un moyen infaillible de découvrir les langues utilisées par les startups. Lorsque j'ai effectué un stage à un poste antérieur, nous utilisions un mélange de Go, Python et CoffeeScript. D'autres startups utilisent Rails et Groovy et toutes sortes de frameworks et de langages obscurs. Choisissez-en un et vous trouverez un travail intéressant quelque part.
Nouveau code ou ancien?
L'écriture de nouveau code est une expérience très différente de la maintenance d'une application existante, ajoute Bruce:
Avec vos commentaires sur COBOL, vous tenez en quelque sorte à une autre considération: voulez-vous travailler sur un nouveau code ou maintenir le code de quelqu'un d'autre? Cela peut être un élément important pour décider de la direction à prendre. Pour des projets plus petits, maintenir une base de code écrite par quelqu'un d'autre n'est peut-être pas si mal, mais j'ai vu certaines sections de code où plusieurs personnes la regardaient pendant des heures et demandaient, “Qu'est-ce que ce gars pouvait bien penser?”, ou lorsque le programmeur d'origine tirait parti d'une fonctionnalité ou d'un bogue spécifique du compilateur (qui peut avoir été corrigé dans le compilateur actuel) pour accomplir quelque chose.
Que faire si vous n'avez pas le choix?
Guy est revenu pour nous rappeler à tous que tout le monde n’a pas un large éventail de choix:
Matthew soulève une bonne question avec, “Quel genre de travail de programmation voulez-vous?”
Bizarrement, je n’ai jamais vraiment pensé que j’aurais beaucoup de choix en la matière. Je savais que je voulais faire du développement Web quand j'ai commencé, après avoir fait d'autres programmes de façon récréative. Mais j’ai pensé que je ferais mieux de me préparer à occuper tout poste que je pourrais obtenir et d’être disposé à apprendre au fur et à mesure. Maintenant, je suis un homme à tout faire, compétent dans plusieurs technologies - sans aucune maîtrise.
Pour déterminer où vous voulez travailler, il est important de déterminer le style de vie que vous souhaitez. Ensuite, examinez les publications de ces entreprises qui semblent répondre à vos critères et voyez ce qu'elles recherchent en général. Il peut également s'avérer très utile de constituer un portefeuille d'activités similaires à ce qu'ils font, surtout si vous ne possédez pas de formation formelle aux technologies qu'ils utilisent. Peut-être avez-vous appris Java à l’école, mais ils utilisent C #. Donc, vous apprenez vous-même le C # et faites quelques programmes avec comme preuve que vous savez ce que vous faites et que vous avez une intelligence fluide.
Pas une réponse simple
Si cette discussion montre quelque chose, c'est que les questions simples n'ont pas toujours de réponses simples. Et pourtant, après avoir lu les opinions de chacun, je me suis senti beaucoup plus informé - ils ont changé d'avis.
Je suis sûr que nous n’avons pas capturé ici tous les points de vue possibles - c’est le but de la section commentaires. Je serais très intéressé de connaître votre opinion sur cette question, que vous soyez un pro codeur ou non. Comment choisiriez-vous un langage de programmation pour obtenir un bon travail en deux ans? Est-ce même un bon moyen de choisir une langue? Partagez vos pensées ci-dessous.
En savoir plus sur: Recherche d'emploi, Programmation.