iosNudge

Your iOS resume

Chapter 4 of 10 6 min read

Your resume has one job: get you the interview. A recruiter often looks at it for less than a minute. Make the important things easy to find.

The basic rules

  • One page if you have less than about 8–10 years of experience. Two pages at most.
  • Newest job first.
  • Results, not tasks. Say what changed because of your work.
  • Numbers. Users, ratings, crash rate, speed, time saved.
  • iOS keywords. Swift, SwiftUI, UIKit, concurrency, XCTest, and the tools from the job post.
  • Links. App Store apps and GitHub, if they help you.

A good structure

NAME
iOS Engineer · City, Country · email · phone · linkedin.com/in/name · github.com/name

SUMMARY (optional, 2 lines)
iOS engineer with 5 years of experience building consumer apps in Swift and SwiftUI.
Focus on performance, offline support and app quality.

EXPERIENCE
Company — Senior iOS Engineer                        Jan 2023 – Present
- 3 to 5 impact bullets

Company — iOS Engineer                               Jun 2020 – Dec 2022
- 3 to 5 impact bullets

APPS
- App name — short description, rating, users, App Store link

SKILLS
Languages, frameworks, tools

EDUCATION
Degree, school, year

Juniors can put Projects above Experience if their projects are stronger than their jobs.

How to write an impact bullet

Use this formula:

Action verb + what you did + how (tech) + result (number)

Example:

Rebuilt the image loading pipeline with async/await and an in-memory + disk cache, cutting feed scroll hitches by 60%.

  • Action verb: Rebuilt
  • What: the image loading pipeline
  • How: async/await, two-level cache
  • Result: 60% fewer scroll hitches

Good action verbs: built, led, shipped, reduced, improved, migrated, designed, automated, launched, mentored.

Weak words to avoid: "responsible for", "worked on", "helped with", "involved in".

Good vs bad bullets

BadGood
Responsible for the iOS app.Owned the checkout flow of an app with 1.2M monthly users; shipped Apple Pay, raising checkout conversion by 9%.
Fixed crashes.Cut the crash rate from 1.8% to 0.3% of sessions by fixing threading bugs found with Thread Sanitizer and crash reports.
Worked on SwiftUI migration.Led the migration of 14 screens from UIKit to SwiftUI, removing about 6,000 lines of code with no drop in crash-free rate.
Wrote unit tests.Raised unit test coverage of the networking layer from 20% to 75% and added tests to CI, catching 3 regressions before release.
Improved app performance.Reduced cold launch time from 2.4 s to 1.1 s by moving SDK setup off the main thread and lazy-loading features.
Used Core Data.Designed offline storage with Core Data and background sync, so users can log workouts with no network.
Helped new team members.Mentored 2 junior iOS developers; both shipped their first features within 6 weeks.

The good bullets answer three questions: What did you do? How? What changed?

What if you have no numbers?

Many developers say "I don't have metrics". You usually have more than you think.

  • App Store: rating, number of reviews, downloads.
  • Crash tools: crash-free users or sessions (from Xcode Organizer or your crash reporting tool).
  • Size: number of screens, lines of code removed, number of modules.
  • Time: build time, release time, time to load a screen.
  • People: team size, number of developers you mentored.
  • Before and after: "from 3 manual steps to 1 command".

If you really have no number, say the scale or the effect:

Built the offline mode for field workers, so they can complete inspections in areas with no signal.

This is still much better than "Worked on offline mode".

Example: one full experience section

Fitly — iOS Engineer                                   Mar 2021 – Present
- Led the move from UIKit to SwiftUI for all new screens; built a shared design-system
  package used by 4 teams.
- Cut crash rate from 1.5% to 0.2% of sessions by moving shared state into actors and
  fixing data races found with Thread Sanitizer.
- Built offline workout logging with SwiftData and background sync; 30% of workouts are now
  logged offline.
- Reduced CI build time from 25 to 11 minutes by splitting the app into Swift packages
  and caching dependencies.
- Interviewed 20+ iOS candidates and mentored 2 junior developers.

Five bullets. Each one has a result. Each one shows a different skill: architecture, quality, data, tooling, leadership.

Links are strong proof for iOS developers. A recruiter can open your app in seconds.

App Store apps

  • Add the App Store link (it looks like apps.apple.com/app/id123456789).
  • Add one line of context: rating, users, your role.
  • If the app is from your job, say what part you built.
APPS
- Fitly (Health & Fitness) — 4.7 stars, 500k+ downloads. I built the workout player and
  offline sync. apps.apple.com/app/id123456789
- Pocket Budget (personal project) — SwiftUI, SwiftData, WidgetKit. 2k downloads.
  apps.apple.com/app/id987654321

GitHub

Add GitHub only if it helps. Before you add it, check:

  • Pinned repos are your best work, not old tutorials.
  • Each pinned repo has a README with screenshots and "how to run".
  • The code builds with the current Xcode.
  • There are some tests.

One clean project with a good README is better than 30 empty repos.

The skills section

Keep it short and grouped. Only list things you can talk about in an interview.

SKILLS
Languages:   Swift, Objective-C (reading and maintenance)
UI:          SwiftUI, UIKit, Auto Layout, Core Animation basics
Concurrency: async/await, actors, GCD, Combine
Data:        SwiftData, Core Data, Codable, Keychain
Testing:     XCTest, Swift Testing, snapshot tests
Tools:       Xcode, Instruments, Swift Package Manager, Fastlane, GitHub Actions

Do not write skill levels like "Swift 9/10" or progress bars. They do not mean anything to a reader.

ATS tips

ATS means Applicant Tracking System. It is software that reads your resume before a person does. Some companies use it to filter or search resumes. A messy layout can confuse it.

  • Simple layout. One column. No text boxes, no tables for main content.
  • Standard headings. "Experience", "Skills", "Education", "Projects".
  • No important text in images or icons. The software may not read them.
  • Normal fonts. Any common font is fine.
  • File type. PDF is usually fine. Use .docx if the job post asks for it.
  • Keywords from the job post. If the post says "SwiftUI" and "Combine", and you know them, use the same words.
  • Write both forms of short names once. "Swift Package Manager (SPM)", "Continuous Integration (CI)".
  • Simple file name. firstname-lastname-ios-resume.pdf.

Quick test: copy all text from your PDF and paste it into a plain text editor. If the text comes out in the wrong order or is missing, the ATS will have the same problem.

Tailor it for each job

You do not need a new resume each time. Change 3 things:

  1. Summary: match the role. "consumer apps" vs "banking apps" vs "SDKs".
  2. Bullet order: put the most relevant bullet first in each job.
  3. Skills: move the skills from the job post to the front.

Example. The job post says: "Experience with app performance and Instruments." Move this bullet to the top:

Reduced cold launch time from 2.4 s to 1.1 s by moving SDK setup off the main thread, measured with Instruments.

Common mistakes

  • A list of tasks with no results.
  • Too many buzzwords: "passionate", "rockstar", "ninja".
  • Every technology you ever touched, including ones you cannot explain.
  • Spelling mistakes in tech names: "IOS", "Swift UI", "X-code". Write "iOS", "SwiftUI", "Xcode".
  • A photo, age or marital status (not expected in many countries; check local norms).
  • Dates that do not match LinkedIn.
  • Long paragraphs instead of bullets.

Be ready to talk about every line

Interviewers read your resume and ask about it. If you wrote "Cut crash rate from 1.5% to 0.2%", expect:

  • "What were the main crashes?"
  • "How did you find them?"
  • "How did you measure the crash rate?"
  • "What would you do differently?"

Prepare a short story for each bullet. The Behavioral interviews chapter shows how.

Final checklist

  • One page (or two if you are very senior).
  • Every bullet starts with an action verb.
  • Most bullets have a number or a clear result.
  • App Store and GitHub links work.
  • Skills match the job post where it is true.
  • Plain text copy-paste test passes.
  • No spelling mistakes in tech names.
  • You can talk for 2 minutes about every bullet.