Kembali ke Beranda untuk Developer

Temui para Developer - Edisi React @ Meta (Andrea Ferrando)

27 April 2023OlehNavyata Bawa

Artikel ini ditulis berkat kolaborasi dengan Andrea Ferrando, Software Engineer di Meta, dan Sean Keegan, Developer Advocate di Meta.

Untuk wawancara hari ini, kami menghadirkan Andrea Ferrando, seorang insinyur front-end di Meta. Timnya bekerja di Aplikasi Pengelola Iklan tempat pengguna membuat, mengedit, dan memantau kampanye iklan.

Ceritakan kepada kami tentang diri Anda.

Nama saya Andrea Ferrando, insinyur perangkat lunak dengan hasrat untuk menghadirkan produk digital dan pengalaman pengguna yang luar biasa. Saat ini saya bekerja di Aplikasi Pengelola Iklan (AMA) yang memungkinkan pengiklan untuk membuat, memantau, dan mengelola kampanye mereka di semua platform Meta. Aplikasi ini memberikan solusi komprehensif bagi pengiklan untuk menjangkau pemirsa target mereka, menjadikannya fitur penting bagi siapa saja yang ingin beriklan secara efektif. Saya telah menggarap AMA selama lebih dari setahun dan telah mampu memberikan dampak nyata pada perkembangannya.

Apa yang menginspirasi saya untuk terlibat dengan React Native adalah potensi untuk menghadirkan pengalaman pengguna yang lancar dan efisien bagi pengguna iOS dan Android. Dengan komponen yang dapat digunakan kembali dan kemampuan untuk mengelola status dengan mudah, React Native memungkinkan pembuatan aplikasi berkualitas tinggi dengan cepat dan efisien. Manfaat tambahan dari memiliki kemampuan untuk menulis kode sekali dan menjalankannya di berbagai platform adalah keuntungan besar, karena memungkinkan kami menjangkau basis pengguna yang lebih besar dan menawarkan pengalaman yang konsisten di semua perangkat.

Anda menggunakan React dalam kapasitas apa?

Saya telah menggunakan React setiap hari dan ini telah menjadi bagian integral dari peran saya. Sebagai pemimpin teknologi untuk produk yang berfokus pada pelanggan di Meta, saya memiliki tanggung jawab yang lebih tinggi dalam mengelola pengembangan produk menyeluruh, menetapkan arah, dan bekerja dengan tim lintas fungsi; tetapi pada saat yang sama, saya juga memiliki kesempatan untuk secara aktif berkontribusi pada AMA dengan mengerjakan fitur-fitur penting dan memberikan kontribusi langsung.

Apa saja proyek yang pernah Anda kerjakan di Meta yang menggunakan React?

Sejak bergabung dengan Meta, pekerjaan saya hanya terfokus pada Aplikasi Pengelola Iklan. Tim kami memiliki kepemilikan end-to-end atas produk, yang juga melibatkan kontribusi untuk pengembangan fungsi backend, tetapi AMA adalah satu-satunya aplikasi React yang saya kerjakan.

Mengapa tim Anda memilih untuk menggunakan React dan bagaimana menggunakan React membantu Anda dan tim dalam mencapai tujuan pengembangan?

Kami bangga dengan fakta bahwa Aplikasi Pengelola Iklan adalah salah satu aplikasi React Native pertama di dunia. Fakta bahwa React Native berasal dari hackathon Facebook pada tahun 2013 sudah banyak diketahui, dan aplikasi kami adalah salah satu pelopor dalam menggunakan teknologi ini. Aplikasi ini memberi pengiklan insight dan rekomendasi untuk membantu kesuksesan kampanye iklan mereka, dan React Native sangat cocok untuk tujuan ini. Dengan kemampuan pengembangannya yang cepat untuk platform iOS dan Android dan kemampuannya untuk memberikan kinerja yang luar biasa, React Native telah berperan penting dalam kesuksesan AMA.

Apa yang membuat Anda bersemangat atau sangat bangga akhir-akhir ini?

Baru-baru ini, saya telah berupaya keras dalam infrastruktur notifikasi otomatis kami dengan fokus kuat untuk memastikan keandalannya.

Notifikasi memainkan peran penting dalam aplikasi seluler, dan dalam kasus AMA, notifikasi sangat penting karena memberikan penayangan insight yang tepat waktu kepada pengguna, yang dapat membuat perbedaan besar dalam kesuksesan kampanye iklan.

Namun, sangat penting untuk menjaga keseimbangan agar tidak membebani pengguna dengan terlalu banyak notifikasi. Selain itu, cara notifikasi diperlakukan dan dikelola berbeda antara iOS dan Android, dan aturan privasi untuk kedua sistem operasi seluler ini harus dipertimbangkan. Terlepas dari tantangannya, ini adalah proyek yang mendebarkan untuk dikerjakan, karena membutuhkan keterampilan produk dan teknis untuk memastikan pengalaman pengguna terbaik dan untuk mengembangkan alur yang berbeda untuk iOS dan Android sambil mengelola notifikasi dengan cara yang sesuai untuk setiap platform.

React Native memungkinkan kami untuk menyederhanakan proses pengembangan dengan mengabstraksi sebagian besar logika yang berbeda antara delegasi notifikasi iOS dan Android, memungkinkan kami untuk berkonsentrasi pada proses pengembangan.

Apakah ada sesuatu yang sangat menarik tentang menjadi developer React di perusahaan seperti Meta?

Bekerja sebagai developer aplikasi React Native di Meta adalah pengalaman yang benar-benar luar biasa. Kemampuan untuk menjangkau basis pengguna yang sangat besar dengan pekerjaan Anda dan memiliki dampak signifikan pada begitu banyak orang sangatlah memuaskan. Namun, bekerja dalam skala besar juga memiliki tantangan unik yang membuat pekerjaan menjadi menarik dan terus berkembang.

Salah satu aspek kunci dari pekerjaan itu adalah menjaga privasi dan integritas data untuk pengguna. Sebagai developer, kami harus memiliki pengetahuan tentang data apa yang dapat kami simpan–dan data apa yang tidak dapat kami simpan–dan kami bekerja sama dengan tim privasi untuk melindungi privasi pengguna. Ini adalah aspek penting dari pekerjaan yang dapat diabaikan dalam proyek atau perusahaan rintisan yang lebih kecil, tetapi ini adalah prioritas utama di Meta dan mewajibkan kami untuk fleksibel dan dapat beradaptasi dalam pendekatan kami.

Aspek lain yang menantang dalam mengerjakan aplikasi front-end yang digunakan secara global adalah pelokalan. Meskipun relatif mudah untuk merancang dan mengembangkan aplikasi dalam bahasa Inggris, menerjemahkan semuanya ke lebih dari 20 bahasa dapat menyebabkan cacat ringan dan bug yang sebelumnya tidak terlihat. Kata yang sama bisa tiga sampai empat kali lebih panjang dalam bahasa lain, yang membutuhkan desain yang cermat dan pengembangan yang tepat untuk memastikan semua batasan ditangani dengan benar. Pengalaman saya sebelumnya bekerja untuk bank dan maskapai penerbangan telah mempersiapkan saya dengan baik untuk aspek pekerjaan ini dan saya membawa banyak pengalaman itu ke peran saya saat ini di Meta.

Apa yang memberi Anda energi dalam bekerja di ruang React hari ini?

Bekerja sebagai developer React di Meta adalah kesempatan yang benar-benar istimewa, karena memungkinkan Anda berada dekat dengan tim React, memungkinkan kolaborasi dan komunikasi langsung. Ini menempatkan Anda pada posisi unik di dalam perusahaan.

Untuk menjadi insinyur yang sukses pada produk yang berfokus pada konsumen, diperlukan keahlian yang beragam. Menulis kode yang bersih dan andal yang memprioritaskan kinerja sangat penting, serta berfokus pada aspek seperti pengalaman pengguna dan aksesibilitas. Di sinilah bekerja dengan bahasa dinamis seperti React terbukti bermanfaat, karena memungkinkan developer untuk berkonsentrasi pada proses pengembangan tanpa biaya tambahan yang berlebihan. Dengan latar belakang pengembangan seluler native, terutama pada aplikasi skala besar, saya telah mengalami secara langsung bagaimana waktu pembuatan dapat menghambat pekerjaan sehari-hari dan membuang waktu yang berharga. Inilah mengapa saya menghargai penggunaan DOM virtual di React, yang memungkinkan pembaruan yang efisien dan rendering komponen UI secara realtime. Meskipun diadopsi secara luas di kalangan developer dan perusahaan di seluruh web, React tetap ramah pengguna dan dapat diakses, sebagian berkat fondasinya dalam JavaScript/TypeScript (JS/TS), bahasa yang banyak digunakan oleh developer. Saya suka menggunakan TypeScript dengan React. TypeScript diketik secara statis, yang membuatnya lebih mudah untuk menangkap bug di awal proses pengembangan.

Saya pribadi juga sangat menyukai komponen fungsi di React karena sangat berguna: Fungsi dapat dioptimalkan untuk kinerja menggunakan fitur memoisasi dan mereka dapat meningkatkan kinerja aplikasi secara signifikan dengan mencegah pembaruan render yang tidak perlu. Secara khusus, kemudahan penggunaan kembali komponen sangat penting untuk aplikasi skala besar, menjadikannya lebih mudah untuk memelihara, menguji, dan mengelola basis kode.

Apa miskonsepsi tentang React atau pengembangan perangkat lunak sumber terbuka yang Anda temui dalam karier Anda?

Sebenarnya, saya belum pernah mendengar banyak miskonsepsi dalam karier saya tentang React atau perangkat lunak sumber terbuka. Sebagian besar perusahaan terbesar di dunia menggunakan dan mengembangkan perangkat lunak sumber terbuka dalam operasi sehari-hari mereka dan komunitas besar developer mengerjakan proyek sumber terbuka.

Saya telah mendengar berbagai kekhawatiran mengenai React Native, khususnya lambat dan hanya cocok untuk proyek kecil, dengan kemampuan terbatas. Beberapa orang berpikir bahwa penggunaan JavaScript oleh React Native untuk berinteraksi dengan komponen native menghasilkan kinerja yang lebih lambat dibandingkan dengan aplikasi yang ditulis secara native. Ada beberapa kasus, seperti streaming, ketika aplikasi native dapat bekerja lebih baik, tetapi untuk sebagian besar aplikasi sehari-hari, yang utamanya menampilkan gambar dan teks, dan mendukung interaksi pengguna, React Native juga bekerja dengan baik.

Apa yang ingin Anda lihat di masa depan React?

React Native memiliki arsitektur yang kokoh dan dilengkapi untuk menangani aplikasi berskala besar dengan pembaruan yang efisien dan rendering UI realtime. Ini juga memberikan kemudahan pengelolaan kode, menjadikannya ideal untuk proyek besar. Selain itu, React Native memberi developer kemampuan untuk mengakses modul native, menyediakan akses ke fungsi native, sehingga memungkinkan pengembangan aplikasi yang komprehensif.

Sumber daya apa yang berguna untuk mulai menggunakan React? Bagaimana dengan berkontribusi?

Saat saya memulai dengan React di awal karier saya, saya cukup beruntung bekerja di perusahaan yang menawarkan akses gratis ke portal pembelajaran online utama dengan pelajaran video yang diajarkan oleh para ahli. Bagi saya, cara terbaik untuk belajar adalah dengan menonton video tutorial ini, yang memandu saya melalui semua yang perlu saya ketahui langkah demi langkah. Setelah memahami dasar-dasarnya, saya menemukan bahwa pengalaman langsung— dengan mengerjakan proyek nyata—sangat berharga dalam memajukan pemahaman saya tentang React. Jika Anda tidak memiliki kesempatan untuk melakukannya di tempat kerja, saya sangat menyarankan untuk menemukan sesuatu yang Anda sukai dan mengembangkan aplikasi untuk itu. Saya mulai membuat situs web pribadi saya dengan portofolio saya. Selain itu, saya menemukan dokumentasi resmi untuk React Native ditulis dengan baik dan sangat membantu ketika saya perlu mencari informasi tertentu.

Di mana orang dapat menemukan Anda dan mengikuti pekerjaan Anda?

Saya memiliki akun Github, tetapi sebagian besar pengalaman kerja saya adalah hak milik karena kerahasiaan terkait pekerjaan atau merupakan proyek pribadi yang bukan sumber terbuka. Saya senang berada di media sosial dan memiliki eksistensi yang baik di Instagram, tetapi saya tidak menggunakannya sebagai platform untuk membahas pengembangan. Sebaliknya, itu berfungsi sebagai pelarian saya dari pekerjaan.


Kami mengucapkan terima kasih kepada Andrea yang telah meluangkan waktu untuk melakukan wawancara ini. Sungguh menakjubkan mempelajari bagaimana React digunakan untuk meningkatkan aplikasi utama, dan bagaimana kami belajar dari semua hal yang kami buat di sini dan berkontribusi kembali ke komunitas React. Kami harap wawancara ini bermanfaat bagi Anda dan memberi Anda insight tentang bagaimana dan di mana React digunakan di Meta.

Tentang Serial Temui para Developer - React @ Meta

React adalah salah satu proyek sumber terbuka paling populer dan secara konsisten mendapat peringkat sebagai salah satu kerangka kerja web “paling dicintai” selama beberapa tahun terakhir. Kami di Meta percaya bahwa React adalah pustaka luar biasa yang membantu developer membangun antarmuka pengguna dengan mudah dan dalam skala besar. Digunakan oleh jutaan developer di seluruh dunia, dalam segala hal mulai dari situs web sederhana hingga aplikasi perusahaan, React adalah pustaka sumber terbuka dengan tempat bagi semua orang.

Blog ini adalah bagian dari serial Temui para Developer kami, tempat kami mengundang para insinyur dan developer yang menggunakan React secara teratur untuk membagikan pengalaman mereka dan memberi tahu kami tentang produk luar biasa yang mereka buat menggunakan React di sini, di Meta. Nantikan lebih banyak blog wawancara tempat kami bertemu dengan insinyur lain dan mendengarkan pendapat mereka tentang topik ini.

Untuk mempelajari selengkapnya tentang Meta Open Source, kunjungi situs sumber terbuka kami, silakan berlangganan <saluran YouTube kami, atau ikuti kami di Twitter, Facebook, dan LinkedIn.