Pour devenir un meilleur programmeur à mon avis 😉

Salut très cher(e) lecteur (trice) !
🤷🏽♂ Que faites-vous tous les jours pour devenir un meilleur programmeur ?
Pour ma part, la programmation est une superbe discipline à la fois intuitive et théorique. Je la pratique régulièrement.
Pour devenir un meilleur programmeur, je vous recommande :
✓ de coder, car c’est le meilleur conseil que je puisse donner.
🤔 Coder ?
Eh oui ! J'ai bien dit Coder. Ça vous permet de vous poser des questions, et croyez-moi, en essayant d’y répondre, vous progressez énormément. Ça peut être au boulot, sur des projets personnels, sur des librairies open-source, …
On peut choisir volontairement un nouveau langage pour progresser et apprendre 😉
Coder avec un bon IDE. L’IDE (Integrated Development Environment) est un logiciel dans lequel on code. La plupart sont gratuits. Il a l’avantage de détecter les erreurs au moment du code et de les expliquer. C’est un véritable professeur au début. Il permet aussi de résoudre des dépendances et de mieux comprendre la stack technique d’un langage 😉
✓ Se faire relire son code. C’est une pratique courante, je dirai même obligatoire dans les entreprises ou dans l’open-source (en anglais : code review). Il ne faut pas être trop susceptible et accepter que quelqu’un mette le point sur des choses qui peuvent être améliorés ou ne sont pas claires. On peut ne pas être d’accord, mais il faut élaborer 😉
✓ Documenter son code. En documentant , croyez-moi, on tente de synthétiser et d’expliquer au mieux. C’est une qualité utile à développer pour coder, et surtout partager son code, ce qui arrive souvent 😉
✓ Lire la documentation. Que ce soit du code ou du langage de programmation, lire la documentation nous fait prendre conscience du paradigme dans lequel on se trouve et au passage fait gagner beaucoup de temps. Si les programmeurs lisaient vraiment la documentation complète d’un langage (pas forcément d’un coup) il seraient tous bien meilleurs dans ce langage.
Aussi, un langage vient avec beaucoup de briques autour qui constituent l’environnement, et il est difficile de comprendre cet environnement sans lire la documentation. Ça peut aussi être une documentation (ciblée) 😉
✓ Participer à des concours ou des exercices. Les sites ne manquent pas et c’est un moyen ludique de progresser.
✓ Quelques idées pour des exercices et pour des compétitions. Répondre à des questions Stackoverflow ou consort. En répondant, vous savez déjà à priori la réponse (mais vous pouvez la chercher), mais vous devrez souvent creuser un peu pour être sûr et ainsi progresser.
Les remarques des autres développeurs vous attireront sur des points utiles.
✓ Faire de la veille. La communauté tech est riche d’actualité, que ce soit des nouvelles versions, des sorties de grosses librairies, d’arrêt de support de versions et plus généralement sur les acteurs du secteur (rachats, créations de startups, …).
Sur un aspect plus théorique, j’insiste sur le fait que le développement s’inclut dans un grand nombre de techniques et paradigmes qu’il convient d’au moins connaître. Par exemple sur l’architecture d’un logiciel ou d’un système (l’approche microservices, les design patterns), les bases de données (SQL-like ou NoSQL), le fonctionnement global de protocoles (HTTP, les logiques d’API en général), les nouveaux paradigmes (machine learning, conteneurisation), le cycle de vie d’un logiciel (test, intégration continue, méthodologie Agile) et même la théorie (complexité des algorithmes, preuves mathématique de correction d’algorithmes, avancées scientifiques) 😉
✓ Lire des livres. Il en existe une palanquée, soit sur votre langage de programmation soit sur des sujets plus généraux. Ils prodiguent de l’information qui ne sont pas toujours en ligne (qui résultent de l’expérience de l’auteur), et sont aussi une manière d’apprendre différente (pour moi : plus concentrée !). Les bibliothèques techniques en regorgent, on trouve des PDF gratuitement (et légalement) et des ebooks.
✓ Suivre des cours. Souvent les livres sont des véritables cours. On trouve des cours parfois sur le site des écoles / universités ou sur les MOOC comme (spécialisé dans la technique). Youtube aussi a des choses isolées, mais intéressantes.
✓ Assister à des conférences. Il y en a plein. C’est payant et ça demande un peu de logistique, mais si on choisit bien, ça vaut le coup. Et parfois les conférences sont filmées et donc il suffit d’attendre les vidéos.
Chaque langage a sa (ou ses) conférence.
✓ Assister à des meetups. Tout comme les conférences, les meetups permettent de se frotter à la communauté, et voir de quoi, sur quoi les gens travaillent et quels sont leurs centres d’intérêt. On découvre plus souvent un sujet que ce qu’on apprend, mais ça peut attiser la curiosité ou conforter une attirance pour un sujet. Le site est la référence. Certains meetups sont filmés et postés sur Youtube (cherchez meetup + votre langage ou techno). Suivre des youtubeurs, twitcheurs, twitters et autres sites pédagogiques, s’inscrire à des newsletters. On a l’impression de connaître ces gens petit à petit, et en général, ils aiment bien qu’on interagisse avec eux. C’est un bon moyen d’apprendre par bribes des choses sur ses sujets préférés.
Je pense que les écoles et universités sont une bonne manière d’apprendre et de manière structurée. La plupart sont en trois ans après une prépa ou un IUT ou la fac ; voire en cinq ans (je peux toujours me tromper sur ce point). Mais, il existe d’autres formations courtes et pensées pour la formation continue. Ça s’applique sûrement plus à des débutant qui veulent se lancer ou se réorienter, mais ça reste très pertinent.
La suite en commentaire.
Je signale que ceci n'est que ma vue des choses pour devenir un bon et/ou meilleur programmeur 😉
Commentaires