Job Description

Calix provides the cloud, software platforms, systems and services required for communications service providers to simplify their businesses, excite their subscribers and grow their value.

Key Responsibilities:

  • Architect and design complex iOS applications, ensuring modularity, scalability, and maintainability.
  • Lead the development team by providing technical guidance, mentorship, and code reviews.
  • Take ownership of project delivery timelines, technical design decisions, and complex problem-solving.
  • Collaborate closely with senior management and stakeholders to define project goals, timelines, and deliverables.
  • Implement advanced design patterns such as VIPER, Coordinator, or Clean Architecture based on project requirements.
  • Design, develop, and maintain iOS applications using Swift and SwiftUI, focusing on performance, scalability, and user experience.
  • Implement and maintain a modular architecture to ensure code reusability and maintainability.
  • Utilize Swift Package Manager (SPM) for package management, modular architecture, and dependency management.
  • Create responsive, adaptive, and user-friendly interfaces using SwiftUI and UIKit when necessary.
  • Develop and maintain unit tests and UI tests using frameworks like XCTest, and mock data using mocking frameworks.
  • Implement dependency injection using frameworks like Swinject or Resolver.
  • Ensure compliance with coding standards and best practices through code reviews and CI/CD pipelines.
  • Collaborate with cross-functional teams, including UI/UX designers, backend developers, and product managers, to ship new features and applications.
  • Optimize application performance by handling memory management, multithreading, and concurrency efficiently.
  • Write and maintain technical documentation, covering architecture design, API integration, testing strategies, and release notes.
  • Stay up-to-date with the latest industry trends, iOS platform advancements, and development best practices.

Required Skills and Experience:

  • Strong proficiency in Swift and SwiftUI with experience in developing dynamic, adaptive UIs.
  • Hands-on experience with UIKit, CoreData, and other iOS frameworks.
  • Experience in designing and implementing modular architectures with reusable frameworks for iOS applications.
  • Proficiency in protocol-oriented programming and understanding of object-oriented programming principles.
  • Experience with Swift Package Manager (SPM), CocoaPods, or Carthage for dependency management.
  • Experience with unit testing frameworks like XCTest and using mocking frameworks for comprehensive test coverage.
  • Knowledge of dependency injection frameworks such as Swinject or Resolver.
  • Familiarity with CI/CD pipelines, version control (Git), and project management tools (JIRA, etc.).
  • Strong understanding of Apple Human Interface Guidelines (HIG) and App Store submission processes.
  • Extensive experience in iOS application architecture, design, and development using Swift and SwiftUI.
  • Proven track record in leading teams, providing mentorship, and architecting high-quality iOS applications.
  • Strong understanding of protocol-oriented programming and modular architecture for large-scale applications.
  • Expertise in using Swift Package Manager (SPM) to build, integrate, and maintain modular app structures.
  • Experience in networking with RESTful APIs, WebSockets, and using libraries like Alamofire.
  • Hands-on experience with advanced design patterns (VIPER, Coordinator, Clean Architecture) and following SOLID principles.
  • Proven experience in optimizing application performance and memory management.
  • Familiarity with Objective-C Bridging for maintaining legacy codebases.
  • Strong knowledge of App Security, Data Protection, and performance tuning.

Preferred Skills:

  • Experience with dependency injection frameworks like Swinject, Resolver, or custom DI patterns to enhance code modularity and testing.
  • Proficiency in protocol-oriented programming, focusing on extending and reusing types to create modular and flexible codebases.
  • Experience in cross-platform frameworks like React Native or Flutter to support multi-platform development or create hybrid apps.
  • Proficiency in building user interfaces using the latest iOS frameworks, including SwiftUI for declarative UI programming.
  • Strong understanding and experience with Combine for reactive programming, handling asynchronous operations, and state management.
  • Hands-on experience with new concurrency models in Swift using async/await to build safe, readable, and maintainable asynchronous code.
  • Knowledge of App Modularization and creating reusable components using SPM or other package management systems for scalable and maintainable applications.

Apply for this Position

Ready to join ? Click the button below to submit your application.

Submit Application