<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Salari</title>
    <link>https://salari.dev/writing/</link>
    <atom:link href="https://salari.dev/rss.xml" rel="self" type="application/rss+xml" />
    <description>Career systems for iOS, Android &amp; cross-platform Engineers.</description>
    <language>en</language>
    <managingEditor>Mike Salari</managingEditor>
    <webMaster>Mike Salari</webMaster>
    <lastBuildDate>Sun, 23 Aug 2026 12:00:00 GMT</lastBuildDate>
    <item>
      <title>What interviewers score while you share your screen</title>
      <link>https://salari.dev/writing/what-interviewers-score-while-you-share-your-screen/</link>
      <guid isPermaLink="true">https://salari.dev/writing/what-interviewers-score-while-you-share-your-screen/</guid>
      <description>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.</description>
      <pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Interviews</category>
    </item>
    <item>
      <title>React Native interviews happen at the boundary</title>
      <link>https://salari.dev/writing/react-native-interviews-happen-at-the-boundary/</link>
      <guid isPermaLink="true">https://salari.dev/writing/react-native-interviews-happen-at-the-boundary/</guid>
      <description>The framework answer is only the surface. Senior judgment appears where JavaScript, native work and product constraints meet.</description>
      <pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Interviews</category>
    </item>
    <item>
      <title>Test automation is not the senior SDET answer</title>
      <link>https://salari.dev/writing/test-automation-is-not-the-senior-sdet-answer/</link>
      <guid isPermaLink="true">https://salari.dev/writing/test-automation-is-not-the-senior-sdet-answer/</guid>
      <description>The tool is not the decision. Senior test engineering begins with what failure costs, what evidence is trustworthy and who owns the response.</description>
      <pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Interviews</category>
    </item>
    <item>
      <title>Security requirements that cannot be tested are not finished</title>
      <link>https://salari.dev/writing/security-requirements-that-cannot-be-tested-are-not-finished/</link>
      <guid isPermaLink="true">https://salari.dev/writing/security-requirements-that-cannot-be-tested-are-not-finished/</guid>
      <description>A security requirement becomes useful when a team can observe the behavior, test the boundary and know who owns failure.</description>
      <pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Architecture</category>
    </item>
    <item>
      <title>Staff engineers change the decisions a team can make</title>
      <link>https://salari.dev/writing/staff-engineers-change-the-decisions-a-team-can-make/</link>
      <guid isPermaLink="true">https://salari.dev/writing/staff-engineers-change-the-decisions-a-team-can-make/</guid>
      <description>The platform changes. The staff transition does not: your work must improve decisions beyond the feature and beyond your own presence.</description>
      <pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Staff engineering</category>
    </item>
    <item>
      <title>The Engineer nobody chases</title>
      <link>https://salari.dev/writing/the-engineer-nobody-chases/</link>
      <guid isPermaLink="true">https://salari.dev/writing/the-engineer-nobody-chases/</guid>
      <description>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.</description>
      <pubDate>Sat, 22 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Career strategy</category>
    </item>
    <item>
      <title>A correct Android answer can still fail the interview</title>
      <link>https://salari.dev/writing/a-correct-android-answer-can-still-fail/</link>
      <guid isPermaLink="true">https://salari.dev/writing/a-correct-android-answer-can-still-fail/</guid>
      <description>Two answers to the same Android question, both correct, scored completely differently. What senior loops are measuring once you clear the knowledge bar.</description>
      <pubDate>Sat, 22 Aug 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Interviews</category>
    </item>
    <item>
      <title>The two documents that decide your career are written by other people</title>
      <link>https://salari.dev/writing/two-documents-that-decide-your-career/</link>
      <guid isPermaLink="true">https://salari.dev/writing/two-documents-that-decide-your-career/</guid>
      <description>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.</description>
      <pubDate>Mon, 20 Jul 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Career strategy</category>
    </item>
    <item>
      <title>Swift concurrency bugs that pass code review</title>
      <link>https://salari.dev/writing/swift-concurrency-bugs-that-pass-code-review/</link>
      <guid isPermaLink="true">https://salari.dev/writing/swift-concurrency-bugs-that-pass-code-review/</guid>
      <description>Four Swift concurrency bugs that survive code review at good companies: actor reentrancy, leaked tasks, ignored cancellation, and the onAppear trap. With fixes.</description>
      <pubDate>Mon, 06 Jul 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Swift concurrency</category>
    </item>
    <item>
      <title>Mobile System Design is not backend System Design</title>
      <link>https://salari.dev/writing/mobile-system-design-is-not-backend-system-design/</link>
      <guid isPermaLink="true">https://salari.dev/writing/mobile-system-design-is-not-backend-system-design/</guid>
      <description>Why offline, device constraints, sync, app lifecycle and platform boundaries change the interview and the architecture.</description>
      <pubDate>Mon, 22 Jun 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Architecture</category>
    </item>
    <item>
      <title>Why iOS apps feel slow even when the API is fast</title>
      <link>https://salari.dev/writing/why-ios-apps-feel-slow-even-when-the-api-is-fast/</link>
      <guid isPermaLink="true">https://salari.dev/writing/why-ios-apps-feel-slow-even-when-the-api-is-fast/</guid>
      <description>A practical look at the client-side bottlenecks that make mobile apps feel slow after the backend has already done its job.</description>
      <pubDate>Mon, 08 Jun 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Performance</category>
    </item>
    <item>
      <title>How to review a mobile architecture proposal</title>
      <link>https://salari.dev/writing/how-to-review-a-mobile-architecture-proposal/</link>
      <guid isPermaLink="true">https://salari.dev/writing/how-to-review-a-mobile-architecture-proposal/</guid>
      <description>A practical review framework for mobile architecture decisions: constraints, reversibility, ownership, migration and production proof.</description>
      <pubDate>Mon, 25 May 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Architecture</category>
    </item>
    <item>
      <title>Senior iOS interviews are about risk</title>
      <link>https://salari.dev/writing/senior-ios-interviews-are-about-risk/</link>
      <guid isPermaLink="true">https://salari.dev/writing/senior-ios-interviews-are-about-risk/</guid>
      <description>The strongest candidates do not just answer the question. They show how they think about production risk, tradeoffs and recovery.</description>
      <pubDate>Mon, 11 May 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Interviewing</category>
    </item>
    <item>
      <title>Resume bullets for senior iOS Engineers</title>
      <link>https://salari.dev/writing/resume-bullets-for-senior-ios-engineers/</link>
      <guid isPermaLink="true">https://salari.dev/writing/resume-bullets-for-senior-ios-engineers/</guid>
      <description>How to turn mobile engineering work into evidence of scope, judgment and impact without exaggerating.</description>
      <pubDate>Mon, 27 Apr 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Career growth</category>
    </item>
    <item>
      <title>SwiftUI vs UIKit: architecture is state ownership</title>
      <link>https://salari.dev/writing/swiftui-architecture-is-state-ownership/</link>
      <guid isPermaLink="true">https://salari.dev/writing/swiftui-architecture-is-state-ownership/</guid>
      <description>Why production SwiftUI architecture is less about folder names and more about ownership, identity, effects and boundaries.</description>
      <pubDate>Mon, 13 Apr 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>SwiftUI</category>
    </item>
    <item>
      <title>Staff iOS Engineer is not Senior Plus</title>
      <link>https://salari.dev/writing/staff-ios-engineer-is-not-senior-plus/</link>
      <guid isPermaLink="true">https://salari.dev/writing/staff-ios-engineer-is-not-senior-plus/</guid>
      <description>The staff role is not just harder tickets. It is scope, leverage, decision quality and making other engineers more effective.</description>
      <pubDate>Mon, 30 Mar 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Staff engineering</category>
    </item>
    <item>
      <title>A modern Swift concurrency interview map</title>
      <link>https://salari.dev/writing/modern-swift-concurrency-interview-map/</link>
      <guid isPermaLink="true">https://salari.dev/writing/modern-swift-concurrency-interview-map/</guid>
      <description>A senior interview map for async/await, actors, cancellation, task lifetime, Sendable and the bugs hidden around awaits.</description>
      <pubDate>Mon, 16 Mar 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Swift concurrency</category>
    </item>
    <item>
      <title>Mobile AI features need product boundaries</title>
      <link>https://salari.dev/writing/mobile-ai-features-need-product-boundaries/</link>
      <guid isPermaLink="true">https://salari.dev/writing/mobile-ai-features-need-product-boundaries/</guid>
      <description>How to think about on-device AI, LLM features, privacy, latency, fallback behavior and user trust in mobile apps.</description>
      <pubDate>Mon, 02 Mar 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>AI</category>
    </item>
    <item>
      <title>Tech Lead code review is a system</title>
      <link>https://salari.dev/writing/tech-lead-code-review-is-a-system/</link>
      <guid isPermaLink="true">https://salari.dev/writing/tech-lead-code-review-is-a-system/</guid>
      <description>Good code review is not comment volume. It is a system for quality, ownership, mentoring and risk control.</description>
      <pubDate>Mon, 16 Feb 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Technical leadership</category>
    </item>
    <item>
      <title>A freelance mobile architect needs positioning</title>
      <link>https://salari.dev/writing/freelance-mobile-architect-needs-positioning/</link>
      <guid isPermaLink="true">https://salari.dev/writing/freelance-mobile-architect-needs-positioning/</guid>
      <description>Why independent mobile architecture work depends on clear problems, scoped offers, proof and delivery boundaries.</description>
      <pubDate>Mon, 02 Feb 2026 12:00:00 GMT</pubDate>
      <dc:creator>Mike Salari</dc:creator>
      <category>Freelancing</category>
    </item>
  </channel>
</rss>
