Taro Logo

I improved a complex library integration to reduce crashes and memory leaks - Was it worth it?

Profile picture
Anonymous User at Taro Community2 years ago

I improved a complex library integration in our app, which reduced our amount of crashes and memory leaks by X amount. I can pull some concrete numbers from the Play Console and Firebase dashboards to back this up.

However, I'm wondering if the overall business even cares about these memory leaks and crashes. For context, the feature worked fine overall prior, evidenced by the fact that there were no real user complaints about it.



  • 0
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago
    • Don't use manual user feedbacks as a measuring stick: The percentage of users who report issues is extremely low. Users, like all of us, are busy and lazy, so 99%+ of users will just exit their session or uninstall the app if they don't like an app experience.
    • Crashes > Memory Leaks when it comes to impact. Crashes are very painful and obvious to the user. Memory leaks are latent until the user's device starts running low on memory, and they tend to be extremely painful to fix.
    • For crashes, you can try wrapping them within an A/B test to measure user expect, keeping an eye on average time spent per user in particular.
    • The bare minimum for crashes is 99% crash-free. If you need a metric to goal against, you can use that.
  • 2
    Profile picture
    Staff SWE at Google, ex-Meta, ex-Amazon
    2 years ago

    Capture the data, slice it by daily, monthly, and annually, and put it in your review. If you can, get real or approximate data on total, lifetime impact of these issues.

    It was worth it, but that doesn’t mean you’ll be recognized for it. You are a better engineer and leader for having done it. Present it to your team or write a blog post or socialize however you need to. Show your techniques, and see if you can come up with static analysis rules to prevent it in the future, or at least raise awareness to try to catch in CR (but I mean… that’s relying on intentions).

    If people don’t care about user experience, that’s a whole separate problem. I would try to drive this to be a key performance indicator, put it on a dashboard, and harp on it. It is eroding trust and user affinity for your product, even without user complaints.

    Hopefully solving problems is its own reward for you, but I do understand concrete recognition would be nice. You may need to balance this kind of thing with more concrete business deliverables, but try to leverage on-call shifts or some fixed % of time for this.

    I wouldn’t get too discouraged. This attitude and example will serve you in interviews and future work.