> AI has gotten so good that despite any misgivings, “everyone is using A.I.”
In my experience, it's a mixed bag. I wrote this comment[0], yesterday. It reflects my current work, and how I am integrating an LLM.
I have used it for two parts of my project:
1) The backend (PHP), and
2) The frontend (Swift)
It has been a huge help, in both, but #2 is a cautionary tale. It really needs adult supervision, in developing native UIKit Swift apps. I'm realizing how truly bad the code it wrote was. I mean, terrible.
That's jarring, because it did a great job with #1. It made sound, reasonable design decisions, and provided code that is better than what I would write.
With #2, it behaved exactly like an inexperienced engineer, panicking, when confronted with real-world problems. My rewrite is going to feature a much simpler, sound approach.
All that said, it has been a net positive, and has increased my productivity by a large margin.
I guess the lesson I needed to get from this, is that it is good at helping me to find problems, but maybe not so good at fixing them.
This would be expected. The corner cases people faced with PHP throughout the decades have been well documented on the internet for eons.
Swift, not so much. It's relatively new. Looking at AI's abilities like an engineer's career span scaled about 10-20x of time makes it make a bit more sense.
It's going to be worse at newer/niche things, intuitively - which is only going to get worse as it "learns" from garbage outputted by other LLMs moving forward.
That's just one way to use LLMs though. Recently on a flight I could not figure out how to connect my wife's earphones (i.e. put them in pairing mode) to my macbook since I was used to the old Airpods Pro case. So I asked Gemma4 26B A4B (offline, LM Studio) and was told to use the 'two tap on front of case' gesture, which worked. This situation would have been significantly more frustrating without (local) LLMs. I'm essentially carrying around a basic "how to" on everything, inaccurate though it may be, it's better than nothing.
Isn’t it because Swift (and SwiftUI, if you used that) changes the recommended approach to solving X every 18 months?
My experience was different. I found it extremely good at fronting technology like react while I had to hand hold it for the backend tasks. Even with fable it was the same.
Would you describe yourself as more skilled at frontend engineering or at backend engineering?
Well Apple just released a bunch of Agent Skills. I tried it on my macOS apps and I noticed some improvements codewise and updated some deprecations I didn’t know existed in Swift.
In my experience the language has become irrelevant for me, I created a system like mix of revenuecat and firebase and I’m not even sure what language which part is. It has client side libraries that are swift and kotlin, the Identity management is Swift but the iAP/Subscription tracking is go IIRC. It’s all integrated somehow and works very well.
Which LLM though? Models can still be significantly different in their capabilities.
Might be because there are less Swift projects to train with.
But I've seen Claude write crazy code in Python and JavaScript, too
I’m going to guess you are better at frontend than backend.
The classic AI Gell-Mann effect.
I'd like to add that there is almost no way of "running away" from it. If I search for anything on the internet I am almost guaranteed to be handed pages and pages of AI generated content. In lieu of that I found that directly prompting for an answer tends to yield better results nowadays. Not because it's good per-se, but because having control over the prompt beats having little to no control over it though search by proxy.
It saddens me to see that high quality content is drowned in this sea of garbage to the point of being almost impossible to find.