What you will be doing:
- Develop and maintain native mobile applications, with a strong focus on iOS.
- Implement software design patterns and best practices applicable to mobile development.
- Develop mobile applications using the iOS SDK within a Mac development environment.
- Work with Objective-C for native iOS application development.
- Integrate mobile applications with backend services and web services.
- Apply client-server architecture principles when developing mobile solutions.
- Work with mobile data storage technologies such as SQLite and Core Data.
- Develop and integrate solutions using REST/JSON and SOAP/XML.
- Apply industry-standard design patterns such as MVC.
- Collaborate with UX Designers, Business Analysts, QA Engineers and Product Owners.
- Participate in continuous product enhancements and application releases.
- Work within Agile and Scrum development environments.
- Contribute to application development activities across the full software development lifecycle.
- Participate in testing, debugging and resolving application issues.
- Support continuous integration and development practices.
- Work with source control and code repositories such as Git and GitHub.
- Contribute to technical discussions and provide input into mobile application design and development.
- Provide technical guidance and support where required.
- Work collaboratively within large application development teams.
What we are looking for:
- Completed BSc Computer Science degree.
- 5–8 years' experience in mobile application development.
- Strong hands-on iOS development experience.
- Experience working with the iOS SDK in a Mac environment.
- Strong Objective-C development experience.
- Strong Java skills for Mobile Gateway and other server-side development.
- Strong JavaScript experience.
- Good understanding of client-server architecture and web services integration.
- Good understanding of mobile local data storage, including SQLite and Core Data.
- Strong understanding of mobile application development methods, including Agile and Scrum.
- Experience leading or contributing to large application development teams.
- Good knowledge of software design patterns, particularly MVC.
- Good knowledge of SOA, REST/JSON and SOAP/XML.
- Experience collaborating with UX Designers, BAs, QA Engineers and Product Owners.
- Experience with Git and GitHub.
- Experience with Continuous Integration.
- Experience with Gherkin-based tools.
- Experience in e-commerce and/or m-commerce environments will be beneficial.
- Exposure to Ruby/Rails will be beneficial.
- Certified Agile Developer qualification will be beneficial.
Mobile technologies that will be advantageous:
- Android SDK / Java
- Blackberry SDK / Java
- Windows SDK
- Hybrid mobile applications using HTML5/CSS3
- PhoneGap
- jQuery Mobile
- Titanium Mobile
- Sencha Touch
Please note that most of our positions are remote; however, candidates should reside within travelling distance of the client site, as the working arrangements may change depending on business requirements.