The Azar iOS team is responsible for developing the iOS client to ensure a joyful and seamless experience for global users. They prioritize fast and stable operation by using a native codebase and continuously optimize performance through real-time monitoring. The team also focuses on improving development productivity and maintainability through consistent code enhancements. Responsibilities include feature development, rigorous code reviews, unit testing, real-time troubleshooting, and continuous architectural improvements.
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 in UI/UX performance optimization
Experience in designing and operating multi-module based projects
Understanding of real-time data streaming processing
Must Have:
Continuously add new features to Azar.
Collaborate with design, server, and QA teams.
Implement features and share context/code with the team.
Participate in Pull Request-based code reviews.
Write Unit Tests for core logic.
Monitor runtime data (crash info, performance metrics).
Analyze and resolve performance bottlenecks and connection failures.
Actively consider new tech stacks and architectural paradigms.
Apply modern development methods like Swift Concurrency.
Add these skills to join the top 1% applicants for this job
problem-solving
performance-analysis
data-structures
talent-acquisition
game-texts
quality-control
test-coverage
user-experience-ux
sonarqube
webrtc
ios-development
algorithms
swift
Responsibilities
Job Introduction
[Feature]
Continuously add new features to Azar, collaborating with various roles such as design, server, and QA to discuss and implement the optimal solution for achieving goals. Each feature is directly implemented by the developer, who takes responsibility for it, and at the same time, actively shares the context and code of the feature with team members, aiming for a Collective Code Ownership culture where the entire team manages it together, not just a specific individual.
[Code review]
To reduce easily missed bugs and improve code quality, all changes are code-reviewed based on Pull Requests. Formats or rules that can be mechanically checked are automated using tools like SwiftLint, SwiftFormat, and SonarQube. In 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 the code review or QA stage. Developers must write test cases for the core functions or main processing logic of the code they write, which is one of the team's quality standards.
[Troubleshooting]
To ensure that the deployed app maintains performance and stability that meets user expectations, various runtime data such as crash information, performance metrics, and network connection status are monitored in real-time. In particular, stability issues are periodically reviewed and improved to increase the crash-free session rate and provide a predictable user experience. Additionally, major performance bottlenecks or connection failures are detected early, quickly analyzed, and resolved to continuously optimize the overall quality of the app.
[Architectural improvement]
To enhance long-term productivity and maintainability, the introduction of new technology stacks or architectural paradigms is actively considered. The complexity of the code is reduced through a consistent and predictable structure, and modern development methods such as Swift Concurrency and multi-modularization are gradually applied to improve the quality of the entire codebase. Furthermore, design improvements are made to reduce side effects and transition to a structure that facilitates feature expansion and testing.
Requirements
Experience in iOS development 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 review 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 in 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 the document screening stage, only successful candidates will be notified individually.
Application Documents: Detailed resume based on career history, free format, in Korean or English (PDF).
Set alerts for more jobs like iOS Software Engineer (Azar)
Set alerts for new jobs by Match Group
Set alerts for new Mobile Development jobs in South Korea