Hoe we junior-ontwikkelaars bij de BBC laten groeien

Wat heeft het voor zin om junior ontwikkelaars in te huren? Joseph Wynn, een voormalig Principal Software Engineer in het BBC News-websiteteam, heeft onlangs de volgende gedachten op Twitter gedeeld:

Als een ontwikkelaar op junior-niveau werd ik behoorlijk aangemoedigd om dat te lezen. Het deed me nadenken over mijn tijd bij BBC Design & Engineering sinds ik in september 2016 begon.

Ik volg momenteel de BBC's Software Engineering Graduate Scheme, een tweejarig programma voor iedereen met een graad in informatica. Het schema is een geweldige manier om de BBC te betreden als een Software Engineer op junior-niveau, maar met de toegevoegde bonus dat het mogelijk is om elke zes maanden naar een ander team te gaan met kansen om een ​​verscheidenheid aan technische en zachte vaardigheden te ontwikkelen. Ik heb onlangs mijn eerste jaar in de planning afgerond, waar ik werkte bij het serviceteam van BBC Sport en het responsieve websiteteam van BBC Children.

Ik denk niet dat er een ander schema ter wereld is waarmee je binnen twee jaar in dezelfde organisatie webontwikkeling, ontwikkeling van mobiele en Smart TV-apps, ontwikkeling van backend-diensten en ontwikkeling van embedded systemen onder de riem kunt krijgen ; en dat terwijl je onderweg een aantal vrij fantastische mensen en zeer bekwame teams leert kennen.

Een slechte eerste indruk

Tijdens mijn tijd bij Uni had ik gewerkt bij twee digitale bureaus - een als een onbetaalde zomerplaatsing en een voor een broodjesjaar. Beide gaven me echte ervaring, maar beide volgden een strikt watervalproces en ik voelde me heel erg als een radertje in een kleine machine, opgesloten in mijn stoel en niet in staat om te kletsen of op te staan ​​tenzij het naar het toilet zou gaan of lunchen . Het was nogal een uitputtende ervaring om voor hen te werken. Ik ben altijd gepassioneerd geweest door webontwikkeling, maar mijn tijd daar zorgde ervoor dat ik me zorgen maakte dat ik het misschien niet leuk zou vinden als beroep.

Dus niet verwonderlijk, ik wilde ervoor zorgen dat mijn eerste baan na de universiteit ergens zou zijn waar ik me gelukkig zou voelen en niet alleen zou werken, maar met een flexibel team dat dol is op wat ze doen en kwaliteit belangrijk vinden.

Ik had hoge verwachtingen toen ik me aanmeldde voor de BBC en tot mijn verbazing was het precies zoals ik me had voorgesteld. Ik vond de cultuur erg ontspannen en ondersteunend, en ik voelde me zeker niet als een radertje in een machine die aan mijn stoel was vergrendeld. Ik was een junior-niveau ontwikkelaar, maar niemand verwachtte teveel of veronderstelde te weinig van mij. Geen enkele manager ging ervan uit dat ik gewoon op een project kon worden geplaatst, het systeem onmiddellijk kon begrijpen en kon beginnen met het uitdraaien van code. Mijn input werd gewaardeerd en mijn team werd geïnvesteerd in het gelijkelijk helpen en ontwikkelen van elkaar.

De juiste cultuur creëren

Het werven van ervaren softwareontwikkelaars is moeilijk - zelfs voor een groot vertrouwd merk zoals de BBC. Maar ervaren ontwikkelaars moeten ergens vandaan komen, toch? Ze waren allemaal ooit op een junior-niveau! Wanneer veel bedrijven in onze branche zo onwillig zijn om junior personeel aan te nemen en te voeden, moeten we niet verbaasd zijn dat softwareteams moeite hebben om senior ontwikkelaars in te huren. Maar zoals we al hebben gezien, is het zo waardevol om een ​​junior-ontwikkelaar in een team te hebben.

Cultuur is de sleutel om ervoor te zorgen dat junior personeel (en meer senior personeel) kan groeien en bloeien in een organisatie, waardoor de organisatie daar ook van profiteert.

Er is veel geschiedenis achter de manier waarop de BBC is geëvolueerd naar de werkplek van vandaag, maar veel van dit komt voort uit onze waarden.

Onze waarden staan ​​op de achterkant van onze ID-badges.

Laten we elk van deze waarden bekijken en kijken hoe ze van invloed zijn op digitale teams bij de BBC.

Samenwerken

Wij zijn één BBC; er gebeuren geweldige dingen wanneer we SAMEN WERKEN.

Als er één woord is dat ik veel hoor in BBC Design & Engineering-teams, is het ‘communicatie’. We hebben veel tools en processen om discussie uit te lokken en ervoor te zorgen dat we allemaal weten en het eens zijn over wat we doen. En vooral voor ontwikkelaars is het belangrijk dat we ons niet verlegen of incompetent voelen omdat we om advies moeten vragen. In de teams waar ik in heb gewerkt, merken we in retrospectieve vergaderingen altijd op hoe goed het is dat we zo regelmatig met elkaar praten om onze aanpak voor het oplossen van problemen te bespreken of om hulp te vragen. Iedereen is altijd bereid om te stoppen met wat ze doen en hun tijd te bieden om te helpen.

Evenzo oefenen veel teams van de BBC pair programmeren, wat een fantastische manier is om kennis te delen en de kwaliteit van de code te behouden. Ik vind altijd dat het me meer gefocust houdt in vergelijking met alleen werken, omdat ik mijn gedachten hardop moet overbrengen.

Natuurlijk werk ik niet alleen met ontwikkelaars. Er zijn veel soorten rollen in een digitaal team en elk van hen speelt een belangrijke rol in ons werk. Het staat zelfs in het Agile Manifesto, waar we lezen: 'Zakenmensen en ontwikkelaars moeten dagelijks gedurende het project samenwerken'. Ik heb vaak het geluk gehad om bij Business Analysts te zitten om de acceptatiecriteria van een ticket te helpen uitwerken of samen te werken met User Experience Designers om een ​​prototype van hun ideeën te maken. Zelfs als ik de kans krijg om dat te doen als ontwikkelaar op junior-niveau, voel ik me gewaardeerd.

‘De meest efficiënte en effectieve methode voor het overbrengen van informatie naar en binnen een ontwikkelteam is een persoonlijk gesprek’.

Ten slotte is een van de belangrijkste redenen waarom digitale teams graag ontwikkelaars van het graduate-schema hebben, omdat het ‘kruisbestuiving’ mogelijk maakt. Als we om de zes maanden overschakelen naar verschillende teams, brengen we ervaringen met de processen, benaderingen en technische kennis van de teams waarin we eerder hebben gewerkt mee. Teams lopen het risico 'silo's' te worden als we niet communiceren met andere teams in de hele BBC om kennis te delen en te zien hoe en waarom ze dingen anders doen dan wijzelf.

eerbied

We respecteren elkaar en vieren onze diversiteit zodat iedereen zijn best kan doen.

Hoewel de BBC een hiërarchisch gestructureerde organisatie is, kan deze eigenlijk vrij vlak aanvoelen. Het maakt niet uit of iemand senior of junior is, hun mening wordt gewaardeerd en er wordt naar geluisterd. Deze houding beïnvloedt zowel de grote beslissingen die moeten worden genomen als het algemene dagelijkse werk. Het beïnvloedt ook de manier waarop we met elkaar omgaan. Geen enkele senior manager in de BBC heeft een eigen kantoor; iedereen zit bij elkaar en iedereen kan elkaar gelijk benaderen (de directeur-generaal heeft zelfs één keer mijn hand geschud! ).

Zelfs wanneer paarprogrammering met een senior-ontwikkelaar, kijkt een junior-ontwikkelaar niet alleen hoe zijn tegenpartij het werk doet. Hun gebrek aan bekendheid met het systeem betekent dat ze vanuit een ander perspectief kunnen denken en vragen kunnen stellen, dus ze moeten worden aangemoedigd om hardop te denken en hun mening te uiten.

Ik denk dat de poster 'Het is oké om ...' van GDS ook heel goed van toepassing is op de BBC. Vaak is het voor een junior-ontwikkelaar in een grote organisatie gemakkelijk om zich voor te stellen dat hun team hoge verwachtingen heeft van wat ze kunnen doen, terwijl dat niet echt het geval is.

Het gezegde 'er bestaat niet zoiets als een domme vraag' is hier ook van toepassing. Vragen stellen wordt aangemoedigd, en het is niet ongebruikelijk dat meer senior leden van het team vragen stellen alleen omwille van junior ontwikkelaars of nieuwe ontwikkelaars in het team.

creativiteit

CREATIVITEIT is de levensader van de organisatie.

Softwareontwikkeling is een creatief proces. Er kunnen honderden verschillende manieren zijn om hetzelfde te bereiken en teams moeten samenwerken om de beste methode voor het benaderen van een probleem te bespreken. Nieuwe ontwikkelaars zullen een perspectief van buitenaf brengen en zullen minder snel worden ingesteld op 'hoe we normaal dingen hier doen'. Om dit te omarmen, is het belangrijk om een ​​cultuur te hebben die rekening houdt met ieders gedachten.

Van ontwikkelaars wordt niet alleen verwacht dat ze hun dagelijkse werk doen, maar er wordt ook van hen verwacht dat ze leren. Veel teams implementeren '10% tijd' waarbij tijd wordt toegewezen om iets nieuws te leren of aan een relevant nevenproject te werken. Een organisatie die bereid is te investeren in de groei van haar creatieve teams, maakt dat ze langer op de lange termijn in de organisatie blijven. Junior-ontwikkelaars moeten leerdoelen worden vastgesteld om hen aan te moedigen zich te specialiseren in verschillende technologieën en soft skills.

Kwaliteit

We zijn er trots op KWALITEIT en waar voor uw geld te leveren.

Gebruikersonderzoek, paarprogrammering, codebeoordelingen, geautomatiseerde testen en handmatig testen zijn allemaal processen die ervoor zorgen dat we een kwaliteitsproduct leveren aan ons publiek, en het is belangrijk dat juniorontwikkelaars hierbij betrokken zijn. Ze moeten niet alleen feedback ontvangen, maar ook feedback geven.

Doelgroepen

PUBLIEK staat centraal in alles wat we doen.

Bij de BBC zijn de producten waaraan we werken volledig gemaakt om ons publiek te informeren, te informeren en te verrassen zonder enige motieven om er geld mee te verdienen. Maar ongeacht de behoeften van uw organisatie, moeten de behoeften van uw gebruiker altijd eerst komen. Het is nog steeds belangrijk om uw publiek te begrijpen en te dienen, zodat zij een waarde zien in het gebruik van uw product.

Toen ik deel uitmaakte van het webteam voor kinderen, nodigde het UX-team van kinderen vaak lokale kinderen uit om onze ideeën en prototypes te evalueren, en ontwikkelaars werden aangemoedigd om zelf bij te wonen en te observeren hoe de kinderen op verschillende prototypes reageerden. We duwden vaak snelle prototypes uit in A / B-tests en de bedrijfsanalisten van ons team evalueerden of onze wijzigingen het gedrag van gebruikers beïnvloedden zoals we hadden verwacht.

Vertrouwen

TRUST is de basis van de BBC; we zijn onafhankelijk, onpartijdig en eerlijk.

Er is niets erger dan een werkomgeving waar managers hun teams niet vertrouwen. Er is een reden waarom deze waarde bovenaan de lijst staat achter onze ID-badges! Net zoals ons publiek onze inhoud moet vertrouwen, moeten we elkaar kunnen vertrouwen. Dit is het kernprincipe van onze cultuur. Zonder dit kun je je niet gelukkig, gevestigd en in staat gesteld voelen om de rest van de waarden te vervullen.

Junior-ontwikkelaars, net als iedereen in een digitaal team, worden vertrouwd om hun tijd te beheren, onafhankelijk te werken, machtigingen te hebben voor toegang tot al onze ontwikkelingsomgevingen en API's en om nieuwere leden van het team te helpen en op te leiden. Op dezelfde manier wijzen we de schuld niet op iemand als ze het verknoeien; we vertrouwen hen en gaan ervan uit dat ze de beste bedoelingen hebben bij elke actie die ze ondernemen (en hopelijk hebben we geen systemen die kunnen worden verwijderd met één onbedoelde opdrachtregeloperatie).

Gevolgtrekking

Hoewel het fantastisch is dat juniorontwikkelaars een platform krijgen bij de BBC om zo'n brede vaardigheden te laten groeien, telt dit niets, tenzij de teams een cultuur hebben die aandacht schenkt aan de waarde die minder ervaren ontwikkelaars bieden en de wens om ze op te bouwen. Heb je nagedacht over hoe de waarden in je organisatie ontwikkelaars helpen groeien?