Google Wallet Android Applicaiton

Summer 2017 [Completed]

Links

About: https://www.google.com/wallet/

Google Play Store: https://play.google.com/store/apps/details?id=com.google.android.apps.gmoney

Overview

I interned at Google this past summer as a Software Engineering Intern on Google Wallet's Android team. I wrote software mainly in Java to build a new feature which should be fully launched in the Wallet Android application in the future. Along the way, I not only worked both in the client codebase and the server code base, but also pushed edits within other Google product repositories. My understanding and persepctive of large code bases is a lot more thorough now, and my confidence with Android development and general programming concepts has increased significantly.

Takeaways

I learned Android testing techniques and frameworks, such as Robolectric and Mockito. I am also now experienced with Google's Protocol Buffers. My understanding and knowledge of Google's Material Design specifications also grew tremendously, as my project required me to pay close attention to those details.

I was also completely unfamiliar with remot procedure calls (RPC) and the publish subscribe pattern (PubSub), but this project required me to learn frameworks (internal to Google) to fully implement these techniques.

Wallet adheres to internationalization and localization in its products, so along with proper Android and Java coding styles, I made sure my code fit with Google's i18n and l10n procedures.