
Senior Software Developer - mobile iOS
- Sydney, NSW
- Permanent
- Full-time
- Writes and delivers code for features and modules debugs existing code and modules and provides technical guidance to less experienced Developers - FTEs Contractors Offshore Partner Resources.
- Follows coding guidelines and practices and all technical processes and ensures they are followed by less experienced Developers.
- Develops and validates estimates for technical work that will be undertaken.
- On an as needed basis assigns and allocates defects to less experienced Developers.
- Participates in analysis of requirements for designing new application and system features.
- Minimum of 5+ years software engineering experience in a development capacity preferably using a mainstream Object Orientated language such as Java C++ or similar.
- 3+ years developing native iOS apps (mandatory), native Android apps (highly valued)
- Experience with SwiftUI for creating modern iOS interfaces
- Swift, including a thorough understanding of ARC memory management, optionals, protocols and genericsAsync/await and Task management, ensuring efficient performance
- Understanding of structured/architectural coding patterns for maintainable applications
- Comprehensive testing expertise encompassing unit testing, TDD methodology and test coverage
- Experience developing mobile SDKs and integrating mobile apps with web-services and external APIs
- Proficient in utilising Xcode debugging tools
- Thorough understanding of iOS application lifecycles
- Complete familiarity with App Store submission requirements, including certificate management, provisioning profiles and guidelines
- Experienced in Azure DevOps configuration, including automation pipelines and deployment workflows
- Experience with OWASP Mobile Top 10 and mitigation strategies
- Knowledge of secure data storage and encryption
- Expertise in certificate pinning implementation
- Understanding of iXGuard(ideal), obfuscation, certificate pinning, and other methods of securing apps
- Expertise in Flutter, Java and Kotlin (on Android)
- Strong skills in securing data on the local device using industry standard encryption technologies including key management solutions
- Experience with push notification frameworks
- Experience with mobile payment solutions (Stripe would be ideal)
- Experience with publishing apps to App Store and Google Play, and associated release management activities
- Experience with A/B testing would be highly valued
- Experience developing with other mobile frameworks (desirable) and microservices development
- Agile Development
- Application Design Architecture
- Application Development Tools
- Application Maintenance
- Application Programming Interfaces (API's)
- Application Testing
- Cloud Computing
- Commercial Acumen
- Conceptual Thinking
- Configuration Management
- Conflict Resolution
- Information Security Management
- Innovation
- Managing Change
- Managing Risk
- Performance Measurement and Tuning
- Product Design/Architecture
- Programming
- Requirements Analysis
- Server Operating Systems and Platforms
- Systems Thinking
- Technical Troubleshooting
- Technical Writing/Documentation
- Adhering to Principles & Values
- Communication
- Creating & Innovating
- Customer Focus
- Impact & Influence
- Leading Execution
- Results Orientation
- Teamwork
- Bachelors or Masters degree in Computer Sciences or Engineering.
- Professional programming certification in a mainstream programming language is a plus.