android Software Development
Tbilisi, T'bilisi, Georgia
Software Engineer with 8 years of experience, specializing in Android. An active contributor of AndroidX libraries. He is a fan of all things in software engineering. Out of work, Merab maintains an active podcast about work ethics and career growth, writes tech blogs. He is a GDG organizer and speaker at international meetups/conferences (DroidCon, DevFest, OWASP) and beyond. Community builder. Does 1:1 mentoring. Alongside his technological pursuits, he is an amateur cyclist and runner.
https://www.droidcon.com/media-detail?video=491027100 - droidcon APAC 2020
https://youtu.be/LLtzvEDqedM - DevFest Tbilisi/Vienna/Yerevan 2019
https://youtu.be/9DVg2XymmSI?t=375 - Nullcon 2021
https://youtu.be/KUzIGjxoMO0 - Software Development Webinar 2020
https://youtu.be/LwEPvOx-2fU - OWASP Tbilisi 2020
Common questions - what, how, why?
What are Huawei Mobile Services(HMS) and Huawei App Gallery? How to apply to our application in a most efficient way. Reviewing alternative libraries of Google Play services from HMS. Why do we need to support another platform as a business and what are the best ways to overcome this difficulty? Is it HMS or platform-agnostic 3rd party services like OpenStreetMaps? This talk briefly covers all of these topics
Audience: Mid-level developers and up
This talk aims to understand how Gradle dependency resolution works. What happens when Gradle finds conflict and what type of conflicts Gradle can define. How to resolve accidental dependency version upgrades and prevent them in the future. Bonus part: Google provides StrictVersionMatcher Gradle plugin for Firebase and Google Play services to prevent version conflicts for its libraries.
Target audience: MIddle and upper-level Android engineers.
Session duration: 25mins
Review of Android's UI testing framework - Espresso. How software developers can utilize it and test automation engineers as well. Scaling from the laptop to the CI environment and sharding. All of these require solid tooling support. and stability. Demonstrating the power of Android Studio and test recorder. In the end, reviewing the challenges - topics that are hard by default to test on the Android platform for test automation and manual QA.
The talk is intended for beginner and middle Android devs and test automation engineers
Android reverse engineering & malware injection. As Android engineers, we often like tinkering with the platform and for us, it is much easier to recognize some patterns while analyzing malicious code which gives us a huge advantage. This talk aims to explore the basics of reverse engineering, trending tools. How to decompile, disassemble the application, how to find malicious code snippets, and what are the possible pitfalls. Difference between static and dynamic analysis. A little bit about Smali and DEX compilers. We will have 2 live demos. First: show how to reverse engineer an application and second: at the end of the session, we will decompile APK, plant malicious code, repackage again and install it on the device to test it for educational purposes. Also will provide some introductory info on what is the Catch The Flag challenges and how we can practice.
Advanced talk, 30 and more minutes. Available demos. 45 minutes perfect
droidcon APAC - https://www.droidcon.com/media-detail?video=491027100
OWASP Tbilisi 2020 - https://youtu.be/LwEPvOx-2fU (Georgian)
Defend against the impossible, because the impossible will happen!
How to avoid common errors in the code and how to master this discipline. Will try to show good and bad examples achieving safe and cleaner code. But there is another extreme part of this: overly defensive code, too much defensive code, I'm going to underline this thin line between defensive and extremely defensive code. Bonus: From my experience, most FinTech Android applications nowadays do it wrong when it comes to money so we will try to fix it
DevFest Tbilisi 2019, DevFest Vienna 2019, DevFest Yerevan 2019 - https://youtu.be/LLtzvEDqedM
Mobile DevOps is a modern approach that enables seamless application delivery from testing to production. Modern agile teams need fast iterations and short feedback loops and CI/CD is what technology enables that. The role of the mobile developer has changed, from only being able to code to be able to build and provide an engineering solution. Now developers are required to have DevOps skills in their skillset, that way it makes life easier not only for QA but for the whole team, deploying and delivering applications with a breeze.
This talk highlights the processes that mobile teams need to have if they want to ship apps faster. How to sustain a high cadence of rollouts and yet stay productive as a team member. Working with a large codebase requires correct tooling and discipline which some teams lack. From lint tools to CI to security measures and to developer happiness this talk highlights the main aspects of them. How individual contributors can remove bottlenecks, how to analyze errors, forming shared code style, work with git hooks, tuning IDE, and creating a working framework for the teams.
target audience: from beginner to intermediate.
duration: 30-40 minutes