intéressant

Les meilleures façons de vous apprendre à coder

Photo: Christopher Gower (Unsplash)

Si vous souhaitez apprendre à coder, faire ses premiers pas dans cet immense univers peut sembler une tâche intimidante, voire intimidante. Voici le grand secret: vous pouvez utiliser de nombreuses ressources gratuites (et peu coûteuses) pour vous donner toute l'aide dont vous avez besoin, vous enseigner de nouvelles techniques et rendre ce processus d'apprentissage amusant et excitant - aussi passionnant que le codage puisse en tirer .

Que vous soyez un adulte cherchant à intégrer l'industrie des technologies, un étudiant désirant apprendre la dernière langue ou un hobby amateur voulant tout simplement comprendre le fonctionnement des logiciels et des services, il vous suffit d'un ordinateur et d'un accès Internet pour démarrer votre programmation. périple. Mais avant de vous lancer dans l'aventure, voici nos meilleurs conseils et ressources pour vous mettre sur la bonne voie.

Demandez-vous: pourquoi voulez-vous apprendre à coder?

Prenez quelques minutes (ou une journée) pour réfléchir aux raisons pour lesquelles vous souhaitez apprendre un langage de programmation. Soit honnête avec toi. Essayez-vous d’apprendre le strict minimum pour remporter une promotion? Cherchez-vous à faire un grand changement de carrière? Voulez-vous créer la prochaine plus grande application? Faites frémir vos colocataires en programmant vos divers appareils intelligents pour faire quelque chose d’impressionnant?

Votre réponse peut aider à déterminer le (s) langage (s) de programmation que vous devez maîtriser, ainsi que le type d'engagement (en temps et en argent) requis par votre objectif. Par exemple, si vous rêvez de créer le prochain système d’exploitation ou une alternative redoutable à PhotoShop, vous bénéficierez d’une formation informatique formelle qui vous enseignera le C ++, ainsi que de sujets plus complexes tels que la structure des données, les algorithmes et l’allocation de mémoire.

D'un autre côté, si vous êtes un professionnel à mi-carrière et que vous souhaitez passer à une carrière dans la technologie, un camp d'entraînement à court terme pourrait être plus logique que de vous endetter pour un deuxième diplôme. Si vous souhaitez uniquement créer des sites Web ou pousser votre Raspberry Pi à ses limites, une combinaison de didacticiels interactifs et de cours en ligne gratuits peut vous suffire.

Choisissez le bon langage de programmation

Une fois que vous avez compris pourquoi vous souhaitez coder, vous pouvez plus facilement identifier le langage de programmation à utiliser. Bien qu'il n'y ait pas de «meilleur» langage de programmation à apprendre, certaines langues sont plus conviviales que d'autres. HTML et CSS sont considérés comme les points d'entrée les plus faciles dans le monde du codage, mais ils ne sont vraiment utiles que pour le développement de sites Web de base.

Pour les sites Web plus interactifs impliquant des systèmes de paiement ou des bases de données, vous devez connaître les langages Javascript, PHP, SQL et Python pour faire chanter tous les composants. Les fabricants d’applications mobiles utilisent Swift ou C pour créer des applications iOS et Java ou Kotlin pour des applications Android. Les développeurs de jeux vidéo se tourneront vers Unity, voire C #, pour donner vie à leurs idées de jeux.

Vous n'arrivez toujours pas à choisir votre langage de programmation de démarrage? La plupart des professionnels recommandent d'apprendre Python, C # ou JavaScript, car ils offrent la plus grande polyvalence possible en termes d'utilité et de carrière. Pour vous aider à vous décider, consultez cette excellente infographie qui compare quelques langages de programmation populaires.

Avant tout, commencez simplement à apprendre. Une fois que vous êtes familiarisé avec un langage de programmation, vous serez en mesure de choisir le prochain aussi rapidement - par exemple, apprendre un nouvel instrument de musique ou une langue étrangère.

Essayez des cours en ligne

Si vous souhaitez mieux contrôler votre calendrier d’apprentissage (ou si vous ne voulez pas y aller seul), un cours de codage en ligne peut être une meilleure option qu’un bootcamp de codage en personne. Cependant, il existe de nombreuses classes en ligne qui enseignent les mêmes langages de programmation et il peut être difficile de déterminer lequel vaut vraiment votre temps et votre argent.

Si vous n’êtes pas dérangé par la pratique en solo, découvrez The Odin Project, une option gratuite qui regroupe le meilleur contenu open source pour transformer un débutant en codage en programmeur.

Vous voulez plus de coaching individuel et de préparation à votre carrière sans faire de bootcamp à temps plein? Essayez de vous inscrire aux cours de certification de modèle d'abonnement d'Udacity ou Treehouse, où vous avez la possibilité de demander de l'aide à un tuteur au lieu de subir uniquement vos erreurs de codage ou vos questions. Vous ne pouvez pas faire mieux que les cours de codage à 19 $ d'Udemy (et même moins, lorsqu'il y a une vente) - même des étudiants en bootcamp à temps plein et en informatique s'inscrivent à ces cours pour compléter leur apprentissage.

Peu importe le nombre de cours que vous suivez, beaucoup de débutants ont encore du mal à appliquer leurs connaissances relativement élémentaires. À cette fin, beaucoup recommandent le cours gratuit JavaScript pratique de Watch and Code, qui s’articule autour d’un seul projet que vous parcourez en permanence.

Se concentrer sur l'apprentissage de la pensée informatique

Au lieu de vous concentrer sur l’apprentissage d’un langage de programmation spécifique, vous pouvez également apprendre à le faire de manière compréhensible pour un ordinateur. En d’autres termes, améliorez vos compétences à des concepts tels que la reconnaissance de formes, les algorithmes et les abstractions. Il y a aussi le jargon, comme des boucles, qui vont forcément apparaître dans toutes les langues que vous utilisez. Mieux vous comprendrez ces principes, plus il sera facile d’apprendre la langue suivante (et de concevoir de meilleurs produits ou projets en conséquence).

Grâce à Internet, vous n'avez pas à vous inscrire à un programme collégial de quatre ans pour apprendre les bases de l'informatique. un certain nombre de cours de niveau collégial sont disponibles en ligne gratuitement (ou à un prix minime).

Je ne saurais trop recommander assez l'introduction en informatique de CS50x de Harvard. Vous pouvez vérifier gratuitement le cours via edX et obtenir un certificat en complétant toutes les tâches, ou vous pouvez suivre votre rythme et regarder toutes les conférences postées sur Youtube. Vous pouvez créer votre propre programme d’informatique de bricolage au niveau collégial avec cette sélection de quinze cours en ligne (dont beaucoup sont également répertoriés dans notre série U de Goldavelez.com).

Obtenir un livre

La meilleure façon d'apprendre à coder peut impliquer que vous vous rapprochiez personnellement de certains arbres morts - un vrai livre que vous pouvez suivre du début à la fin. Dans un monde parfait, cela vous donnera une introduction plus complète au codage que de passer d’un sujet à l’autre sur un site Web.

Vous pouvez probablement trouver un livre électronique pour n'importe quel langage ou framework que vous essayez d'apprendre sur GitHub, mais de nombreux développeurs Web ne jurent que par la série colorée de Jon Duckett sur tout, du développement Web frontal au back-end.

En tant que programmeur autodidacte, vous pourriez également bénéficier de livres offrant des conseils plus complets sur la profession. Vous améliorerez votre façon de penser et vos habitudes, des traits que vous pourrez appliquer à n'importe quelle langue que vous déciderez d'apprendre. Le code complet de 900 pages de Steve McConnell: Manuel pratique de la construction de logiciels (2e édition) est considéré comme le guide définitif des meilleures pratiques, avec des conseils fondés sur des données concernant tout, de la conception du projet au code de débogage.

Clean Code: un manuel d'artisanat logiciel agile de «l'oncle Bob» Robert Martin est un corollaire de ce monstre. Martin estime que le code doit être écrit de manière efficace pour faciliter les tests et l'évolutivité, ce qui en fait une lecture incontournable pour de nombreuses équipes de développement modernes.

Puisque la programmation est vraiment une question de résolution de problème, vous apprécierez le processus de réflexion et les solutions «arrières de fond» que Jon Bentley partage dans Programming Pearls (2nd Edition). Chaque chapitre se termine par un certain nombre de défis qui sont souvent utilisés dans les entretiens d'embauche techniques, alors intégrez ce livre à la préparation de votre travail.

Découvrez des tutoriels interactifs ou des jeux de codage

Regardons les choses en face: la lecture de lignes de code sur un écran ou dans un livre peut ressembler à du charabia. Lorsque vous voyez un exemple en action, ce concept abstrait prend soudain tout son sens. C'est la beauté des didacticiels de codage interactif que vous pouvez trouver sur le Web.

Par exemple, FreeCodeCamp décompose non seulement les concepts de codage en petites parties de votre navigateur Web, mais il associe également chaque concept à un exercice pertinent que vous devez résoudre avant de passer au sujet suivant. De cette façon, vous ne pouvez pas simplement passer aux choses amusantes. le site vous oblige vraiment à déboguer votre code à mesure que vous apprenez.

Les jeux de codage sont également un moyen amusant de se familiariser avec la programmation. Si vous avez une heure à tuer, vous pouvez essayer les jeux simples Hour of Code. De plus, de nombreuses écoles utilisent déjà Minecraft: Educational Edition pour enseigner aux enfants les bases de la programmation avec des blocs de codage et même du JavaScript. (Vous pouvez télécharger cette version de Minecraft gratuitement si vous avez un compte Office 365 Éducation.)

Vous voulez un tutoriel de développement de jeu plus complexe que vous pouvez mettre sur votre CV? CodinGame pourrait être plus approprié à l’âge si vous n’avez pas l’impression de faire des coups de poing toute la journée.

Essayez un jouet pour enfant

Qui a dit que les adultes ne pouvaient pas apprendre des mêmes jouets et jeux vidéo STEAM / STEM qui passionnent les enfants en matière de programmation? Après tout, ces produits sont conçus pour enseigner la logique et la syntaxe de codage sans ennuyer les enfants distraits, de sorte que même les codeurs adultes pourraient être en mesure de les trouver amusants et instructifs.

Si vous souhaitez mieux comprendre la relation entre matériel et logiciel, vous apprécierez alors le Piper Computer Kit 2, qui vous permet de construire un ordinateur alimenté par Raspberry Pi. À l'aide de cet ordinateur portable, vous pouvez apprendre à coder grâce aux défis personnalisés du mode Histoire de Minecraft, utiliser le langage de type glisser-déposer Blockly pour apprendre l'informatique physique ou simplement vous procurer quelques notions de base de Python à partir des leçons préinstallées.

Bien que vous ne puissiez probablement pas créer votre propre droïde BB-8, vous pouvez apprendre à en coder un avec le BOLT de Sphero. À l'aide de l'application compagnon, vous pouvez contrôler votre boule de droïde à l'aide des blocs de codage par glisser-déposer appelés Scratch ou passer au niveau JavaScript afin de programmer des mouvements plus avancés.

Apprenez de nouvelles astuces à vos appareils préférés (et assistants)

Avez-vous un appareil de type Smarthome comme Amazon Echo? Vous pouvez mettre vos compétences en matière de codage à l'épreuve en créant des mini-programmes personnalisés pour tirer davantage parti des fonctionnalités des assistants numériques de vos appareils. Alexa connaît peut-être déjà de nombreuses «compétences» de base en commandes vocales, telles que la lecture des derniers titres d'actualités, mais vous pouvez lui apprendre des tâches plus complexes en codant en Node.js, Java, Python, C # ou Go. (Ou, si vous souhaitez commencer avec quelque chose de plus facile, essayez le site de plans de compétences Alexa simplifié.)

Il est possible que votre intérêt pour le codage soit plus limité. Par exemple, vous voudrez peut-être apprendre suffisamment de Python pour que votre Raspberry Pi réalise des projets intéressants. Si tel est le cas, vous pouvez adopter une approche de bricolage en découvrant les nombreux projets partagés par d’autres personnes sur son site Web.

En recréant des projets existants, vous en apprendrez plus sur le fonctionnement interne de votre périphérique hautement personnalisable. Vous pourriez même vous trouver inspiré à créer de nouvelles façons d'utiliser votre mini-ordinateur et à vous plonger plus loin dans le monde du code. (Vous pouvez même vous inscrire à la plate-forme Raspberry Pi et à la programmation Python de UC Irvine pour la classe Raspberry Pi Platform via Coursera, si vous souhaitez un peu d'aide pour démarrer.)

Regarder des vidéos sur le codage

Parfois, il est tout simplement plus facile de regarder quelqu'un vous montrer comment faire. Vous pouvez trouver toutes sortes de vidéos éducatives sur presque tous les sujets liés au codage: les ex-Googlers partagent des solutions sur les entretiens de codage, les YouTubers diffusent en streaming leurs marathons de codage et même la programmation d'anciens combattants vous montrant comment résoudre une erreur spécifique dans la langue de votre choix.

Je vous recommande de consulter CS Dojo, TheNetNinja et la chaîne YouTube CS50 de Harvard. Si vous n'avez pas le temps de rechercher une vidéo ou un canal de codage parfait, vous pouvez également consulter la vaste bibliothèque de vidéos de LinkedIn Learning pour des tutoriels validés et de qualité professionnelle. Bien que les frais d’abonnement au service de 30 $ / mois ne soient pas étourdissants, vous pouvez regarder une quantité illimitée de contenu et de sujets - faisant de LinkedIn Learning un meilleur contrat que d’autres classes en ligne à la demande, assorties de restrictions gênantes.

Pratique avec des projets personnels

Peu importe le nombre de certificats et d'ateliers de codage que vous complétez ou le nombre de langages de programmation que vous apprenez, la preuve de vos compétences en matière de codage sera intégrée à votre projet de programmation. Bien que votre projet personnel ne doive pas nécessairement être aussi ambitieux que la création de la prochaine carte Google Maps, il devrait être quelque chose sur lequel vous voudriez travailler 24 heures sur 24, 7 jours sur 7, pour en améliorer et en élargir constamment la portée.

Commencez petit, mais voyez grand. Votre projet doit inclure les compétences que vous avez actuellement dans votre boîte à outils, mais vous devez également disposer d'un plan pour les fonctionnalités futures et les compétences dont vous aurez besoin pour transformer cette vision en réalité. Sans appliquer vos compétences en codage dans quelques projets, vous ne seriez même pas pris en compte pour les concerts professionnels de codage - commencez donc à planifier et à pratiquer. (Notre conseil? Utilisez vos côtelettes de codage pour créer une configuration incroyable pour la soirée de match.)

Célébrez les petites victoires

Le codage est dans les détails, c'est pourquoi vous devez «célébrer les petites victoires», comme le dit l'un de nos professeurs de programmation. Il faut de la pratique pour que chaque élément fonctionne seul, ainsi que des tests constants pour s'assurer que chaque ligne de code fonctionnera avec tout le reste, sans erreur. Si vous ne réalisez pas des tâches apparemment mineures comme la fermeture d'une balise HTML, vous seriez bloqué pour déboguer une simple erreur de syntaxe plutôt que d'écrire du code plus complexe et plus impressionnant.

Vous devez être patient avec vous-même; ne vous attendez pas à coder le suivant après seulement quelques mois d’études ou quelques bootcamps. Coder un formulaire de RSVP de mariage sans erreur sur un site Web, ou créer un jeu de prédiction de nombre simple mais correct, est déjà un exploit important pour un débutant. Si vous êtes coincé, n'abandonnez pas. Vous devez absolument chercher de l'aide partout où vous pouvez la trouver, mais vous devez également savoir quand faire une pause pour éviter l'épuisement professionnel. Et puis essayez, essayez encore.

Google vos messages d'erreur

C'est notre meilleur conseil de codage: si vous ne pouvez pas comprendre pourquoi votre code est cassé, vous pouvez toujours chercher des solutions en ligne. Après tout, vous n'êtes probablement pas la première personne à commettre votre erreur, et quelqu'un sur Internet a sûrement déjà trouvé une solution à votre problème. Copiez et collez simplement votre message d'erreur dans Google (ou votre moteur de recherche préféré), ajoutez une paire de guillemets autour de la phrase afin de ne pas rechercher uniquement des mots clés, puis appuyez sur «Entrée». Espérons que ce petit astuce vous mènera à la bonne réponse.

Si vous rencontrez toujours des problèmes, vous pouvez toujours poser votre question sur les forums de développeurs tels que Stack Overflow, le sous-programme de programmation de Reddit ou GitHub. Il n'est jamais mauvais de téléphoner à un ami ou à un étranger sur Internet.

Pirater le code de quelqu'un d'autre

Lorsque vous effectuez un reverse engineering sur le code d'une autre personne, en testant chaque ligne pour voir son fonctionnement, vous obtenez une meilleure compréhension de la situation dans son ensemble. Grâce aux tonnes de code open-source disponibles, vous pouvez apprendre à peu près n'importe quoi en examinant le travail de quelqu'un d'autre (sans faille). N'oubliez pas de partager votre code avec la communauté si l'inspiration vous venait à l'esprit et que vous amélioriez une partie du programme que vous trafiquiez.

Obtenir un mentor (ou enseigner à quelqu'un d'autre)

La communauté de programmation est pleine de personnes prêtes à aider la prochaine génération de programmeurs. GitHub, le lieu de rencontre en ligne pour les développeurs qui utilisent Git pour gérer leurs projets de codage, est conçu pour la collaboration en ligne. Non seulement les développeurs hébergent et partagent leurs projets avec leurs pairs, mais ils fournissent également des commentaires sur le code et des conseils généraux à la communauté.

Vous pourrez peut-être trouver des mentors en ligne utiles via GitHub ou rencontrer d'autres développeurs chevronnés lors d'un événement Meetup sur le codage ou d'un hackathon. Une fois que vous aurez acquis une certaine expérience en programmation, vous pourrez peut-être répondre aux questions d'autres personnes, ou même enseigner ce que vous avez appris aux débutants - un excellent test pour voir si vous connaissez vraiment votre matériel.

Assister à un bootcamp de codage

Le codage des bootcamps peut être sujet à controverse: ils vous donneront une introduction rapide et une expérience de nombreuses compétences, mais ils pourraient ne pas être votre ticket d'or pour un tout nouveau travail Google.

Si vous voulez devenir professionnel et devenir développeur à plein temps, un bootcamp de codage intensif et en personne peut vous aider, en particulier si vous apprenez mieux dans un environnement structuré avec des personnes réelles pour vous motiver. Cependant, ces types de camp d'entraînement sont souvent les plus coûteux et les plus chronophages: vous envisagez de débourser plus de 15 000 $ pour les frais de scolarité, plus des frais de subsistance pendant quelques mois jusqu'à l'obtention de votre diplôme.

Heureusement, des institutions telles que la Flatiron School et le programme Grace Hopper offrent des bourses ou des frais de scolarité différés pour rendre ces camps d'entraînement plus abordables pour des groupes sous-représentés tels que les minorités et les femmes dans la technologie. Consultez le rapport de cours pour une liste complète des nombreux camps de démarrage en ligne et en personne, y compris des examens détaillés de leurs alunes, qui peuvent vous aider à décider si un camp de démarrage va vous aider à réaliser vos rêves de programmation.