I have said that I am tired of Android, but maybe that’s not exactly what I mean.
What I really mean is that I’m tired of the ceremony. The ritual gestures you have to perform over and over — the Gradle file updates, the permissions dance, the build variant shuffle, the emulator restarts when things get weird — that repeat themselves project after project. The tooling is better than it’s ever been, and I still grumble at it.
But I like Android. I like building for it. I like using it. The parts I’m tired of are parts of the development, which is a very different thing.
The operating system, though
The things about Android that frustrate me as a developer are the same things I love about it as a user: it’s flexible, it’s customizable, the ecosystem is open enough that weird corners exist. Sometimes that means a third-party app I installed does something flaky. Sometimes it means I can do something surprising and useful because nobody told me I couldn’t.
Building software for Android feels a little like building software for Linux — but for normal people instead of tinkerers and early adopters. Same shape of thing: powerful, configurable, occasionally sharp. That shape has a cost for developers and a big payoff for users who want to make their device theirs.
The other side of the fence
I was recently reviewing the iOS version of an Android app I work on. Swift is pleasant code, and the language has real strengths. But the structural choices kept catching on me — and I know some of that is familiarity. Spend a decade inside one pattern and a different pattern reads as wrong even when it’s just different.
Not all of it is familiarity, though. There’s a mindset difference about how software should be organized, and Android’s is the one that clicks for me. It’s taste more than truth, but it’s my taste, and it’s the one I keep finding myself defending.
AI is eating the friction
The parts of Android development I complain about most — boilerplate, ritual refactors, test scaffolding, the “I’ve written this same code twelve times” feeling — are also the parts AI tools are getting reasonably good at. Not uniformly; they still stumble in older codebases with opinions of their own. But the stuff I used to hate grinding through is quietly getting ground up for me.
I’m not sure whether this is a me-thing (my workflow just keeps converging on what I prefer) or an everyone-thing (the craft itself is about to shed a lot of its tedium). Maybe both. Either way, some of the edges I’ve been annoyed at for years are softening.
Phones are the computer
Termux might be my favorite app on Android. I can set up a handful of shell tools, use Mosh and SSH, and get a surprising amount done from my phone when I need to. On an Android tablet I’m genuinely productive for most of what I do day-to-day. And yes, sometimes I’m also playing Dead Cells on an airplane.
Mobile is the computing platform for most people, and I don’t see that reversing. The tools will keep improving, the UI will keep refining, and voice interfaces are going to matter more than they currently do — especially paired with AI. I’m more curious about what phones can become than I’ve been in a while.
Adapt, don’t catastrophize
There’s no shortage of doomsaying right now, and it isn’t all wrong. Technology is always double-edged; the good comes paired with the bad, and pretending otherwise is a failure of honesty. I expect to keep working with software for a long time, but the way I work with it is shifting.
“Adapt or die” has some truth in it. I just don’t think the stakes are actually that fatalistic for most of us. The future looks bright enough if you’re willing to turn your head to see it.