Why do I write about mobile so much?
Mobile development is essential. Many of us work on mobile first or mobile only products. Mobile apps are the face of our startups. Despite this, a significant %age of product developers and engineering leaders don't fully appreciate what it means to write and ship a mobile app.
Market size - Everyone is on mobile
Mobile users are spending 4.2 hours every day on apps. Apps on Apple's App Store grossed 643 billion dollars in 2020. With 3 billion Android users and another billion iPhone users, the mobile ecosystem keeps getting bigger every day.
I went through a list of 100 Indian unicorns, and 92 of them had one or more apps on the Google Play store. When we look at India, we know how India simply leapfrogged desktops. My dad has never used a desktop but talks daily to Google on his Android phone for cricket scores.
Complex application development
Many of us mistake it for simple UI development and can't understand why certain things take time. I recently wrote about expectations engineers have from PMs about acknowledging the complexity of implementation and understanding why some changes they ask for take very little time while others can take disproportionately more time.
Unfortunately, mobile developers have these expectations from PMs, their backend counterparts, and engineering leaders.
Mobile analytics
I have had cases where non-mobile engineers have come to me and said, "We can find out what type of analytics this feature has once the feature is implemented." No, that's not a great idea. Mobile developers have to make sure the relevant state, data, and values are available and accessible to the screen, button listener, etc.; when an analytical event wants a certain field, it has to be carried through multiple hops, injected through dependencies, and kept updated.
This mobile analytics powers many recommendation systems, personalization communication engines, and AI/ML startups. If the ecosystem understands mobile engineering better, we will develop better applications and hopefully have a trickling impact on the number of successful startups we see.
Lottery! You are a mobile engineer.
This is the most common practice I have seen in my friends for getting people started with mobile development (I have done this too). We go to colleges and hire many engineers from campus interviews. When joining, some engineers are randomly assigned to mobile development teams. This is when I start hearing from the new hires about how they want to do ML/AI and how they will settle for the backend but don't want to become a UI developer.
Mobile engineering is also software engineering. Equally complex (if not more). Unfortunately, many of us are brainwashed from college and by our seniors into believing backend engineering is the only real software engineering. I would like to change this perception.
Looking ahead
The first iPhone was launched in 2007; the first Android phone was launched shortly after. Before these smartphones, mobile development (Primarily Symbian/J2ME ) wasn't very popular, and there weren't many app-first companies. I am inclined to discount much of the progress and learnings from that era.
This also signals to me that most experienced mobile developers of the modern smartphone era now have nearly 15 years of experience. Many of these are now engineering leaders who understand mobile better than many of their contemporaries.
I hope for good things and lots of innovation in mobile engineering in the coming years.
I write about mobile so that mobile developers know that other engineers and leaders empathize with them; I write about mobile so that engineering leaders know they need to step up their game in mobile engineering.
Here are some more articles/talks/tweets I have created about mobile engineering:
- https://www.jeet.world/tender-loving-care-for-mobile-apps/
- https://www.jeet.world/app-startup-time-optimisation/
- https://www.jeet.world/remote-configuration-for-mobile-apps/
- https://www.jeet.world/this-version-is-not-supported-upgrade-now/
- https://www.youtube.com/watch?v=n2dEFn3Ylzw
- https://twitter.com/jiten/status/1479111758123995146
- https://twitter.com/jiten/status/1479305264582955010
- https://www.jeet.world/handling-backend-network-failures-for-mobile-applications/