Tech Talks vol.42 – Android App Engineer

2024.08.07

About Tech Talks

In the Tech Talks series, we’re excited to bring you the unique culture and perspective of the PayPay Product Team with members representing diverse backgrounds from approximately 50 countries around the world.
In this issue we sat down with Mao-san, an Android App Engineer on the App Operation team, which spearheads improvements for the consumer-facing app.

Mao Yufeng

App Operation team, Technology Department, Payment Product Division, Product Group

Having honed his engineering skills since his student days, Mao-san joined CyberAgent, Inc. in 2019, working on Android app development using Flutter in the media business. In 2023, he joined PayPay, where he now focuses on release management and performance enhancements for the Android app.

Ensuring Stable App Releases

What’s the mission of the App Operation team?

The mission of the App Operation team is to ensure smooth weekly app releases, whether it’s related to new features, maintenance, or design improvements, to enhance the quality of our iOS and Android apps. My role within the team is to apply improvements to the Android app, ensuring a seamless user experience.

Can you tell us about your current projects?

One key project I’m working on is the “App Performance Improvement Project,” which is detailed in an article by our project leader, Uno-san. This project aims to boost user satisfaction and convenience by improving the launch speed and screen display speed of our consumer-facing app. First, understanding the actual state of app performance, we work on improving the speed in these two areas so that the improvements can be felt by the user.

In driving the project, I was responsible for improving the launch speed of the Android app. Based on the results of the data measure, it was deemed to be a high-priority issue as the launch speed for Android was relatively slow.

Launch Speed Improved by 51% Using New Tech

What was your approach to improve the launch speed?

One major step was integrating “Baseline Profiles,” a tool Google released in 2021. This method pre-compiles key methods before app launch, significantly boosting speed. We decided to implement this solution as we anticipated substantial benefits.

The concern that we had, though, was how the new tech would impact existing systems. The QA team quickly and thoroughly tested it, ensuring smooth integration even into existing products, resulting in a 20% improvement in launch speed.

It sounds like you’re quick to adopt new technology.

Absolutely. PayPay fosters an environment where app engineers can experiment with new tech. Choosing and implementing cutting-edge solutions that address challenges is incredibly rewarding.

Another approach involved using Android Studio’s “CPU Profiler” to optimize our code. This tool, frequently updated at Google’s annual “Google I/O” event, allows us to stay on top of tech trends. We actively share and discuss these updates in a dedicated Slack channel.

What were the challenges in this project?

One challenge was testing with mid-range or lower-end Android devices, which generally have slower processing speeds. As I’m used to high-end environments, this was a bit frustrating.

However, since over half of our users use mid-range or lower-end devices, it was essential to test in a user-like environment to truly enhance user convenience. To improve user convenience, we, as Android app engineers must constantly think about how to approach our work. I always kept this in mind in a positive way, and the experience taught me the importance of seeing the service from the user’s perspective.

There were also hurdles with the CPU Profiler. Initially, I misidentified the target for optimization, which led to no visible improvement. However, after sharing the issue in our Slack channel, team members voluntarily assisted with further tests. With their support, we re-evaluated the code execution order and targeted different areas, ultimately resolving the issue.

What do you aim to achieve as an Android App Engineer?

As of May 2024, we’ve improved launch speed by 51% year-over-year. Now, we’re focusing on “TTFD” (Time To Full Display), the time it takes for the app to be fully usable by the user, so that the improvements we make can actually be felt by the user.

Additionally, there’s a two-week lag in performance measurements post-release, which means it takes at least a month to make improvements to the launch speed. To address this, we’re setting daily benchmarks and creating a dashboard to expedite data collection and app improvements, iterating through shorter cycles.

Any message for the readers?

PayPay excels not only in developing new features and adopting new technologies but also in thorough refactoring. We invest resources in both visible enhancements and meticulous source code improvements.

With over 64 million users, we deal with a massive amount of transaction data and functionalities. It’s challenging to aim for a Japanese-born super app, but as a PayPay user myself, seeing the improvements in daily life is a huge motivation. Other engineers often comment on the enhancements, reflecting the high level of interest.

For engineers looking to make an impact and thrive in a challenging environment, PayPay is the place to be. Join us in shaping the future!

Current job openings

*Job openings and employee affiliations are current as of the time of the interview.

Category