Analyses, designs, tests, codes, secures, debugs, modifies, deploys, integrates and maintains (system) software enhancements, test environment and/or new software. Uses state-of-the-art technologies and practices. Interacts with users / product owners to define / adjust requirements and/or necessary modifications. Keeps abreast of technical developments and practices in own field through literature, courses/trainings, technical contacts, and competitive environment. Applies agile software development methods as a member of agile teams.
Job Description Hands-on experience in developing native iOS applications Swift and Objective C.
Understanding of design patterns, memory management, file I/O, concurrency, and multithreading.
Knowledge of working with network & battery optimisations, APIs, external libs, sdks, Analytics, UI, visualizations & animations
Preferred knowledge on Connectivity, Bluetooth protocols/ BLE.
Working knowledge and hands on with Database management such as SQL and contemporary technologies at their backend
Experience in Unit Testing and TDD practices. Usage of XCTest and See test frameworks
Published one or more applications in an iOS Appstore and knowledge on the process of making the app live.
Experience of working on applications with react native is a plus.
Able to create a UI and UX that would make the app simple to use and delight users.
Able to fix the occurring bugs and iteratively improve the app, include newer features and keep the app up to dated with all the iOS updates/ libraries that will be released.
Have an eye for new upcoming technologies and be able to evaluate and implement the same to enhance the development efficiency.
To succeed in this role, you should have the following skills and experience
6-8 years of experience on iOS based mobile applications and systems development
Strong command on Swift and Objective C.
Strong knowledge of the various packages on the iOS App development stack layouts, widgets, content providers, touch handling, drawing, location services, media interfaces, network, storage, security/cryptography, sqlite, etc.
Knowledge of web services and serialization techniques like REST, SOAP, XML, JSON & framing
Strong penchant for Object Oriented Design and CS fundamentals
Experience of working with version control, bug tracking, continuous integration and other productivity enhancement software like TFS, Bugzilla, Jira etc.
Prior experience in working in Agile software methodologies
Taking responsibility and ownership in the teams work, team player and good communication skills