Job Description
As a mobile application developer, you will be responsible for the following:
- Developing and deliver iOS applications and it’s features using Swift and MVVM architecture design pattern
- Managing 3rd party open source libraries and versioning using Cocoapods
- Maintaining quality of current code base through unit testing and assisting in regression testing
- Facilitate the troubleshooting and resolving of pre and post-production issues such as provide hotfixes whenever bugs are discovered
- Maintaining technical documentations of iOS development
- Maintaining integrity of current git flow of current git repos
- Assist and advise on UI/UX design capabilities and improvements, feasibility of new functionalities through capabilities of current iOS technology
- Participating in Sprint meetings such as planning and review meetings
- Keep abreast of the latest in mobile technology and conduct research and prototyping using such technologies
- This is a hands-on software development position in which you will be a senior developer working in a small team and collaborating with remote teams
- The ideal candidate is flexible, self-motivated, a great collaborator and works effectively with all disciplines of the team
- We value passion, creativity, responsibility, accountability and top notch engineering practices
Requirements
- At least 5 years of relevant experience
- Experienced with Swift language and Swift Standard Library
- Experienced with MVC/MVVM architecture
- Experienced with unit testing
- Experienced with using Storyboards, XIBs and programmatic UI
- Knowledgeable using Cocoapods
- Familiar with Git Flow and Agile methodology
- Knowledgeable in handling Apple Developer account, Apple iTunes account and building archives for submission to App Store
- Strong understanding in basic programming concepts such as modularity, retain cycles as how to avoid it for iOS development and delegate, notification and observation patterns
- Basic understanding in Big O notation and their respective time-space complexity
- Inquisitive nature and willing to learn and able to work both independently as well as within a team in a fast phase environment. Strong analytical and problem-solving skills
- Familiar with CI/CD and fastlane will be an added advantage
- Familiar with Postman , basic AWS services and using bundler for managing ruby gems will be an added advantage
- Having initiative to share and recommend best practices and new technology
- Excellent interpersonal skills including verbal and written communication skill