Backend

Comment devenir un meilleur développeur backend autodidacte ?

Un exercice de développeur Backend est de développer et d'optimiser une application qui traite une énorme quantité de données. il est très souvent difficile de rejoindre et d'apprendre sur ce type de projet quand on n'a pas assez d'expérience.

3 min de lecture
Comment devenir un meilleur développeur backend autodidacte ?

Un excellent exercice en tant que développeur Backend est de développer et d'optimiser une application qui traite une énorme quantité de données (en termes de millions). Malheureusement, il est très souvent difficile de rejoindre et d'apprendre sur ce type de projet quand on n'a pas assez d'expérience.

Question : Comment relever ce genre de défi pour apprendre et penser différemment le développement de vos applications ?

Apprendre des grands

Toutes les grandes entreprises technologiques (GAFAM) ont un blog d'ingénieur, dans les articles qu'ils publient, ils expliquent très souvent un problème qu'ils rencontrent, la difficulté et l'approche qu'ils ont utilisée pour arriver à une solution. exemple :

Même si j'admets qu'il est difficile de tout comprendre, il est extrêmement bénéfique de se mettre dans la peau d'un backend Twitter par exemple et de réfléchir à la manière de résoudre un problème à grande échelle.

Être dans cette position vous permet de découvrir de nouvelles approches, de nouveaux outils et de nouvelles technologies que vous pouvez maintenant utiliser dans vos applications. Utilisez-vous toujours une requête SQL avec une instruction LIKE pour effectuer une recherche ? cette approche sera-t-elle toujours la bonne lorsque vous aurez 10 millions de données ? même avec des index de base de données, à un moment donné, vous atteindrez une limite. et vous devrez chercher une technologie adaptée uniquement à la recherche comme Typesens, elastic search... si vous ne vous posez pas ces questions, vous ne découvrirez jamais ces outils par vous-même, connaître les limites des outils que vous utilisez actuellement, leurs forces et leurs faiblesses, être capable de justifier vos choix techniques.

Découvrez les piles

Saviez-vous que vous pouvez non seulement lire des articles mais aussi voir quelle pile une startup utilise sur des plateformes comme https://stackshare.io/. C'est aussi un moyen de faire de la veille et de la découverte, le plus intéressant sur stackshare étant les justifications des choix techniques par les CTO et la communauté.

Exploration des sources ouvertes !

De nombreux projets, bibliothèques et frameworks que nous utilisons aujourd'hui sont open source, avez-vous déjà pris le temps de comprendre comment fonctionne telle ou telle fonctionnalité dans le code que vous téléchargez sur presque tous les projets ? Gardez à l'esprit qu'il ne s'agit pas d'une boîte noire et que vous pouvez explorer et découvrir de nouvelles approches de développement, en explorant le code source de Symfony, j'ai découvert des concepts comme NullObject, DataTransferObject, ou la condition Joda... il est vrai qu'il est difficile de comprendre l'intégralité d'un projet mais commencer petit et s'y habituer peut même vous élever au niveau d'un contributeur (en termes de code bien sûr).

Reproduisez les expériences

La meilleure façon d'apprendre à résoudre des problèmes courants que vous n'avez pas encore rencontrés est de les reproduire dans un petit projet et de les résoudre étape par étape, selon la technologie que vous utilisez, certains problèmes courants ont déjà des solutions universelles, par exemple si vous utilisez un ORM comme Doctrine vous serez probablement confronté au problème N+1. comprendre dans quel contexte ce problème se produit et comment le résoudre en tenant compte de ce même contexte fera de vous un meilleur backend

Vous pouvez vous donner une heure pour générer des données avec une bibliothèque comme Faker, remplir votre base de données et commencer à explorer les cas limites.

Conclusion

en conclusion, devenir un meilleur développeur backend nécessitera un engagement conscient avec cet objectif précis en tête, ce processus peut passer par les étapes suivantes :

  • Apprendre des grands
  • Connaître les limites des outils que vous utilisez
  • Être capable de justifier ses choix technologiques
  • Savoir ce qui se fait ailleurs
  • Explorer le code open source afin d'y contribuer
  • Reproduire des expériences
  • explorer les cas limites

et enfin bien sûr partager ce que vous savez avec la communauté comme Devscast