Comment choisir un langage de programmation

Vous avez donc décidé d'apprendre à coder. La question est maintenant, par où dois-je commencer? Quelle langue devrais-je apprendre? Avec autant de langues et de piles de disques, la décision peut être assez décourageante. Il y a un peu plus d'un an aujourd'hui, j'ai également décidé de faire le grand saut dans le développement de logiciels. À l’époque, la plupart des blogs et articles que j’ai lus me disaient que la langue que vous apprendrez importait peu; il suffit de choisir l’un et les autres viendront facilement; «L’important est de commencer à coder.» Bien que ce soit un bon conseil à bien des égards, ce n’est pas non plus le meilleur. Décrivons ce que vous devriez considérer lors du choix d’une langue.

Que voulez-vous construire?

On me demande souvent de choisir le «bon» chemin dans la programmation. Quelle carrière devriez-vous poursuivre, cybersécurité, développement Web, iOS, AI? Une décision comme celle-ci est entièrement à vous. Il n'y a pas de bonne réponse, juste la vôtre.

D'après l'enquête auprès des développeurs de Stack Overflow 2018. Un joli graphique montrant quelles langues sont souvent utilisées ensemble et à quoi elles servent.

Des programmeurs sont nécessaires pour tous les types de projets. Vous devrez faire des recherches et éventuellement assombrir les personnes pour voir quels projets vous souhaitez construire. Personnellement, j'aime pouvoir créer quelque chose, tel qu'un site Web, que les gens utilisent et apprécient. Ou peut-être que vous voulez développer des jeux? D'autres personnes aiment casser un système ou apprendre à le protéger. Le piratage éthique ou la cybersécurité leur est destiné. Une fois que vous avez appris ce que vous voulez construire, faites des recherches sur Google afin de déterminer les langues que vous devriez apprendre à utiliser pour construire cette chose exacte. Voici une ventilation générale par spécialité (non exhaustive, mais vous donne une idée générale. Je recommande quand même de lire le reste de cet article pour prendre votre décision finale):

  • Pour le design UI / UX, il est intéressant d’apprendre le HTML et le CSS. Certains JavaScript est également agréable et vous démarquer des autres candidats. La responsable UI / UX de mon poste actuel est la responsable car elle est la seule de l’équipe de conception à connaître ces trois langues.
  • Pour la science des données, examinez Python ou R.
  • Pour le développement Web frontal, vous devez connaître HTML, CSS et JavaScript. Vous voudrez probablement aussi développer cette possibilité avec une bibliothèque comme React.js ou jQuery.
  • Pour le développement Web back-end, il y a beaucoup trop de langages, mais JavaScript, Python, Java, C #, PHP sont tous les langages couramment utilisés. Lisez le reste de l'article pour savoir comment prendre une décision à ce sujet.
  • Pour l'IA ou l'apprentissage automatique, consultez R, Python ou Java.
  • Pour le développement mobile, choisissez Kotlin pour Android et Swift pour iOS. Je ne recommande pas d’utiliser des frameworks de wrapper comme Flutter ou React Native.

Construire sur votre carrière actuelle

Vous voudrez peut-être aussi rester dans votre domaine actuel, mais améliorer vos compétences avec un peu de connaissances en codage. Un graphiste pourrait apprendre le HTML / CSS, peut-être le JavaScript, et peut-être un peu plus sur la psychologie pour devenir davantage un concepteur UI / UX. Ce type de travail est en forte demande et est plus susceptible de vous faire entrer dans le domaine de la technologie. Cela pourrait également conduire à une belle augmentation de salaire!

J'ai actuellement une amie qui étudie l'urbanisme et elle s'intéresse beaucoup aux décisions basées sur les données pour l'urbanisme. Elle m'a récemment confié que cette découverte lui avait appris qu'elle devrait faire appel à des langages de programmation pour améliorer son CV et l'aider à poursuivre ses rêves. Les langages parfaits pour les analystes de données seraient Python et SQL, ce qui est exactement ce qu'elle a l'intention d'apprendre pour l'aider à atteindre ses objectifs.

Dans votre recherche, vous pouvez par exemple trouver plusieurs langages et cadres que vous pouvez utiliser pour créer un site Web ou une application mobile. Alors, parlons de la façon de le réduire.

Tout est question de demande

Lorsque j'ai commencé il y a un an, je souhaitais me lancer dans le développement mobile, mais compte tenu du fait que la plupart des bootcamps de ma région n'avaient pas de cours de développement mobile (le développement mobile est encore récent, il est donc difficile de trouver des développeurs expérimentés), a décidé d'apprendre le développement Web à la place. Mon bootcamp proposait la pile MEAN (pile logicielle JavaScript utilisant MongoDB, ExpressJS, AngularJS et NodeJS) ou la pile .NET MVC (AngularJS, C #, SQL). Je ne savais pas quoi choisir. À mon orientation de camp d'entraînement, j'ai demandé son avis à l'un des instructeurs et il a immédiatement répondu:

“.NET parce qu’il a le plus d’emplois dans la région. Et une fois que vous apprenez une pile, il est facile de choisir les autres par vous-même. "

Après avoir entendu tous ces articles me dire que la pile MEAN était nouvelle, excitante et utilisée par les startups, je devais aussi continuer avec cette pile lucrative et nouvelle. Mais c’est le problème: ce n’est pas parce que quelque chose est brillant et nouveau que c’est la meilleure option. La partie la plus importante de tout le travail acharné et du temps que vous vous engagez à apprendre à coder consiste à obtenir cet emploi (à moins que vous ne prévoyiez travailler à son compte). Alors, sautez sur votre ordinateur et partez à la recherche d'un emploi.

Pensez à l'emplacement lorsque vous choisissez une langue ou une pile

Une fois sur un site de moteur de travail, commencez à rechercher des emplois par langue. Pour mettre les conseils de mes instructeurs à l’épreuve, je suis rentré chez moi le même jour et j’ai lancé une recherche pour C #, puis .NET. J'ai ensuite aussi fait une recherche avec des mots-clés pour la pile MEAN. Il avait raison. Il y avait beaucoup plus d’emplois pour .NET que d’emplois pour la pile MEAN dans ma région. Cela m’a également incité à me demander, alors, pourquoi auriez-vous aussi enseigné MEAN si la demande n’est pas aussi forte? J'ai étudié et remarqué que la pile MEAN était plus populaire dans la Silicon Valley et dans les start-ups dans presque toutes les villes. Cela s'explique par le fait que la pile est open-source contrairement à .NET, ce qui réduit les coûts pour l'entreprise, ce qui est important pour les nouvelles entreprises.

Codage Dojo fournit un bon graphique du marché du travail dans son ensemble, mais n'oubliez pas de rechercher sur votre marché du travail local toute variation de ce graphique.

Maintenant, vous devez tenir compte de certains facteurs. Où allez-vous postuler pour des emplois? Si vous êtes prêt à déménager à peu près n'importe où, vous pouvez choisir presque n'importe quelle langue ou pile. Vous aurez plus de flexibilité. Si vous souhaitez limiter votre recherche d'emploi à votre région, basez votre décision sur le marché du travail.

Vous pouvez toujours vous diversifier plus tard

Ce n'est pas parce que vous choisissez une langue ou une pile maintenant que vous y êtes coincé à vie. La technologie évolue constamment et vous aurez toujours besoin de mettre à jour vos compétences et d’acquérir de nouvelles compétences ou langues.

Comme je l'ai mentionné précédemment, je suis entré dans la pile .NET MVC car mon objectif principal était de décrocher un emploi. Maintenant, non seulement j’ai aidé à développer des sites Web, mais j’ai également construit des pipelines de transmission de données en continu pour 20th Century Fox. Et maintenant, avec mon nouvel emploi, j'apprends NodeJS, ReactJS et PHP Laravel pour notre site Web ainsi que Swift pour nos applications mobiles iOS! Vous ne serez jamais attaché à votre langue maternelle tant que vous voudrez apprendre quelque chose de nouveau.

Pour tout résumer…

En fin de compte, la langue que vous choisirez dépendra beaucoup de la combinaison de ces facteurs:

  • Que voulez-vous construire? Quelles langues devez-vous savoir pour atteindre vos objectifs? Google et les moteurs de l'emploi auront des réponses pour vous.
  • Quelles langues sont en demande? Incluez le lieu dans vos recherches pour savoir où vous êtes disposé à travailler / vivre. La demande varie selon les endroits. C’est seulement un facteur si vous cherchez un emploi. Si vous êtes en freelance, vous pouvez choisir ce que vous voulez!

N'oubliez pas qu'il ne s'agit que de votre première étape dans votre carrière. Ce que vous choisissez maintenant n’est pas la fin en tous points, c’est seulement de passer la porte. Une fois que vous aurez appris une langue, les autres viendront plus facilement et les emplois vous demanderont d’apprendre de nouvelles langues de temps en temps. Vous ne vous ennuierez jamais!

Vous pouvez également vérifier que l’Enquête auprès des développeurs de Stack Overflow 2018 offre de plus en plus de perspectives dans le domaine technique, comme la démographie des développeurs, la vie en dehors du travail et des questions techniques. Il s’agit principalement d’une enquête intéressante permettant de mieux comprendre le terrain et les développeurs individuels, ainsi que de cerner les tendances.

Bonne chance et bon codage!

Publié à l'origine à techgirlrising.com le 15 septembre 2018.