Title : iOS Developer
Job Duties :
- Design and develop iOS mobile applications using Swift, Swift UI and extensively work on asynchronous and event based programs using iOS SDK’s – Cocoa touch, Core Services and third party frameworks RxSwift, RxGRDB, Swift Composable Architecture.
- Build reactive programming application using RxSwift, Swift 5 with MVVM pattern, Protocol oriented programming and interact with third party libraries through Swift Package Manager.
- Build mobile accessibility components to improve application usability using SwiftUI and Combine as part of Sysco brand conversion effort.
- Create RESTful web services through JSON structure using GraphQL and integrate GRDB.swift wrapper to perform database operations.
- Refactor existing legacy code to latest Swift and SwiftUI versions to adhere to industry standard practices.
- Implement code reusability by instantiating reusable views for UIViewControllers, UICollectionViews, UITableViewCells, UIViewControllers and Storyboards.
- Re-factor localized files to support multiple languages, and standardize strings to support both iOS and Android application.
- Integrate Firebase to track application analytics, crashlytics and Tealium to monitor and capture the performance of application during each trackState and trackAction event calls.
- Work with Bitrise CI/CD tool to continuously deliver stable and high performant application.
- Write test cases using automated testing framework XCTest, XCUITest and Snapshot testing to ensure application relaiability across all Apple devices.
- Deploy and maintain applications in the App Store with perioidic updates for any bug fixes and new feature releases.
- Follow best practices for merging code into GitLab, collaborate with developers/architects to ensure merge requests are reviewed, approved and merged.
- Work closely with Product Owners, Scrum Masters, Senior Business Analysts, UX teams and other client stakeholders.
- Participate in Agile Scrum Calls, adhere to JIRA Srum and Kanban framework.
This position requires minimum of a bachelor’s degree in computer science, computer information systems, information technology, or a combination of education and experience equating to the U.S. equivalent of a Bachelor’s degree in one of the aforementioned subjects.