Hvordan vi vokser juniorudviklere på BBC

Hvad er poenget med at ansætte juniorudviklere? Joseph Wynn, en tidligere principalsoftware-ingeniør i BBC News-webstedet delte for nylig følgende tanker på Twitter:

Som selvudvikler på juniorniveau blev jeg temmelig opmuntret til at læse det. Det fik mig til at reflektere over min tid hos BBC Design & Engineering, siden jeg startede i september 2016.

Jeg er i øjeblikket på BBC's Software Engineering Graduate Scheme, som er en to år lang ordning for alle, der har en computervidenskabelig grad. Ordningen er en fantastisk måde at komme ind på BBC som junioringeniør Software Engineer på, men med den ekstra bonus at være i stand til at flytte til et andet team hvert halve år med muligheder for at udvikle en række tekniske og bløde færdigheder. Jeg har for nylig afsluttet mit første år i ordningen, hvor jeg tjente i BBC Sports serviceteam og BBC Børns responsive webstedsteam.

Jeg tror ikke, at der er nogen anden ordning som denne i verden, der giver dig mulighed for at få webudvikling, mobil- og smart-tv-appudvikling, udvikling af backend-tjenester og integreret systemudvikling under dit bælte i løbet af to år i den samme organisation ; alt sammen med at kende nogle ret fantastiske mennesker og meget dygtige teams undervejs.

Et dårligt førsteindtryk

I min tid på Uni havde jeg arbejdet i to digitale agenturer - et som en ulønnet sommerplacering og en i et sandwichår. Begge gav mig rigtige hænder på oplevelsen, men begge fulgte en streng vandfaldsproces, og jeg følte mig meget som en tandhjul i en lille maskine, låst til min stol og ikke kunne chatte eller stå op, medmindre det var at springe på toilettet eller spise frokost . Det var en ganske dræningende oplevelse at arbejde for dem. Jeg havde altid været lidenskabelig omkring webudvikling, men min tid der fik mig til at bekymre mig for, at jeg måske ikke nyder det som erhverv.

Så overraskende ønskede jeg at sikre mig, at mit første job efter universitetet ville være et sted, hvor jeg ville føle mig lykkelig og arbejde ikke alene, men med et agilt team, der elsker det, de gør og interesserer sig for kvalitet.

Jeg havde høje forventninger, da jeg ansøgte om BBC, og til min overraskelse var det netop, hvordan jeg forestillede mig at være. Jeg fandt, at kulturen var meget afslappet og støttende, og jeg følte bestemt ikke, at det var en tandhjul i en maskine, der låst til min plads. Jeg var udvikler på juniorniveau, men ingen forventede for meget eller antog for lidt af mig. Ingen manager antog, at jeg bare kunne placeres på et projekt, straks forstå dets system og begynde at afskaffe kode. Mine input blev værdsat, og mit team blev investeret i at hjælpe og udvikle hinanden lige.

Oprettelse af den rigtige kultur

Det er vanskeligt at rekruttere erfarne softwareudviklere - selv for et stort betroet brand som BBC. Men erfarne udviklere skal komme fra et sted, ikke? De var alle på et junior niveau en gang! Når mange virksomheder i vores branche er så uvillige til at påtage sig og pleje juniorpersonale, skal vi ikke være overrasket over, at softwareteam kæmper for at ansætte seniorudviklere. Men som vi allerede har set, er der så meget værdi ved at have en juniorudvikler på et hold.

Kultur er nøglen til at sikre, at juniorpersonale (og flere ledende medarbejdere) kan vokse og blomstre i en organisation, hvorved organisationen til gengæld er til gavn.

Der er meget historie bag, hvordan BBC har udviklet sig til den arbejdsplads, den er i dag, men meget af dette stammer fra vores værdier.

Vores værdier udskrives på bagsiden af ​​vores ID-badges.

Lad os se på hver af disse værdier og se, hvordan de påvirker digitale teams på BBC.

Arbejde sammen

Vi er en BBC; store ting sker, når vi arbejder sammen.

Hvis der er et ord, jeg hører meget i BBC Design & Engineering-team, er det 'kommunikation'. Vi har mange værktøjer og processer til at provokere til diskussion og sikre, at vi alle ved og er enige om, hvad vi laver. Og især for udviklere er det vigtigt for os at ikke føle os genert eller inhabil til at skulle bede om råd. I de hold, som jeg har arbejdet, bemærker vi altid i retrospektive møder, hvor godt det er, at vi så regelmæssigt snakker med hinanden for at diskutere vores tilgange til løsning af problemer eller bede om hjælp. Alle er altid villige til at stoppe, hvad de laver, og tilbyde deres tid til at hjælpe.

Ligeledes praktiserer mange hold på BBC programmering af par, hvilket er en fantastisk måde at dele viden og holde kodekvalitet op. Jeg synes altid, det holder mig mere fokuseret sammenlignet med at arbejde alene, fordi jeg er nødt til at formidle mine tanker højt.

Selvfølgelig er det ikke kun udviklere, som jeg arbejder med. Der er mange typer roller i et digitalt team, og hver af dem har en vigtig rolle at spille i vores arbejde. Det er endda i Agile-manifestet, hvor vi læser 'Forretningsfolk og udviklere skal arbejde dagligt i hele projektet'. Der har været mange gange, hvor jeg har været heldig nok til at sidde sammen med forretningsanalytikere for at hjælpe med at udjævne en billets acceptkriterier eller arbejde med brugeroplevelsesdesignere til at prototype deres ideer. Selv at have muligheden for at gøre det som juniorudvikler får mig til at føle mig værdsat.

'Den mest effektive og effektive metode til formidling af information til og inden for et udviklingshold er samtale-til-ansigt'.

Endelig er en af ​​hovedårsagerne til, at digitale teams kan lide at have udviklere fra kandidatordningen, fordi det giver mulighed for 'krydsbestøvning'. Når vi skifter til forskellige teams hver sjette måned, bringer vi med os erfaringer om processer, tilgange og teknisk viden om de hold, som vi tidligere har arbejdet i. Hold risikerer at blive 'siloer', hvis vi ikke kommunikerer med andre teams på tværs af BBC for at dele viden og se, hvordan og hvorfor de gør tingene anderledes end os selv.

respekt

Vi respekterer hinanden og fejrer vores mangfoldighed, så alle kan give deres bedste.

Selvom BBC er en hierarkisk struktureret organisation, kan den faktisk føles ret flad. Uanset om nogen er senior eller junior, vurderes deres mening og lyttes til dem. Denne holdning påvirker både de store beslutninger, der skal træffes, og det generelle daglige arbejde. Det påvirker også, hvordan vi interagerer med hinanden. Ingen senior manager i BBC har deres eget kontor; alle sidder sammen, og alle er i stand til at henvende sig til hinanden lige (generaldirektøren rystede endda min hånd en gang! ).

Selv når parprogrammering med en seniorudvikler er, ser en juniorudvikler ikke blot deres modstykke gøre arbejdet. Deres manglende kendskab til systemet betyder, at de er i stand til at tænke fra et andet perspektiv og stille spørgsmål, så de bør opmuntres til at tænke højt og give udtryk for deres meninger.

Jeg tror, ​​GDS 'plakat' Det er ok med ... 'også gælder BBC. Ofte for en juniorudvikler i en stor organisation er det let for dem at forestille sig, at deres team har høje forventninger til, hvad de er i stand til at gøre, når det ikke rigtig er tilfældet.

Ordet ”der er ikke noget som et dumt spørgsmål” gælder også her. Det stilles spørgsmål til at stille spørgsmål, og det er ikke usædvanligt, at flere seniormedlemmer i teamet stiller spørgsmål bare af hensyn til juniorudviklere eller nye udviklere i teamet.

Kreativitet

CREATIVITY er organisationens livsblod.

Softwareudvikling er en kreativ proces. Der kan være hundreder af forskellige måder at opnå den samme ting, og hold er nødt til at arbejde sammen for at diskutere den bedste metode til at nærme sig et problem. Nye udviklere vil bringe et udefra perspektiv og er mindre tilbøjelige til at blive indstillet på deres måder med ”hvordan vi normalt gør tingene her”. For at omfatte dette er det vigtigt at have en kultur, der tager alles tanker lige i betragtning.

Udviklere forventes ikke kun at udføre deres daglige arbejde, men det forventes også, at de lærer. Mange teams implementerer '10% tid', hvor der afsættes tid til at lære noget nyt eller arbejde på et relevant sideprojekt. En organisation, der er villig til at investere i væksten i sine kreative teams, gør dem mere tilbøjelige til at forblive i organisationen på lang sigt. Juniorudviklere bør indstilles læringsmål for at tilskynde dem til at specialisere sig i forskellige teknologier og bløde færdigheder.

Kvalitet

Vi sætter en ære i at levere KVALITET og værdi for pengene.

Brugerundersøgelse, parprogrammering, kodevurderinger, automatiseret test og manuel test er alle processer, der sikrer, at vi leverer et kvalitetsprodukt til vores målgrupper, og det er vigtigt for juniorudviklere at være involveret i hver af disse. De skal ikke kun modtage feedback, men også give feedback.

publikum

Audiens er kernen i alt hvad vi gør.

Hos BBC er de produkter, vi arbejder på, lavet udelukkende med det formål at uddanne, informere og glæde vores publikum uden nogen motiver til at tjene penge på dem. Men uanset behovene i din organisation, skal brugerens behov altid komme først. Det er stadig vigtigt at forstå og tjene dit publikum, så de ser en værdi ved brugen af ​​dit produkt.

Da jeg var i Children’s Web-teamet, inviterede Children’s UX-team ofte lokale børn til at evaluere vores ideer og prototyper, og udviklere blev opfordret til at deltage og observere for sig selv, hvordan børnene reagerede på forskellige prototyper. Vi ville ofte skubbe ud hurtige prototyper i A / B-test, og vores teams forretningsanalytikere ville evaluere, om vores ændringer påvirkede brugeradfærd, som vi forventede.

Tillid

TRUST er grundlaget for BBC; vi er uafhængige, uvildige og ærlige.

Der er ikke noget værre end et arbejdsmiljø, hvor ledere ikke har tillid til deres teams. Der er en grund til, at denne værdi er øverst på listen på bagsiden af ​​vores ID-badges! Ligesom vores publikum har brug for at stole på vores indhold, er vi nødt til at kunne stole på hinanden. Dette er kernen i vores kultur. Uden dette kan du ikke føle dig glad, afgjort og i stand til at opfylde resten af ​​værdierne.

Juniorudviklere, som alle andre i et digitalt team, er tillid til at styre deres tid, arbejde uafhængigt, har tilladelser til at få adgang til alle vores udviklingsmiljøer og API'er og hjælpe og uddanne nyere medlemmer af teamet. Ligeledes påpeger vi ikke skylden på nogen, hvis de roter sammen; vi stoler på dem og antager, at de har de bedste intentioner med enhver handling, de udfører (og forhåbentlig har vi ikke nogen systemer, der kan fjernes med en tilfældig kommandolinjedrift).

Konklusion

Selvom det er fantastisk, at juniorudviklere får en platform hos BBC til at vokse et så bredt færdigheds sæt, tæller dette intet, medmindre holdene har en kultur, der lægger mærke til den værdi, som mindre erfarne udviklere giver, og et ønske om at opbygge dem. Har du tænkt over, hvordan værdierne i din organisation hjælper udviklere med at vokse?