Silicon Valley Code Camp : October 19 & 20, 2019

Mohit Goenka

Verizon Media (Yahoo Mail)
About Mohit
Mohit is currently the engineering lead for Yahoo Mail's Android client, one of the largest consumer applications in the Verizon Media ecosystem. During his eight years’ tenure at the company, he assumed different roles as a web developer, product manager and engineering manager, and received numerous recognitions by winning multiple hackathons and CEO Challenges. He was also the recipient of prestigious Yahoo Super Star award in 2015 for his individual contributions and Master Inventor award in 2018 for extensive number of patent filings. Earlier, he graduated from the University of Southern California (USC) with a Master's of Science degree in Computer Science. His thesis emphasized on Game Theory and Human Behavior concepts as applied in real-world security games. What adds feather to his cap are Mohit’s poetic skills. Some of his works are part of the University of Southern California Libraries archive under the cover of The Lewis Carroll Collection. When not coding, Mohit spends his time exploring new cities, playing Cricket or developing strategies on winning his latest board game adventure.
{speaker.firstName} {speaker.lastName}

Speaking Sessions

  • Agile Delivery of Large Scale Android Applications

    11:00 AM Saturday   Room: Shoot The Breeze

    Continuous Delivery (CD) is the ability to get changes of all types including new features, configuration changes, bug fixes and experiments into production, or into the hands of users, safely and quickly in a sustainable way. In order to be agile, we would need to ensure that developer productivity is not hindered and not much time is spent on manual processes to push changes out. Keeping this in mind, the following principles act as pillars for designing and developing the delivery pipeline for large scale Android applications:

    * Automated deployment to the Google Play Store
    * Unified APK
    * Staged deployment

    Automated deployment to the Google Play Store: Automated deployment to Google Play Store is supported by the use of Triple-T Gradle Play publisher plugin. This allows the upload of platform specific versions, removing the manual labor of uploading them one by one.

    Unified APK: While Google Play Store allows developers to ship various versions of their APKs to different environments, it also provides mechanisms to promote one APK from one environment to another. For large scale applications, differentiating between alpha, beta and production sets the bandwidth to better rollout in stages.

    Staged deployment: Staged deployment is necessary for the application, as it allows for options to halt the rollout as needed. This is extremely important, as rollbacks in apps are much harder to do, especially if there are databases involved.