1001 is seeking a skilled and dedicated Mid-Level iOS Developer to join our dynamic mobile development team. As a Mid-Level iOS Developer, you will play a crucial role in designing, developing, and maintaining high-quality iOS applications. The ideal candidate should have substantial experience in Swift, Test-Driven Development (TDD), and writing unit tests, and should be enthusiastic about creating innovative and user-centric mobile experiences.
Job Responsibilities:
- Collaborate with the development team to design and implement new features and functionalities for iOS applications, adhering to best practices and coding standards.
- Utilize your expertise in Swift to write efficient, scalable, and maintainable code for iOS applications.
- Advocate for and apply TDD principles, writing unit tests using testing frameworks like JUnit and Mockito to ensure the robustness and reliability of the codebase.
- Design, develop, and execute comprehensive unit tests to validate the correctness of individual components and enhance overall code quality.
- Identify and implement code optimizations to improve the performance and responsiveness of iOS applications.
- Collaborate with the team to troubleshoot and resolve issues and bugs, ensuring the stability and continued functionality of the applications.
- Work with the team to set up and maintain CI/CD pipelines to automate the build, testing, and deployment process.
- Stay updated with the latest trends and technologies in iOS development, recommending and implementing improvements and innovations where applicable.
- Collaborate effectively with product managers, designers, and backend developers to understand requirements and deliver exceptional user experiences.
Qualifications:
- Proven experience as an iOS Developer with a minimum of 3 years of hands-on experience in Kotlin development.
- Strong understanding of Test-Driven Development (TDD) principles and experience in writing unit tests using XCTest.
- Proficiency in XCode and other relevant development tools.
- Experience with version control systems, such as Git, for collaborative development.
- Solid understanding of object-oriented programming (OOP) and software design patterns.
- Knowledge of Agile development methodologies and the ability to work in an Agile/Scrum environment.
- Excellent problem-solving skills and the ability to handle complex technical challenges.
- Strong communication and teamwork skills to collaborate effectively with cross-functional teams.
Education
Bachelor's degree in Computer Science, Software Engineering, or a related field.