Discovery – Group Information Services - Digital Channels
Senior iOS Developer – Mobile Team
About Discovery
Discovery's core purpose is to make people healthier and to enhance and protect their lives. We seek out and invest in exceptional individuals who understand and support our core purpose, and whose own values align with those of Discovery. Our fast-paced and dynamic environment enables smart, self-driven people to be their best. As global thought leaders, Discovery is passionate about innovating in order to not only achieve financial success, but to ignite positive and meaningful change within our society.
About Digital Channels
Working in a high performance organization that prides itself in attracting the finest talent, we challenge ourselves to find solutions that make a difference in the world. Our environment is always buzzing with energy and smart, motivated people working on finding the best way to move forward.
The Digital Channels team works on dynamic new projects and product enhancements within the web and mobile platforms in order to improve business inefficiencies, gain competitive advantage on our products and ultimately to provide better service to our clients. Using knowledge of the organization's technology infrastructure and specific software applications, Application Platform Services helps the business to address changes through technologies.
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 system area, the iOS 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.
iOS developers support the projects throughout the project lifecycle, including requirements, design, implementation, release, and post release support.
iOS developers in the Digital 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
Senior iOS developers must have a competent understanding of:
The system development life cycle and can explain the developer's 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
Senior iOS developers 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, a senior iOS 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
Excellent written and oral communication skills (English)
Ability to work in a self-driven, complex environment with multiple and changing priorities
Ability to focus on deadlines and deliverables
Ability to think abstractly
Ability and desire to quickly learn new technologies
Clean code thinking
Technical Skills
Project Management
Business Writing Skills
Presentation and Facilitation Skills
Process Mapping
Software testing pack design, functional testing
Responsibilities
Maintain and extend existing development activities
Work with customers to determine project requirements
Design software to fulfil customer requirements
Develop software from requirements and specifications
Find and repair software defects; unit testing, UI automation testing
Stay current with Apple and iOS standards and guidelines
Documenting development work done
Education and Experience
Minimum
Informatics degree or Diploma
4+ years' experience developing iOS applications
Advantageous
2+ years' user interface analyst experience
Software Engineering related degree/qualification
Honours degree
Business experience and product knowledge
Experience in Objective-C is beneficial
Methodologies
Waterfall and Agile
Knowledge of OO design principles and development patterns
Tools
SoapUI (SOAP) / REST client (JSON)
XCode
Atlassian tool suite (Jira, Confluence)
Technologies
iOS
UML
XML, JSON
SOAP and REST Web Service Development
Other
Software architecture
JAD sessions
Data modelling techniques
EMPLOYMENT EQUITY
The Company's approved Employment Equity Plan and Targets will be considered as part of the recruitment process. As an Equal Opportunities employer, we actively encourage and welcome people with various disabilities to apply.