Wie wir Nachwuchsentwickler bei der BBC werden

Was bringt es, Nachwuchsentwickler einzustellen? Joseph Wynn, ein ehemaliger Principal Software Engineer im BBC News-Website-Team, teilte kürzlich auf Twitter die folgenden Gedanken:

Als Junior-Entwickler wurde ich sehr ermutigt, das zu lesen. Es hat mich dazu gebracht, über meine Zeit bei BBC Design & Engineering nachzudenken, seit ich im September 2016 angefangen habe.

Ich bin derzeit im BBC Software Engineering Graduate Scheme, einem zweijährigen Programm für alle, die einen Abschluss in Informatik haben. Das Programm ist eine großartige Möglichkeit, als Junior-Softwareingenieur in die BBC einzusteigen, bietet jedoch den zusätzlichen Vorteil, alle sechs Monate in ein anderes Team wechseln zu können und die Möglichkeit zu haben, eine Vielzahl von technischen und Soft Skills zu erweitern. Ich habe vor kurzem mein erstes Jahr im Programm abgeschlossen, in dem ich im Serviceteam von BBC Sport und im Responsive-Website-Team von BBC Children tätig war.

Ich glaube nicht, dass es auf der Welt ein ähnliches Programm gibt, mit dem Sie die Entwicklung von Websites, Mobil- und Smart-TV-Apps, Back-End-Diensten und eingebetteten Systemen innerhalb von zwei Jahren in derselben Organisation auf den Prüfstand stellen können ; Dabei lernten wir einige erstaunliche Leute und hochqualifizierte Teams kennen.

Ein schlechter erster Eindruck

Während meiner Zeit an der Uni arbeitete ich in zwei Digitalagenturen - eine als unbezahltes Sommerpraktikum und eine für ein Sandwich-Jahr. Beide gaben mir echte praktische Erfahrungen, aber beide folgten einem strengen Wasserfallprozess und ich fühlte mich sehr wie ein Zahnrad in einer kleinen Maschine, die an meinem Stuhl befestigt war und nicht in der Lage war, zu plaudern oder aufzustehen, es sei denn, es sollte auf die Toilette gehen oder zu Mittag essen . Es war ziemlich anstrengend, für sie zu arbeiten. Ich hatte schon immer eine Leidenschaft für die Webentwicklung, aber meine Zeit dort ließ mich befürchten, dass ich es als Beruf nicht wirklich genießen könnte.

So wenig überraschend wollte ich sicherstellen, dass mein erster Job nach der Universität ein Ort ist, an dem ich mich glücklich fühle und nicht allein arbeite, sondern mit einem agilen Team, das liebt, was sie tun und Wert auf Qualität legt.

Ich hatte hohe Erwartungen, als ich mich für die BBC bewarb, und zu meiner Überraschung war es genau das, was ich mir vorgestellt hatte. Ich fand die Kultur sehr entspannt und unterstützend und fühlte mich auf keinen Fall wie ein Zahnrad in einer Maschine, die an meinem Sitz befestigt ist. Ich war ein Junior-Entwickler, aber niemand erwartete zu viel oder nahm zu wenig von mir an. Kein Manager hat angenommen, ich könnte einfach in ein Projekt eingebunden werden, dessen System sofort verstehen und Code produzieren. Mein Input wurde geschätzt und mein Team wurde in die gegenseitige Unterstützung und Entwicklung gleichermaßen investiert.

Die richtige Kultur schaffen

Erfahrene Softwareentwickler zu rekrutieren ist schwierig - selbst für eine große vertrauenswürdige Marke wie die BBC. Aber erfahrene Entwickler müssen von irgendwoher kommen, oder? Sie waren alle einmal auf einem Junior-Level! Wenn viele Unternehmen in unserer Branche nicht bereit sind, Nachwuchskräfte einzustellen und zu fördern, sollte es uns nicht überraschen, dass Software-Teams Schwierigkeiten haben, leitende Entwickler einzustellen. Aber wie wir bereits gesehen haben, ist es so wertvoll, einen Junior-Entwickler in einem Team zu haben.

Kultur ist der Schlüssel, um sicherzustellen, dass Nachwuchskräfte (und mehr leitende Angestellte) in einer Organisation wachsen und gedeihen können, was wiederum der Organisation zugute kommt.

Die Entwicklung der BBC zum heutigen Arbeitsplatz hat eine lange Geschichte hinter sich. Ein Großteil davon beruht jedoch auf unseren Werten.

Unsere Werte sind auf der Rückseite unserer Ausweise aufgedruckt.

Werfen wir einen Blick auf jeden dieser Werte und sehen, wie sich diese auf digitale Teams bei der BBC auswirken.

Zusammen arbeiten

Wir sind eine BBC; Große Dinge passieren, wenn wir zusammenarbeiten.

Wenn es ein Wort gibt, das ich in BBC Design & Engineering-Teams oft höre, dann ist es „Kommunikation“. Wir haben viele Tools und Prozesse, um Diskussionen zu provozieren und sicherzustellen, dass wir alle wissen und uns einig sind, was wir tun. Insbesondere für Entwickler ist es wichtig, dass wir nicht schüchtern oder inkompetent sind, um Rat zu fragen. In den Teams, in denen ich gearbeitet habe, bemerken wir im Nachhinein immer, wie gut es ist, dass wir so regelmäßig miteinander reden, um unsere Lösungsansätze zu diskutieren oder um Hilfe zu bitten. Jeder ist immer bereit aufzuhören, was er tut, und bietet seine Zeit an, um zu helfen.

Ebenso üben viele Teams der BBC das Programmieren von Paaren, was eine fantastische Möglichkeit ist, Wissen auszutauschen und die Codequalität aufrechtzuerhalten. Ich finde immer, dass es mich fokussierter hält als allein zu arbeiten, weil ich meine Gedanken laut ausdrücken muss.

Natürlich arbeite ich nicht nur mit Entwicklern zusammen. Es gibt viele Arten von Rollen in einem digitalen Team, und jede von ihnen spielt eine Schlüsselrolle in unserer Arbeit. Sogar im Agile Manifest lesen wir, dass Geschäftsleute und Entwickler während des gesamten Projekts täglich zusammenarbeiten müssen. Es gab viele Male, in denen ich das Glück hatte, mit Business Analysten zusammenzuarbeiten, um die Akzeptanzkriterien für ein Ticket zu konkretisieren, oder mit User Experience Designers zusammenzuarbeiten, um deren Ideen zu prototypisieren. Selbst wenn ich als Junior-Entwickler die Gelegenheit dazu habe, fühle ich mich geschätzt.

"Die effizienteste und effektivste Methode zur Übermittlung von Informationen an und innerhalb eines Entwicklungsteams ist das persönliche Gespräch".

Schließlich ist einer der Hauptgründe, warum digitale Teams gerne Entwickler aus dem Graduiertenkolleg haben, die Möglichkeit einer „Fremdbefruchtung“. Da wir alle sechs Monate zu verschiedenen Teams wechseln, bringen wir Erfahrungen mit den Prozessen, Ansätzen und technischen Kenntnissen der Teams mit, in denen wir zuvor gearbeitet haben. Teams laufen Gefahr, zu "Silos" zu werden, wenn wir nicht mit anderen Teams auf der ganzen Welt kommunizieren BBC, um Wissen zu teilen und zu sehen, wie und warum sie Dinge anders machen als wir.

Respekt

Wir respektieren uns gegenseitig und feiern unsere Vielfalt, damit jeder sein Bestes geben kann.

Obwohl die BBC eine hierarchisch strukturierte Organisation ist, kann sie sich tatsächlich recht flach anfühlen. Egal ob Senior oder Junior, ihre Meinung wird geschätzt und gehört. Diese Einstellung wirkt sich sowohl auf die großen Entscheidungen aus, die zu treffen sind, als auch auf die allgemeine tägliche Arbeit. Es beeinflusst auch, wie wir miteinander umgehen. Kein Senior Manager in der BBC hat ein eigenes Büro. alle sitzen zusammen und alle können sich gleichermaßen nähern (der generaldirektor hat mir sogar einmal die hand geschüttelt! ).

Selbst wenn ein Paar mit einem erfahrenen Entwickler programmiert, beobachtet ein junger Entwickler nicht einfach, wie sein Gegenüber die Arbeit erledigt. Da sie mit dem System nicht vertraut sind, können sie aus einer anderen Perspektive denken und Fragen stellen. Sie sollten daher ermutigt werden, laut zu denken und ihre Meinung zu äußern.

Ich denke, das GDS-Poster "Es ist in Ordnung, ..." gilt auch für die BBC. Für einen Junior-Entwickler in einem großen Unternehmen ist es oft leicht vorstellbar, dass sein Team hohe Erwartungen an seine Fähigkeiten hat, wenn dies nicht wirklich der Fall ist.

Das Sprichwort "Es gibt keine dummen Fragen" gilt auch hier. Es wird empfohlen, Fragen zu stellen, und es ist nicht ungewöhnlich, dass mehr leitende Mitglieder des Teams Fragen nur für Nachwuchsentwickler oder neue Entwickler im Team stellen.

Kreativität

KREATIVITÄT ist das Lebenselixier der Organisation.

Softwareentwicklung ist ein kreativer Prozess. Es gibt Hunderte von Möglichkeiten, um dasselbe Ziel zu erreichen, und die Teams müssen zusammenarbeiten, um die beste Methode für die Lösung eines Problems zu erörtern. Neue Entwickler werden eine Außenperspektive einbeziehen, und es ist weniger wahrscheinlich, dass sie sich auf die Frage einlassen, wie wir hier normalerweise vorgehen. Um dies zu akzeptieren, ist es wichtig, eine Kultur zu haben, die alle Gedanken gleichermaßen berücksichtigt.

Von den Entwicklern wird nicht nur erwartet, dass sie ihre tägliche Arbeit erledigen, sondern auch, dass sie lernen. Viele Teams setzen „10% Zeit“ ein, wenn Zeit zur Verfügung steht, um etwas Neues zu lernen oder an einem relevanten Nebenprojekt zu arbeiten. Eine Organisation, die bereit ist, in das Wachstum ihrer Kreativteams zu investieren, erhöht die Wahrscheinlichkeit, dass sie langfristig in der Organisation bleiben. Nachwuchsentwickler sollten Lernziele setzen, um sie zu ermutigen, sich auf verschiedene Technologien und Soft Skills zu spezialisieren.

Qualität

Wir sind stolz darauf, QUALITÄT und ein gutes Preis-Leistungs-Verhältnis zu bieten.

User Research, Pair Programming, Code Reviews, automatisiertes Testen und manuelles Testen sind alles Prozesse, die sicherstellen, dass wir unseren Zielgruppen ein Qualitätsprodukt liefern, und es ist wichtig, dass Nachwuchsentwickler an jedem dieser Prozesse beteiligt sind. Sie sollten nicht nur Feedback erhalten, sondern auch Feedback geben.

Zielgruppen

Das Publikum steht bei allem, was wir tun, im Mittelpunkt.

Bei der BBC werden die Produkte, an denen wir arbeiten, ausschließlich zu dem Zweck hergestellt, unser Publikum zu informieren, zu informieren und zu erfreuen, ohne dass es irgendwelche Gründe gibt, sie zu monetarisieren. Unabhängig von den Anforderungen Ihrer Organisation sollten jedoch die Anforderungen Ihrer Benutzer immer an erster Stelle stehen. Es ist weiterhin wichtig, Ihr Publikum zu verstehen und ihm zu dienen, damit es einen Mehrwert bei der Verwendung Ihres Produkts sieht.

Wenn ich im Children’s Web-Team war, lud das Children’s UX-Team oft lokale Kinder ein, unsere Ideen und Prototypen zu bewerten, und die Entwickler wurden aufgefordert, selbst zu beobachten, wie die Kinder auf verschiedene Prototypen reagierten. In A / B-Tests haben wir häufig schnelle Prototypen herausgebracht, und die Business Analysts unseres Teams haben bewertet, ob sich unsere Änderungen auf das Nutzerverhalten ausgewirkt haben, wie wir es erwartet haben.

Vertrauen

VERTRAUEN ist das Fundament der BBC; Wir sind unabhängig, unparteiisch und ehrlich.

Es gibt nichts Schlimmeres als ein Arbeitsumfeld, in dem Manager ihren Teams nicht vertrauen. Es gibt einen Grund, warum dieser Wert auf der Rückseite unserer Ausweise ganz oben auf der Liste steht. So wie unser Publikum unseren Inhalten vertrauen muss, müssen wir uns gegenseitig vertrauen können. Dies ist der Kern unserer Kultur. Ohne diese können Sie sich nicht glücklich, zufrieden und befähigt fühlen, den Rest der Werte zu erfüllen.

Nachwuchsentwickler können wie alle anderen Mitglieder eines digitalen Teams ihre Zeit selbstständig verwalten, unabhängig arbeiten, auf alle unsere Entwicklungsumgebungen und APIs zugreifen und neuere Mitglieder des Teams unterstützen und schulen. Ebenso geben wir niemandem die Schuld, wenn er es vermasselt. Wir vertrauen ihnen und gehen davon aus, dass sie bei jeder Aktion die besten Absichten haben (und hoffen, dass wir keine Systeme haben, die mit einer versehentlichen Befehlszeilenoperation heruntergefahren werden können).

Fazit

Es ist fantastisch, dass Nachwuchsentwicklern bei der BBC eine Plattform zur Verfügung gestellt wird, auf der sie ihre Fähigkeiten erweitern können. Dies gilt jedoch nur, wenn die Teams eine Kultur haben, in der der Wert, den weniger erfahrene Entwickler bieten, berücksichtigt wird und der Wunsch besteht, sie auszubauen. Haben Sie darüber nachgedacht, wie die Werte in Ihrem Unternehmen Entwicklern helfen, zu wachsen?