Mandatory iOS Skillset Requirement (JD Received on 4th Sep 2024 from Alisha Perry)
- SwiftUI – Experience in creating user interface via SwiftUI framework (4+ years)
- Swift – Experience in working with mobile applications written on Swift and adopting best Swift coding practices (5+ years)
- Combine – Experience in writing publishers and subscribers that can receive and handle events using Combine framework (2+ years)
- Design Patterns – Solid understanding of common design patterns used to build iOS mobile applications
- UIKit Frameworks – Experience in building mobile applications using common UIKit frameworks
- Objective-C – Does not require extensive working experience, but should be able to read and understand Objective‑C code
- UI/Unit Test – Experience in writing UI/Unit tests using XCUITest/XCTest framework
- GitHub – Experience in working with GitHub repo (creating/managing branches, PRs, code review, etc.)
- Crashlytics – Experience in working with Crashlytics tools such as AppDynamics, NewRelic, Firebase, etc.
- Xcode Instruments – Experience in working with Xcode Instruments to fix memory leaks, profiling, allocations, etc.
- Dependency Managers (SPM and Cocoapods) – Experience in creating frameworks and distributing via dependency managers such as Swift Package manager and CocoaPods
- Tools – Experience in working with tools such as Adobe Analytics, LaunchDarkly, SonarQube, Checkmarx, etc.
Job Description from CVS received Jan 2024
Roles and Responsibilities
- Solid experience with iOS APIs and frameworks.
- Knowledge of CocoaPods and Swift Package.
- Strong fundamentals in object‑oriented design, data structures, algorithm design, problem‑solving, and complexity analysis.
- Knowledge of MVVM, MVP and MVC design patterns.
- Hands‑on experience with hybrid mobile app development in iOS.
- Attend stand‑up calls and provide updates.
- Demo solutions in Show and Tell.
- Collaborate with another team (e.g., testing team and overall scrum team).
- Proficiency in building mobile apps from scratch using at least one mobile language (Swift/SwiftUI, Objective‑C, C, C++ etc.).
- Have published one or more iOS apps on the app store.
- Familiarity with RESTful APIs to connect iOS applications to back‑end services.
- Experience with offline storage, threading, and performance tuning.
- Experience with third‑party libraries and APIs.
- Familiarity with object‑oriented principles, including knowledge of design patterns.
- Familiarity with commonly used data structures and algorithms.
- A knack for benchmarking and optimization.
- Understanding of Apple design principles and interface guidelines.
- Proficient understanding of code versioning tools, such as Git.
- Ability to multitask and deliver several features across handsets simultaneously.
- Working extensively on iOS 15‑17, Xcode 9‑11, Swift/Swift‑UI, Objective‑C, CocoaPods, macOS for developing the iOS universal application for iPhone, iWatch & iPad.
- Implementing Swift Package / CocoaPods private libraries for handling app functionality using native and third‑party frameworks.
- Ensuring iOS mobile app security by performing Veracode/Checkmarx scans and providing solutions to avoid vulnerabilities.
- Fine‑tuning app performance using Xcode Instruments and Google Firebase to monitor crashes and performance during development.
- Defining, developing, and maintaining web services and applications that consume them (REST, SOAP, JSON, XML) using GET and POST methods.
- Supporting QA/Regression with bug fixes, test case creation support, and triage meetings for better app quality.
- Working with GitLab/Cornerstone source control to commit, branch, and merge changes to the repository.
- Working as part of a dynamic team through SCRUM Agile development process.
- Collaboration with design team, QAs, scrum master, and product owner to implement enhancements or new applications during daily stand‑ups, sprint planning, and sprint retrospectives.
- Provided cross‑functional support as a member of a highly productive sprint team.
Using Charles Proxy, Postman REST client for web and Angular code debugging proxy for hybrid interaction.