Writing
Field notes for the parts nobody teaches.
Essays on interviewing, mobile architecture, leadership, AI and the career systems behind senior engineering work. Most books start here, as field notes, before they become a chapter.
Every essay has an audio edition. Press play on any article and the playlist carries you through the rest.
See the books these notes becameYou have 40 interview tabs open and still don't know what to study.
Interview preparation gets worse when everything looks important. The closer the interview gets, the more your calendar should force you to cut.
Featured essay · Engineering Interviews
Career strategy
The Engineer nobody chases
The most common reason capable engineers stall has nothing to do with code. It is how much coordination work lands on other people after you have finished.
Lead teams
The two documents that decide your career are written by other people
One gets written after your interview. The other gets written after your offer. You never see either, and that is exactly why they cost you money.
Get hired
Interviews
You watched the solution. Then you opened an empty editor.
Watching someone else code can make you feel ready. Live coding exposes the difference between recognition, retrieval, and making your judgment visible under pressure.
Pass interviews
AI can pass the assessment. You still have to survive the interview.
AI can produce a polished technical assessment. The harder part starts when another Senior engineer asks why the code exists and whether you actually own the decisions behind it.
Pass interviews
A correct Android answer can still fail the interview
Two answers to the same Android question, both correct, scored completely differently. What senior loops are measuring once you clear the knowledge bar.
Pass interviews
Senior iOS interviews are about risk
The strongest candidates do not just answer the question. They show how they think about production risk, tradeoffs and recovery.
Pass interviews
Resume bullets for senior iOS Engineers
How to turn mobile engineering work into evidence of scope, judgment and impact without exaggerating.
Get hired
A modern Swift concurrency interview map
A senior interview map for async/await, actors, cancellation, task lifetime, Sendable and the bugs hidden around awaits.
Pass interviews
What interviewers score while you share your screen
The code is only one part of a live round. The interviewer is also recording how you frame, choose, verify and recover while the screen is shared.
Pass interviews
React Native interviews happen at the boundary
The framework answer is only the surface. Senior judgment appears where JavaScript, native work and product constraints meet.
Pass interviews
Test automation is not the senior SDET answer
The tool is not the decision. Senior test engineering begins with what failure costs, what evidence is trustworthy and who owns the response.
Pass interviews
Mobile architecture
Mobile System Design is not backend System Design
Why offline, device constraints, sync, app lifecycle and platform boundaries change the interview and the architecture.
Design systems
Why iOS apps feel slow even when the API is fast
A practical look at the client-side bottlenecks that make mobile apps feel slow after the backend has already done its job.
Design systems
Swift concurrency bugs that pass code review
Four Swift concurrency bugs that survive code review at good companies: actor reentrancy, leaked tasks, ignored cancellation, and the onAppear trap. With fixes.
Pass interviews
How to review a mobile architecture proposal
A practical review framework for mobile architecture decisions: constraints, reversibility, ownership, migration and production proof.
Lead teams
SwiftUI vs UIKit: architecture is state ownership
Why production SwiftUI architecture is less about folder names and more about ownership, identity, effects and boundaries.
Design systems
Security requirements that cannot be tested are not finished
A security requirement becomes useful when a team can observe the behavior, test the boundary and know who owns failure.
Design systems
Staff engineering
Staff iOS Engineer is not Senior Plus
The staff role is not just harder tickets. It is scope, leverage, decision quality and making other engineers more effective.
Become staff
Tech Lead code review is a system
Good code review is not comment volume. It is a system for quality, ownership, mentoring and risk control.
Lead teams
Staff engineers change the decisions a team can make
The platform changes. The staff transition does not: your work must improve decisions beyond the feature and beyond your own presence.
Become staff
FAQ
About the writing
What is the Salari writing section?
Field notes on interviewing, mobile architecture, staff engineering, independent consulting and AI-era engineering, the working notes behind the books.
Who writes these articles?
Mike Salari, a Staff Mobile Engineer and Mobile Architect, drawing on real production work and hundreds of technical interviews.
Are the articles iOS-specific?
Many examples are iOS, but topics like system design, code review, staff scope and positioning apply across mobile and senior software roles.
How is the writing organized?
Into sections: Interviews, Mobile architecture, Staff engineering, Independent consulting and AI-era engineering.
Do the articles connect to the books?
Yes. Most books start here as field notes, then grow into chapters once an idea proves itself in real interviews, reviews and production systems.
What is mobile system design?
Designing the whole system around a mobile app: offline behavior, sync, caching, backend contracts, performance and failure modes, not just the client code.
How is staff engineering different from senior engineering?
Staff is about scope, leverage and decision quality, making other engineers more effective and owning ambiguous problems, not just handling harder tickets.
Is the writing free to read?
Yes. Every article is free.
These notes become books.
When a field note proves itself in real interviews, reviews and production systems, it grows into a chapter. Start with the books built from these notes.