Graham Bartley discute de son rôle dans le paysage du génie logiciel et de l'évolution de son travail au cours des dernières années.
« Il n'y a pas deux jours exactement pareils, ce qui fait partie de ce qui rend le travail attrayant », a déclaré Graham Bartley, ingénieur logiciel senior chez Yahoo, à SiliconRepublic.com.
« Les jours où je me rends au bureau de Dublin, je passe généralement la première heure de la matinée à prendre un thé et à discuter face à face avec mes collègues », a-t-il déclaré.
« J'aime toujours entendre leurs histoires, en apprendre un peu plus sur ce sur quoi ils travaillent et repérer des opportunités de collaboration.
« Les jours éloignés, je commence généralement par vérifier le tableau Jira de notre équipe et toutes les discussions Slack du jour au lendemain. Je dirige une équipe appelée Optimus, qui est l'équipe backend principale d'IA générative (GenAI) de Yahoo Demand Side Platform (DSP), il y a donc souvent un fil de discussion à rattraper de la part des membres de mon équipe ou une question de conception de l'une des autres équipes que nous soutenons. «
À partir de là, la journée de Bartley est un mélange d'écriture de code, d'examen des demandes d'extraction, de travail de conception, de gestion des tickets Jira et de prise d'appels avec les membres de l'équipe. Lors d'une journée de codage, il pourrait se retrouver à créer un nouveau point de terminaison d'API pour l'agent de dépannage de Yahoo, à écrire des tests d'intégration ou à déboguer un problème de production de bout en bout sur plusieurs services.
« Il y a généralement un certain nombre de réunions, y compris nos réunions quotidiennes d'équipe, des appels individuels avec chaque membre de l'équipe, des synchronisations entre équipes avec d'autres équipes, des réunions d'architecture et des séances de bureau au cours desquelles les ingénieurs présentent des conceptions pour obtenir des commentaires.
« J'essaie de réserver des périodes de temps concentrées pour un travail en profondeur, mais être chef d'équipe signifie être toujours disponible lorsque quelqu'un a besoin de soutien. »
En tant qu'ingénieur logiciel senior, comment votre rôle s'intègre-t-il dans l'industrie du logiciel au sens large ?
Je travaille sur le DSP de Yahoo, qui est la technologie qui permet aux annonceurs de planifier, cibler et optimiser leurs campagnes de publicité numérique sur des canaux tels que le mobile, la télévision connectée, l'ordinateur de bureau et l'audio. C'est une grande partie de ce qu'on appelle la publicité programmatique et c'est un espace qui ne cesse de croître.
Dans ce cadre, je me concentre actuellement sur l’application de GenAI pour rendre la plateforme plus intelligente et plus intuitive. Je dirige une équipe qui a créé la première fonctionnalité basée sur GenAI de Yahoo DSP, un agent de dépannage d'IA qui aide les annonceurs à comprendre pourquoi leurs campagnes pourraient ne pas être diffusées et ce qu'ils peuvent faire pour y remédier.
Quelles compétences utilisez-vous au quotidien et comment ont-elles évolué au fil du temps ?
Au quotidien, j'écris Python et Java, je conçois des API et des systèmes distribués, je révise du code et je travaille sur l'ensemble de la pile, des schémas de base de données aux services backend jusqu'aux composants d'interface utilisateur, même si récemment, je me suis entièrement concentré sur le backend car c'est la responsabilité de mon équipe. Je conçois également des architectures techniques, rédige des documents de conception et présente à des publics techniques et non techniques.
L’étendue de ce que je fais s’est beaucoup élargie au fil du temps. Plus tôt dans ma carrière, j'écrivais du code tête baissée et proposais des fonctionnalités dans quelques bases de code basées sur les tickets Jira qui m'avaient été attribués. Désormais, je consacre autant de temps à la conception du système, à la coordination entre les équipes et à la définition de l'orientation technique qu'à l'écriture du code.
Le plus grand changement récent a été l’IA, à la fois dans ce que je construis et dans la manière dont je le construis. Du côté des produits, j'ai approfondi les grands modèles de langage, les frameworks d'agents, le protocole de contexte de modèle, les bases de données vectorielles, les bases de connaissances et les pipelines d'évaluation pour les sorties d'IA non déterministes. Il y a deux ans, rien de tout cela ne faisait partie de mon vocabulaire quotidien.
Quelles sont les parties les plus difficiles de votre journée de travail et comment les gérez-vous ?
Le changement de contexte est peut-être le plus grand défi. En tant que chef d'équipe et propriétaire de code dans de nombreux référentiels, je peux passer d'une session de débogage approfondi à une revue de conception en passant par une discussion inter-équipes Slack sur l'architecture d'authentification, le tout en quelques heures. Chaque contexte nécessite toute l’attention et les transitions sont coûteuses. Je gère cela en étant discipliné en matière de blocage du temps. Je protège les matins pour un travail technique approfondi dans la mesure du possible et des réunions de cluster l'après-midi. J'utilise également beaucoup de notes structurées et de documentation. Si je suis interrompu en cours de tâche, je veux pouvoir reprendre exactement là où je m'étais arrêté.
Les outils d’IA sont également utiles ici. Pouvoir revenir dans une séance de Claude Code et dire « voici où j'en étais, voici ce que j'essayais de faire » et lui faire reconstruire le contexte est vraiment utile.
Travailler à distance depuis l'Irlande avec des équipes réparties dans le monde entier peut présenter certains défis, comme travailler en dehors des heures normales pour interagir avec des collègues à l'étranger. Gérer cela est certainement une compétence en soi et peut être difficile car il peut sembler très productif de travailler tard lorsque des collègues américains sont disponibles, par exemple.
J'essaie d'être conscient de rattraper les heures tardives travaillées pour maintenir un bon équilibre entre travail et vie privée, mais c'est certainement un défi de concilier le sentiment de productivité avec la réalité de l'épuisement professionnel.
Votre rôle a-t-il changé à mesure que le secteur s'est développé et a évolué ?
De manière significative. Lorsque j'ai commencé, le travail d'ingénierie dans le DSP consistait en grande partie à créer des fonctionnalités dans des applications CRUD fiables et à optimiser les flux de travail de service. La plus grande évolution depuis a été l’arrivée de GenAI. Fin 2024, je faisais partie d'un petit groupe de travail explorant comment GenAI pourrait être appliqué à notre produit. En quelques mois, ce travail exploratoire est devenu une initiative stratégique à part entière. Je suis passé de la direction d'une équipe de médias commerciaux à la création et à la direction de la première équipe GenAI de Yahoo DSP.
La façon dont nous construisons des logiciels évolue également. Il y a un an, notre équipe écrivait du code de manière traditionnelle. Nous utilisons désormais quotidiennement des assistants de codage IA. Il est encore tôt et il existe de réelles courbes d'apprentissage. Nous avons constaté que l'IA fonctionne à merveille pour des tâches bien définies et délimitées, mais qu'elle se heurte à des problèmes transversaux qui couvrent plusieurs services et de vastes contextes. Savoir quand s’appuyer dessus et quand prendre du recul et réfléchir par soi-même est une compétence en soi.
Le modèle organisationnel a également changé. Nous sommes passés des structures d'équipe traditionnelles à un modèle « escouades, tribus, chapitres et guildes », qui met davantage l'accent sur la collaboration interfonctionnelle et la prestation autonome. Mon rôle est passé de l'écriture de code à celui de leader technique qui fixe l'orientation, définit les normes et permet à d'autres équipes de s'appuyer sur les fondations que nous créons ensemble.
Y a-t-il quelque chose que vous savez maintenant sur le travail dans les logiciels et que vous auriez aimé savoir dès le début ?
J'aurais aimé en savoir plus sur l'équilibre travail-vie personnelle et reconnaître les signes de l'épuisement professionnel. Au début de ma carrière, j'avais tendance à m'en sortir et il m'a fallu du temps pour réaliser que ce n'était pas durable. Maintenant, je suis beaucoup plus intentionnel dans la gestion de mon temps, dans la protection de mon énergie et dans le fait de savoir quand m'éloigner d'un problème. En fait, vous revenez plus net lorsque vous le faites.
J'aurais également aimé remettre davantage en question les hypothèses. Lorsque vous débutez, il est naturel de prendre les exigences et les conceptions existantes au pied de la lettre. Mais à mesure que j'ai pris de l'expérience et que j'ai entrepris davantage de travail de conception, j'ai découvert que certaines des améliorations les plus importantes viennent du fait de se demander pourquoi quelque chose est tel qu'il est. Les meilleures solutions viennent souvent de repousser les prémisses, et pas seulement d'optimiser dans le cadre des contraintes qui vous sont imposées.
Quels conseils donneriez-vous à ceux qui souhaitent suivre vos traces professionnelles ?
N'ayez pas peur de dire « je ne sais pas » et ensuite allez apprendre. C’est crucial. Les meilleurs ingénieurs avec lesquels j'ai travaillé ne sont pas ceux qui savent tout. Ce sont eux qui apprennent vite et ne sont pas gênés de débuter dans quelque chose de nouveau. Être mentor, c'est aussi être mentoré et j'ai beaucoup appris des ingénieurs que j'ai encadrés. Il y a un an, je n'avais jamais construit d'agent IA. Maintenant, je dirige une équipe qui les construit.
