It's not as dire as you might think. To software developers, the "AI revolution" is largely what the "desktop publishing revolution" was to designers. Yes, it meant the "riff raff" could theoretically play with the pros. Some percentage of the riff raff became pros. Most of the pros eventually adopted the tools and techniques used by the riff raff. Some of the pros didn't survive the transition and happily retired, taking their rubylith, Letraset type, and rubber cement with them.
The silver lining is that most of a software engineer's job isn't coding, it's thinking. LLMs can't do that, and we're not getting to AGI with current AI architectures. LLMs can amplify thinking, and an LLM in the hands of a software engineer or architect is at least two orders of magnitude more effective than it can be in the hands of a vibe coder. As LLMs get better for vibe coders, they also get better for pros.
One can argue that, by the end of the decade, hand-coded [your language of choice] may be considered as unnecessary as hand-coded assembly has been for decades. But coding in modern languages is already 7-8 levels of abstraction above the metal. One more level of abstraction is not the death of software engineering, IMO.
The app itself is fairly straightforward, but it included some intermediate complexity in terms of audio capture and calling local models. Both something I'd never done, and as not-a-mac dev something I probably wouldn't have attempted for a side-project while I'm meant to be bootstrapping my own thing.
I didn't touch a line of code, and I was blown away. I'm so impressed in fact that I'm predicting we'll see a resurgence in native apps in the near future. By far the worst (and slowest) part of the process is having to deal with the App Store, and the ridiculous hoops you have to jump through to get past review.
React made simple webapps a case of just gluing dependencies together and much more approachable to a generalist developer than the previous generation of web development was. But native apps weren’t affected in the same way. With AI I suspect we’ll see a lot of simple apps, the ones that really aren’t doing much other than CRUD operations on a remote API, become very heavily AI generated by generalist developers.
But there will still remain a healthy market for working on considerably more complex apps.
> What is going on in the world of pure IOS/Android app development?
I'll speak only for Android.
I am tired of Google breaking source compatibility with every AndroidX release and remaining on outdated IntelliJ Platform versions in Android Studio.
not too long ago, Google released AGP 9.0, which was a SHOCKWAVE for many Android projects. many compiler plugins' compatibility, including Google's own Protobuf Gradle plugin, took very long to adapt. also, Kotlin Multiplatform received so much damage that a month after release, JetBrains themselves released an AGP 9.0 migration video on YouTube.
and then we have MDC-Android (Views) v. Compose tension. MDC-Android got Material 3 and M3 Expressive components much faster than Compose, and for many you still have to be on alpha Compose Material3 releases... which are more stable than "Stable," somehow. Compose is nice, but I'd swap Material for something else ASAP or use Compose Foundation directly.
> How is AI/LLMs affecting app development?
you have more useless buttons in Android Studio. or, if you are a paying IntelliJ IDEA Ultimate user, you can have Android support in IDEA, which enables ACP agents without sacrificing proper Android support. IDEA Android plugin lags behind AGP upgrades a little, though, but it's fine.
oh, and, you can vibecode Android apps in Google AI Studio with streaming from a Google-hosted device, all without Android Studio.
> what has changed in App Development in the past 2-5 years?
2 years? a lot. 5 years? the world turned upside down! Compose got Stable release 4 years ago.
> What does a career in only app development look like nowadays?
very discouraging. everyone just prefers React "Native". I couldn't find an Android job in two years because it's nowhere to apply to in Ukraine and just recently switched to .NET. guess what? less than a few weeks passed after I updated my Djinni and now I have a few interviews on the next week.
We built iOS first because that's what most of our users have, though the team is mostly on Android.
We built our logic in Rust, so that compiles cross platform. It's really just the UI layer that is per platform.
Though I had initially written our first demo in React-Native, the team wanted to go with native UI.
Lately we've been talking about moving the timeline for our Android app up because we can get AI to help using the iOS app as a foundation.
I haven't seen anything really new and compelling in iOS/Android land. The promise of right once run anywhere continues to be a promise, and the bluetooth libraries across different devices (particularly in Android land) has me concerned.
It also supports the 'native is better' apprpach. For example, I recently started with Powerflow [0] which I really like except for the size of it, and created a Swift version [1] in an hour of Claude plus manual tweaks. It's been running quietly on my laptop ever since.
The downside is that it brings Apple's iOS restrictions into sharper relief: being able to easily write widgets and apps to suit my needs but then being unable to run then for longer than a week on my own hardware without paying $99 a year is especially frustrating.
[0] https://github.com/lzt1008/powerflow [1] https://github.com/Tom1827/powerflow-swift
I finally just got an Android app shipped to the Play Store for https://wordtrak.com, after several weeks of back and forth with what I am assuming are mostly robots managing the Google side of this. I was stunned to see how far Android distribution has come (and especially that all changes are now reviewed).
What I was most surprised by though, was all of the ridiculous red tape around the actual process of getting an app listed. Best example: I had to confirm I didn't change the outcome of the Korean War in order to list on Play Store in Korea.
In any case I got most of this done with Claude and expo.dev - it was a huge relief to let Claude Code churn through this and not have to worry about spending months re-learning frameworks and ecosystems.
The hard part of this app is great design, requiring intentionally designed workflows and lots of real world testing. The code isn't the interesting part and now code isn't taking most of my time. It's great!
Once the design is nailed down and workflows tightened up, I don't expect much active development and can focus on distribution and marketing.
As a solo dev, this feels totally doable but ask me in 6 months.
As an Android developer, KMP is the bigger development. It seems mature enough now that if I want to build an app as a single dev I feel confident that I could get the iOS version out at the same time. They seem to be avoiding the mistakes of Xamarin and Flutter
The market is saturated for new apps.
AI is useless when developing with Maui, as it's too new of a development framework for any AI's knowledgebase to have a clue what to do with it.
Mostly for fun/scratch my own itch, and using AI as a companion/helper device.
Other than LLMs the biggest change has been moving to Kotlin Compose from the old Android XML-based layout system.
LLMs are something I use often now and I'm not thrilled about this but it is what it is. I'm one of those people who prefer to hand craft code in a deep flow state so the move to LLMs has made me enjoy my job less, but it is hard to argue against the productivity gains so I try to be grateful that there was a long period where what I enjoyed doing and getting paid for were so well aligned. It isn't like my job is horrible now, it is just not quite as fun.
While I use agentic AI quite a bit, I don't "vibe code". Much of the software I currently write falls under various medical compliance systems (FDA, EMA, etc) and they rightfully expect us to understand and be personally responsible for the quality of the code we produce. Even absent the regulations, I still find it absolutely wild people ship code (associated with their name in any way) without looking at it.
I've been working for the same company for the past 5 years so I have little idea of how the career/interview side of things have changed recently. From anecdotal reports it seems like a giant mess of ghost jobs and competing with massive piles of AI-generated and AI-filtered resumes these days unless you have a strong network from the before times.
A lot of people in this thread seem to be worried about discoverability, I'm sure AI has made that worse but it was already a huge problem to get random apps noticed even before AI. The apps I currently work on professionally support external hardware devices that the apps control via bluetooth, so app store discoverability isn't a big concern (you buy the external device, then the documentation points you to the app store downloads).
I have also done app development as a non-commercial side project, writing a PvP game/stat tracking app for the game Destiny 2, this is a free app that has about a thousand users on iOS and a few hundred on Android, written in Kotlin Multiplatform. That started pre-LLM and I've continued to avoid using LLMs while working on it to make sure I can remember how to code sans LLMs, though the fact that Destiny 2 is stopping new development as of June 9th means I'm unlikely to put much effort into it going forward.
Anytime I let lose AI (Both Codex and Claude), they end up producing slop that is overcomplicated, and that looks like a generic tutorial interface. Great for toy apps but not for serious one.
When I do most of the architecture, and use AI to 'fill in the blanks' or just finish some functionality here and there, then AI is great.
The main reason is that it is trained by public code that is mostly tutorials, and simple apps, so AI can't build a great looking one by itself (or it doesn't how to do large apps). But for specific features, it is great.
TLDR: It is still a 'fill in the funcionality here' type of help. Folks that are successful with letting 'multiple agents' running in the background are mostly for backend work where the results are easier to verify.
Also, there is a lot of LARPING in twitter sphere exaggerating what AI can realistically do right now. But I can see how it can affect entry level jobs. AI is still like an CS intern, or very very junior engineer.