22nd Jan 2025 9 minutes de lecture Pourquoi apprendre SQL en tant que développeur de logiciels ? Alexandre Bruffa apprendre sql Table des matières L'importance du langage SQL dans le développement de logiciels Cela vaut la peine d'apprendre SQL en tant que développeur ! SQL est partout ! Apprendre le SQL pour comprendre les ORM Le langage SQL est essentiel pour l'analyse des données Dépannage efficace Prendre des décisions techniques Débogage et automatisation Opportunités de carrière Apprenez SQL dès aujourd'hui ! En tant que développeur de logiciels, vous avez peut-être été confronté à des situations dans lesquelles vous deviez travailler avec SQL. Vous vous demandez peut-être si une connaissance superficielle du langage SQL est suffisante pour ce rôle ou si vous devriez vraiment vous y plonger. Réponse courte : vous devriez ! Dans cet article, j'expliquerai pourquoi les développeurs de logiciels devraient apprendre le langage SQL. Je suis développeur de logiciels depuis 15 ans et j'ai remarqué une évolution progressive du rôle. Il y a quelques années, un développeur de logiciels devait connaître le langage de programmation avec lequel il travaillait et quelques bibliothèques ou cadres. Aujourd'hui, la réalité est plus complexe et de nombreux développeurs de logiciels apprennent SQL en profondeur. Voyons pourquoi. L'importance du langage SQL dans le développement de logiciels Les développeurs de logiciels pensent souvent qu'ils n'ont pas besoin d'investir du temps dans l'apprentissage du langage SQL et qu'il suffit d'en connaître les bases. Mais à mon avis, cette idée est dépassée. Le champ d'application du développement de logiciels a changé. Supposons que vous soyez officiellement un développeur Python. Bien entendu, vous devez connaître le langage Python ainsi que les bibliothèques et les cadres liés à votre domaine de développement particulier. Vous devez également comprendre les multiples domaines connexes qui gravitent autour du développement logiciel : IoT, Cloud, DevOps, et données/bases de données (entre autres). Parmi cette liste, ne sous-estimez pas l'importance des données et des bases de données. Tous les entretiens de développeurs de logiciels que j'ai réalisés au cours des dix dernières années ont TOUJOURS posé des questions sur SQL. Ces dernières années, j'ai également mené de nombreux entretiens techniques en Python - et je dois avouer que j'ai un espace dédié aux questions sur les bases de données et plus particulièrement sur SQL. Vous sentez-vous prêt pour votre prochain entretien technique ? Si ce n'est pas le cas, Marek Pankowski va vous aider ! Consultez son article intitulé Common SQL Job Interview Questions (Questions courantes d'entretien d'embauche en SQL). Si vous devez d'abord apprendre le langage SQL, je vous recommande notre Le SQL de A à Z piste. Ses sept cours et ses centaines de défis de codage vous permettront d'avancer dans votre parcours SQL ! Cela vaut la peine d'apprendre SQL en tant que développeur ! Dans cette section, je vais expliquer pourquoi, à mon avis, il vaut la peine d'apprendre SQL en tant que développeur. SQL est partout ! Tout d'abord, SQL est à l'origine de la plupart des technologies de données. Quel que soit le domaine dans lequel vous travaillez, vous utiliserez probablement au moins une technologie SQL. Les bases de données relationnelles sont une technologie ancienne, mais elles sont plus pertinentes que jamais ! Les sites de commerce électronique, les réseaux sociaux, les sites d'information et même votre application bancaire utilisent SQL. Bien que de nouvelles technologies de bases de données soient apparues ces dernières années, les bases de données relationnelles et SQL restent la principale technologie pour les bases de données. Selon l 'enquête Stack Overflow Developer Survey 2024, les développeurs professionnels utilisent massivement les bases de données relationnelles : en effet, les 4 bases de données les plus utilisées sont des bases de données relationnelles (PostgreSQL, MySQL, SQLite, et MS Server). Enquête Stack Overflow 2024 Si vous vous demandez où SQL est utilisé aujourd'hui, je vous recommande de consulter l'excellent article d'Agnieszka Kozubek-Krycuń intitulé SQL Technologies Are More Common Than You Think. (Spoiler : elles sont partout !) Apprendre le SQL pour comprendre les ORM Parlons maintenant des ORM (Object Relational Mappers). En tant que développeur, vous vous demandez peut-être : "Pourquoi devrais-je connaître le langage SQL ? C'est une grave erreur ! L'utilisation d'un ORM est généralement une bonne pratique : il aide à interagir avec les bases de données relationnelles et fournit une couche d'abstraction qui génère la requête SQL pour vous. Les ORM sont également de grands alliés pour la sécurité : ils peuvent vous protéger contre une attaque par injection directe de code SQL ou d'autres vulnérabilités SQL. Cependant, les ORM - comme tous les systèmes - ont des limites. La plus célèbre d'entre elles est le problème de performance. Un ORM représente une couche supplémentaire entre votre base de données et votre backend et a son propre temps de latence. Cette latence peut être sans importance pour les petites requêtes, mais elle peut devenir un énorme problème pour les grosses requêtes. Dans ce cas, vous avez deux possibilités : restructurer la requête pour la rendre plus efficace ou écrire la requête SQL à la main. Dans les deux cas, vous devez avoir une connaissance approfondie du langage SQL. Le langage SQL est essentiel pour l'analyse des données SQL est le langage de l'analyse des données. Les chefs de produit m'ont souvent demandé (à moi qui suis développeur et non analyste de données) de préparer des rapports, y compris des graphiques et des tableaux de bord d'analyse de données. En tant que développeur, vous pensez peut-être que ce n'est pas mon travail, mais c'est pourtant le cas ! Tous les outils de BI (par exemple Metabase, Looker) se connectent à des bases de données relationnelles et utilisent SQL sous le capot. Bien que l'interface visuelle de ces outils vous permette d'extraire facilement des données de la base de données, les chefs de produit, les spécialistes du marketing et tous ceux qui ont besoin de ces données sont pour la plupart des non-techniciens ; ils n'ont aucune idée de la façon dont une base de données est structurée. En outre, l'interface visuelle des outils de BI a ses limites ; vous devrez probablement rédiger des requêtes brutes à l'aide de SQL. Après tout, SQL est un langage de programmation et vous êtes un développeur ! Prêt à vous lancer dans le langage SQL ? Si c'est le cas, consultez notre superbe (et gratuite) SQL pour les débutants Cheat Sheet, qui est un guide pratique des commandes les plus utilisées du langage. C'est un excellent moyen de commencer à apprendre le langage SQL ou de se rafraîchir la mémoire ! Dépannage efficace Le dépannage des performances d'une application est plus courant que vous ne le pensez ; c'est même une question typique des entretiens techniques. Supposons que le temps de réponse pour une action donnée dans votre application soit anormalement élevé (ou même qu'il soit dépassé). Comment pouvez-vous résoudre ce problème ? De nombreux acteurs peuvent être impliqués dans ce problème : inter-domaines, cache, étranglement des points de terminaison, capacité du serveur, démarrage à froid, et... base de données. Si le problème vient de la base de données, on peut vous demander d'optimiser certaines requêtes - que votre application utilise un ORM ou non. Dans ce cas, il est essentiel d'avoir une connaissance approfondie du langage SQL. Votre base de données manque-t-elle d'index ? Pourriez-vous créer une vue pour les requêtes fréquentes ? Les requêtes peuvent-elles être paginées ? Vous aurez besoin de SQL pour toutes ces questions. Prendre des décisions techniques L'apprentissage du langage SQL et des bases de données relationnelles en général est également très utile lorsqu'il s'agit de prendre des décisions techniques. En tant que développeur de logiciels et éventuellement responsable technique, vous pouvez être amené à choisir entre différentes technologies avant de commencer un nouveau projet. En ce qui concerne les bases de données, vous devez connaître les différents types de bases de données et la manière dont elles évoluent (et donc les coûts). La nature du secteur dans lequel vous travaillez est également importante. Traditionnellement, les bases de données relationnelles sont utilisées lorsque des transactions (séquences d'opérations multiples sur une base de données) sont nécessaires pour la conformité ACID. Par conséquent, si vous créez une application de commerce électronique ou bancaire, une base de données SQL est probablement le meilleur choix. Cela dit, apprendre le langage SQL vous donne aussi une idée de ce qui peut être fait facilement. Il y a quelques années, mon équipe et moi-même avons choisi d'utiliser une base de données NoSQL pour stocker les informations de session de l'utilisateur de notre application. Cette base de données offrait des données non structurées, ne nécessitait pas de transactions et permettait une mise à l'échelle verticale. Ce choix semblait être le bon jusqu'à ce qu'on nous demande de créer un tableau de bord analytique pour les données de session des utilisateurs. Ce que nous aurions pu faire facilement avec une base de données SQL et des commandes simples nous a pris un temps considérable. En fait, nous avons fini par réinventer la roue. Débogage et automatisation Connaître le langage SQL en tant que développeur est également très utile pour le débogage ou la création de données de test. Dans certains cas, vous devrez déboguer votre application et travailler directement avec la base de données. J'ai souvent dû interroger la base de données de production de l'entreprise pour trouver un cas particulier et créer un script SQL pour le corriger. Il est essentiel de connaître des commandes telles que SELECT, JOIN, et WHERE (pour récupérer les données) et INSERT, UPDATE, et DELETE (pour les modifier). Les scripts SQL permettent également d'automatiser les tâches courantes liées aux bases de données. Vous pouvez, par exemple, exécuter un script tous les jours pour trouver et désactiver tous les utilisateurs de votre base de données qui n'ont pas renouvelé leur adhésion après plusieurs notifications. Opportunités de carrière La dernière raison pour laquelle vous devriez apprendre le langage SQL en tant que développeur est qu'il vous aide à progresser dans votre carrière et à saisir des opportunités. En apprenant le langage SQL, vous pouvez mieux collaborer avec les équipes chargées des données (analystes de données, scientifiques et ingénieurs). Kateryna Koidan l'a parfaitement résumé dans son excellent article How Developers Can Build SQL Skills. Et au bout d'un certain temps, vous pourriez même changer de carrière pour travailler avec des données si vous vous y plaisez. Apprenez SQL dès aujourd'hui ! Dans cet article, nous avons vu pourquoi il vaut la peine d'apprendre le langage SQL en tant que développeur de logiciels. Vous en aurez probablement besoin dans votre travail quotidien, et cela peut vous aider à progresser dans votre carrière et à trouver de nouvelles opportunités. J'espère vous avoir convaincu de vous lancer dans l'aventure SQL ! Si c'est le cas, je vous recommande vivement de jeter un coup d'œil à notre piste Le SQL de A à Z. Il couvre tout ce dont vous aurez besoin en SQL en tant que développeur. Merci d'avoir lu cet article ; j'espère qu'il vous a plu ! A bientôt dans le prochain ! Tags: apprendre sql