- AI-Assisted Engineering – Debugging and Incidents
Giving the assistant the evidence rather than your theory, letting it read logs and stack traces, and insisting on a root cause before a fix. A real failure met while building this feature, from first symptom to the line that caused it.
- Android – DataStore and the Keystore
Where each thing an app remembers belongs. DataStore and why it replaced SharedPreferences, encrypting a token with an Android Keystore key that never leaves the device, why EncryptedSharedPreferences is no longer the answer, and backup rules that keep secrets off other phones.
- iOS – Interview Questions
The questions an iOS role actually asks, answered against the twenty-one lessons before this one. Struct versus class, what @State really stores, how SwiftUI decides to redraw, retain cycles in closures, what @MainActor guarantees, actor reentrancy, and how you would make a screen testable. Short answers, with the reasoning.
- AI-Assisted Engineering – Writing Tests That Prove Something
An assistant will happily write tests that pass. The question is whether they fail when the code is wrong. Asking for behaviour rather than coverage, proving a test by breaking the code, and the test changes you should never accept.
- AI-Assisted Engineering – Writing Code in Small, Readable Diffs
One plan step at a time, in the codebase's own style, verified before the next. How to keep diffs small enough to actually read, what drift looks like in practice, and how to push back when the assistant wanders off the plan.