Il y a une semaine, j’ai publié mon réflexions sur le système de blocs du point de vue d’un développeur. Plonger en profondeur le week-end après-midi dans la création de types de blocs personnalisés signifiait apprendre des leçons difficiles et me familiariser avec un langage de programmation que j’avais peu d’expérience à utiliser.
La programmation a toujours été pour moi une affaire d’essais et d’erreurs : écrire du code, actualiser le navigateur, lire le message d’erreur et tenter de résoudre le problème. Ensuite, rincez simplement et répétez le processus jusqu’à ce que le programme ne soit pas interrompu. Ces erreurs sont tissées dans l’art du codage, les couches sous cette poésie sur la toile visible.
J’ai absolument fait la même erreur deux fois. Et, trois fois. Probablement beaucoup plus que cela si je suis honnête avec moi-même et avec vous. Finalement, j’arrête de faire les mêmes erreurs, et une méthode ou une procédure est définitivement gravée dans mon cerveau.
J’ai écrit quelques centaines de tutoriels WordPress au cours des quinze dernières années. Je suis un auteur de livres de développement publié deux fois et j’ai été éditeur technique sur un autre. Cependant, je ne suis pas un grand lecteur de livres techniques et de documentation. D’une part, les programmeurs ne sont pas nécessairement les écrivains les plus engageants. Plus, livre intelligent ne peut vous mener que jusqu’à présent. Vous avez besoin du débrouillardise de la programmation pour devenir bon dans ce domaine, ce qui signifie apprendre de l’expérience.
Bien que je crois fermement que la lecture en est un élément central, rien ne remplace le fait de se salir les mains. Construire des choses, faire des erreurs et apprendre à les réparer est ce qui rend la programmation amusante.
Travailler sur des logiciels open source comme WordPress est l’un des meilleurs moyens de le faire. Il n’y a aucun coût initial, en supposant que vous ayez accès à un ordinateur, une condition préalable à toute programmation. Il y a généralement des gens prêts à donner un coup de main ou à répondre à des questions, et il y a toujours des problèmes à résoudre pour ceux qui sont prêts à s’y plonger.
En tant que directeur exécutif de WordPress Josepha Haden Chomphosy a discuté avec Matt Mullenweg sur le Projet Openverse il y a quelques mois, il y a eu un moment où je me suis retrouvé à hocher la tête en signe d’accord.
Parce que, bien sûr, vous savez, contribuer et être impliqué dans l’open source est probablement le meilleur moyen d’apprendre une technologie, mieux que n’importe quel diplôme universitaire.
Matt Mullenweg, chef de projet WordPress
J’ai appris plus sur WordPress, PHP, HTML, CSS et JavaScript en contribuant à des logiciels open source que je n’en ai jamais appris dans un cours universitaire.
J’ai grandi dans une génération à qui on a dit que nous devions obtenir un diplôme universitaire. C’était une partie intégrante du rêve américain qui aboutirait à une vie de banlieue dans un quartier aux rangées de maisons parfaitement alignées, se terminant en cul-de-sac. C’était le premier pas vers un garage pour deux voitures, une clôture blanche, 2,5 enfants et un chien. L’université était la promesse sur laquelle mes pairs et moi avions tout misé. On attendait de nous, et tant d’entre nous ont fait leur devoir.
Voici la chose que nos parents ne savaient pas. Internet allait tout changer.
J’ai obtenu mon diplôme d’études secondaires en 2002. C’était pendant cette période où le monde en ligne explosait. Toutes les connaissances du monde seraient bientôt à portée de main. Aujourd’hui, c’est plus vrai que jamais. Tout ce que vous aurez besoin d’apprendre sur l’écriture de code est disponible via une connexion Internet.
Mon expérience avec les cours de programmation de niveau collégial était mitigée, mais j’en ai tiré une leçon de vie nécessaire : je n’étais pas fait pour un diplôme en génie logiciel. Je suis heureux d’avoir été sage dès le début et d’avoir poursuivi un diplôme différent, ce qui m’a permis d’économiser du temps et de l’argent.
J’ai secoué mon cours de programmation C de la moitié de l’été, mon introduction à l’écriture de code. J’avais aussi un professeur passionné qui a déjà travaillé sur des projets de missiles américains en tant que testeur de bogues. Ce n’était probablement pas le travail le plus glamour, mais il le faisait toujours paraître excitant parce qu’il aimait ce qu’il faisait. Notre classe était chargée de créer divers programmes tout au long du cours, mais nous avions généralement le choix de ce que nous construisions. Pour le projet final de mon groupe, nous avons créé un logiciel de distributeur automatique.
J’étais sur la bonne voie pour devenir ingénieur logiciel après ce premier cours. J’avais créé un moyen pour les commerçants d’être payés pour la livraison de friandises sucrées et de boissons gazeuses aux clients. C’était la programmation à la rencontre du capitalisme, et j’y ai pris goût.
Le semestre d’automne s’est terminé et j’étais motivé à aller au-delà du domaine de la programmation procédurale en C. Java, un langage de programmation orienté objet (OOP), serait mon prochain défi.
La chose la plus avancée que notre classe a construite pour un semestre entier était une calculatrice de base. J’ai sauté presque toutes les conférences parce que je ne pouvais pas rester éveillé à regarder le professeur picorer son chemin à travers les programmes pendant trois heures par semaine. J’ai assisté aux « laboratoires » obligatoires – une façon élégante de dire une classe supplémentaire où les assistants du professeur enseigneraient le cours réel.
Inutile de dire que mon feu s’est éteint. Bien que les programmes de calculatrice soient des outils pratiques, je voulais me diversifier et créer des choses qui comptent.
Vous savez ce qui a ravivé ma flamme pour la programmation ? Au début, il s’agissait de développement Web général. Mais, WordPress était ce qui me passionnait vraiment. Et, je n’ai pas regardé en arrière depuis que j’ai commencé à l’utiliser en 2005.
WordPress était ma passerelle vers un monde où je pouvais créer des choses qui m’intéressaient. Je pouvais me lancer dans un projet bien plus avancé que mon niveau de compétence, faire des essais et erreurs pour avancer et finalement construire quelque chose dans lequel les autres trouvaient de la valeur.
À moins que les universités n’aient changé, la plupart enseignent des leçons de base étape par étape à leurs élèves. Certains étudiants peuvent avoir de la chance et atterrir dans la classe de ce professeur unique qui leur donne une marge de manœuvre pour explorer diverses idées. Cependant, rien ne remplace la création de votre propre projet, la résolution d’un problème que vous voyez.
Et c’est ça la programmation : résoudre des problèmes.
En 2007, j’ai sorti mon premier plugin WordPress dans la nature. Il répertorie automatiquement toutes les sous-pages de la page actuellement consultée. Des dizaines de plugins similaires ont été écrits depuis et probablement avant (il semble que WordPress aurait maintenant une simple fonction de « liste des sous-pages »).
La semaine dernière, après avoir écrit un nouveau plugin, je me suis souvenu de l’éducation gratuite que la communauté WordPress m’a donnée au fil des ans. Certains d’entre eux ont lu de la documentation. Certaines réponses de WordPress Stack Exchange. D’autres morceaux ont été étudiés par ceux qui m’ont précédé, en s’appuyant sur leur code open source. Tout cela provenait d’autres personnes qui ont donné quelque chose en retour à notre communauté.
Ce n’est pas nécessairement un coup au collège. Certaines personnes réussissent mieux dans cet environnement structuré, et toutes les formes d’éducation ont de la valeur. Cependant, il existe des alternatives pour ceux qui n’ont pas les moyens de payer l’université ou qui apprennent mieux dans un environnement différent. Et, il n’y a pas de rabais sur l’expérience que vous obtenez en contribuant à quelque chose de plus grand.
Si vous êtes l’un de nos lecteurs qui envisagent de se lancer dans la programmation, plongez-vous simplement. Faites quelques erreurs. Construire. Apprendre.
Comme ça:
Comme Chargement…
— to wptavern.com