Overview:
PURPOSE
Manages the technical design development and maintenance of applications and systems using existing and emerging technology platforms.
KEY RESPONSIBILITIES
- Writes and delivers complex code for features, user stories, reusable modules, unit testing and automated functional testing; debugs existing code and modules
- Provides technical guidance to less experienced developers and other technical or non-technical stakeholders.
- Follows coding guidelines and QA practices and processes, and ensures they are followed by less experienced developers.
- Participates in backlog grooming, analysis of requirements, estimation, and design of new applications or new features
- Supports colleagues in their drive to constantly improve the way we work and make working together a pleasant experience.
- Actively participate in all scrum events
EDUCATION & QUALIFICATIONS
- Degree in Computer Sciences or Engineering, related field.
- Applicable vendor / technology certification or equivalent work experience
EXPERIENCE
Skilled Developer/Engineer with 6+ years of hands-on experience developing, supporting, releasing, and optimizing mission-critical mobile apps, leveraging automation and DevOps processes to ensure repeatability and efficiency.
KNOWLEDGE & SKILLS
- 5+ years developing native iOS apps (mandatory), native Android apps (highly valued)
- Experience developing with other mobile frameworks (desirable) and microservices development (desirable).
- Expertise in Flutter , Swift and Objective-C is necessary; Java and Kotlin (on Android) are desirable
- Experience developing mobile SDKs and integrating mobile apps with web-services and external APIs (mandatory)
- Experience with unit testing with XCTest (ideal) or Quick/Nimble/Mockingbird (desirable)
- Experienced with Swift Package manager (ideal) or Cocoapod/Carthage (desirable)
- Experienced with IXGuard (ideal), obfuscation, certificate pinning, and other methods of securing apps
- A thorough understanding of OOP, design patterns, iOS, Android, and enterprise mobile application integration
- 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
Knowledge and Skills - General
- Solid knowledge of Object Oriented code design.
- Solid knowledge a Procedural language such as PL/SQL.
- Good knowledge of IT security concepts and ability to use them while designing and developing code.
- Solid knowledge of SOA: XML Web Services, SOAP and Microservices architecture (desirable).
- Solid knowledge of JSON
- Working knowledge of cloud platforms such as Azure, AWS or Google Cloud would be an advantage.
- Good knowledge of developing and designing code to interface to one or more RDBMS databases.
- Demonstrate good understanding of networking concepts.
- Demonstrate the ability to apply application design concepts: MVC and MVVM, object-oriented design, design patterns, database development.
- Demonstrate the ability to use DataSet, SQL, and stored procedures.
- Any experience or understanding of biometrics would be highly valued.
- Any experience or understanding of ADB2C would be highly valued.
- Any experience with Google Analytics and/or Remote Config would be highly valued
- Advanced knowledge of source code management (git) and branching strategies that work for DevOps.
- Demonstrate an understanding of trade-offs and risks with programming choices.