I had worked for years at Uber, first as a mobile engineer, then an engineering manager. Despite being a mobile-first company, I could not shake the feeling that non-mobile engineers and managers consistently underestimated the complexity of large-scale mobile development. I've been in so many meetings where an engineer, a PM, or a director would say, "oh, compared to the backend, the mobile part should be simple enough... it's just another frontend, right?".
I found myself explaining again and again to PMs, engineers, and stakeholders all the hoops the mobile team needs to jump to ship things in production. How mistakes are very expensive - and thus, we need to ship almost all changes behind feature flags. How the build train means that the changes we make today will take at least 2 weeks to get to prod. How devices being offline is something we need to actively support, and anticipate... and so on. I noticed similar "aha moments" each time. Talking with other mobile engineers in similar environments, they were having similar conversations, and battling similar assumptions on mobile being relatively simple.
I had been collecting the numerous challenging areas that I planned to publish as a blog post. After I shared the draft on Twitter[2], I got an unexpected amount of interest in people offering to contribute. The contents became too long for a post, and so this book was born. Several people asked for a paperback version[3], and I decided to create the book in print as well, as I felt the contents warranted it.
I hope you find this book useful - both if you're a mobile engineer or if you work with mobile teams. And I'd love to hear any feedback!
[1] https://www.mobileatscale.com/#pricing
[2] https://twitter.com/GergelyOrosz/status/1335305213394251780
[3] https://twitter.com/elevenetc/status/1335595203411972097