Software Engineering & Development

How to get hired as an iOS developer in 2026-27

The short answer

To get hired as an iOS developer in 2026-27, ship an app to the App Store under your own name and be ready to open it in front of the interviewer. iOS is screened on evidence more than most software jobs, because the artefact is public: a live App Store link is worth more than any list of skills, and the technical rounds then test language depth (value versus reference semantics, ARC and retain cycles, structured concurrency and Sendable under the Swift 6 language mode), SwiftUI state and view identity, and a mobile system design round about offline behaviour, caching and sync. Expect at least one question about what you have built on the device itself with Core ML, App Intents or the Foundation Models framework, because Apple Intelligence moved part of the AI surface out of the server and into the app. The native iOS market is smaller than it was at the 2021 hiring peak and skews mid-level and above, so an entry-level candidate wins on a shipped app plus a referral, not on application volume.

What the role ownsBuilding and operating apps that run on Apple platforms: iPhone and iPad first, often watchOS, sometimes tvOS or macOS through Mac Catalyst or SwiftUI, and at a small number of shops visionOS. In practice that means Swift, SwiftUI and UIKit, networking and local persistence, App Store submission and review, release trains tied to Apple's annual OS cycle, and ownership of crash-free session rate, launch time, app size and battery impact on real devices. Unlike web work you cannot hotfix: once a build is live, the only fix is another build through review.
Licence or certificationNone. No licence, registration or continuing education governs iOS development. Apple's App Development with Swift certification does exist through Certiport and is aimed at schools and colleges, but hiring managers do not screen for it and listing it changes nothing. The one formal requirement is an Apple Developer Program membership, needed to distribute on the App Store or send TestFlight builds, at an annual fee Apple publishes on its developer site (long listed at 99 USD a year for an individual or organisation, with a separate, more expensive enterprise programme for internal-only distribution). That is a distribution requirement, not an employment requirement: at a job you use the company's account and your Apple Account is added to its team.
Equipment and time to job-readyA Mac is non-negotiable. Xcode runs only on macOS, and simulators, Instruments, code signing and archiving all live inside it, so a Windows or Linux machine rules you out of practising the actual job. (Swift Playgrounds on iPad can build and submit a simple app, which is a real route for a first project but not the professional toolchain.) An Apple silicon Mac with 16GB of memory is a realistic floor, plus at least one physical iPhone and ideally one several generations old. On timing, plan six to eighteen months from a standing start to a shippable app you can defend: roughly two to four months on Swift as a language, two to four on SwiftUI plus enough UIKit to read a legacy codebase, then a real app with networking, persistence, error states and accessibility taken through App Review.
Typical hiring processUsually a recruiter screen (20 to 30 minutes), then an iOS-specific technical screen run by another iOS engineer (45 to 60 minutes of Swift and framework questions, often with live code), then either a take-home app (typically scoped at four to eight hours, returned within a week) or a live implementation round, then a loop: a mobile system design round from mid-level upward, an architecture or code-review round, and a hiring manager behavioural round. Many teams add a portfolio walkthrough where you screen-share your shipped app. Two to six weeks end to end, longer where a hiring committee and a levelling discussion follow the loop.
PayThere is no iOS-specific occupation code, so read the sources rather than any quoted band. US Bureau of Labor Statistics OES code 15-1252 (software developers) gives medians and the 10th to 90th percentile spread nationally and by metro area. For employer-level figures, US Department of Labor foreign labor certification disclosure data lists exact filed base salaries by employer, job title and worksite, and state pay-transparency laws put real ranges in the postings themselves, which is the fastest read on what a specific company pays. Crowd-sourced levelling sites are self-reported and skew toward the top end, so treat them as a hint and the filings and postings as evidence. Agency and contract iOS work is usually quoted as an hourly rate instead.
Resume length and formatOne page up to roughly eight years of experience, two beyond that. Reverse chronological, standard headings, no photo, no skill bars, no Apple logo. Put App Store links in the header or next to each role as plain visible URLs rather than hidden hyperlinks, because hiring managers copy them and because an applicant tracking system strips link targets. Test extraction before you send it: export the PDF, select all, paste into a plain text editor, and read what comes out.
Evidence that landsA public App Store listing you can point at, then changes with units attached. The shape to aim for, with your own real numbers: crash-free sessions moved from one figure to a higher one, cold launch cut from seconds to milliseconds, download size reduced by a stated amount, a SwiftUI migration of a named number of screens shipped with no rating drop, a flow you own and its conversion. Not 'passionate about the Apple ecosystem', and not a list of forty frameworks.
What changed by 2026Four things. SwiftUI is the default for new work while UIKit still runs most revenue-generating code, so you need both. The Swift 6 language mode made data-race safety a compile-time matter, and migrating a real codebase to it is now a standard interview topic, with later Swift releases softening the migration by letting a module default to main actor isolation. Apple Intelligence put on-device generative features and App Intents on mobile roadmaps, so AI questions in an iOS interview are about the device, not about a server. And the native iOS headcount pool shrank relative to 2021 as companies consolidated mobile teams and moved shared logic to cross-platform stacks, which pushed openings toward mid-level and senior and made a shipped app the thing that separates entry-level candidates.

The three different jobs hiding behind the title "iOS Developer"

Read the posting before you read the title. Three quite different jobs get advertised under the same two words, they screen differently, and sending the same resume to all three wastes most of your applications.

The first is product iOS at a company whose app is the business: a consumer app, a bank, a retailer, a health app. The codebase is years old, large, and usually a UIKit core with SwiftUI arriving screen by screen. They hire for judgement under constraint: migration without regressions, crash budgets, release discipline, performance on an iPhone several generations old that plenty of their users still carry. The interview will go deep on memory, concurrency, and how you would move a legacy screen across without breaking it.

The second is greenfield or startup iOS, where you are one of one or one of three. SwiftUI throughout, Swift Concurrency throughout, and you own networking, persistence, CI, release, analytics and often the negotiation over the backend contract. They hire for breadth and speed of shipping, and the strongest signal is an app you personally took from empty project to live listing. The interview is often a take-home plus a long conversation about tradeoffs you actually made.

The third is agency, consultancy and contract iOS: several client apps a year, other people's codebases, fixed scope, and heavy emphasis on picking up an unfamiliar project quickly. They hire for range (Objective-C turns up here more than anywhere else), for communication with non-technical clients, and for App Review fluency, because a rejection on a client launch date is their problem. Rates are often hourly and the interview is shorter and more practical.

A fourth category is worth naming because it is frequently mislabelled: postings titled "iOS Developer" that are really cross-platform roles. If React Native, Flutter or Kotlin Multiplatform appears in the first three bullets, the day job is largely TypeScript, Dart or Kotlin with native modules at the edges. That can be a good job, but preparing for it as if it were a native loop is a mistake, and so is dismissing it when the posting says shared logic is moving to Kotlin Multiplatform while the interface stays SwiftUI, which is a common 2026 arrangement and still a native iOS job most days.

What actually gates the job: a Mac, a developer account, and an app with your name on it

Nothing licenses iOS development. There is no board, no exam, no continuing education, and no certificate a hiring manager will ask for. What gates the job instead is a short list of practical requirements that are easy to underestimate.

The hardware gate is real. Xcode is macOS-only, and everything you need to demonstrate the job lives inside it: simulators, Instruments profiling, code signing, archive and upload. Cloud Mac rentals exist and work well for continuous integration, but learning on one is slow and you will be asked to build and run something during an interview. Budget for a Mac before you budget for a course. You also want one physical iPhone, including an older one, because thermal and performance problems only show up on real hardware.

The distribution gate is the Apple Developer Program. A free Apple Account lets you build to your own device with a provisioning profile that expires after about a week, and that is roughly all: no TestFlight distribution to testers, no App Store submission, and no capabilities that need an entitlement, such as push notifications, CloudKit, Sign in with Apple or app groups. The paid programme costs an annual fee Apple publishes on its developer site, and enrolment itself can take days because it involves identity verification, so do not leave it until the week you want to launch. Anyone building a serious portfolio app needs it.

The third gate is not formal at all: code signing and provisioning. Certificates, identifiers, provisioning profiles, entitlements, capabilities, automatic versus manual signing, and what actually breaks when a certificate expires. This is the most common source of panic in a mobile team, it is rarely taught in courses, and being the person who can calmly explain why a build will not install is a disproportionately strong signal in an interview. Learn it by doing one full manual signing setup on purpose.

Degrees sit outside all of this. A computer science degree helps at large employers that run graduate pipelines, and in some visa pathways, and it is close to irrelevant three years in. The substitute is not a certificate: it is an app in the store with real users and a story about what broke.

The portfolio app: the one thing that separates iOS candidates

For most software roles a portfolio is optional. For iOS it is close to decisive, because distribution is public and the artefact is inspectable. A hiring manager can open your App Store listing in ten seconds, see the screenshots, read the reviews, check the update history, download it and use it on their own phone. Almost no other engineering discipline hands the interviewer that much before the first call, and the candidates who ship get called.

It has to be shipped, not a repository. A GitHub link is worth something; a live listing is worth more, because getting through App Review proves a set of unglamorous competences at once: icons and screenshots at the right sizes, a privacy policy, a filled-in privacy nutrition label and privacy manifest, correct entitlements, an age rating, metadata that does not trip the guidelines, and a build that does not crash on launch on the reviewer's device.

Choose the project for the problems it forces you to solve rather than for the idea. A to-do list demonstrates nothing, because it has no network, no concurrency, no error states and no sync. Pick something that forces at least four of these: a real network API with authentication, pagination, offline reading from a local store, background refresh, push notifications, an image pipeline with caching, camera or sensor input, an on-device model, a widget, and an App Intent so Siri can drive it. Then make it genuinely usable: empty states, error states, retry, Dynamic Type, VoiceOver labels, and a dark mode that is not broken.

Write a one-page case study to go with it and keep it where you can paste it. What the app does, who uses it, the architecture in four sentences, the three hardest problems and how you solved them, what you measured (cold launch, crash-free sessions, binary size), and what you would do differently. Interviewers ask "tell me about something you built" and most candidates answer with features. Answer with decisions and failures and you have separated yourself in ninety seconds.

If your best work is under NDA or lives in an employer's App Store account, you are not stuck. Name the app, link the public listing, and state precisely what you owned ("rebuilt the checkout flow in SwiftUI, 11 screens, shipped in version 4.2") without disclosing internals. That is normal and expected. What does not work is a resume full of unnamed "an enterprise iOS application" entries with nothing to open: if everything you have done is invisible, build one small public thing so the interviewer has something to look at.

The hiring process, stage by stage, and who is on the other side

iOS hiring is run by iOS people more often than general software hiring is run by generalists. Your technical screen is usually another iOS engineer, your loop is usually a mobile team, and your hiring manager has usually shipped through App Review personally. That has two consequences: vague answers get caught immediately, and specific platform detail is appreciated rather than treated as trivia.

Stage one is the recruiter screen, twenty to thirty minutes. They are checking location and work authorisation, salary expectation, notice period, and whether your experience is native or cross-platform. This is where you ask what the loop actually is, because iOS loops vary more than backend loops do. Ask in writing: how many rounds, whether there is a take-home and how many hours it is expected to take, whether the coding round is in Xcode on your machine or in a shared web editor (writing Swift in a browser with no compiler is a different skill, and it is fair to ask), and whether an AI coding assistant is permitted in each round.

Stage two is the technical screen with an iOS engineer. Expect rapid language and framework questions plus a small live exercise. The questions cluster tightly: value versus reference types and when a struct copies, ARC and where retain cycles come from, escaping closures and capture lists, protocols and generics, optionals and when force unwrapping is defensible, the difference between State, Binding, an Observable model and Environment in SwiftUI, and what the main actor is for. Then a short task, usually some version of: parse this JSON into models and show it in a list with a loading state and an error state.

Stage three is either a take-home or a longer live build. A typical take-home is "consume this public API, show a list and a detail screen, handle errors and offline, include tests, and write a short README explaining your choices", scoped at four to eight hours. Reviewers care about error handling, the presence of a seam for testing, the reasoning in the README, and whether you over-engineered. A three-layer architecture with a protocol for everything on a two-screen app reads worse than a plain structure with a stated reason.

Stage four is the loop: a mobile system design round from mid-level up, often an architecture or code-review round where you critique real code, and a hiring manager round about ownership, incidents, release decisions and working with designers. Some teams add a portfolio walkthrough. A growing number add a debugging round, where you are handed a project containing a retain cycle, a main-thread hang or a flaky list and asked to find it with Instruments while narrating what you are doing.

Timelines run two to six weeks, and a take-home adds a week. Agencies and startups move fastest and often decide after two conversations. Larger employers add a hiring committee step after the loop and a levelling discussion that sets your band, which is why the system design round usually matters more to your offer than the coding round does.

What the technical rounds really test: Swift depth, concurrency and SwiftUI state

iOS interviews are less algorithm-heavy than general software interviews and far more language and framework specific. Large employers still run a standard data structures round, so do not skip it entirely, but the rejection in an iOS loop usually happens on platform depth rather than on a graph problem.

Memory and lifetime come up in nearly every loop. Be able to explain ARC without hand-waving: strong, weak and unowned references, where a retain cycle forms (a closure capturing self held by the object that holds the closure, a delegate declared strong, a parent and child holding each other), what weak self costs you inside a Task, and how you prove a leak rather than guess at it. The complete answer ends with how you found it in the memory graph debugger or with the Leaks instrument, because the practical skill is the point.

Concurrency is the defining 2026 topic and the one most candidates are weakest on. Structured concurrency has been in production for years, and the Swift 6 language mode turned data-race safety into compile-time enforcement, which means real codebases are mid-migration and real interviews ask about it. Know async and await, Task and task groups, cancellation and why it is cooperative, actors and actor reentrancy, the main actor and why a view model usually belongs on it, Sendable and why a mutable class is not, and what the common migration errors actually mean. Know too that later Swift releases added ways to make the migration less painful, including defaulting a module to main actor isolation so that ordinary single-threaded code stops fighting the compiler. The question behind the question is whether you can reason about which code runs where.

SwiftUI questions concentrate on state and identity rather than on layout. Which property wrapper owns the value and which observes it, what the Observable macro changed compared with ObservableObject and published properties, why a list row keeps the wrong data after a sort (identity, not state), when you need an explicit id, what makes a view body re-evaluate and why that is not the same as a redraw, how you keep expensive work out of body, and how you bridge to UIKit with representables when SwiftUI has no answer. Expect at least one question that is really "do you know why this is slow".

UIKit still gets asked, because most money-making apps still contain a lot of it. Cell reuse and what goes wrong without it, diffable data sources and snapshots, Auto Layout priorities and how you debug an ambiguous layout, view controller lifecycle and the difference between viewDidLoad and viewWillAppear for data loading, and navigation. Candidates who have only used SwiftUI get caught here, and candidates who have only used UIKit get caught on the SwiftUI half. Prepare both honestly and say which one you are stronger in.

Then the plumbing: URLSession with async and await, Codable with awkward payloads (snake case, dates, heterogeneous arrays, missing keys), error typing and what you surface to the user, persistence choices (UserDefaults for preferences only, Keychain for secrets, files, Core Data, SwiftData, or SQLite through GRDB) and why, dependency injection without a framework, and testing with Swift Testing or XCTest plus UI tests and snapshot tests. Performance closes it out: Instruments, Time Profiler, hangs and hitches, launch time, and MetricKit for field data.

The mobile system design round, which is nothing like the backend one

From mid-level upward there is a design round, and candidates who prepare for it with backend material fail it. Nobody wants you to shard a database. The prompt is usually "design the client for a feed", "design offline support for this app", "design an image-heavy browsing experience" or "design a chat client", and the whole round happens on one device with intermittent network, finite battery, limited memory and a binary a user has to download.

The structure that scores well starts with constraints, not components. Ask for the device floor and minimum deployment target, expected payload sizes, whether the data is user-specific or shared, how fresh it must be, whether writes happen offline, and what happens on a conflict. Then draw the layers: networking, a cache and persistence layer, a repository or store that decides what the UI sees, and the UI itself. The sentence the interviewer is waiting for is that the UI reads from the local store and the network updates the store, not that the view calls the API.

Then get specific about the hard parts. Pagination, and what happens when page two arrives after the user has pulled to refresh. Cache invalidation with a stated eviction policy and a size cap. Image loading: downsampling before decode, a memory cache plus a disk cache, prefetching, cancelling in-flight requests on cell reuse. Offline writes: an outbox of pending mutations, idempotency so a retry does not double-post, and a named conflict policy (last writer wins, server wins, or a merge) with a reason. Background refresh and what iOS actually guarantees, which is not much. Push notifications, and silent pushes as a hint rather than a delivery promise.

Finish on what is unique to shipping on a phone, because that is where senior candidates separate themselves. App size, and why download size affects install conversion. A launch time budget. Battery and thermals if you are polling or using the camera. Feature flags and a kill switch, because you cannot roll back a release. Staged rollout. Schema migration for the local store, including what happens to a user who skipped four versions. Analytics and privacy. Testability: where the seams are so this can be tested without a network.

Say the tradeoff out loud, and say what you are not doing. "I would not build full two-way sync for version one. Reads cached, writes queued in an outbox, server wins on conflict, and I would revisit if the analytics show concurrent edits." That one sentence is often the difference between a mid-level and a senior read of the same candidate.

Shipping and operating: the half of the job nobody prepares for

iOS differs from web engineering in one structural way that shapes every interview question about judgement: you cannot take a release back. A web team rolls back in minutes. A mobile team ships a build, discovers a crash, writes a fix, submits it, waits for review, and then waits for users to update. That is why experienced iOS interviewers ask about process at all, and why a candidate who has felt it answers differently.

App Review is a real part of the job. Apple publishes current review timings and most submissions clear in a day or two, but the outcome is never guaranteed and the common rejection reasons are learnable: a crash on the reviewer's device, a missing or broken demo account, inaccurate privacy disclosures, requesting a permission without a clear in-context explanation in the usage description string, requiring sign-in for features that do not need an account, payment flows that do not follow Apple's rules for the category, incomplete metadata, and user-generated content with no moderation or reporting path. Knowing that expedited review exists and when it is appropriate to ask for it is a senior detail worth having.

Privacy obligations are now mechanical gates on submission rather than a policy conversation. You declare data collection in the privacy nutrition label, you ship a privacy manifest for your app and your third-party SDKs, and certain APIs require you to declare an approved reason for using them. Third-party SDKs must carry their own manifests and signatures, which is why "we audited and removed four SDKs" is a credible resume line. Treat the specifics as things to verify against Apple's current developer documentation before you quote them in an interview, because the requirements have been tightened more than once.

Distribution rules themselves have been in flux, and this is where you should be most careful about repeating anything you read. Regulatory action in the European Union has forced alternative distribution and payment arrangements on iOS, and separate litigation in the United States changed what apps may tell users about purchasing outside the App Store. The direction of travel is clear and the details have changed repeatedly, including after most published guides were written. If a company's business depends on it, describe the shape of the obligation and say you would check the current position rather than quoting a rule or a date. That is also the honest answer in the room.

Operationally, the numbers a mobile team actually watches are crash-free session rate and crash-free user rate, hang rate and launch time, adoption per version, app size, and store rating trend. Know where they come from: Xcode Organizer, MetricKit for field performance, and a crash reporter such as Crashlytics or Sentry. If you have ever triaged a production crash from a symbolicated stack trace and shipped the fix, that story belongs in your interview with the numbers attached.

The resume, the search, and where the iOS jobs actually are in 2026-27

Start with the market, honestly. Native iOS hiring is smaller than it was at the 2021 peak. Companies consolidated mobile teams and some moved shared logic to cross-platform stacks, and the effect is fewer openings skewed toward mid-level and senior, with entry-level the hardest segment. That is not a reason to avoid the field. It is a reason to be specific: the demand that remains is concentrated in companies where the app is the product or a regulated channel, and those companies hire slowly and pay for depth.

Where the openings cluster: consumer apps with large install bases, banks, insurers and brokerages, health and telehealth, retail and quick-service restaurant apps, travel and transport, media and streaming, industrial and field-service apps that use the device's sensors and camera, and the agencies serving all of the above. Hardware and device companies hire iOS engineers to build companion apps, which is a steady and often overlooked seam. Anything that depends on on-device capability (camera, sensors, local models, HealthKit, CarPlay) is hired native, because cross-platform cannot reach it cleanly.

Now the resume. The header carries your name, location, work authorisation if it helps, contact, GitHub, and at least one App Store URL as visible text. Each role gets a one-line context sentence saying what the app was and its scale, then bullets that are decisions with numbers: what you changed, what moved, by how much. "Migrated 23 screens from UIKit to SwiftUI across three releases with no increase in crash rate" tells a hiring manager more than a paragraph of adjectives.

What gets ignored or actively hurts: skill bars and percentage ratings, a list of forty frameworks (naming MapKit, StoreKit, HealthKit, ARKit and CoreMotion when you touched each once reads as padding and invites a question you cannot answer), "passionate about the Apple ecosystem", an objective statement, and a two-page resume for three years of experience. Avoid claiming SwiftUI and UIKit and React Native and Flutter and Kotlin Multiplatform on one line: it reads as unfocused, and the follow-up question will find the gap.

On applying: this is a small world, and referrals matter more than in larger disciplines. The iOS community is unusually public, which works in your favour. A specific, non-generic message to the mobile lead at a company whose app you have actually used, naming one concrete thing about the app, works better than a hundred applications. So does visible work: a Swift package other people depend on, a well-written bug report with a reproduction case filed through Apple's Feedback Assistant, a meetup or conference talk, a write-up of a real fix. Local iOS meetups, the Swift Forums, and the iOS newsletters that list jobs are where those conversations start, and interviewers do notice. It is a legitimate substitute for the referral you do not yet have.

Working with AI in this role

What an iOS developer has to know about AI in 2026-27

Start with the honest calibration, because the hype and the observable change are different sizes. The core of iOS work has not been automated. Designing an interaction that feels right, debugging a hitch that only appears on a three-year-old device, reasoning about actor isolation, getting a build through App Review, and owning a release you cannot roll back are all exactly as manual as they were. Nothing on the market does them for you, and no employer is hiring fewer iOS engineers because a model can write Swift.

What did change is specific, and it sits in two places. The first is the product surface. Apple Intelligence put generative capability on the device, and the Foundation Models framework opened the on-device model to third-party apps through a Swift API, with structured output decoded into your own Swift types, tool calling and streaming, at no inference cost and with no network round trip. That turned "add an AI feature" from a backend project into an iOS project, and it is now a normal line item on mobile roadmaps. In parallel, App Intents became the way an app is reachable by Siri and system-level intelligence: an app that has not defined intents is simply not addressable that way. If you can speak concretely about either, you are ahead of most candidates applying in 2026.

The second change is in how the code gets written. Assistants are assumed, Xcode has coding intelligence built in, and the differentiator is review rather than generation. Generated SwiftUI is where this bites hardest: it compiles, it looks correct, and then it breaks view identity so a list shows stale rows, captures self strongly inside a Task, blocks the main actor with work that should be off it, or calls an API that does not exist on the version you support. Interviewers know this, which is part of why debugging and code-review rounds have become common in iOS loops.

The practical mechanics: ask in writing whether an AI assistant is permitted in each round, because teams split three ways and you cannot guess. Some require you to use one and watch how you prompt, review and verify. Some disable it to see you reason unaided. In a take-home, say plainly what you generated and what you changed. Reviewers can usually tell, honesty costs nothing, and being caught costs the offer.

One caution on availability. Apple Intelligence features, including the on-device model, require capable hardware and are not available on every device, in every region or in every language, and both the device list and the regional availability have changed over time. Any app shipping an on-device generative feature needs an availability check and a graceful fallback, and any candidate talking about it in an interview should check Apple's current documentation for what is supported rather than repeating a device list from an article.

Building an on-device generative feature with the Foundation Models framework, and knowing where it is the wrong tool

This is the most differentiating AI skill for an iOS candidate in 2026-27, because it is new enough that few applicants have shipped it and concrete enough that it cannot be faked. It also carries a real judgement question: the on-device model is small and has a limited context window, so it is good at summarising, classifying, tagging, extracting structure and generating short text, and it is the wrong choice for long-document reasoning, broad world knowledge or anything that needs a frontier model. Teams want the engineer who knows the difference before the feature ships, not after.

Show it: Ship one real feature in your portfolio app that uses it: summarise saved articles, generate tags from user notes, turn free text into a structured object. Use guided generation so the output decodes into your own Swift type instead of parsing free text, stream the result so the interface stays responsive, and handle the unavailable case (unsupported device, model not downloaded, feature disabled) with a path that still works. Then be able to say what you tried that did not work, and why you moved anything off the device if you did.

Exposing the app through App Intents so system intelligence can drive it

App Intents are the integration surface for Siri, Shortcuts, Spotlight, widgets, controls and system-level suggestions. An app without them is invisible to all of it. Because this is still roadmap work at a lot of companies rather than a solved problem, "I defined our App Intents and shipped the Shortcuts integration" is an unusually credible claim for a mid-level candidate, and it demonstrates something interviewers value separately: that you can model an app's capabilities as discrete parameterised actions rather than as screens.

Show it: Add two or three real intents to your portfolio app, with entities, parameters and a sensible confirmation flow, and donate them so they appear in Shortcuts and Spotlight. Record a fifteen-second screen capture of Siri performing one. In an interview, be able to explain the difference between an intent, an entity and a query, and why modelling the entity properly is what makes the feature useful rather than a demo.

Shipping a Core ML model: conversion, quantisation and the device budget

Most on-device machine learning actually in production is not a language model. It is vision, audio, text classification and ranking running through Core ML, Vision, Natural Language or Speech, and those pipelines predate Apple Intelligence and are still what most roles with an ML component mean. The hiring signal is not that you trained a model. It is that you understand the constraints a model has to live inside on a phone: download size, memory peak, latency, thermals and battery.

Show it: Take an existing model, convert it with Core ML Tools, quantise it, measure before and after on a real device (size, inference latency, memory peak), and carry those numbers into the interview. Know how to ship a large model without inflating the download, using on-demand resources or background asset downloads. Know which compute units you asked for and why, and be able to say what you did when the Neural Engine was not available.

Deciding on-device versus server, and defending the tradeoff

This is the architecture question hiring managers use to separate someone who has shipped an AI feature from someone who has watched a demo. On device wins on latency, privacy, offline capability and marginal cost, and loses on model capability, memory, battery, binary size and your ability to change the model without shipping a build. On server wins the opposite set. There is rarely one right answer, and interviewers score the reasoning rather than the conclusion.

Show it: Have one worked example you can narrate in two minutes: the feature, what you measured, which way you went, and the specific constraint that decided it ("inference ran fast enough on device and the content was private health data, so it never left the phone"). Be able to describe the hybrid pattern too: on device by default, escalating to a server model for the hard cases, with a user-visible indication when data leaves the device.

Reviewing AI-generated Swift and SwiftUI for the defects it reliably produces

Generation is cheap and uniform now, so the scarce skill is catching what it gets wrong, and the iOS failure modes are distinctive enough to name. Teams have been slowed by merged changes nobody understood, and the code-review and debugging rounds in an iOS loop exist precisely to find the candidate who spots these before they merge rather than after a release that cannot be rolled back.

Show it: Be able to list the recurring defect classes without hesitating: a strong self capture inside a Task or a closure, main-actor work that should be off the main actor and the reverse, broken SwiftUI view identity causing stale or recycled rows, a ForEach keyed on an array index, a missing cancellation check, API usage not available on the deployment target, force unwrapping on decoded data, and a modifier or initialiser that does not exist. In a review round, announce the categories you are checking before you start reading. On the resume, one bullet about a defect class you eliminated, with a number attached.

Handling data and disclosure correctly for an AI feature

An AI feature changes what your app does with user data, and on iOS that has mechanical consequences: privacy nutrition labels, the privacy manifest, any third-party SDK you added to call a model, what you say in the App Store description, and the App Review rules around user-generated and model-generated content. A feature that works but fails review, or that discloses incorrectly, is a shipped problem rather than a shipped feature, and senior interviewers ask about it deliberately.

Show it: Be able to say exactly what leaves the device in your feature and what does not, where the user is told, and how consent is obtained if it is needed. Know that third-party SDKs carry their own privacy manifests and that adding one to call a hosted model is a disclosure event, not just a dependency. If you shipped a feature that generates content shown to other users, be able to describe the moderation and reporting path you built, and verify the current review requirements against Apple's documentation rather than from memory.

What a screen is looking for

These are the terms that a resume screen, human or automated, is matching against for this role. Use the ones that are true of you, in the words the posting uses.

Mistakes that cost people this job

Applying for iOS roles with no app in the App Store.

Ship one. This is the discipline where the artefact is public and the hiring manager can open it during the screen, so its absence is conspicuous in a way it is not for a backend candidate. It does not need users or revenue. It needs to exist, to be downloadable, to not crash, to have at least two updates in its version history, and to contain at least four of: authenticated networking, pagination, offline cache, background refresh, push notifications, accessibility, a widget, an App Intent, an on-device model.

Preparing entirely with algorithm puzzles and then being rejected on Swift semantics.

Split preparation roughly in thirds: language and framework depth (value semantics, ARC, concurrency, SwiftUI state), a take-home-shaped app you can build from an empty project in an hour, and mobile system design. Keep a smaller algorithms rotation for the large employers that still run that round, but do not let it crowd out the platform work, because the rejection usually comes from the platform half.

Saying you know SwiftUI when you can only follow a tutorial, and being unable to explain why a view updates.

Learn the state model properly: which wrapper owns a value and which observes it, what the Observable macro changed, what view identity is and how it differs from state, why a list shows stale rows after a sort, and what makes body re-evaluate. Then prove it by fixing a performance problem in your own app and describing the before and after with Instruments numbers attached.

Dismissing UIKit as legacy and refusing to learn it.

Most apps that pay salaries are large UIKit codebases with SwiftUI arriving incrementally, and a very common job description is literally "help us migrate". Learn enough UIKit to read and modify it confidently: cell reuse, diffable data sources, Auto Layout, view controller lifecycle, navigation, and representables in both directions. Being the person who can safely bridge the two is one of the most hireable positions in iOS right now.

Building a to-do list or a one-call weather app as the portfolio piece.

Build something with a real data layer and real failure modes, so the interview has something to talk about. The question you want to be asked is "how did you handle it when the network dropped mid-sync", and a to-do list cannot produce that question. Pick a domain you actually care about so you can answer product questions about it too.

Ignoring the release and operations half of the job, then having nothing to say when asked how you handle a bad release.

Learn the vocabulary and have one story. Know what phased release, expedited review, a kill switch and feature flags are for, know your own app's crash-free session rate and where you read it, and be able to describe a crash you triaged from a symbolicated stack trace and the fix you shipped. If you have never had a production incident, say so plainly and describe how you would handle one rather than inventing one.

Claiming on-device AI experience on the strength of a demo that posts an API key from the app to a hosted model.

Say what you actually built. If you called a hosted API, say so, say why, and be able to explain how the key was kept out of the binary, because a key shipped in an app bundle is extractable and is a genuine security finding an interviewer may probe. If you want the on-device claim, build the on-device thing: Foundation Models with guided generation, or a converted Core ML model with measured size, latency and memory on a real device.

Listing forty frameworks and five platforms on the skills line.

List what you could be interviewed on for twenty minutes without flinching, and nothing else. An iOS interviewer will pick the least likely item on your list and ask about it. A tight, honest line (Swift, SwiftUI, UIKit, Swift Concurrency, Core Data, URLSession, XCTest, Instruments, Fastlane) reads as more senior than an exhaustive one, and it steers the conversation onto ground you own.

Questions people ask

Do I need a computer science degree to become an iOS developer?

No. No degree, licence or certification is required to work as an iOS developer, and a large share of working iOS engineers came through other routes. A computer science degree helps mainly at entry level, where large employers screen high-volume graduate pipelines on it, and in some visa pathways. What substitutes for it is a shipped App Store app you can discuss in depth, plus someone who will vouch for you. After about three years of professional experience the degree question essentially stops being asked.

Do I need a Mac to become an iOS developer?

Yes, in practice: an iOS developer cannot do the job without one. Xcode runs only on macOS, and the whole working toolchain lives inside it: simulators, Instruments profiling, code signing, archiving and uploading to App Store Connect. Cloud-hosted Macs exist and are used for continuous integration, but learning on one is slow and you will be asked to build and run code during interviews. Swift Playgrounds on iPad can build and submit a simple app, which is a usable first step but not the professional toolchain. An Apple silicon Mac with at least 16GB of memory plus one physical iPhone, ideally including an older model for performance testing, is the realistic minimum.

How much does it cost to publish an app on the App Store?

An iOS developer publishing to the App Store needs an Apple Developer Program membership, an annual fee published on Apple's developer site that has long been listed at 99 USD a year for an individual or organisation, with a separate and more expensive enterprise programme for internal-only distribution. A free Apple Account lets you build to your own device with a profile that expires after about a week, and nothing more: no TestFlight, no App Store submission, and no entitlements such as push notifications, CloudKit or Sign in with Apple. Enrolment involves identity verification and can take several days, and an organisation enrolment requires a D-U-N-S number.

Should I learn SwiftUI or UIKit in 2026?

Both, in that order. Learn Swift the language properly first, then SwiftUI, because it is the default for new work and for most interview exercises, then enough UIKit to read and modify an existing codebase confidently. Almost every iOS developer job that pays well involves a large UIKit codebase with SwiftUI being introduced screen by screen, so candidates who know only one get caught on the other half of the interview. Be honest about which is your strength rather than claiming equal depth in both.

How long does it take to become job-ready as an iOS developer?

Plan six to eighteen months from a standing start to job-ready as an iOS developer, not weeks. A workable sequence is two to four months on Swift as a language, including optionals, value semantics, protocols, generics and error handling, two to four months on SwiftUI plus enough UIKit to read legacy code, and then a real app with networking, local persistence, error and empty states, accessibility and tests, taken all the way through App Review. The things that actually end the search are the shipped app and a referral, and both take months to accumulate.

What does an iOS developer interview consist of in 2026?

Typically a recruiter screen, then a technical screen run by another iOS engineer covering Swift language depth and framework questions with a small live coding task, then either a take-home app of four to eight hours or a longer live build, then a loop of two to four rounds: a mobile system design round from mid-level upward, often an architecture or code-review round, sometimes a debugging round in Instruments, and a hiring manager behavioural round. Many teams add a walkthrough of an app you shipped. Ask the recruiter for the exact round list and whether an AI assistant is permitted in each one.

Is native iOS development a shrinking career because of React Native and Flutter?

Hiring for native iOS developers is smaller than it was in 2021, which is worth saying plainly, but the work is not disappearing. Cross-platform frameworks took the middle of the market, especially at companies where the app is a secondary channel. Native iOS demand concentrated where the app is the product or a regulated channel, and where the work depends on device capability that cross-platform cannot reach cleanly: camera and sensors, HealthKit, CarPlay, widgets and Live Activities, on-device models, tight performance budgets. The practical effect for a job seeker is fewer openings, skewed toward mid-level and senior, with higher expectations of depth.

Do I still need to know Objective-C to get an iOS job?

Not at most companies hiring iOS developers, and not for greenfield work. Objective-C still matters in three situations: large older codebases that remain partly written in it, agency and consultancy work on inherited projects, and debugging where a crash lands in Objective-C runtime code or an older dependency. A reasonable target for most iOS candidates is the ability to read it, follow a stack trace through it and modify it carefully, rather than fluency. If a posting lists it in the first three bullets, treat the role as maintenance-heavy and price it accordingly.

What on-device AI experience do iOS teams actually screen for?

Teams want concrete shipped work from an iOS developer, not familiarity. The strongest answers in 2026-27 are a generative feature built with Apple's Foundation Models framework using guided generation into your own Swift types with a fallback for unsupported devices, App Intents that make the app addressable by Siri and system intelligence, or a Core ML model you converted, quantised and measured on a real device for size, latency and memory. Equally screened for is the judgement call: when the on-device model is the wrong tool, and how you chose between on-device and server inference.

How much do iOS developers earn?

There is no iOS-specific occupational code, so read the sources rather than a quoted band. US Bureau of Labor Statistics OES code 15-1252 (software developers) gives national and metro medians and the 10th to 90th percentile spread. For employer-level numbers, US Department of Labor foreign labor certification disclosure data lists filed base salaries by employer, job title and worksite, and state pay-transparency laws put real ranges directly into job postings. Pay for iOS developers varies more by employer tier, internal level and location than by years of iOS experience, and agency or contract work is usually quoted as an hourly rate.

Put this on a resume in about a minute

Paste your history once and point it at the iOS Developer posting you are looking at. No account, no card.

Build my resume free More roles