Coder ressemble-t-il à jouer avec des LEGO ?
Je sais qu'il peut être difficile d'imaginer que les deux peuvent être liés, d'autant plus que les LEGO sont des objets physiques et que le codage est un langage écrit, mais il y a bien plus que vous ne le pensez !
En grandissant, je me souviens que la première fois que j'ai touché une brique LEGO, je ne savais pas quoi en faire. On m'a donné un énorme bac plein de pièces, toutes de diverses formes, tailles et couleurs. C'était fou quand je l'ai renversé sur le sol et que j'ai étalé les morceaux autour. C'était un gâchis absolu !
Ensuite, j'ai trouvé les instructions - un livre d'idées à suivre.
Soudain, je construisais des vaisseaux spatiaux, des voitures et des châteaux ! Ma confiance avec chaque petit morceau a grandi alors que je continuais à tout construire dans ce livre. Mais alors il n'y avait plus rien à construire. Et maintenant? Par où commencer ? Comment pourrais-je jamais construire quelque chose à moitié aussi cool que ce qui est dans ces instructions ?
Je pense que c'est le problème auquel sont confrontés la plupart des développeurs débutants : combler le fossé entre débutant et intermédiaire. Comme tout le monde, je me souviens de la première fois où j'ai suivi mon premier tutoriel et écrit mon premier programme "Hello World!". C'était petit, simple et facile. Ce qui a suivi était des tutoriels similaires qui ont continué à s'appuyer sur ma compréhension des concepts de programmation et de la syntaxe, mais on me guidait tout le long et je n'avais aucune idée de quoi faire avec ce que j'avais appris. Cela ne ma pas non plus aidé que la programmation soit un domaine si vaste que la recherche de réponses vous laisse plus confus que lorsque vous avez commencé votre recherche.
Donc que faire ?
Construire!
Sérieusement.
Il n'y a pas d’équivalence pour une expérience réelle. Le moyen le plus rapide de grandir est de le faire réellement et de faire des erreurs en cours de route. A comprendre au fur et à mesure. Oui, tout ne se passera pas comme vous le souhaitez, mais devinez quoi ? Ce n'est pas la fin du monde! La pratique est ce qui nous rend meilleurs. Apprendre de vos erreurs vous apprend à éviter les mêmes problèmes à l'avenir.
Avec les LEGO, j'ai mis de côté les instructions et j'ai commencé à construire tout ce que je pouvais concocter dans ma tête. Avec la programmation, c'était à peu près la même chose. Je réfléchissais à une idée et commençais à faire surchauffer mon ordinateur jusqu'à ce que quelque chose fonctionne.
Le seul problème, c'est que ce n'était pas parfait, et ce n'est pas grave ! Pourquoi? Parce que maintenant, avec cette façon de faire, j’ai appris qu'il ne fallait peut-être pas mettre la charrue avant les bœufs, et plutôt planifier !
Chaque bit de code est une brique pour construire de plus grands ensembles.
Il est difficile d'imaginer comment quelqu'un pourrait créer Airbnb, Instagram ou Youtube lorsque vous le regardez pour la première fois. C'est le même sentiment que vous ressentez lorsque vous regardez l'un de ces gigantesques dioramas ou sculptures de ville LEGO. Ils sont massifs, complexes et ont clairement pris beaucoup de temps et de réflexion. Mais vous devez vous rappeler que la façon dont ils l'ont construit était en commençant petit et en planifiant. Dans notre cas, c'est à ce moment-là que nous devons sortir le tableau blanc : dessiner des modèles de tableau, des relations, des histoires et des livrables, et planifier les débuts d'un produit viable minimalement.
Quand j'ai commencé à apprendre à coder, tout cela m'a semblé magique.
Ce n'est que lorsque j'ai commencé à créer ma première application que j'ai vraiment commencé à apprendre comment tout fonctionnait ensemble. C'est toute la planification, la conception et le dépannage entre chaque élément que je voulais faire qui m'a appris plus que ce que j'ai appris en lisant. Ce n'est qu'à ce moment-là que les sites Web ont commencé à ne plus être un secret pour moi, et je pouvais les regarder d'une manière différente - je pouvais voir toutes les briques dont ils étaient faits : les bases de données, les modèles, les relations, les contrôleurs, l'interrogation des données pour les statistiques, l'authentification et l'autorisation de la session d'un utilisateur, la possibilité de manipuler des données sur une page, et chaque méthode étant une étape, ou une instruction, vers quelque chose d'autre.
Tout avait enfin un sens ! Et plus important encore, je pouvais construire .
LEGO pense la même chose !
Croyez-le ou non, LEGO pense qu'il existe également une relation entre la construction avec leurs briques et la programmation ! Ils sont même allés jusqu'à lancer une initiative pour éduquer les enfants et les intéresser aux STEM avec leur programme éducatif et un logiciel appelé LEGO Boost . Ce dernier apprend aux enfants à programmer des robots en LEGO pour effectuer des actions.
NOTE: Je ne suis pas sûr que le programme existe encore cela dit… ça fait longtemps
Il y a même LEGO Mindstorms qui pousse la robotique et la programmation encore plus loin, mais comme vous pouvez le voir ci-dessous, il est encore plus complexe de pouvoir résoudre un cube Rubiks ou de générer du temps sur une « horloge numérique » physique.
Chaque fois que je code, je repense toujours au premier moment où j'ai assemblé un ensemble LEGO, puis je l'ai démonté pour créer autre chose. C'était excitant, amusant et satisfaisant, et ce sera toujours ainsi pour moi.
Merci de me lire!