Edit product

Building Mobile Apps at Scale: 39 Engineering Challenges

I've been noticing how while there's a lot of appreciation for backend distributed systems challenges, there's a lot less empathy for why mobile development is hard when done at scale. Building a backend system that serves millions of parallel customers means building highly available and scalable backend systems and operating these reliably. But what about the mobile clients for these systems?

See MobileAtScale.com for launch discount pricing (getting the PDF version for free) and more details on the contents of the book.


Contents

Building Mobile Apps at Scale: 39 Engineering Challenges

PART 1: Challenges Due to the Nature of Mobile Applications 

1. State Management

2. Mistakes Are Hard to Revert

3. The Long Tail of Old App Versions

4. Deeplinks

5. Push and Background Notifications

6. App Crashes

7. Offline Support

8. Accessibility

9. CI/CD & The Build Train

10. Third-Party Libraries and SDKs

11. Device and OS Fragmentation

12. In-App Purchases

PART 2: Challenges Due to App Complexity

13. Navigation Architecture Within Large Apps

14. Application State & Event-Driven Changes

15. Localization

16. Modular Architecture & Dependency Injection

17. Automated Testing

18. Manual Testing

PART 3: Challenges Due to Large Engineering Teams

19. Planning and Decision Making

20. Architecting Ways to Avoid Stepping on Each Other’s Toes

21. Shared Architecture Across Several Apps

22. Tooling Maturity for Large Engineering Teams

23. Scaling Build & Merge Times

24. Mobile Platform Libraries and Teams

PART 4: Languages and Cross-Platform Approaches

25. Adopting New Languages and Frameworks

26. Kotlin Multiplatform and KMM

27. Cross-Platform Feature Development

28. Cross-Platform App Development versus Native

29. Web, PWA & Backend-Driven Mobile Apps

PART 5: Challenges Due to Stepping Up Your Game

30. Experimentation

31. Feature Flag Hell

32. Performance

33. Analytics, Monitoring and Alerting

34. Mobile On-Call

35. Advanced Code Quality Checks

36. Compliance, Privacy and Security

37. Client-Side Data Migrations

38. Forced Upgrading

39. App Size 

Growing as a mobile engineer

70 pages on growing to senior and above levels as a mobile engineer, at tech companies. During my time at Uber, I've helped with 10+ mobile engineering promotions in my org, 3 of these to above senior levels. I've sat on multiple promotion committees and mapped out promotion paths all the way to staff for iOS or Android engineers. How do you break the senior and above glass ceiling, when you specialize in iOS and Android?

PART 1: Growing as a Mobile Engineers

1. Map Out Opportunities to Grow

2. Typical Mobile Engineering Level Definitions

3. Professional Growth Versus Promotions

4. Mentoring

5. Changing Jobs

6. Down-Leveling When Changing Jobs

PART 2: Growing to Senior

7. Master Your Main Stack

8. Get Familiar With the Other Stack(s)

9. Become More Product-Minded

10. Get More Feedback

11. Lead a Full-Stack Project

12. Ask For That Promotion

PART 3: Beyond Senior Levels

13. The Challenge of Moving Beyond the Senior Level

14. The “Glass Ceiling” for Mobile Engineers

15. Go Broad or Go Deep

16. Understand the Business and Get Involved

17. Quantify Your Impact

18. Connect with Industry Peers

19. Public Writing and Speaking

20. Leaving Mobile Engineering to Further Your Career

21. It’s Not Meant to Be Easy

PART 4: Mobile Engineering Management

22. Mobile Platform Teams

23. Mobile-Only Career Limitations for Managers

24. Advocating for Senior+ Mobile Engineering Roles

PART 5: Mobile Learnings From My Time at Uber

25. Platforms and Programs

26. What Good Mobile Architecture Looks Like

27. Hundreds of Mobile Engineers Working Together

28. I’m Actually Not an Android / iOS Engineer

29. Core and Optional Mobile Code & Modules

30. Mobile Oncall

It’s All Software Engineering


Refund policy

If you're not happy, I'm not happy. Don't get what you expect? Email me at scale@pragmaticengineer.com and I'll issue a refund.


Checkout

Building Mobile Apps at Scale: 39 Engineering Challenges

Enter your info to complete your purchase of Just the PDF version

Card

···· ···· ···· 4242
Test card

05/18

Card

Use a different card?

Card

pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$15.

Your purchase was successful!

We charged your card and sent you a receipt

    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad