Only two days are left before the
DevFest North conference organized by the Google Developer Groups of
St. Petersburg and
Petrozavodsk . And until September 29, 23:59 you can still
buy tickets and become part of a cool IT event!
We have already published a description of the reports in the
previous article , but today we decided to introduce you to the person who will hold the opening keynote -
Royi Benyossef - and interview him
briefly .
Royi benyossef
Google Developer Developer Android
Samsung Next
Tel AvivRecall, Royi on DevFest North will talk about how you can use the capabilities of your device (including its sensors) and will show some UX techniques in order to improve the performance and usability of your application.
- We all remember the problems faced by the developers of applications for the initial versions of Android: idle emulators, the lack of recommendations for the development of Google, an insufficient number of tools and more. You have been working with Android since its first versions. Can you tell us about your development experience at this time?
It seems that it was so long ago that it is difficult to believe what it was. However, you are right, the conditions and tools can truly be called spartan compared to what we have now.
')
My first project was very unusual, if we talk about it today. We developed an information system for public transport with a touch screen, but we did not have any ready-made devices (and emulators) for this. For development, we essentially took something with a touch screen (the quality of which also left much to be desired), compiled AOSP and downloaded it. We can say that we made the first tablet with AOSP (although, of course, we could well not be the first).
It is clear that at that time there were no well-established approaches to the development or recommendations, so the entire development revolved around enthusiasts and experimenters who constantly researched something new and exchanged information with each other.
- It’s good that those times are over! The Android platform is developing very fast. What do you think are the most important changes over the past three years?
My answer may seem strange, but I think that the most important changes in the development ecosystem are releases of support libraries for testing, in particular Espresso. Probably, manual testing of applications is the longest and most expensive part of development.
Automation tools help to significantly reduce the dependence of developers on manual testing and speed up the process of releasing new versions of applications (DevFest North will have an excellent report on the details of testing processes from Bogdan Mukvich - note. Ed.)
- You also have a wealth of iOS development experience. Can you compare these platforms from the point of view of the developer and tell you which features or tools do you like the most?
I don’t like to make such comparisons, but if you insist, I can say that in general, Android development provides more options, but here you can come up with such a metaphor that when developing for Android, you have more ropes, but you can suddenly understand that they have become a noose around your neck! On the other hand, the integration of design in iOS is an easier process, but the development of IDE and libraries (in particular, ConstraintLayout) aligns these platforms.
- Cruel metaphor! What do you think about cross-platform development tools? Can React Native take over the world?
In principle, if a UI / UX application is not very demanding, then, of course, the development of a cross-platform application will be cheaper (approximately 1.5 times the cost of developing an application for one platform). Therefore, frameworks like React can be quite useful.
However, it is very difficult to write a cross-platform application whose UX will not yield to native applications. In addition, such developers are still significantly less. Therefore, if you want to somehow reduce costs, you can try to go the other way. If you hire very good developers and use testing automation tools (the importance of which I mentioned before), then we can reduce the time and cost of manual testing, as well as reduce the number of bugs. And ultimately, this will reduce the cost of s / n, which are key during the development.
- And what recommendations can you give to beginner Android developers to enhance their skills?
Honestly, I'm not very good at theoretical training for Android developers, since I mainly studied various blogs, looking at Github code and questions on StackOverflow, when many modern resources were not yet available. As one of the options to start with, these are courses on Udacity, they will help you understand the basics and get involved in development. However, you can only become a really good developer after you have not been a very good developer for a long time :) And there are no other ways. Write your projects, learn the tools, the Android framework and libraries, chat in forums and forums, become part of the community. And after you make 2-3 good projects, you will have both the necessary experience and the portfolio.
- How then, after reaching a certain level, do not stay aside from current trends, if the working draft does not require any new skills?
Of course, there is always the risk of “getting stuck” at a certain level, when current knowledge is more than enough to work on a project. However, you should always try to be on the wave, for this it is easiest to follow the blogs of famous developers, such as Romain Guy, Chet Haas, as well as blogs and speeches of Google Developer Experts.
- And the last question about development - how to increase your level to experienced developers and how to achieve the honorary title of senor?
Firstly, it is necessary to develop your project - it allows you to learn something new that you don’t do at work, and besides, you can easily design a feature in your project to try some kind of library or approach. And secondly, an important part of development is public speaking and the ability to share knowledge with the community (this way you will deeply study some technologies, as this is necessary in order to teach others). You can speak at a variety of venues - conferences and meetings, in particular, held by the GDG-communities, reports within the company and so on.
- Thanks for answers! Can you give some advice to all Android developers at the end of our conversation?
Today, many people are already able to develop simple Android applications; this is essentially a stream. And now is the perfect time to expand your horizons, work with the backend, cloud services (Google Cloud / Firebase) and machine learning, since the future lies precisely in these technologies. Moreover, there are more than enough opportunities for this - we can easily use the services of Google, AWS, MS and many others.
Thank you Royi for the answers!
There are many more cool speakers invited to DevFest North with whom you can get acquainted at the conference.
We are waiting for you at DevFest North on September 30 at the congress center “PetroCongress”.
The conference will be held from 10-00 to 19-00.
Registration starts at 9-00.
Read more on the
DevFest North 2017 website!