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?
The book is being currently being written and is in beta: by purchasing this content, you'll get access to updates, until the final version. By pre-ordering this resource, you get earlier access to the content.
See MobileAtScale.com for launch discount pricing and more details on the contents of the book.
The content will be released on this schedule:
- Already released: Part 1, Part 2, 6 Mobile Learnings at Uber (full version)
- 22 Jan 2021: Growing as a mobile engineer (full version)
- 29 Jan 2021: Part 3 (12 Engineering challenges due to stepping up your game) is added to the eBook. The same content is out online later in February
- Feb 2021: Book finalized & launched publicly (subject to change).
Table of Contents
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. Push notifications
5. Deeplinking
6. Crash reporting
7. Offline support & weak connectivity
8. Accessibility
9. CI/CD and the build train
10. Device & OS fragmentation
Part 2: Challenges due to app complexity and large dev teams - 17th Dec 2020
11. Navigation architecture within large apps
12. Application state & event-driven changes
13. Localization
14. Modular architecture & dependency injection
15. Automating testing challenges
16. Manual testing
17. Build and merge times at scale
18. Planning and decision making
19. Not stepping on each others’ toes
20. Shared architecture across several apps
21. Tooling maturity with large apps, many apps, or large teams
Part 3: Challenges due to stepping up your game - 22nd Jan 2020
22. Advanced code quality checks
23. Mobile platform libraries and teams
24. Experimentation
25. Feature flag hell
26. Monitoring and alerting
27. Force upgrading
28. Client-side data migrations
29. Backend-driven mobile apps
30. Performance monitoring
31. Compliance and Privacy
32. Cross-platform development
33. Multiple languages within the same app
Mobile learnings from my time at Uber - 4th Jan 2020
6 mobile-related learnings from my 4 years at Uber.
Growing as a mobile engineer
10+ 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?
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.
We charged your card and sent you a receipt
You'll need an account to access this in our app. Please create a password to continue.
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.