Participation à l’Afup Day 2019 à Lyon
L’AFUP DAY Lyon s’est déroulé le vendredi 17 mai 2019 à l’école SupInfo et nous y étions ! Nous avons d’ailleurs eu l’occasion d’être sponsor de cette première édition. De nombreuses conférences de qualité ont été proposées. Bien que toutes les présentations aient été très intéressantes et instructives, nous avons choisi de présenter les trois dont le souvenir reste le plus vif.
Table ronde : à la découverte du rôle de CTO
Intervenants : Olivier Mansour, Mathilde Rigabert Lemée et Eric Lemoine
Nous avons eu l’opportunité d’assister à la table ronde organisée par Olivier Manson, Mathilde Rigabert Lemée et Eric Lemoine. Une occasion idéale d’en savoir plus sur le métier de CTO (Chief Technology Officer) et son rôle dans l’entreprise.
Bien que les missions puissent différer en fonction de la structure dans laquelle le CTO exerce, les trois intervenants se rejoignent sur plusieurs points.
Rôle et missions d’un directeur technique
Il serait réducteur de considérer que le rôle du CTO se limite à manager les équipes de développement et à apporter de la valeur technique au projet. C’est un profil bien plus polyvalent puisqu’il est l’interface entre la partie technique et la partie business de l’entreprise. Il sera le garant de la mise en oeuvre de la stratégie de l’entreprise d’un point de vue technique.
Le CTO a également un rôle d’évangélisation auprès des autres services de l’entreprise. Il a notamment pour mission d’expliquer les problématiques associées à son domaine, souvent méconnues. L’univers du développement étant doté de nombreuses spécificités (environnement en perpétuelle évolution, méthode de travail agile, télétravail…), le Chief Technology Officer peut aussi avoir un rôle de communicant afin de favoriser les relations entre les différents secteurs.
Le CTO joue un rôle de conseil auprès des autres décideurs non-techniques, notamment sur l’outillage logiciel interne.
Pour plus d’informations sur la thématique CTO, vous pouvez également consulter notre précédent article Trouver le bon directeur technique pour votre entreprise ou notre site dédié à l’accompagnement technique pour start-up : www.ctoasaservice.fr.
Les merveilles méconnues du SQL
Intervenante : Laetitia Avrot
Dans cette conférence, Laetitia Avrot nous parle du langage SQL et des évolutions de la norme SQL. Afin d’illustrer ses dires, elle nous présente de nouvelles fonctionnalités au travers d’exemples concrets implémentés dans PostgreSQL. En voici quelques-uns :
- L’auto jointure : jointure d’une table à elle-même (existe depuis toujours dans le SQL)
- Les sous-requêtes directement dans le select : affiche directement le résultat d'une sous-requête (existe depuis SQL : 1999)
- Les CTE (Common Table Expressions) : permet de déclarer des sous-requêtes (existe depuis SQL : 1999)
- Les jointures latérales (existe depuis SQL : 1999)
- VALUES : pour créer une table de constantes et optimiser certaines requêtes IN (existe depuis SQL : 1992)
Lors de cette conférence, nous avons pu constater qu’un grand nombre de personnes présentes ne connaissaient pas l'existence de telles fonctionnalités. Ces dernières datent parfois de release âgées de plus de 20 ans et peuvent pourtant nous faire gagner en temps, performance et qualité.
En tant que développeurs, nous travaillons quotidiennement sur des technologies en perpétuelle évolution et faisons de notre mieux pour nous mettre constamment à niveau. Malgré tout ces efforts, cette conférence laisse penser que le langage SQL fait partie des oubliés.
Le fait d’utiliser trop régulièrement un ORM ne nous priverait-il finalement pas de progresser sur ce langage et d’en exploiter toutes les possibilités ?
L’architecture progressive
Intervenant : Matthieu Napoli
Dans cette conférence Matthieu Napoli pose la question : existe-t-il un modèle idéal pour organiser notre code, qui serait applicable de manière systématique à nos projets ?
Pour répondre à cette question, Matthieu fait un retour d’expérience sur sa recherche de l’architecture optimale.
Il nous explique finalement que cette solution “magique” qui fonctionnerait sur tous nos projets n’existe peut-être pas, ou n’a pas encore été trouvée. Il faudrait alors chercher ailleurs et privilégier l’approche à la solution.
3 critères pour une bonne architecture progressive
Selon lui, notre choix doit s’orienter en fonction de 3 critères principaux : le métier, le business et l’humain. Voici comment prendre en compte chacun de ces critères :
- Métier : il faudra s’assurer que la complexité de la technologie choisie soit bien adaptée aux besoins du métier du client (éviter de complexifier inutilement, par exemple).
- Business : nos choix se feront en fonction de la maturité de l’entreprise ou du projet. Les besoins et les solutions à apporter ne seront pas les mêmes si l’entreprise est en phase d’exploration (comme le sont les start-up) ou en phase d’expansion voir d’extraction (voir le principe des 3X).
- Humain : les solutions techniques proposées dépendront notamment des compétences présentes en développement et de la taille des équipes.
Un découpage par module
Pour finir Matthieu nous propose de réfléchir à une logique de découpage verticale par module. L’intérêt étant de proposer des solutions techniques adaptées à l’échelle d’un seul module (différent du micro-service). Les besoins et la cible des utilisateurs finaux de chacun de ces modules ne sera certainement pas la même.
Prenons l'exemple d'un client qui souhaiterait un blog + un outil de gestion interne. On peut considérer que le blog est un module à part entière et que l’outil de gestion en est un autre. On voit bien qu’il peut être intéressant de fournir un système de blogging simple nécessitant peu de connaissances techniques. Cependant, un outil de gestion demanderait certainement d’avoir des administrateurs des données et donc des compétences différents de celles du blog.
Le sujet est fort intéressant puisque bien organiser son code est un facteur améliorant la qualité du code, sa maintenabilité et donc sa longévité. Cela permet également d’améliorer la qualité de service auprès de nos clients. C’est pourquoi le sujet nous intéresse particulièrement chez Novaway.
Crédits photo : Benjamin Leveque, Afup Day 2019 Lyon