Senior iOS Developer
Job Description: Job Purpose/Aim
Work in a world-class leading mobile money company to produce sophisticated and cutting edge mobile applications used by millions of people around the world.
Key Roles and Responsibilities
- Technical leadership: Provide technical leadership, guidance and coaching to rest of the members in the project team. Act as a single point of contact for any technical queries on the project.
- Detailed planning: Produce task-by-task, day-by-day plan for each of their team members and liaise with other team leaders to ensure teams’ plans interlock.
- Maintain project details: Update project space with up to date technical information that will help various team involved.
- Low level design (LLD): Work closely with Solution Architect to produce low level designs where required.
- Code quality: Ensure quality of code produced by the team is adhering to company defined standard and guideline during code reviews.
- Control and report team’s progress: The team leader manages and reports upon the work of his team.
- Technical debt register: Updating technical debt register for their projects with the help of platform head.
- Recruitment: Taking part performing technical interviews during team the recruitment process.
- Training: Help train new members of the team.
Experience and Qualifications
- Demonstrable experience of basic data structures such as, linked lists, doubly linked lists, binary trees, arrays, lists, hash tables, and general knowledge about computer science, such as stacks, heaps, operators and various algorithms.
- Excellent understanding of the full iOS app development lifecycle (Project setup, development, Ad Hoc distribution, App Store distribution, after-submission support).
- Demonstrable knowledge of Xcode, Instruments, Interface Builder.
- Relevant experience of Objective-C programming language.
- Relevant programming experience (preferable in C based languages such as C/C++).
- Great understanding of iOS App State Management (Background + Foreground).
- Experience in developing multi threaded iOS apps.
- Great understanding of iOS memory management, both Automatic and Manual Reference Counting.
- Strong MVC/Object Oriented programming skills (Encapsulation, Polymorphism, Inheritance, etc).
- Experience in XML and JSON based application development.
- Knowledge of Core Location, UI Kit, Map Kit, Security, Core Data, Core Graphics, Core Animation.
- Experience in writing secure iOS Apps (Security.framework, Keychain).
- Experience with version control(GIT/SVN/Mercurial/CVS).
- Demonstrable knowledge in Test Driven and Behavior Driven Development (TDD and BDD) and testing suites for iOS (e.g., GHUnit, OCUnit).
- Continuous Integration tools (e.g. Hudson, Jenkins).
- Experience of other mobile platforms – Blackberry, Android, Windows Phone.
- Experience in REST architecture style and JSON based application development.
- Experience of Agile methodology (SCRUM).
- Automated build scripts.
- Experience with WML/XHTML or any other similar technologies.
- Knowledge of Symmetric/Asymmetric Cryptography.
- Personal Competencies/Skills.
- Looking to join a company that values professionalism.
- Team player.
- Proven communication skills.
- Always eager to learn new things.