
Comment comprendre qu'une personne est très profondément immergée dans le monde Android et travaille en même temps chez Samsung? Eh bien, même si une recherche Google a commencé à prendre une photo de cette personne pour le Samsung Galaxy, c'est un signe clair!
Roy Beniosef est l'un des premiers Android GDE au monde, un organisateur GDG, un employé de l'unité spéciale de Samsung NEXT. Bientôt, il viendra à nous avec la conférence Mobius, et nous lui avons posé des questions sur tout: de ce que c'était de développer pour Android à l'aube de l'écosystème jusqu'à ce qu'ils faisaient exactement dans NEXT.
- Vous vous appelez «le premier Android GDE» ...- C'est une telle blague, ils ne m'appellent pas officiellement comme ça - je ne pouvais tout simplement pas trouver de développeur Google pour Android avant moi. Tout a commencé avec le fait que j'étais un ami d'Amir Chevat - maintenant il est le principal évangéliste de Twitch. Il était l'initiateur du programme
GDE , cela se passait à Tel Aviv. Puis, en 2011-2012, j'ai participé assez activement à la communauté Android locale, il n'est donc pas surprenant qu'il m'ait choisi entre autres. Le programme était alors beaucoup moins structuré. Parfois, je dis en plaisantant que je suis devenu GDE parce qu'à ce moment-là, ils ne se préoccupaient pas encore de la sélection.
- Autrement dit, il n'y avait pas de procédures normalisées?- Non, le programme était encore très immature: mon ami vient de m'inviter et j'ai accepté.
- Que faisiez-vous à ce moment-là? Avez-vous fait des rapports et écrit des articles sur Android?- J'ai surtout parlé en public. Et j'étais co-fondateur et organisateur du groupe GDG avec un focus sur les applications mobiles. J'ai fait de nombreuses présentations pour MobileMonday et pour GDG, nous avons également organisé DevFest. Tout cela a été l'année 2011, je ne me souviens pas exactement. De plus, nous avons écrit du code open source, écrit sur des blogs, mais notre occupation principale était de parler en public.
- Android n'avait alors pas encore trois ans. Quels étaient les sujets les plus populaires à l'époque? Quels problèmes ont été les plus difficiles?- En général, le même qu'aujourd'hui - offrant une expérience utilisateur de qualité, des problèmes de performances, des graphismes. Pour que l'application Android soit élégante et fonctionne sans problème, même maintenant, et c'était encore plus difficile. Si nous parlons des améliorations les plus importantes qui se sont produites depuis lors - je pense qu'elles sont liées à ces difficultés, c'est-à-dire la restructuration qui a eu lieu en relation avec Marshmallow, l'émergence de nouveaux outils, ConstraintLayout. Il y avait une opportunité d'écrire des applications sympas, sans tout créer à partir de zéro, et c'était très important.
- Autrement dit, le changement le plus tangible est qu'il existe une base pour les applications, les outils nécessaires pour l'interface utilisateur et des cadres pour l'interface utilisateur comme la conception de matériaux?- Probablement oui. D'une manière générale, tout cela existait depuis le tout début, mais c'était très difficile à travailler. De plus, Android est toujours comparé à iOS, et là, il était toujours relativement facile de créer de très belles applications, avec presque aucune expérience. Et pour créer une application Android de haute qualité, vous devez consacrer beaucoup de temps à devenir un expert. Maintenant, c'est devenu plus facile.
- Pourquoi avez-vous initialement choisi Android? Comme iOS était plus facile, vous pouviez y aller ou pas du tout dans le développement mobile.- J'ai commencé à m'engager dans les applications mobiles parce que c'était un domaine complètement nouveau, j'étais intéressé à y arriver - à cette époque, il y a eu un départ des téléphones, des «composeurs». De plus, iOS a fait exploser une société arrogante, et Android l'est, pensez à Linux. iOS, bien sûr, ressemble également à Unix, mais Android est beaucoup plus proche de Linux. Et je suis un développeur open source, j'ai Ubuntu sur mon ordinateur portable, donc Android était plus proche de moi, je voulais l'aider à atteindre sa maturité. Et ma connaissance de Linux m'a aidé dans les premiers stades de développement pour Android - quand quelque chose ne fonctionnait pas, je pouvais toujours aller au niveau Linux et y résoudre moi-même le problème.
- Vraiment? Quand j'ai commencé à travailler sous Android (c'était la version 1.6), pour commencer à travailler, j'ai dû installer le SDK Android, IntelliJ IDEA, puis lire le manuel et le code. Quels problèmes spécifiques avez-vous résolus via Linux?- Le plus différent. Par exemple, quand, avant l'avènement de NDK, nous avions des problèmes graphiques, j'écrivais certaines parties sous OpenGL, parce que je connaissais bien cela. J'ai pu résoudre des problèmes avec certains appareils survenus au niveau du pilote. Comprendre le fonctionnement du système a permis de nombreux piratages.
- Vous avez donc beaucoup de travail de bas niveau?- A cette époque, il y en avait beaucoup. Je me spécialise dans les plateformes non standard pour Android - J'ai dirigé la création de systèmes pour les plateformes qui n'étaient pas installées sur les téléphones standard. Avant Samsung NEXT TLV, j'ai travaillé chez Vidmind, où j'ai dirigé le groupe de clients et, entre autres, nous avons créé notre propre projet pour Smart TV et STB avec Hisense basé sur Android. Donc mes responsabilités incluaient le développement à partir du niveau Linux.
- Il s'avère que votre expérience a facilité votre développement sur Android. Parlons maintenant de votre travail avec le GDG en Israël et plus précisément à Tel Aviv. Que pouvez-vous nous dire sur la communauté là-bas? Est-il nombreux, que fait-il?- Maintenant, le GDG en Israël est beaucoup moins actif. La plupart des développeurs les plus talentueux ici sont engagés dans les technologies cloud, l'intelligence artificielle, les blockchains. Mais il existe une très grande communauté active et performante impliquée dans le développement mobile - Android Academy. L'Académie a été fondée par Jonathan Levin avec d'autres partenaires.
"Nos lecteurs connaissent bien Jonathan parce qu'il a beaucoup parlé lors des conférences Mobius précédentes." Et comment êtes-vous connecté avec lui et avec Android Academy? Les aidez-vous?- Autant que possible. Nous développons maintenant une série de rapports et de séminaires que je dirigerai l'année prochaine dans le cadre de cours avancés à Android Academy. J'ai une longue amitié avec eux et j'essaie de les aider autant que je peux - par exemple, j'ai mené des hackathons, et grâce au fait que je travaille chez Samsung NEXT, ils ont eu lieu plusieurs fois dans les bureaux de cette unité.
- À quoi seront dédiés vos séminaires à Android Academy?"Nous n'avons pas encore décidé." En règle générale, j'enseigne quelque chose que je connais bien moi-même. Ce sont généralement les problèmes les plus ennuyeux et techniques, le plus souvent de bas niveau - la cybersécurité, les bases de données Android, la mise en cache correcte des informations, l'utilisation correcte du GPU, etc.
- Dites-nous, s'il vous plaît, qu'est-ce qu'Android Academy exactement? Nous l'avons organisé plusieurs fois à Saint-Pétersbourg, et je ne sais pas si c'est à Moscou, alors peut-être que nos lecteurs seraient intéressés de savoir de quel format il s'agit, s'il y a des cours, des réunions ou autre chose ?- Jonathan est beaucoup plus impliqué dans Android Academy que moi, donc c'est un peu inhabituel pour moi d'en parler. Mais en général, c'est une communauté très active, ouverte et amicale. Ils dispensent des cours comme Udacity, certains d'entre eux sont d'entrée de gamme, d'autres sont consacrés à des domaines plus avancés, par exemple, le multithreading, le graphisme, l'animation. Ces cours sont gratuits et ouverts à tous.
- Recommanderiez-vous de suivre des cours Android Academy en Russie?- S'il est similaire à Israël - oui, bien sûr.
- Pour autant que je sache, Jonathan essaie d'exporter le modèle israélien, c'est-à-dire de rendre le Russe aussi similaire que possible à l'Israélien. Passons maintenant à votre travail. Tout le monde sait ce qu'est Samsung - une énorme entreprise qui s'occupe de tout dans le monde, de la construction aux smartphones. Et qu'est-ce que Samsung NEXT et quel est votre rôle là-bas?- Samsung NEXT est le département innovation de Samsung. Nous ne sommes pas entièrement intégrés dans Samsung Electronics et nous nous spécialisons dans les logiciels. Nous avons une division de produits qui crée des logiciels avancés dans le domaine de l'informatique de pointe, de la réalité augmentée et de l'intelligence artificielle.
Mais 90% de ce que nous faisons ici en Israël est un investissement en capital-risque, et je remplis les fonctions de responsable de notre fonds (bien que je ne le sois pas). Nous investissons dans des startups à des stades allant du pré-amorçage au B, pour des montants allant jusqu'à 3 millions de dollars. Nous les évaluons sur la base d'investissements financiers, c'est-à-dire que nous ne sommes pas des investisseurs stratégiques, une autre division, Samsung Ventures, est engagée dans ce domaine, et ils font un excellent travail. Nous avons une stratégie différente, nous investissons à des stades antérieurs et n'investissons que dans des logiciels. En outre, nous investissons sur la base de critères financiers, mais en même temps, nous investissons dans les startups qui pourraient avoir une importance stratégique au cours des 2 à 10 prochaines années, même si Samsung n'a pas encore de produit dans ce domaine.
Par exemple, nous avons investi dans une startup appelée StreamElements, ils fournissent aux streamers des outils pour recruter, augmenter et monétiser l'audience. Samsung n'a pas de produits dans ce domaine, donc cet investissement ne peut pas être qualifié de stratégique. De plus, un investisseur stratégique n'investirait jamais dans des startups au stade de pré-amorçage. Nous avons décidé d'investir, car nous avons vu comment cette startup est monétisée. Mais en même temps, il ne peut pas être exclu qu'à l'avenir Samsung soit impliqué dans le domaine des jeux informatiques, et si cela se produit, alors StreamElements sera d'une grande importance stratégique.
De plus, en Israël, mon poste est responsable des relations avec les écosystèmes. En fait, j'ai trouvé le nom du poste moi-même, je l'ai pris du plafond. Les connexions aux écosystèmes sont généralement comprises comme, par exemple, les événements que Google organise pour mieux présenter la communauté à ses produits. Et la gestion de communauté, c'est quand vous avez votre propre communauté dans laquelle vous organisez vos événements. Je ne fais ni l'un ni l'autre, mais en même temps je fais un peu des deux. Je suis un évangéliste pour des technologies que je n'ai pas créées moi-même, car Samsung NEXT ne développe rien, c'est une entreprise à risque. Nous faisons notre travail gratuitement et sans imposer d'obligation, simplement parce que nous voulons aider les gens - en cela, nous voyons notre mission. Nous n'avons pas notre propre communauté, nous travaillons en partenariat avec d'autres communautés et les aidons. Nous le faisons, premièrement, parce que nous sommes de bonnes personnes, et deuxièmement, parce que plus la tarte (c'est-à-dire la communauté) est grande, plus tout le monde ira à tout le monde, y compris nous. Ainsi, en fin de compte, nous en bénéficierons également, c'est-à-dire, essentiellement, de notre part, le parrainage.
- Parlons des startups dans lesquelles vous investissez. Évaluez-vous uniquement leur conception, leurs logiciels ou, en plus de cela, effectuez-vous également une évaluation technique de l'architecture, des processus, etc.?- De différentes manières, selon le stade de démarrage. Une startup n'est pas une idée. Il y a de grandes idées avec une mise en œuvre effrayante et vice versa. Dans l'ensemble, je suis en charge de la partie technique des inspections, mais nous regardons également l'organisation de l'entreprise. Tout ne se résume jamais à une idée, nous la regardons et la mise en œuvre.
- Quel est le plus intéressant dans un tel métier? Rencontrer de nouvelles personnes, rencontrer de nouvelles idées, une opportunité de voir les technologies du futur?- Oui, j'aime la recherche de nouvelles personnes - ce sont généralement des gens très intelligents et enthousiastes avec de bonnes idées. Mais la chose la plus précieuse est l'occasion de se plonger dans de nouvelles technologies pour lesquelles je n'avais pas le temps auparavant. Lorsque je dirigeais une équipe de 45 développeurs de Serbie, d'Ukraine, de Chine et d'Israël, je n'ai pas eu le temps d'expérimenter Firebase, l'apprentissage automatique ou la vision par ordinateur. Tout ce que j'ai fait était orienté à très court terme. Et maintenant, je peux me permettre de me plonger dans les nouvelles technologies du fait qu'elles sont recherchées par les entreprises dans lesquelles nous sommes engagés - j'ai besoin de ces connaissances pour évaluer correctement les projets que nous connaissons.
- C'est-à-dire que vous étiez auparavant impliqué dans l'organisation du développement, mais maintenant vous faites quelque chose de plus innovant, et vous avez le temps d'explorer l'horizon des nouvelles technologies. Cela semble vraiment intéressant. Ce travail présente-t-il des inconvénients?- Bien sûr - moi-même, je ne crée rien directement, mais j'évalue seulement si quelqu'un d'autre peut faire ce qu'il prévoit, et parfois je fournis de l'argent et de l'aide. Ici, des sensations complètement différentes, un retour sur le travail différent. J'aime vraiment le processus de création lui-même, et plus précisément ce sentiment n'est pas là. Ceci est un inconvénient.
- Avez-vous un projet que vous faites pendant votre temps libre?"Oui, bien sûr." Vous ne pouvez pas expérimenter avec de nouvelles technologies, sans rien collecter vous-même. Il y a un projet sur lequel je travaille depuis un certain temps.
- Pouvez-vous nous parler de lui?- Comme je l'ai dit, je voulais expérimenter la vision par ordinateur et l'apprentissage automatique. J'ai écrit une petite application Android qui communique avec Firebase et utilise TensorFlow sur l'appareil lui-même et dans Firebase. J'ai installé cette application sur mon ancien téléphone et l'ai mise dans ma salle à manger. Il a vérifié la présence de personnes dans la pièce et, si quelqu'un l'a découvert, a tourné une vidéo. Et je dois dire que ma femme n’éteint jamais la lumière. Par conséquent, le but de l'application était de prédire si une personne éteindra la lumière lorsqu'elle quittera la pièce et, si elle ne l'éteint pas, d'envoyer un rappel au téléphone.
Le plus drôle, c'est qu'après quelques semaines, il a commencé à fonctionner - drôle parce que l'application, en général, n'est pas trop intelligente. Il vient d'envoyer un rappel chaque fois que ma femme était dans la pièce, car elle n'éteint jamais la lumière et je l'éteins toujours. Autrement dit, ce n'était pas très intelligent, mais c'était drôle qu'il puisse nous distinguer, c'est-à-dire qu'il a créé sa propre logique, que je n'ai pas écrite.
- Oui, ça a l'air très cool. Résoudre les problèmes domestiques à l'aide des nouvelles technologies.- En fait, je voulais voir si je pouvais vraiment écrire quoi que ce soit avec cette technologie, et pas seulement lire l'article et me dire que c'est probablement réalisable.
- Dites-moi, quel événement de votre vie professionnelle vous a apporté le plus de satisfaction?- Il y a beaucoup de choses à dire. Je pense que le plus grand honneur pour moi a été de participer à Google I / O en tant que conférencier il y a deux ans. Je suis également très heureux que chaque année mon adhésion au programme GDE soit confirmée. Donc, dans ma carrière, il y a beaucoup de points pour lesquels je me considère chanceux. Mon exemple prouve que toutes les erreurs imaginables peuvent être commises et réussir. J'ai été expulsé de deux universités lorsque j'ai commencé à travailler sur Android. Android était alors un système lent avec beaucoup de plantages, et c'est à cette époque que le boom iOS a commencé. De plus, la start-up que j'ai dépensée a dépensé 30 millions d'euros et a fait faillite. L'échec a succédé à l'échec, et pourtant je me sens réussi car tous ces événements m'ont permis de grandir.
- Je crois que vous ne pouvez pas réussir sans faire d’erreurs. Et si les erreurs sont importantes, vous pouvez en apprendre beaucoup. Ma prochaine question concerne votre prochaine conférence Mobius sur la «force G (PU)». De quoi voulez-vous parler exactement? Quel problème voulez-vous résoudre?- Si vous développez pour OpenGL, par exemple, pour l'écriture de jeux, vous avez une certaine idée de la façon d'utiliser le GPU et de ce qu'il faut faire s'il ne se comporte pas comme il se doit. Si vous écrivez sous Android, alors lorsque votre code est méchant, vous ne savez pas si cela est dû à votre erreur, à des problèmes avec le processeur ou parce que vous utilisez le GPU de manière incorrecte. Le rapport est basé sur des cas réels tirés de l'expérience de la société pour laquelle j'ai travaillé auparavant - Vidmind, ainsi que sur plusieurs cas que j'ai spécifiquement regardés pour voir si quelque chose avait changé au cours des trois dernières années. Nous avons constamment connu les échecs les plus incroyables et nous ne pouvions pas comprendre pourquoi. Ce n'est que bien plus tard que j'ai réalisé que nous n'utilisions pas correctement le GPU. Dans le rapport, je vais également expliquer comment corriger ces erreurs et suggérer des règles que les développeurs Android pourraient utiliser pour éviter ces problèmes.
Bien sûr, avec de nouveaux outils, sur de nouveaux appareils et de nouveaux systèmes d'exploitation, il devient plus facile de travailler. Mais la plupart des développeurs ne sont pas en mesure de créer des programmes exclusivement pour les derniers appareils, il y a donc une tendance à écrire des applications qui fonctionnent très mal sur tous les appareils. La plupart de ces difficultés sont liées à la mise en œuvre du GPU. Si vous avez une idée de ce qu'Android attend de vous à différents niveaux d'API, vous pouvez écrire une application qui fonctionnera à merveille, peu importe où elle est déployée.
- Autrement dit, votre idée est qu'il est important pour un développeur Android professionnel de savoir comment fonctionne le GPU, ce que le GPU attend de lui.- Oui. Bien sûr, après ce rapport, vous ne pourrez plus dire: "Maintenant, je peux faire quelque chose que je ne connaissais pas auparavant". Je montre des exemples de la façon dont le GPU est intégré dans l'écosystème Android. Sachant exactement ce qui doit être testé, vous pouvez créer une application qui fonctionnera toujours magnifiquement, et je veux le démontrer.
- J'espère que cela sera très utile à nos lecteurs. En fin de compte, je voudrais demander - que souhaiteriez-vous aux participants à la conférence?- Je voudrais en apprendre beaucoup sur la technologie et sur les autres. Personnellement, je fais, en règle générale, très peu de rapports - ce qui, bien sûr, est beaucoup d'ironie, car ma carrière, en général, est basée sur la prise de parole en public. Mais pour moi, les rapports de visite ont toujours été plutôt une source d'inspiration. J'écris quelques phrases clés, puis j'essaye de collecter quelque chose par moi-même pour comprendre si j'ai bien compris le locuteur. , — , , . , , .
Mobius , . 8-9 .