Description review
Senior iOS Developer (IC)
DVT · South Africa · back to the listing
HR standards
41/100
poor
Title ↔ description
82/100
solid
Reads as
Mobile Engineer
100% confident
What this role officially is
mobile application developer — ESCO, the EU occupation classification
Mobile app developers implement applications software for mobile devices, based on the designs provided, using general or specific development tools for device operating systems.
Also known as: app developer, mobile app specialist, mobile app developer, mobile application developers, app programmer, app coder
How others title the same work
Large employers
- Android Engineer - Subscriptions Spotify
Startups
- Mobile Engineer (Android) Circle Medical
- Eleos Technologies ( ) | Remote Senior iOS Engineer | Permanently Remote (US-based applicants Eleos Technologies ( )
- Senior Mobile Engineer Forage
- Senior Software Engineer, Mobile (React Native) Forage
What the listing never says
- 66 bullet points. Long requirement lists deter qualified candidates, who read them as hard gates. Scope clarity
- No pay range published. Candidates cannot tell whether applying is worth their time. Pay transparency
- No location or timezone policy stated, so a candidate cannot tell where they may work from. Scope clarity
The listing, marked up
Job Title: Senior iOS Developer
ROLE OVERVIEW
The employed individual will be challenged with access to a range of projects at clients across industries, working with other experienced technologists whose single pursuit is optimal value creation for our customers through the construction of peerless solutions. This dynamic self- starting individual will be involved in the definition of development best practices and serve as team’s authority on creation of code quality and development of sound front-end architecture to ensure successful delivery on hundreds of software development assignments. You would have the opportunity to be involved with both consulting projects and internal projects.
KNOWLEDGE
• Interaction design and user experience guidelines
• iOS – Objective C and Swift
• Design patterns
• Parsing and consuming XML and JSON
• Working with RESTful services
• Unit testing, integration and functional testing
• Using version control systems – Git, SVN, TFS
SKILLS
• Solutions design and implementation
• Improving the design of existing code
• Keep up to date with technology
• Ability to Multitask
• System design and analysis
• Ability to conceptualise and simplify complex problems
• Ability to read and write specifications
• Good communications skills
• Ability to self-manage and not rely on detailed instruction from a manager
ATTITUDES
• Enthusiastic and committed
• Work with minimal supervision
• Work in a team environment
• Ability to work under pressure
• Delivery focused
• Work to achieve tight deadlines
• Professionalism (conduct and appearance)
• Motivated
• Show initiative
• Awareness of the environment
RESPONSIBILITIES
• Developing, maintaining and debugging of software applications
• Testing of independent modules and complete applications making use of automated and manual testing techniques
• Working with project managers, technical leads and customers to provide task estimates, report on progress and discuss implementation details
• Following and contributing to the improvement of software architecture, coding standards and practices being observed within the team environment
• Designing of solutions that are maintainable, efficient, performant and secure
• Refactoring source code to improve system design
• Resolving software defects in collaboration with software test analysts
• Conducting peer reviews of project code
• Consume and create technical documentation such as specification documents, UML diagrams, user stories, wireframes etc.
• Tackling hard problems in iOS such as Graphics, Performance issues, Security, Bash scripting and build script issues
• Able to approach problems with BDD and TDD
• Being able to take on POC work in quick stints with vital feedback
• Being able to create Linting rules on top of the basic rules, Swift Lint
• Creation of Universal Apps for iPhone and iPad OS
• Using a version control system to manage code changes
• Configure, optimise and deploy applications for public release
• Managing the submission of applications to online repositories and app stores
MINIMUM REQUIREMENTS
• Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification
• 5+ years’ experience in mobile software development
• Preferably in a banking, insurance or telecoms industry
• Experience in SDLC methodologies such AGILE (SCRUM)
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED1 :
• Knowledge of iOS First party API’s / Frameworks ( AV Foundation, WatchKit, CoreGraphics, MapKit, CoreImage etc.)
• Sufficient knowledge of third-party libraries (AlarmoFire, Realm, Cocopods, RxSwift etc.)
• Fastlane
• Knowledge of App Store connect and releasing of applications
• Ability to modularise iOS applications with Cocoapods
• Knowledge of Dependency Injection and Frameworks (Swinject)
• Knowledge of Android First party API’s/Frameworks ( Services, Broadcast Receivers, Notifications, Camera etc.)
• Good knowledge of Jetpack libraries ( Navigation, Room., ViewModels, Work Manager etc.)
• Understanding of different programming paradigms (Reactive, Functional, POP etc.)
• MutiThreading in iOS
• Deep dive into Unit testing with Frameworks such as OCMock, Cuckoo, Quick & Nimble
• Deeper knowledge of Architectural approaches like Offline-First, Redux based architecture and common ones like MVP and MVVM and VIPER
• Good understanding of DevOps in iOS
• Carthage knowledge
• Knowledge of Swift package manager
• KeyChain management
• SSL pinning
• Instruments for profiling iOS Apps
• Scheme and build configuration management
Originally posted on Himalayas
ROLE OVERVIEW
The employed individual will be challenged with access to a range of projects at clients across industries, working with other experienced technologists whose single pursuit is optimal value creation for our customers through the construction of peerless solutions. This dynamic self- starting individual will be involved in the definition of development best practices and serve as team’s authority on creation of code quality and development of sound front-end architecture to ensure successful delivery on hundreds of software development assignments. You would have the opportunity to be involved with both consulting projects and internal projects.
KNOWLEDGE
• Interaction design and user experience guidelines
• iOS – Objective C and Swift
• Design patterns
• Parsing and consuming XML and JSON
• Working with RESTful services
• Unit testing, integration and functional testing
• Using version control systems – Git, SVN, TFS
SKILLS
• Solutions design and implementation
• Improving the design of existing code
• Keep up to date with technology
• Ability to Multitask
• System design and analysis
• Ability to conceptualise and simplify complex problems
• Ability to read and write specifications
• Good communications skills
• Ability to self-manage and not rely on detailed instruction from a manager
ATTITUDES
• Enthusiastic and committed
• Work with minimal supervision
• Work in a team environment
• Ability to work under pressure
• Delivery focused
• Work to achieve tight deadlines
• Professionalism (conduct and appearance)
• Motivated
• Show initiative
• Awareness of the environment
RESPONSIBILITIES
• Developing, maintaining and debugging of software applications
• Testing of independent modules and complete applications making use of automated and manual testing techniques
• Working with project managers, technical leads and customers to provide task estimates, report on progress and discuss implementation details
• Following and contributing to the improvement of software architecture, coding standards and practices being observed within the team environment
• Designing of solutions that are maintainable, efficient, performant and secure
• Refactoring source code to improve system design
• Resolving software defects in collaboration with software test analysts
• Conducting peer reviews of project code
• Consume and create technical documentation such as specification documents, UML diagrams, user stories, wireframes etc.
• Tackling hard problems in iOS such as Graphics, Performance issues, Security, Bash scripting and build script issues
• Able to approach problems with BDD and TDD
• Being able to take on POC work in quick stints with vital feedback
• Being able to create Linting rules on top of the basic rules, Swift Lint
• Creation of Universal Apps for iPhone and iPad OS
• Using a version control system to manage code changes
• Configure, optimise and deploy applications for public release
• Managing the submission of applications to online repositories and app stores
MINIMUM REQUIREMENTS
• Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification
• 5+ years’ experience in mobile software development
• Preferably in a banking, insurance or telecoms industry
• Experience in SDLC methodologies such AGILE (SCRUM)
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED1 :
• Knowledge of iOS First party API’s / Frameworks ( AV Foundation, WatchKit, CoreGraphics, MapKit, CoreImage etc.)
• Sufficient knowledge of third-party libraries (AlarmoFire, Realm, Cocopods, RxSwift etc.)
• Fastlane
• Knowledge of App Store connect and releasing of applications
• Ability to modularise iOS applications with Cocoapods
• Knowledge of Dependency Injection and Frameworks (Swinject)
• Knowledge of Android First party API’s/Frameworks ( Services, Broadcast Receivers, Notifications, Camera etc.)
• Good knowledge of Jetpack libraries ( Navigation, Room., ViewModels, Work Manager etc.)
• Understanding of different programming paradigms (Reactive, Functional, POP etc.)
• MutiThreading in iOS
• Deep dive into Unit testing with Frameworks such as OCMock, Cuckoo, Quick & Nimble
• Deeper knowledge of Architectural approaches like Offline-First, Redux based architecture and common ones like MVP and MVVM and VIPER
• Good understanding of DevOps in iOS
• Carthage knowledge
• Knowledge of Swift package manager
• KeyChain management
• SSL pinning
• Instruments for profiling iOS Apps
• Scheme and build configuration management
Originally posted on Himalayas