iOS Developer Job Description Template
Our company is looking for a iOS Developer to join our team.
Responsibilities:
- Develop new applications for our clients and lead a small team of IOS developers;
- Attend development meetings (stand-ups, retrospectives, kick-offs, UX / UI design sessions);
- Guide clients towards effective solutions that balance technical requirements and business needs;
- Turn design assets into full-fledged features;
- Guide major releases and monitor them for app crashes and regressions;
- Unit-test code for robustness, including edge cases, usability, and general reliability;
- Own important pieces of the product that has high visibility both internally and externally;
- Mentors and Leads the mobile developers to build an architecturally sustainable codebase that delivers a high-quality experience;
- Design and implement unit tests;
- Works collaboratively with the software engineering team as they implement & deliver mobile solutions through the entire software delivery life cycle;
- Contribute exceptional programming skills to develop highly innovative, consumer-based mobile products;
- Influence every aspect of the iOS development process from API creation, design, and product;
- Help maintain code quality, organization, and automation;
- Familiarity with Swift;
- Participate in code reviews with team members, and managers.
Requirements:
- Deep understanding of Swift, the iOS SDK, and mastery of Xcode and Apple’s performance tools;
- Experience in version control systems such as GIT / Bitbucket / JIRA;
- Core Data Experience;
- You can smoothly integrate with any API;
- Over 4+ years of strong hands on experience in Android (Java) native app design and development;
- Experience with multithreading, memory management and caching mechanisms specific to mobile devices;
- Expert understanding of core computer science fundamentals including data structures, algorithms, and concurrent programming;
- Fluent with Objective-C or Swift;
- Strong interpersonal and communication skills;
- Strong Knowledge of OOP and design patterns such as MVC, MVVM;
- Ability to design an architecture of a feature or application from scratch;
- Portfolio of work required;
- Bachelor’s Degree in Computer Science, Computer Engineering or a closely related field;
- Strong understanding of interactive application development paradigms, memory management, network programming, concurrency and multithreading;
- Participate in software code reviews to ensure the creation of high quality, robust code by all team members.