Graham Bartley bespreekt zijn rol in het software-engineeringlandschap en de evolutie van zijn werk de afgelopen jaren.
“Geen twee dagen zijn precies hetzelfde, en dat maakt deel uit van wat het werk boeiend houdt”, vertelde Yahoo senior software engineer Graham Bartley aan SiliconRepublic.com.
“Op dagen dat ik naar het kantoor in Dublin ga, breng ik meestal het eerste uur van de ochtend door met het drinken van thee en het persoonlijk bijpraten met mijn collega’s,” zei hij.
“Ik vind het altijd leuk om hun verhalen te horen, iets te leren over waar ze mee bezig zijn en mogelijkheden voor samenwerking te ontdekken.
“Op afgelegen dagen begin ik meestal met het inchecken op het Jira-bord van ons team en eventuele nachtelijke Slack-discussies. Ik leid een team genaamd Optimus, het centrale generatieve AI (GenAI) backend-team van Yahoo Demand Side Platform (DSP), dus er is vaak een draad die ik moet inhalen van mijn teamleden of een ontwerpvraag van een van de andere squadrons die we ondersteunen. “
Vanaf dat moment bestaat Bartley's dag uit een mix van het schrijven van code, het beoordelen van pull-aanvragen, het ontwerpwerk, het beheren van Jira-tickets en het aannemen van telefoongesprekken met squadleden. Op een codeerdag kan het zijn dat hij een nieuw API-eindpunt aan het bouwen is voor Yahoo's probleemoplossingsagent, integratietests schrijft of een productieprobleem end-to-end voor meerdere services oplost.
“Er zijn meestal nogal wat vergaderingen, waaronder onze dagelijkse stand-up van het team, individuele gesprekken met elk teamlid, synchronisaties tussen teams met andere squadrons, architectuurvergaderingen en kantoorsessies waarin ingenieurs ontwerpen presenteren voor feedback.
“Ik probeer blokken gefocuste tijd te beschermen voor diepgaand werk, maar als teamleider moet je altijd beschikbaar zijn als iemand ondersteuning nodig heeft.”
Hoe past jouw rol als senior software-ingenieur in de bredere software-industrie?
Ik werk aan de DSP van Yahoo, de technologie achter de manier waarop adverteerders digitale advertentiecampagnes plannen, targeten en optimaliseren via kanalen zoals mobiel, verbonden tv, desktop en audio. Het maakt een groot deel uit van wat programmatisch adverteren wordt genoemd en het is een ruimte die blijft groeien.
Daarbinnen ligt mijn huidige focus op het toepassen van GenAI om het platform slimmer en intuïtiever te maken. Ik geef leiding aan een team dat Yahoo DSP's eerste GenAI-aangedreven functie heeft gebouwd, een AI-probleemoplossingsagent die adverteerders helpt te begrijpen waarom hun campagnes mogelijk te weinig worden weergegeven en wat ze eraan kunnen doen.
Welke vaardigheden gebruik je dagelijks en hoe zijn ze in de loop van de tijd geëvolueerd?
Dagelijks schrijf ik Python en Java, ontwerp API's en gedistribueerde systemen, review code en werk ik aan de volledige stack, van databaseschema's via backend-services tot UI-componenten, hoewel mijn focus de laatste tijd volledig op de backend lag, aangezien dat de verantwoordelijkheid van mijn team is. Ik ontwerp ook technische architecturen, schrijf ontwerpdocumenten en presenteer aan zowel technisch als niet-technisch publiek.
De breedte van wat ik doe is in de loop van de tijd enorm gegroeid. Eerder in mijn carrière was ik bezig met het schrijven van code en het leveren van functies binnen een aantal codebases op basis van de Jira-tickets die mij waren toegewezen. Nu besteed ik evenveel tijd aan systeemontwerp, teamoverschrijdende coördinatie en het bepalen van de technische richting als aan het schrijven van code.
De grootste recente verschuiving is AI geweest, zowel in wat ik bouw als in de manier waarop ik het bouw. Aan de productkant heb ik mij verdiept in grote taalmodellen, agentframeworks, modelcontextprotocollen, vectordatabases, kennisbanken en evaluatiepijplijnen voor niet-deterministische AI-outputs. Twee jaar geleden maakte dat allemaal geen deel uit van mijn dagelijkse vocabulaire.
Wat zijn de moeilijkste onderdelen van je werkdag en hoe ga je daarmee om?
Context-switching is misschien wel de grootste uitdaging. Als teamleider en code-eigenaar van veel repository's zou ik binnen een paar uur van een diepgaande debugging-sessie naar een ontwerpbeoordeling of een teamoverschrijdende Slack-discussie over authenticatiearchitectuur kunnen gaan. Elke context vereist de volledige aandacht en de transities zijn kostbaar. Ik navigeer daarin door gedisciplineerd te zijn in het blokkeren van tijd. Ik bescherm waar mogelijk de ochtenden voor diepgaand technisch werk en cluster vergaderingen in de middagen. Ik maak ook veel gebruik van gestructureerde aantekeningen en documentatie. Als ik halverwege een taak wordt onderbroken, wil ik precies kunnen verdergaan waar ik was gebleven.
AI-tools helpen hier ook echt. Het is echt nuttig om terug te kunnen gaan naar een Claude Code-sessie en te zeggen 'hier was ik, dit is wat ik probeerde te doen' en de context te laten reconstrueren.
Op afstand werken vanuit Ierland met teams over de hele wereld kan een aantal uitdagingen met zich meebrengen, zoals werken buiten kantooruren om te communiceren met collega's in het buitenland. Hiermee omgaan is beslist een vaardigheid op zich en kan moeilijk zijn, omdat het bijvoorbeeld heel productief kan zijn om tot laat door te werken als Amerikaanse collega's beschikbaar zijn.
Ik probeer me bewust te zijn van het inhalen van late uren om een goede balans tussen werk en privéleven te behouden, maar het is beslist een uitdaging om het gevoel van productiviteit in evenwicht te brengen met de realiteit van een burn-out.
Is uw rol veranderd naarmate de sector groeide en evolueerde?
Aanzienlijk. Toen ik begon, ging het technische werk bij de DSP grotendeels over het bouwen van functies in betrouwbare CRUD-applicaties en het optimaliseren van bedieningsworkflows. De grootste evolutie sindsdien is de komst van GenAI. Eind 2024 maakte ik deel uit van een kleine werkgroep die onderzocht hoe GenAI op ons product kon worden toegepast. Binnen enkele maanden werd dat verkennende werk een volwaardig strategisch initiatief. Ik ging van het leiden van een commercieel mediateam naar het oprichten en leiden van Yahoo DSP's eerste GenAI-team.
De manier waarop we software bouwen verandert ook. Een jaar geleden schreef ons team code op de traditionele manier. Nu gebruiken we dagelijks AI-codeerassistenten. Het is nog vroeg en er zijn echte leercurven. We hebben ontdekt dat de AI uitstekend werkt voor goed gedefinieerde, begrensde taken, maar worstelt met transversale problemen die meerdere services en grote contexten omvatten. Weten wanneer je erop moet leunen en wanneer je een stapje terug moet doen en zelf moet nadenken, is een vaardigheid op zich.
Het organisatiemodel is ook veranderd. We zijn overgestapt van traditionele teamstructuren naar een 'squads, tribes, chapters en guilds'-model, dat meer nadruk legt op cross-functionele samenwerking en autonome levering. Mijn rol is verschoven van voornamelijk het schrijven van code naar het zijn van een technisch leider die richting geeft, normen definieert en andere teams in staat stelt voort te bouwen op de fundamenten die we samen creëren.
Is er iets dat je nu weet over het werken met software waarvan je wilde dat je het al wist?
Ik wou dat ik meer had geweten over de balans tussen werk en privéleven en het herkennen van de tekenen van burn-out. In het begin van mijn carrière had ik de neiging om gewoon door te zetten en het duurde een tijdje voordat ik besefte dat dat niet duurzaam was. Nu ben ik veel bewuster bezig met het beheren van mijn tijd, het beschermen van mijn energie en het weten wanneer ik een probleem moet vermijden. Je komt eigenlijk scherper terug als je dat doet.
Ik zou ook willen dat ik aannames meer ter discussie had gesteld. Wanneer u begint, is het normaal om eisen en bestaande ontwerpen op het eerste gezicht te beschouwen. Maar naarmate ik ouder ben geworden en meer ontwerpwerk heb gedaan, heb ik ontdekt dat enkele van de grootste verbeteringen voortkomen uit de vraag waarom iets is zoals het is. De beste oplossingen komen vaak voort uit het terugdringen van het uitgangspunt, en niet alleen door te optimaliseren binnen de beperkingen die u krijgt.
Welk advies heb je voor anderen die in jouw professionele voetsporen willen treden?
Wees niet bang om te zeggen: 'Ik weet het niet' en ga het dan leren. Dit is cruciaal. De beste ingenieurs met wie ik heb samengewerkt, zijn niet degenen die alles weten. Zij zijn degenen die snel leren en zich niet schamen om een beginner te zijn in iets nieuws. Mentor zijn betekent ook mentee zijn en ik heb veel geleerd van de ingenieurs die ik heb begeleid. Een jaar geleden had ik nog nooit een AI-agent gebouwd. Nu leid ik een team dat ze bouwt.