“Memahami bagaimana sistem bekerja memungkinkan banyak peretasan”: Roy Beniosef pada pengembangan Android



Bagaimana memahami bahwa seseorang sangat tenggelam dalam dunia Android dan pada saat yang sama bekerja di Samsung? Ya, bahkan jika pencarian Google mulai mengambil foto orang ini untuk Samsung Galaxy, maka ini adalah pertanda yang jelas!

Roy Beniosef adalah salah satu GDE Android pertama di dunia, penyelenggara GDG, karyawan unit khusus Samsung NEXT. Segera dia akan datang kepada kami dengan konferensi Mobius, dan kami bertanya kepadanya tentang segalanya: mulai dari apa yang ingin dikembangkan untuk Android pada awal ekosistem hingga apa tepatnya yang mereka lakukan di NEXT.

- Anda menyebut diri Anda "Android GDE pertama" ...

- Ini adalah lelucon, mereka tidak secara resmi memanggil saya - Saya tidak bisa menemukan Ahli Pengembang Google untuk Android sebelum saya. Semuanya dimulai dengan fakta bahwa saya adalah teman Amir Chevat - sekarang dia adalah penginjil utama di Twitch. Dia adalah penggagas program GDE , itu terjadi di Tel Aviv. Kemudian, pada 2011-2012, saya berpartisipasi cukup aktif di komunitas Android lokal, jadi tidak mengherankan bahwa, antara lain, dia memilih saya. Program itu jauh lebih terstruktur. Kadang-kadang saya dengan bercanda mengatakan bahwa saya menjadi GDE karena pada saat itu mereka belum repot dengan seleksi.

- Artinya, tidak ada prosedur standar?

- Tidak, program itu masih sangat belum matang: teman saya hanya mengundang saya dan saya setuju.

- Apa yang kamu lakukan saat itu? Apakah Anda membuat laporan dan menulis artikel tentang Android?

- Kebanyakan saya berbicara di depan umum. Dan saya adalah pendiri dan penyelenggara grup GDG dengan fokus pada aplikasi seluler. Saya telah membuat banyak presentasi untuk MobileMonday dan untuk GDG, kami juga menyelenggarakan DevFest. Semua ini adalah tahun 2011, saya tidak ingat persis. Selain itu, kami menulis kode sumber terbuka, menulis di blog, tetapi pekerjaan utama kami adalah berbicara di depan umum.

- Android saat itu belum berumur tiga tahun. Apa topik paling populer saat itu? Masalah apa yang paling sulit?

- Secara umum, sama seperti hari ini - memberikan pengalaman pengguna yang berkualitas, masalah kinerja, grafik. Untuk membuat aplikasi Android terlihat gaya dan bekerja dengan lancar, sulit bahkan sekarang, dan kemudian itu bahkan lebih sulit. Jika kita berbicara tentang apa saja peningkatan paling signifikan yang telah terjadi sejak saat itu - saya pikir mereka terhubung dengan kesulitan-kesulitan ini, yaitu, ini adalah restrukturisasi yang terjadi sehubungan dengan Marshmallow, munculnya alat baru, ConstraintLayout. Ada peluang untuk menulis aplikasi keren, tanpa membuat semuanya dari awal, dan ini sangat penting.

- Artinya, perubahan yang paling nyata adalah bahwa ada dasar untuk aplikasi, alat yang diperlukan untuk UI dan kerangka kerja untuk UI seperti Desain Material?

- Mungkin iya. Secara umum, semua ini ada sejak awal, tetapi sangat sulit untuk bekerja. Selain itu, Android selalu dibandingkan dengan iOS, dan di sana selalu relatif mudah untuk membuat aplikasi yang sangat indah, dengan hampir tidak ada pengalaman. Dan untuk membuat aplikasi Android berkualitas tinggi, Anda perlu menghabiskan banyak waktu untuk menjadi seorang ahli. Sekarang menjadi lebih mudah.

- Mengapa Anda awalnya memilih Android? Karena iOS lebih mudah, Anda bisa pergi ke sana atau tidak sama sekali dalam pengembangan seluler.

- Saya mulai terlibat dalam aplikasi mobile karena itu adalah area yang sama sekali baru, saya tertarik untuk sampai ke sana - sekitar waktu itu ada keberangkatan dari telepon, "dialer". Selain itu, iOS menghancurkan perusahaan yang arogan, dan Android, pertimbangkan Linux. iOS, tentu saja, juga seperti Unix, tetapi Android jauh lebih dekat ke Linux. Dan saya adalah pengembang open source, saya memiliki Ubuntu di laptop saya, jadi Android lebih dekat dengan saya, saya ingin membantunya mencapai kedewasaan. Dan pengetahuan saya tentang Linux membantu pada tahap awal pengembangan untuk Android - ketika sesuatu tidak bekerja, saya selalu bisa pergi ke tingkat Linux dan menyelesaikan masalah sendiri di sana.

- Benarkah? Ketika saya mulai bekerja di bawah Android (itu versi 1.6), untuk mulai bekerja, saya harus menginstal Android SDK, IntelliJ IDEA dan kemudian hanya membaca manual dan kode. Apa masalah spesifik yang Anda selesaikan melalui Linux?

- Yang paling berbeda. Sebagai contoh, ketika sebelum munculnya NDK kami memiliki masalah dengan grafis, saya menulis beberapa bagian di bawah OpenGL, karena saya berpengalaman dalam hal ini. Saya dapat memecahkan masalah dengan beberapa perangkat yang muncul di tingkat driver. Memahami cara kerja sistem memungkinkan banyak peretasan.

- Jadi, Anda memiliki banyak pekerjaan tingkat rendah?

- Saat itu ada banyak. Saya berspesialisasi dalam platform non-standar untuk Android - Saya memimpin pembuatan sistem untuk platform yang tidak diinstal pada ponsel standar. Sebelum Samsung NEXT TLV, saya bekerja di Vidmind, tempat saya memimpin grup klien dan, antara lain, kami menciptakan proyek kami sendiri untuk Smart TV dan STB bersama dengan Hisense yang berbasis Android. Jadi tanggung jawab saya termasuk pengembangan dari tingkat Linux dan lebih tinggi.

- Ternyata pengalaman Anda memfasilitasi pengembangan Anda di Android. Sekarang mari kita bicara tentang pekerjaan Anda dengan GDG di Israel dan khususnya di Tel Aviv. Apa yang bisa Anda ceritakan tentang komunitas di sana? Apakah jumlahnya banyak, apa fungsinya?

- Sekarang GDG di Israel jauh kurang aktif. Sebagian besar pengembang paling berbakat di sini terlibat dalam teknologi cloud, kecerdasan buatan, blockchains. Tetapi ada satu komunitas yang sangat besar, aktif dan sukses yang terlibat dalam pengembangan ponsel - Akademi Android. Akademi ini didirikan oleh Jonathan Levin bersama dengan mitra lainnya.

"Pembaca kita mengenal Jonathan dengan baik karena dia banyak berbicara di konferensi Mobius sebelumnya." Dan bagaimana Anda terhubung dengannya dan dengan Android Academy? Apakah Anda membantu mereka?

- Sejauh mungkin. Sekarang kami sedang mengembangkan serangkaian laporan dan seminar yang akan saya lakukan tahun depan sebagai bagian dari kursus lanjutan di Android Academy. Saya memiliki persahabatan yang panjang dengan mereka, dan saya berusaha membantu mereka semampu saya - misalnya, saya melakukan hackathons, dan berkat fakta bahwa saya bekerja di Samsung NEXT, mereka ditahan beberapa kali di kantor unit ini.

- Untuk apa seminar Anda di Akademi Android?

"Kami belum memutuskan." Sebagai aturan, saya mengajarkan sesuatu yang saya sendiri sangat berpengalaman. Biasanya ini adalah masalah yang paling membosankan dan teknis, paling sering tingkat rendah - keamanan dunia maya, basis data Android, caching informasi yang benar, penggunaan GPU yang benar, dan sebagainya.

- Tolong beri tahu kami apa itu Akademi Android? Kami mengorganisirnya beberapa kali di St. Petersburg, dan saya tidak tahu apakah itu di Moskow, jadi mungkin pembaca kami akan tertarik untuk mengetahui format apa yang dimilikinya, apakah ada kursus, pertemuan, atau apa pun ?

- Jonathan jauh lebih terlibat dalam Android Academy daripada saya, jadi agak tidak biasa bagi saya untuk membicarakan hal ini. Tetapi secara umum, ini adalah komunitas yang sangat aktif, terbuka dan ramah. Mereka melakukan kursus seperti Udacity, beberapa di antaranya adalah entry-level, yang lain dikhususkan untuk area yang lebih maju, misalnya, multithreading, grafik, animasi. Kursus-kursus ini gratis dan terbuka untuk semua.

- Apakah Anda merekomendasikan menghadiri kursus Android Academy di Rusia?

- Jika mirip dengan Israel - ya, tentu saja.

- Sejauh yang saya tahu, Jonathan mencoba untuk mengekspor model Israel, yaitu membuat Rusia sama dengan Israel. Mari beralih ke pekerjaan Anda sekarang. Semua orang tahu apa itu Samsung - perusahaan besar yang menangani segala hal di dunia, mulai dari konstruksi hingga smartphone. Dan apakah Samsung NEXT dan apa peran Anda di sana?

- Samsung NEXT adalah departemen inovasi Samsung. Kami tidak sepenuhnya terintegrasi ke dalam Samsung Electronics dan berspesialisasi dalam perangkat lunak. Kami memiliki divisi produk yang menciptakan perangkat lunak canggih di bidang komputasi tepi, augmented reality, dan kecerdasan buatan.

Tetapi 90% dari apa yang kita lakukan di Israel adalah investasi modal ventura, dan saya memenuhi tugas kepala dana kami (walaupun saya tidak). Kami berinvestasi di perusahaan rintisan secara bertahap dari pra-unggulan hingga B, dengan jumlah hingga $ 3 juta. Kami mengevaluasinya berdasarkan investasi keuangan, yaitu, kami bukan investor strategis, divisi lain, Samsung Ventures, terlibat dalam hal ini, dan mereka melakukan pekerjaan dengan baik. Kami memiliki strategi yang berbeda, kami melakukan investasi pada tahap awal dan hanya berinvestasi dalam perangkat lunak. Selain itu, kami berinvestasi berdasarkan kriteria keuangan, tetapi pada saat yang sama kami berinvestasi pada startup yang mungkin memiliki signifikansi strategis selama 2-10 tahun ke depan, bahkan jika Samsung belum memiliki produk di bidang ini.

Sebagai contoh, kami berinvestasi dalam startup yang disebut StreamElements, mereka menyediakan streamer dengan alat untuk merekrut, menumbuhkan, dan memonetisasi audiens. Samsung tidak memiliki produk di bidang ini, sehingga investasi ini tidak dapat disebut strategis. Selain itu, investor strategis tidak akan pernah berinvestasi dalam startup pada tahap pra-seed. Kami memutuskan untuk berinvestasi, karena kami melihat bagaimana startup ini dimonetisasi. Tetapi pada saat yang sama, tidak dapat dikesampingkan bahwa di masa depan Samsung akan terlibat dalam bidang permainan komputer, dan jika ini terjadi, maka StreamElements akan sangat penting secara strategis.

Selain itu, di Israel, posisi saya adalah Manajer Hubungan Ekosistem. Bahkan, saya sendiri datang dengan nama posting, mengambilnya dari langit-langit. Koneksi ekosistem biasanya dipahami sebagai, misalnya, peristiwa yang dilakukan Google untuk lebih memperkenalkan komunitas kepada produk-produknya. Dan manajemen komunitas adalah ketika Anda memiliki komunitas Anda sendiri di mana Anda mengatur acara Anda. Saya agak tidak melakukan yang satu atau yang lain, tetapi pada saat yang sama saya melakukan keduanya. Saya seorang penginjil untuk teknologi yang saya sendiri tidak menciptakan, karena Samsung NEXT tidak mengembangkan apa pun, itu adalah perusahaan ventura. Kami melakukan pekerjaan kami secara gratis dan tanpa memaksakan kewajiban apa pun, hanya karena kami ingin membantu orang - dalam hal ini kami melihat misi kami. Kami tidak memiliki komunitas kami sendiri, kami bermitra dengan komunitas lain dan membantu mereka. Kami melakukan ini, pertama, karena kami adalah orang-orang yang baik, dan kedua, karena semakin besar pai (yaitu, komunitas), semakin banyak potongan akan jatuh ke semua orang, termasuk kami. Jadi, pada akhirnya, kita juga akan mendapat manfaat dari ini, yaitu, pada dasarnya, ini adalah sponsor dari pihak kita.

- Mari kita bicara tentang startup yang Anda investasikan. Apakah Anda hanya mengevaluasi desain, perangkat lunak, atau, selain itu, apakah Anda juga melakukan penilaian teknis arsitektur, proses, dan sebagainya?

- Dengan berbagai cara, tergantung pada tahap apa startup berada. Sebuah startup bukanlah sebuah ide. Ada ide bagus dengan implementasi menyeramkan dan sebaliknya. Pada umumnya, saya bertanggung jawab atas bagian teknis inspeksi, tetapi kami juga melihat organisasi bisnis. Semuanya tidak pernah sampai pada ide saja, kita melihatnya dan implementasinya.

- Apa yang paling menarik dari pekerjaan seperti itu? Bertemu orang-orang baru, bertemu ide-ide baru, peluang untuk melihat teknologi masa depan?

- Ya, saya suka mencari orang baru - biasanya orang-orang ini sangat cerdas dan antusias dengan ide-ide hebat. Tetapi hal yang paling berharga adalah kesempatan untuk mempelajari teknologi baru yang belum sempat saya miliki sebelumnya. Ketika saya mengelola tim yang terdiri dari 45 pengembang dari Serbia, Ukraina, China, dan Israel, saya tidak punya waktu untuk bereksperimen dengan Firebase, pembelajaran mesin atau visi komputer. Semua yang saya lakukan berorientasi jangka pendek. Dan sekarang saya mampu mempelajari teknologi baru karena fakta bahwa mereka sedang diteliti oleh perusahaan tempat kita terlibat - saya membutuhkan pengetahuan ini untuk mengevaluasi proyek yang kita kenal dengan benar.

- Artinya, Anda dulu terlibat dalam organisasi pengembangan, tetapi sekarang Anda melakukan sesuatu yang lebih inovatif, dan Anda punya waktu untuk menjelajahi cakrawala teknologi baru. Kedengarannya sangat menarik. Apakah pekerjaan ini memiliki kekurangan?

- Tentu saja - saya sendiri tidak langsung menciptakan apa pun, tetapi hanya mengevaluasi apakah orang lain dapat melakukan apa yang dia rencanakan, dan kadang-kadang saya memberikan uang dan bantuan. Di sini, sensasi yang sama sekali berbeda, hasil kerja yang berbeda. Saya sangat suka proses penciptaan itu sendiri, dan secara khusus perasaan ini tidak ada di sini. Ini adalah kelemahannya.

- Apakah Anda memiliki proyek yang Anda lakukan di waktu luang Anda?

"Ya, tentu saja." Anda tidak dapat bereksperimen dengan teknologi baru, sambil tidak mengumpulkan apa pun sendiri. Ada proyek yang telah saya kerjakan selama beberapa waktu.

- Bisakah Anda memberi tahu kami tentang dia?

- Seperti yang saya katakan, saya ingin bereksperimen dengan visi komputer dan pembelajaran mesin. Saya menulis aplikasi Android kecil yang berkomunikasi dengan Firebase dan menggunakan TensorFlow pada perangkat itu sendiri dan di Firebase. Saya menginstal aplikasi ini di ponsel lama saya dan meletakkannya di ruang makan saya. Dia memeriksa keberadaan orang-orang di ruangan itu dan, jika ada yang tahu, rekam video. Dan saya harus mengatakan bahwa istri saya tidak pernah mematikan lampu. Oleh karena itu, tujuan aplikasi adalah untuk memprediksi apakah seseorang akan mematikan lampu ketika meninggalkan ruangan, dan jika tidak dimatikan, mengirim pengingat ke telepon.

Yang lucu adalah bahwa setelah beberapa minggu mulai bekerja - lucu karena aplikasi, secara umum, tidak terlalu pintar. Itu hanya mengirim pengingat setiap kali istriku berada di ruangan, karena dia tidak pernah mematikan lampu, dan aku selalu mematikannya. Artinya, itu tidak terlalu pintar, tetapi lucu bahwa itu bisa membedakan kita, yaitu, ia menciptakan logikanya sendiri, yang tidak saya tulis.

- Ya, kedengarannya sangat keren. Memecahkan masalah rumah dengan bantuan teknologi baru.

- Sebenarnya, saya ingin melihat apakah saya benar-benar dapat menulis sesuatu dengan teknologi ini, dan tidak hanya membaca artikel dan berpikir pada diri sendiri bahwa ini mungkin dapat diwujudkan.

- Katakan padaku, acara apa dalam kehidupan profesionalmu yang paling memuaskanmu?

- Ada banyak hal untuk dibicarakan. Saya pikir kehormatan terbesar bagi saya adalah berpartisipasi dalam Google I / O sebagai pembicara dua tahun lalu. Saya juga sangat senang bahwa setiap tahun keanggotaan saya dalam program GDE dikonfirmasi. Jadi dalam karir saya ada banyak poin karena saya menganggap diri saya beruntung. Contoh saya membuktikan bahwa semua kesalahan yang bisa dibayangkan dapat dibuat, namun tetap berhasil. Saya dikeluarkan dari dua universitas ketika saya mulai bekerja di Android. Android adalah sistem yang lambat dengan banyak crash, dan pada saat itulah boom iOS dimulai. Selain itu, startup yang saya datangi menghabiskan 30 juta dan bangkrut. Kegagalan mengikuti kegagalan, namun, saya merasa sukses karena semua peristiwa ini telah memungkinkan saya untuk tumbuh.

- Saya percaya bahwa Anda tidak dapat berhasil tanpa membuat kesalahan. Dan jika kesalahannya besar, Anda bisa belajar banyak darinya. Pertanyaan saya berikutnya adalah tentang pembicaraan Mobius "G (PU)" Anda yang akan datang. Apa yang sebenarnya ingin Anda bicarakan? Masalah apa yang ingin Anda pecahkan?

- Jika Anda mengembangkan untuk OpenGL, misalnya, menulis game, maka Anda memiliki ide tertentu tentang cara menggunakan GPU dan apa yang harus dilakukan jika tidak berperilaku sebagaimana mestinya. Jika Anda menulis di Android, maka ketika kode Anda nakal, Anda tidak tahu apakah ini karena kesalahan Anda, karena masalah dengan prosesor atau karena Anda menggunakan GPU secara tidak benar. Laporan ini didasarkan pada kasus nyata dari pengalaman perusahaan tempat saya bekerja sebelumnya - Vidmind, serta beberapa kasus yang saya perhatikan secara khusus untuk melihat apakah ada yang berubah selama tiga tahun terakhir. Kami terus-menerus mengalami kegagalan yang paling luar biasa, dan kami tidak bisa mengerti mengapa. Baru kemudian saya menyadari bahwa kami menggunakan GPU secara tidak benar. Dalam laporan itu, saya juga akan menjelaskan cara memperbaiki kesalahan ini, dan menyarankan aturan yang bisa digunakan pengembang Android untuk menghindari masalah ini.

Tentu saja, dengan alat baru, pada perangkat baru dan sistem operasi baru, menjadi lebih mudah untuk bekerja. Tetapi sebagian besar pengembang tidak dapat membuat program khusus untuk perangkat terbaru, sehingga ada kecenderungan untuk menulis aplikasi yang bekerja sangat buruk pada semua perangkat. Sebagian besar kesulitan ini terkait dengan implementasi GPU. Jika Anda memiliki gagasan tentang apa yang diharapkan Android dari Anda pada level API yang berbeda, Anda dapat menulis aplikasi yang akan bekerja dengan baik di mana pun aplikasi itu digunakan.

- Artinya, ide Anda adalah penting bagi pengembang Android profesional untuk mengetahui cara kerja GPU, apa yang GPU harapkan darinya.

- Ya. Tentu saja, setelah laporan ini, Anda tidak akan bisa mengatakan: "Sekarang saya bisa melakukan sesuatu yang saya tidak tahu sebelumnya." Saya menunjukkan contoh bagaimana GPU terintegrasi ke dalam ekosistem Android. Mengetahui apa yang sebenarnya perlu diuji, Anda dapat membuat aplikasi yang akan selalu berfungsi dengan baik, dan saya ingin menunjukkannya.

- Saya harap ini akan sangat berguna bagi pembaca kami. Pada akhirnya, saya ingin bertanya - apa yang Anda inginkan dari para peserta konferensi?

- Saya ingin belajar banyak tentang teknologi dan tentang satu sama lain. Secara pribadi, saya, sebagai aturan, melakukan sangat sedikit laporan - yang, tentu saja, sangat ironi, karena karier saya, secara umum, didasarkan pada berbicara di depan umum. Tetapi bagi saya, laporan kunjungan selalu menjadi sumber inspirasi. Saya menuliskan beberapa frasa kunci, dan kemudian saya mencoba mengumpulkan sesuatu sendiri untuk memahami jika saya memahami pembicara dengan benar. , — , , . , , .

Mobius , . 8-9 .

Source: https://habr.com/ru/post/id428606/


All Articles