Responsibilities
- Design, develop and maintain high-quality iOS applications using Swift, while also supporting and maintaining existing Objective-C code.
- Develop clean, structured and testable code following established software engineering and Agile practices.
- Design and implement new product features from concept through development and delivery.
- Create and maintain Unit and UI Tests, improving the overall test coverage and reliability of the applications.
- Participate in code reviews, technical discussions and Proof of Concept (PoC) initiatives.
- Contribute to software architecture and technical design decisions, ensuring scalable and maintainable solutions.
- Collaborate closely with Product Owners, UI/UX designers and other engineering teams to define and implement new features.
- Provide technical input and constructive feedback on product and UX decisions.
- Support the onboarding and mentoring of new team members, sharing knowledge and best practices.
- Investigate technical issues and contribute to the continuous improvement of existing applications.
- Work with client-server architectures and integrate mobile applications with backend services and APIs.
- Stay up to date with emerging technologies and contribute ideas for improving the products and development processes.
Requirements
- Strong professional experience in iOS development.
- Excellent knowledge of Swift and solid experience maintaining Objective-C code.
- Strong knowledge of Cocoa and Core Data.
- Good understanding of software design principles and application architecture.
- Hands-on experience with Unit Testing and UI Testing.
- Experience with Continuous Integration (CI) and modern development workflows.
- Strong knowledge of Git and source code management practices.
- Experience working with REST APIs, HTTP and JSON.
- Familiarity with HTML and JavaScript.
- Experience working in Agile environments and collaborative development teams.
- Strong communication skills and the ability to work independently while contributing effectively within a team.
- A proactive mindset and interest in continuous learning, technical innovation and knowledge sharing.
- Experience with large-scale consumer-facing applications is a plus.
- Previous exposure to open-source projects, technical Proof of Concepts or legacy code modernization is considered an advantage.
- Experience mentoring or onboarding developers is a plus.