CPM

iOS 개발자

아이폰·아이패드용 앱을 Swift로 설계·개발하고, 앱스토어 배포와 성능·안정성까지 책임지는 직무입니다.

최종 업데이트 2026-08-24

01

iOS 개발자는 어떤 일을 하나요

iOS 개발자는 아이폰과 아이패드에서 돌아가는 앱을 만듭니다. 화면을 구성하고, 서버에서 받은 데이터를 붙이고, 앱스토어 심사를 통과시켜 배포한 뒤 크래시와 리뷰에 대응하는 것까지가 업무 범위입니다.

언어는 정리가 끝났습니다. Swift가 사실상 표준입니다. 여기에 iOS SDK와 UIKit·SwiftUI로 화면을 만드는 능력, REST API 연동, 그리고 현직자들이 공통으로 꼽는 CS 기초가 붙습니다. 특히 비동기 처리와 메모리 관리는 신입 면접에서 반드시 확인하는 영역입니다.

UI를 만들 줄 아는 것과 왜 그렇게 동작하는지 아는 것은 다릅니다. 화면은 SwiftUI로 금방 그릴 수 있지만, 면접에서는 강한 참조 순환이 왜 생기는지, 비동기 작업이 메인 스레드를 어떻게 막는지를 묻습니다. 만들기와 함께 그 밑을 설명할 준비를 해야 합니다.

하루 업무는 대략 이렇습니다

  • 기획·디자이너와 화면과 동작을 협의하고 클라이언트를 구현한다
  • Swift로 신규 기능을 개발하고 기존 코드를 리팩토링한다
  • 서버와 API 명세를 맞추고 응답을 화면에 연결한다
  • 앱스토어 심사에 맞춰 빌드를 올리고 배포한다
  • 크래시 리포트와 성능 지표를 확인해 안정성을 개선한다

02

필요한 핵심 역량과 기술 스택

필수는 없으면 서류에서 걸러지는 항목, 권장은 대부분의 합격자가 갖추는 항목, 우대는 있으면 확실히 차별화되는 항목입니다.

언어

Swift 하나로 시작하면 됩니다. Objective-C는 남아 있는 코드를 읽기 위한 것이지 처음부터 배울 것은 아닙니다.

  • Swift필수

    신입 공고의 사실상 표준입니다. 옵셔널, 클로저, 프로토콜, 제네릭까지는 문법을 넘어 왜 쓰는지 설명할 수 있어야 합니다.

  • Objective-C우대

    레거시 코드를 이해하고 리팩토링하는 차원에서 우대됩니다. 신입에게 필수로 요구하는 곳은 드뭅니다.

iOS 플랫폼 · UI

  • iOS SDK · 생명주기필수

    ViewController 생명주기, 화면 전환, 권한 요청. 앱이 백그라운드로 갔다 돌아올 때 무슨 일이 일어나는지 알아야 합니다.

  • UIKit필수

    실무 프로젝트 상당수가 아직 UIKit 기반입니다. AutoLayout과 UITableView·UICollectionView로 목록을 그리는 것까지는 반드시 해보세요.

  • SwiftUI권장

    최신 흐름이고 신규 프로젝트에서 빠르게 늘고 있습니다. 다만 UIKit을 요구하는 공고가 여전히 많아 둘 다 마주치게 됩니다.

  • UI 패턴 이해권장

    iOS다운 화면 구성과 동작. 애플 휴먼 인터페이스 가이드라인을 한 번 읽어두면 디자이너와 대화가 수월해집니다.

CS 기초 (면접에서 가장 크게 갈리는 부분)

현직자들이 Swift 다음으로 공통되게 꼽는 영역입니다. 여기서 막히면 포트폴리오가 좋아도 뒤집기 어렵습니다.

  • 비동기 처리필수

    GCD와 async/await, 메인 스레드에서 UI를 갱신해야 하는 이유. 쓰레드와 성능에 대한 이해가 신입 요건으로 반복 등장합니다.

  • 메모리 관리필수

    ARC의 동작, 강한 참조 순환이 생기는 상황과 weak·unowned로 끊는 방법. 단골 질문입니다.

  • 값 타입과 참조 타입권장

    struct와 class의 차이를 메모리 관점에서 설명할 수 있어야 합니다.

연동 · 아키텍처 · 협업

  • REST API 연동필수

    URLSession이나 Alamofire로 데이터를 받아 화면에 뿌리는 흐름. RESTful API에 대한 이해가 신입 요건으로 명시됩니다.

  • Git · 브랜치 전략필수

    브랜치를 나눠 작업하고 PR로 합치는 흐름이 몸에 배어 있어야 합니다.

  • MVVM권장

    화면과 로직을 나누는 가장 흔한 구조입니다. 왜 ViewController가 비대해지는지, 무엇을 어디로 옮기는지 설명할 수 있어야 합니다.

  • Clean Architecture우대

    계층을 나눠 의존성을 정리하는 방식입니다. 개인 프로젝트를 한 번 만든 뒤 리팩토링 소재로 쓰기 좋습니다.

  • 크로스 플랫폼 (React Native · Flutter)우대

    우대사항으로 자주 등장합니다. 네이티브를 먼저 하고 나중에 넓히세요.

03

우대 자격증과 경험

자격증은 실력을 대신하지 못하지만 서류 통과와 학습 커리큘럼에는 도움이 됩니다. 우선순위를 보고 고르세요.

Apple Developer Program

권장

자격증은 아니지만 앱스토어에 출시하려면 반드시 필요합니다. 연 99달러이고 매년 갱신해야 합니다. 이 직무에서 가장 확실한 투자입니다.

공식 사이트 →

정보처리기사

우대

iOS 사기업 채용에서는 거의 영향이 없습니다. 공기업·SI를 함께 본다면 고려하세요.

공식 사이트 →

평가에 도움이 되는 경험

앱스토어에 출시한 앱

이 직무에서 가장 강력한 근거입니다. 심사를 통과시켜 봤다는 것 자체가 실무 절차를 겪었다는 뜻입니다.

내 문제를 해결하려고 만든 앱

주제가 거창할 필요는 없습니다. 본인이 겪은 불편을 앱으로 푼 경험은 문제 정의 능력을 보여줍니다.

작아도 집요하게 파고든 사이드 프로젝트

기능 개수보다 하나를 끝까지 물고 늘어진 흔적이 인상 깊게 평가됩니다.

안정성 지표를 개선한 경험

Firebase Crashlytics 등으로 크래시율을 낮춰본 이야기는 우대사항에 직접 등장합니다.

협업 프로젝트 · 인턴

서버·디자이너와 맞춰본 경험은 학교 과제와 격이 다르게 평가됩니다.

04

신입이 준비하는 포트폴리오 형태

개수를 늘리는 것보다 하나를 끝까지 완성하는 편이 유리합니다. 체크리스트를 기준으로 완성도를 점검하세요.

앱스토어에 출시한 앱 (핵심 1개)

중급

이 직무 포트폴리오의 중심입니다. 본인이 겪은 불편을 푸는 주제면 이야기가 자연스럽게 이어집니다. 기능을 늘리기보다 서버 데이터를 받아 화면에 뿌리고, 저장하고, 오프라인에서도 깨지지 않는 흐름 하나를 끝까지 완성하세요.

  • 앱스토어 등록 링크 (Apple Developer Program 연 99달러 필요)
  • GitHub 저장소 공개 + README에 화면 흐름과 기술 선택 이유
  • REST API 연동 (직접 만든 서버 또는 공개 API)
  • Swift + MVVM 구조 적용
  • 화면 회전·백그라운드 전환에서 상태가 유지되는지 확인
  • 시연 영상 또는 스크린샷

CS 기초를 설명할 수 있는 준비

입문

포트폴리오와 짝을 이루는 항목입니다. 내 앱에서 비동기 작업을 어디서 어떻게 처리했는지, 참조 순환이 생길 뻔한 지점을 어떻게 끊었는지 문서로 정리해두면 면접 답변이 그대로 나옵니다. 코드에 근거가 있는 설명이 이론 암기보다 강합니다.

  • async/await 또는 GCD를 쓴 지점과 이유
  • weak·unowned로 순환 참조를 끊은 코드
  • struct와 class를 각각 어디에 왜 썼는지
  • 메인 스레드에서 UI를 갱신하도록 보장한 방법

UIKit과 SwiftUI 비교 (선택)

심화

같은 화면을 두 방식으로 만들어보고 차이를 정리합니다. 공고가 둘 다 언급하는 상황이라, 양쪽을 다뤄봤다는 근거가 됩니다.

  • 같은 화면의 UIKit 버전과 SwiftUI 버전
  • 상태 관리 방식의 차이 정리
  • 어느 쪽을 언제 고를지에 대한 판단

05

추천 학습 순서

기간은 하루 3~4시간 기준의 대략적인 기준입니다. 이미 아는 단계는 건너뛰고, 순서만 지켜도 헤매는 시간이 크게 줄어듭니다.

  1. Swift 기초

    1개월

    목표 — Swift 문법으로 간단한 프로그램을 작성할 수 있고, 옵셔널이 왜 있는지 설명할 수 있다.

    • 변수·함수·조건문·반복문
    • 옵셔널과 언래핑
    • 구조체·클래스·열거형
    • 클로저와 프로토콜

    참고 자료

  2. iOS 기본 (UIKit · 생명주기)

    1~2개월

    목표 — 화면을 만들고 화면 간 이동을 구현할 수 있으며, 생명주기 각 시점에 무엇이 실행되는지 안다.

    • Xcode와 프로젝트 구조
    • ViewController 생명주기
    • AutoLayout으로 레이아웃 잡기
    • UITableView·UICollectionView로 목록 만들기
    • 화면 전환과 데이터 전달

    참고 자료

  3. SwiftUI

    3~4주

    목표 — 선언형으로 화면을 구성할 수 있고, UIKit 방식과 무엇이 다른지 설명할 수 있다.

    • View와 상태(@State·@Binding)
    • 레이아웃(VStack·HStack·ZStack)
    • 리스트와 네비게이션
    • 기존 화면 하나를 SwiftUI로 옮겨보기

    참고 자료

  4. 네트워크 연동

    3주

    목표 — 서버에서 데이터를 받아 화면에 뿌리고, 로딩과 실패 상황을 처리할 수 있다.

    • URLSession으로 REST API 호출
    • Codable로 JSON 파싱
    • 로딩·에러 상태 처리
    • 이미지 비동기 로딩과 캐싱

    참고 자료

  5. 비동기와 메모리 (CS 기초)

    1개월

    목표 — 앱이 왜 멈추는지, 왜 메모리가 새는지 코드로 짚어 설명할 수 있다.

    • GCD와 메인 스레드
    • async/await와 Task
    • ARC와 참조 카운트
    • 강한 참조 순환과 weak·unowned
    • Instruments로 메모리 확인하기

    참고 자료

  6. 아키텍처 패턴 (MVVM)

    3~4주

    목표 — 화면·로직·데이터를 계층으로 나눠 설계하고, 왜 나누는지 설명할 수 있다.

    • MVC에서 ViewController가 비대해지는 이유
    • MVVM의 각 계층 역할
    • 데이터 바인딩 (Combine 또는 클로저)
    • 앞에서 만든 앱을 MVVM으로 리팩토링

    참고 자료

    • [실습]직접 만든 앱을 리팩토링하며 체감하기
    • [커뮤니티]국내 iOS 개발자 기술 블로그의 아키텍처 글
  7. 앱 출시 + 심화

    2~3개월

    목표 — 직접 만든 앱을 앱스토어에 올리고, 면접에서 구조와 개선 과정을 설명할 수 있다.

    • Apple Developer Program 등록과 심사 준비
    • 앱 아이콘·스크린샷·개인정보처리방침 준비
    • 출시 후 크래시 확인과 업데이트 배포
    • Clean Architecture로 리팩토링, 성능 최적화
    • 과정을 기술 블로그에 기록

06

신입이 자주 하는 실수

준비 방향을 잘못 잡으면 들인 시간에 비해 결과가 안 나옵니다. 아래 항목에 해당하지 않는지 점검해 보세요.

  • 화면만 만들고 CS 기초를 건너뛰는 것. 현직자들이 Swift 다음으로 꼽는 게 비동기와 메모리이고, 면접에서 가장 크게 갈리는 지점입니다.
  • SwiftUI만 하고 UIKit을 건너뛰는 것. 실무 프로젝트 상당수가 아직 UIKit이라 둘 다 마주치게 됩니다.
  • 출시하지 않고 끝내는 것. 앱스토어 심사는 그 자체가 실무 절차라, 통과해본 경험과 아닌 것은 다르게 평가됩니다.
  • 맥이 없어서 미루는 것. iOS 개발은 맥이 필요합니다. 중고 맥미니나 학교 실습실을 알아보고 일정에 미리 반영하세요.
  • Objective-C부터 시작하는 것. 지금 기준은 Swift이고, Objective-C는 나중에 읽을 수 있으면 충분합니다.
  • 기능만 잔뜩 넣고 하나도 깊지 않은 앱을 내는 것. 작아도 집요하게 판 흔적이 더 좋게 평가됩니다.

07

자주 묻는 질문

Q.맥이 꼭 필요한가요?

필요합니다. Xcode가 맥에서만 돌아가고, 앱스토어 빌드 업로드도 맥에서 합니다. 클라우드 맥 대여 서비스가 있지만 학습 단계에서는 비효율적입니다. 중고 맥미니나 맥북 에어를 알아보거나 학교 실습실을 이용하세요. 준비 일정에 이 부분을 미리 반영하는 것이 좋습니다.

Q.UIKit과 SwiftUI 중 뭘 먼저 배워야 하나요?

UIKit을 먼저 권합니다. SwiftUI가 최신 흐름인 건 맞지만, 실무의 기존 프로젝트 상당수가 UIKit 기반이고 공고에서도 둘 다 언급됩니다. UIKit으로 생명주기와 화면 구성을 이해한 뒤 SwiftUI로 넘어가면 개념이 훨씬 잘 연결됩니다.

Q.앱을 꼭 앱스토어에 올려야 하나요?

가능하면 올리세요. 심사 과정에서 개인정보처리방침 작성, 스크린샷 준비, 리젝 대응 같은 실무 절차를 그대로 겪게 됩니다. 다만 Apple Developer Program이 연 99달러이고 매년 갱신해야 하니, 지원 시기에 맞춰 등록 시점을 계획하세요.

Q.안드로이드와 iOS 중 어디가 유리한가요?

국내 신입 공고 수는 안드로이드가 조금 더 많은 편이지만 큰 차이는 아니고, 회사와 시기에 따라 뒤집힙니다. 초기 비용은 iOS가 더 듭니다(맥 + 연 99달러). 대신 두 직무 모두 출시 경험과 CS 기초를 보는 구조는 같으니, 본인이 쓰는 기기와 만들고 싶은 앱을 기준으로 골라도 됩니다.

Q.비전공자도 iOS 개발자가 될 수 있나요?

가능하지만 CS 기초가 관건입니다. 이 직무는 비동기와 메모리 관리를 면접에서 깊게 묻기 때문에, 전공 과목(운영체제·자료구조)을 따로 채우지 않으면 화면은 만들어도 설명에서 막힙니다. 앱 출시 경험과 CS 정리를 한 세트로 준비하세요.

이 직무로 내 로드맵 만들기

졸업까지 남은 기간과 지금 수준을 고르면, 위 학습 순서를 시기별 계획으로 나눠 드립니다. 결과는 링크로 그대로 공유할 수 있습니다.

iOS 개발자 로드맵 만들기 →

함께 보면 좋은 직무