Extensive experience in developing, deploying, and supporting complex iOS applications with expert knowledge of Swift and Objective-C as well as in-depth understanding of Apple-recommended design concepts, interface guidelines, and coding best practices.
Experience with code coverage, UI, and unit testing tools like XCTest, Specta, Expecta, OCMock, Appium, etc.
Expert knowledge of Xcode/AppCode IDE, build, and distribution processes.
Familiarity with dependency managers such as Cocoapods.
Experience working with CI/CD and SAST/MAST tooling.
Good knowledge of RESTful services as well as expert knowledge of creating user experiences across phones and tablets, with Accessibility concepts in mind.
Expertise in performance, scalability, security, architecture, and engineering best practices as well as familiarity with security concepts and integration, such as secure networking, data protection, OWASP Mobile Top 10.
Experience integrating with third-party libraries, such as security, video, and financial services; experience implementing frameworks or platform libraries would be advantageous.
Hands-on experience with remote APIs, concurrency, client-side data handling, and various architectural design patterns (UDF, MVVM, MVC, Redux).
Your responsibilities
Oversee the development team to achieve project timelines and standards, coordinating efforts and working closely with Product Owners, Scrum Masters, Analysts, and UX designers.
Use technical expertise to create high-quality mobile applications based on specified requirements, ensuring timely delivery to group and local standards.
Be part of a multi-disciplinary, agile product team designing and building mobile applications with modern technology stacks, with the ability to quickly learn new technologies and implement solutions across the full stack.
Produce efficient code that fulfils the completion criteria for business needs, considering technical interrelations and non-functional requirements.
Ensure the system aligns with business needs in terms of design, managing technical debt, and maintaining cost-effectiveness and perform unit testing of programs and software applications to ensure desired outcomes and correct instructions.
Assist in the implementation of releases, building continuous integration and delivery pipelines.
Evaluate code, design, and implementation to ensure they meet the highest quality standards as well as contribute to determining the levels of automation test coverage required for the project, maintain and develop clear communications and relationships with team members and stakeholders.
Review code by a diverse team and providing feedback in a timely and cooperative manner, demonstrate engineering patterns that enable teams to solve complex problems in simple ways, identify strategic ways to reduce technical debt and working with teams to ensure continuous improvement and actively participate in the project team to help develop the product, using experience to guide the team through the development lifecycle.