Zurück zu den Neuigkeiten für Entwickler

Meet the Developers – React @ Meta Edition (Andrea Ferrando)

27. April 2023VonNavyata Bawa

Dieser Artikel wurde in Zusammenarbeit mit Andrea Ferrando, Software Engineer bei Meta, und Sean Keegan, Developer Advocate bei Meta, verfasst.

Das heutige Interview ist mit Andrea Ferrando, Software Engineer bei Meta. Sein Team arbeitet an der Werbeanzeigenmanager-App, in der Nutzer*innen Werbekampagnen erstellen, bearbeiten und überwachen können.

Erzähle uns etwas über dich.

Ich bin Andrea Ferrando, ein Softwareentwickler mit einer Leidenschaft für die Bereitstellung herausragender digitaler Produkte und Nutzer*innenerlebnisse. Ich arbeite derzeit an der Werbeanzeigenmanager-App (AMA, Ads Manager App). Sie ermöglicht Werbetreibenden, ihre Kampagnen auf allen Meta-Plattformen zu erstellen, zu überwachen und zu verwalten. Diese App bietet Werbetreibenden eine umfassende Lösung, um ihre Zielgruppe zu erreichen, was sie zu einem wichtigen Tool für alle darstellt, die effektiv werben möchten. Ich arbeite seit etwas über einem Jahr an der AMA konnte die Entwicklung bereits wesentlich beeinflussen.

Ich habe mit React Native angefangen, da es das Potenzial hat, sowohl iOS- als auch Android-Nutzer*innen ein nahtloses und effizientes Nutzer*innenerlebnis zu bieten. React Native ermöglicht mit seinen wiederverwendbaren Komponenten und der Fähigkeit, den Status einfach zu verwalten, die schnelle und effiziente Entwicklung hochwertiger Apps. Den Code einmal zu schreiben und auf mehreren Plattformen ausführen zu können, ist ein weiterer großer Vorteil, da wir dadurch eine größere Nutzer*innenbasis erreichen und ein gleichbleibendes Erlebnis auf allen Geräten bieten können.

Wie verwendest du React?

Ich nutze React täglich und es ist zu einem festen Bestandteil meiner Position geworden. Ich habe als Tech Lead für ein kundenorientiertes Produkt bei Meta trage ich eine große Verantwortung für die Verwaltung der End-to-End-Produktentwicklung, für die Festlegung unserer Ziele und für die Zusammenarbeit zwischen funktionsübergreifenden Teams. Ich habe aber auch die Möglichkeit, aktiv zur AMA beizutragen, indem ich an Kernfunktionen arbeite und praktische Beiträge leiste.

Bei welchen deiner Projekte bei Meta wird React verwendet?

Seit ich bei Meta bin, ist die Werbeanzeigenmanager-App der Fokus meiner Arbeit. Unser Team trägt die vollständige Verantwortung für das Produkt. Dies beinhaltet auch Beiträge zur Entwicklung der Backend-Funktionalität. AMA ist jedoch die einzige React-Anwendung, an der ich arbeite.

Warum hat sich dein Team für React entschieden und wie hilft React dir und deinem Team, eure Entwicklungsziele zu erreichen?

Wir sind stolz darauf, dass die Werbeanzeigenmanager-App eine der ersten React Native-Anwendungen der Welt war. React Native ist bekanntermaßen aus einem Facebook-Hackathon im Jahr 2013 hervorgegangen und unsere App war eine der ersten, die diese Technologie verwendet hat. Die App bietet Werbetreibenden Einblicke und Empfehlungen, um für erfolgreiche Werbekampagnen zu sorgen, und React Native eignet sich perfekt für diesen Anwendungsfall. React Native war mit seinen schnellen Entwicklungsmöglichkeiten für iOS- und Android-Plattformen und seiner hervorragenden Performance maßgeblich am Erfolg der AMA beteiligt.

Worauf warst du in letzter Zeit besonders stolz oder worüber hast du dich gefreut?

In letzter Zeit habe ich ein erhebliches Maß an Arbeit in unsere Infrastruktur für Push-Benachrichtigungen gesteckt. Mein Fokus war hierbei, ihre Zuverlässigkeit zu gewährleisten.

Benachrichtigungen spielen eine entscheidende Rolle in mobilen Anwendungen und im Fall der AMA sind sie besonders wichtig, da sie den Nutzer*innen zeitnahe Erkenntnisse liefern, die maßgeblich zu einer erfolgreichen Werbekampagne beitragen.

Jedoch ist es entscheidend, ein Gleichgewicht zu finden, um zu verhindern, dass Nutzer*innen mit zu vielen Benachrichtigungen belastet werden. Darüber hinaus unterscheiden sich iOS und Android in der Art und Weise, wie Benachrichtigungen behandelt und verwaltet werden, und die Datenschutzrichtlinien für diese beiden mobilen Betriebssysteme müssen berücksichtigt werden. Trotz dieser Herausforderungen ist die Arbeit an diesem Projekt spannend, da es sowohl das Produkt als auch technische Fähigkeiten erfordert, um das bestmögliche Nutzer*innenerlebnis zu gewährleisten, unterschiedliche Abläufe für iOS und Android zu entwickeln und gleichzeitig Benachrichtigungen auf eine für jede Plattform zugeschnittene Art und Weise zu verwalten.

React Native ermöglicht es uns, den Entwicklungsprozess zu vereinfachen, indem der größte Anteil der Logik abstrahiert wird, die sich zwischen iOS- und Android-Benachrichtigungen unterscheidet, sodass wir uns auf den Entwicklungsprozess konzentrieren können.

Gibt es besonders aufregende Aspekte bei der Arbeit als React-Entwickler bei einem Unternehmen wie Meta?

Als Entwickler an einer React Native-Anwendung zu arbeiten, ist eine wirklich bemerkenswerte Erfahrung. Es ist sehr erfreulich, mit seiner Arbeit eine riesige Nutzer*innenbasis zu erreichen und einen erheblichen Einfluss auf so viele Menschen zu haben. Die Arbeit in so einem großen Maßstab geht jedoch mit einzigartigen Herausforderungen einher, die den Job spannend machen und für ständige Veränderungen sorgen.

Ein wichtiger Aspekt der Arbeit ist die Gewährleistung des Datenschutzes und der Datenintegrität für die Nutzer*innen. Wir müssen als Entwickler*innen wissen, welche Daten wir speichern können und welche nicht. Wir arbeiten eng mit Datenschutzteams zusammen, um die Daten der Nutzer*innen zu schützen. Dies ist ein kritischer Aspekt des Jobs, der bei kleineren Projekten oder Startups übersehen werden kann, aber bei Meta eine große Priorität hat. Wir müssen daher flexibel und anpassungsfähig in unserer Herangehensweise sein.

Ein weiterer herausfordernder Aspekt bei der Arbeit an einer weltweit genutzten Front-End-Anwendung ist die Lokalisierung. Es ist zwar einigermaßen einfach, eine App auf Englisch zu entwerfen und zu entwickeln, jedoch kann die Übersetzung in mehr als 20 Sprachen Fehler und Bugs ans Licht bringen, die zuvor unsichtbar waren. Dasselbe Wort kann in einer anderen Sprache drei- bis viermal länger sein, was ein sorgfältiges Design und eine präzise Entwicklung erfordert, um sicherzustellen, dass alle Einschränkungen richtig gehandhabt werden. Meine Arbeitserfahrung bei Banken und Fluggesellschaften hat mich gut auf diesen Aspekt des Jobs vorbereitet und ich bringe viel von dieser Erfahrung in meine derzeitige Rolle bei Meta ein.

Was reizt dich an der derzeitigen Arbeit im React-Bereich?

Die Arbeit als React-Entwickler bei Meta ist eine wirklich besondere Gelegenheit, da du dich in unmittelbarer Nähe des React-Teams befindest und somit direkte Zusammenarbeit und Kommunikation ermöglicht wird. Damit nimmt man eine einzigartige Position innerhalb des Unternehmens ein.

Um ein erfolgreicher Entwickler für ein verbraucherorientiertes Produkt zu sein, sind viele verschiedene Fähigkeiten erforderlich. Es ist wichtig, sauberen, zuverlässigen Code zu schreiben, der die Performance priorisiert, und sich auf die Aspekte wie das Nutzer*innenerlebnis und die Barrierefreiheit zu konzentrieren. Hier erweist sich die Arbeit mit einer dynamischen Sprache wie React als nützlich, denn es ermöglicht Entwickler*innen, sich ohne unnötigen Zusatzaufwand auf den Entwicklungsprozess zu konzentrieren. Mit meinem Hintergrund in der nativen mobilen Entwicklung von großen Anwendungen, habe ich aus erster Hand erfahren, wie die Build-Zeit die tägliche Arbeit behindern und wertvolle Zeit verschwenden kann. Daher schätze ich die Verwendung eines virtuellen DOM in React, das effiziente Updates und Rendering von UI-Komponenten in Echtzeit ermöglicht. React bleibt trotz seiner weit verbreiteten Verwendung bei Entwickler*innen und Unternehmen im gesamten Web benutzerfreundlich und zugänglich. Dies ist zum Teil der Tatsache zu verdanken, dass React als Grundlage die gängigen Sprachen JavaScript/TypeScript (JS/TS) verwendet. Ich mag es, TypeScript mit React zu verwenden. TypeScript ist statisch typisiert, was es einfacher macht, Fehler früh im Entwicklungsprozess zu finden.

Mir gefallen auch die funktionalen Komponenten in React sehr gut, da sie sehr nützlich sind: Sie lassen sich über die Memoization-Funktion auf Performance optimieren und können die Leistung einer Anwendung deutlich verbessern, indem sie unnötige Rendering-Updates verhindern. Gerade die einfache Wiederverwendung von Komponenten ist für umfangreiche Anwendungen besonders wichtig, da die Codebasis einfacher gewartet, getestet und verwaltet werden kann.

Was sind einiger der Missverständnisse über React oder Open-Source-Softwareentwicklung, denen du in deiner Arbeit begegnet bist?

Eigentlich habe ich in meiner Arbeit bisher nicht viele Missverständnisse über React oder Open-Source-Software gehört. Die meisten der weltweit größten Unternehmen nutzen und entwickeln tagtäglich Open-Source-Software und es gibt eine große Community an Entwickler*innen, die an Open-Source-Projekten arbeiten.

Ich habe verschiedene Bedenken bezüglich React Native gehört, insbesondere, dass es langsam und nur für kleine Projekte mit eingeschränkten Funktionen geeignet ist. Einige denken, dass die Verwendung von JavaScript durch React Native für die Interaktion mit nativen Komponenten zu einer langsameren Leistung im Vergleich zu nativ geschriebenen Apps führt. Es gibt einige Fälle, wie etwa Streaming, in denen native Apps möglicherweise eine bessere Leistung liefern, jedoch schneidet React Native bei alltäglichen Anwendungen, die primär Bilder und Text anzeigen, genauso gut ab.

Auf was freust du dich in der Zukunft von React?

React Native hat eine robuste Architektur und ist mit seinen effizienten Updates und dem UI-Rendering in Echtzeit für die Handhabung großer Anwendungen geeignet. Es stellt auch eine einfache Codeverwaltung bereit und ist somit ideal für große Projekte. Darüber hinaus gibt React Native Entwickler*innen die Möglichkeit, auf native Module zuzugreifen und somit Zugang zu nativen Funktionen und die Entwicklung umfassender Anwendungen zu ermöglichen.

Welche Ressourcen sind hilfreich bei den ersten Schritten mit React? Wie kann man dazu beitragen?

Als ich mit React anfing, hatte ich das Glück, für ein Unternehmen zu arbeiten, das einen kostenlosen Zugang zu einem großen Online-Lernportal mit von Experten unterrichteten Videokursen anbot. Für mich war es die beste Lernmethode, mir diese Video-Tutorials anzuschauen, die alle notwendigen Informationen schrittweise erklären. Nachdem ich die Grundlagen verstanden hatte, stellte ich fest, dass die praktische Arbeit an echten Projekten von unschätzbarem Wert war, um React noch besser zu verstehen. Wenn du bei der Arbeit keine Gelegenheit dazu hast, schlage ich vor, etwas zu finden, für das du dich begeistern kannst, und eine Anwendung dafür zu entwickeln. Ich hatte damit begonnen, meine persönliche Website mit meinem Portfolio zu erstellen. Außerdem fand ich die offizielle Dokumentation für React Native verständlich geschrieben und ausgesprochen hilfreich, wenn ich bestimmte Informationen nachschlagen musste.

Wo kann man dich finden und deiner Arbeit folgen?

Ich habe ein Github-Konto, aber die meisten meiner Arbeitserfahrungen sind entweder aufgrund arbeitsbezogener Vertraulichkeit urheberrechtlich geschützt oder es sind persönliche Projekte, die nicht Open-Source sind. Ich bin gerne in sozialen Medien unterwegs und bin auch auf Instagram vertreten, jedoch nutze ich es nicht als Plattform, um Entwicklung zu behandeln. Stattdessen dient es mir mehr als Ausgleich zu meiner Arbeit.


Wir möchten Andrea danken, dass er sich die Zeit für dieses Interview genommen hat. Es war faszinierend zu erfahren, wie React verwendet wird, um wichtige Anwendungen zu verbessern, und wie wir aus all den Dingen lernen können, die wir hier entwickeln, und einen Beitrag zur React-Community leisten. Wir hoffen, dass du dieses Interview hilfreich fandest und dir einen Einblick gegeben hat, wie und wo React bei Meta verwendet wird.

Informationen zur Serie „Meet the Developers – React @ Meta“

React ist eines der populärsten Open-Source-Projekte und zählte in den letzten Jahren immer wieder zu den beliebtesten Web-Frameworks. Wir bei Meta glauben, dass React eine hervorragende Bibliothek ist, die Entwickler*innen hilft, UI einfach und in großem Maßstab zu entwickeln. React wird von Millionen von Entwickler*innen weltweit verwendet – von einfachen Websites bis hin zu Unternehmensanwendungen – und ist eine Open-Source-Bibliothek, in der alle willkommen sind.

Dieser Blog ist Teil unserer Serie „Meet the Developers“, in der wir Software Engineers und Software Developer einladen, die regelmäßig React verwenden, um ihre Erfahrungen zu teilen und uns von den faszinierenden Produkten zu erzählen, die sie mit React hier bei Meta entwickeln. Halte Ausschau nach weiteren Interview-Blogs, in denen wir uns mit anderen Entwickler*innen treffen und ihre Gedanken zu diesem Thema hören.

Um mehr über Meta Open Source zu erfahren, besuche unsere Open-Source-Website, abonniere unseren YouTube-Kanal oder folge uns auf Twitter, Facebook und LinkedIn.