iOS Software Engineer

6 Minutes ago • All levels • Mobile Development

Job Summary

Job Description

The iOS team is responsible for developing iOS clients to ensure a smooth and enjoyable product experience for global users. They focus on building a native codebase for speed and stability, continuously optimizing performance through real-time monitoring. The team also strives to enhance development productivity and maintenance efficiency through ongoing code improvements and a culture of Collective Code Ownership.
Must have:
  • Continuously add new features and collaborate with design, server, QA.
  • Implement features with responsibility and share context/code with team.
  • Conduct Pull Request-based code reviews for all changes.
  • Automate format/rules with SwiftLint, SwiftFormat, SonarQube.
  • Focus reviews on design, stability, readability, test coverage.
  • Write Unit Tests for core logic to maintain stability.
  • Monitor runtime data (crash info, performance, network) for deployed apps.
  • Improve crash-free session rates and predictable user experience.
  • Detect and resolve performance bottlenecks and connection failures.
  • Consider new tech stacks and architectural paradigms.
  • Reduce code complexity with consistent structures.
  • Apply modern development practices like Swift Concurrency, multi-modularization.
  • Improve design to reduce side effects and facilitate expansion/testing.
Good to have:
  • Understanding and experience with Combine and Swift Concurrency
  • Experience with testing using XCTest or Swift Testing frameworks
  • Understanding of network protocols such as WebRTC, TCP/UDP, TLS
  • Experience with UI/UX performance optimization
  • Experience in designing and operating multi-module based projects
  • Understanding of real-time data streaming processing

Job Details

[iOS Team] The iOS team is responsible for iOS client development to ensure users worldwide can enjoy and smoothly use the product. To achieve faster and more stable operation, most of the codebase is built natively, and performance is continuously optimized by real-time monitoring of various operational metrics. Additionally, we strive to improve development productivity and maintenance efficiency through continuous code improvements.

Responsibilities

  • Job Introduction

[Feature]

  • Continuously add new features to the product, collaborating with various roles such as design, server, and QA to discuss and implement the optimal solution for achieving goals. Each feature is implemented directly by the developer, who takes responsibility for it, and at the same time, the context and code of that feature are actively shared with team members, aiming for a culture of Collective Code Ownership where the entire team manages it, not just a specific individual.

[Code review]

  • To reduce easily missed bugs and improve code quality, all changes undergo code review based on Pull Requests. Formats or rules that can be mechanically checked are automated using tools like SwiftLint, SwiftFormat, and SonarQube. During reviews, the focus is on the appropriateness of the design, stability, readability, and test coverage to collectively create better code.

[Testing]

  • Unit tests are written for core logic to maintain stability even with repeated code changes. Test code plays a significant role in discovering and preventing potential bugs before code review or QA stages. Developers must write test cases for the core functionalities or main processing logic of the code they write, which is one of the team's quality standards.

[Troubleshooting]

  • To ensure deployed apps maintain performance and stability that meet user expectations, various runtime data such as crash information, performance metrics, and network connection status are monitored in real-time. Specifically, to increase the crash-free session rate and provide a predictable user experience, stability issues are regularly reviewed and improved. Furthermore, by early detection of major performance bottlenecks or connection failures, and quickly analyzing and resolving their causes, the overall quality of the app is continuously optimized.

[Architectural improvement]

  • To enhance long-term productivity and maintenance efficiency, the introduction of new technology stacks or architectural paradigms is actively considered. Through a consistent and predictable structure, code complexity is reduced, and modern development practices such as Swift Concurrency and multi-modularization are gradually applied to improve the quality of the entire codebase. Additionally, design improvements aim to reduce side effects and transition to a structure that facilitates feature expansion and testing.

Requirements

  • iOS development experience using UIKit, Foundation, etc., based on Swift
  • Understanding of basic computer science concepts such as data structures, algorithms, memory models, and operating systems
  • Ability to give and receive constructive feedback and communicate smoothly during code reviews and collaboration
  • Ability to actively recognize problems and proactively solve them

Preferred Qualifications

  • Understanding and experience with Combine and Swift Concurrency
  • Experience with testing using XCTest or Swift Testing frameworks
  • Understanding of network protocols such as WebRTC, TCP/UDP, TLS
  • Experience with UI/UX performance optimization
  • Experience in designing and operating multi-module based projects
  • Understanding of real-time data streaming processing

Employment Type/Recruitment Process

  • Employment Type: Full-time
  • Recruitment Process: Document Screening > Coding Test > 1st Interview > Recruiter Call > 2nd Interview > 3rd Interview (if applicable) > Final Offer (* Additional interview stages may be conducted if necessary.)
  • For document screening, only successful candidates will be notified individually.
  • Application Documents: Free-form detailed resume based on career (Korean or English, PDF)

Similar Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Similar Skill Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Jobs in Seoul, South Korea

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

Mobile Development Jobs

Looks like we're out of matches

Set up an alert and we'll send you similar jobs the moment they appear!

About The Company

Seoul, South Korea (Hybrid)

Seoul, South Korea (Hybrid)

Seoul, South Korea (Hybrid)

West Hollywood, California, United States (Hybrid)

Los Angeles, California, United States (Hybrid)

Seoul, South Korea (Hybrid)

Palo Alto, California, United States (Hybrid)

Palo Alto, California, United States (Hybrid)

Seoul, South Korea (Hybrid)

View All Jobs

Get notified when new jobs are added by Match Group

Level Up Your Career in Game Development!

Transform Your Passion into Profession with Our Comprehensive Courses for Aspiring Game Developers.

Job Common Plug