
Discovery Limited
We are a proudly South African-born, global company with health, life and short term insurance operations in South Africa and the United Kingdom, and a presence in Germany, France, the United States, Canada, Australia, Singapore, Hong Kong, Philippines, Thailand, Malaysia, China and Japan through our Global Vitality Network. We uphold our promise of shared value by being a positive disruptor that focusses on bringing about sustainable change in the lives of the people and communities we serve across the globe.
Key Purpose
- This team is responsible for the Discovery member application published to the Play Store. They work with other Discovery business units to deliver innovative solutions to all members.
- Within the Digital Channels system area, the Android developer will work on the Discovery application together with Product Owners from various business units, Business Analysts, UX/UI designers & Content Teams, System Architect, and managers to understand the overall business need and the requirements, design the system solution using various approaches and technologies, implement the designed solution in the system with high quality source code.
- Android developers will support the projects throughout the project lifecycle, including requirements, design, implementation, release, and post release support.
- Android developers in the Digital Channels area must be able to technically support and maintain the deployed applications on dev, test and production environments.
Areas of responsibility may include but not limited to
The senior Android developer must have a competent understanding of:
- The system development life cycle and can explain the Android developer role in each stage
- The defined system development tools, processes and workflows
- The distinction between business, functional and non-functional requirements and how to implement them
- The importance of delivering high quality source code and how to achieve it
- The technologies used and the systems components structure
- The domain and business terminologies and link them back to system implementations
The senior Android developer should be able to demonstrate that they can:
- Develop, test, and maintain the deployed application software with high quality
- Collaborate with product managers and designers to ensure a successful, high-quality product and great user experience
- Analyse, maintain and enhance existing application and troubleshoot issues with efficiency.
- Perform accurate development estimation
- Produce technical specifications and designs. Participate in new business development through ideation, prototype development, and project estimates
- Research new techniques, tools, and best practices and share that knowledge with the team and community
- Maintain high standards
- Analytical and problem solving skills
- Self-starter who takes ownership, is accountable, and is able to work under minimum supervision
- Excellent written and verbal communication skills
- Can help with quality assurance and provide comments
- Within 6 months of being in the position, an Android developer should be able to demonstrate strong domain knowledge and technologies in relation to the environment that they work in.
Personal Attributes and Skills
Behavioral Skills
- Stress Management
- Time management and prioritization
- Creativeness
- Learning orientation
- Negotiation skills
- Innovation
- Clean code thinking
Technical Skills
- Project Management
- Business Writing Skills
- Presentation and Facilitation Skills
- Solution Architecture
- Process Mapping
- Entity Diagram mapping
- Software testing pack design, functional testing
Education and Experience
Minimum
- 3+ Year IT related Degree or Diploma (BSc/BTech or similar)
- 4+ years’ experience developing Android applications
- Have worked on multiple published apps in the Play Store
Advantageous
- 4+ years of hands-on experience developing native apps for Android
- Deep understanding of REST, JSON, HTTP and related mobile networking frameworks
- Unit testing and mocking frameworks.
- Knowledge of OO design principles and development patterns
- Experience with agile development methodologies
- Experience with automated testing tools and techniques
- Experience in Kotlin beneficial
- Experience with GIT
- Have worked on at least 1 app published in the Play Store
Methodologies
- Waterfall and Agile
- Knowledge of OO design principles and development patterns
Tools
- SoapUI (SOAP) / REST client (JSON)
- Android Studio
- Atlassian tool suite (Jira, Confluence)
Processes
- ITIL (Incident, Release, Problem Management)
Technologies
- J2EE, Sprint Boot
- Android, Java, Kotlin
- WebLogic, Apache
- UML
- XML, JSON
- SOAP and REST Web Service Development
Other
- Software architecture
- JAD sessions
- Data modelling techniques