As a Senior iOS Developer, you will be responsible for designing, developing, and maintaining high-quality mobile applications for the iOS platform. You will collaborate with cross-functional teams to define, design, and ship new features, ensuring the best possible performance, quality, and responsiveness of the applications.
Software Quality
- Test your software as per the team's software quality charter.
- Make sure your software does what it supposed to do as per the defined specification.
- Test all changes you made and ensure that existing functionality works as expected.
- Takes full ownership of quality by working with the QA team to ensure the test plans are of a high quality and cover the full scope of development.
- Actively review and fix all defects found as per the defined quality standards.
- Actively drives the improvement of the team's quality standards and processes in keeping abreast of industry and emerging technologies. · Help others improve the quality of their work.
- Facilitates team code reviews with the view to improve the quality of the team's software and upskilling of other team members.
Developed and maintained software
- Analyses requirements and creates an appropriate software design, in conjunction with other Developers, according to best practice and organizational initiatives and objectives across product, where required.
- Assist and guide team members with their requirement analysis and design across product, where required.
- Creates appropriate task estimates and reviews them with the team.
- Supports the team in task estimation reviews.
- Develops and releases software as per the team standards and processes to meet the defined specifications or requirements within the agreed time.
- Ensures that the development or maintenance performed does not compromise the quality or functionality of the software.
- Communicates status and escalates on risks and issues appropriately and timeously.
- Comprehensively creates and maintains documentation of the software and system design and implementation, according to documentation standards.
- Develop, maintain, adhere to and oversee application of development and documentation standards, and team processes.
- Collaborating with senior colleagues in creating and maintaining the team’s SDLC.
- Provides technical leadership in understanding the project complexity, scope, and risk for your product.
- Acquire and maintain in-depth knowledge of your product and understand it’s internal and external dependencies.
Knowledge sharing
- Readily shares knowledge when tasked or approached.
- Proactively shares knowledge within the team and with key stakeholders.
- Proactively shares knowledge about the operational environment.
Safeguarding Architecture
- Works with other senior developers and architects to create and maintain the architectural vision for the team's products.
- Seeks to understand the business drivers for the team's products and ensures that the architectural vision and design solution align with these business drivers.
- Good understanding of the product lifecycle, including on production environments and operational overheads.
- Ensures the team's products use appropriate technologies and stay abreast of new technologies which could be leveraged to improve the product offering.
Support and Maintenance
- Provides support for product related issues in production with appropriate amount of urgency, while quickly identifying the problem scope. Provide effective and timely feedback on support issues.
- Provides support to dependant teams.
Growth of people
- Agrees coaching strategy with team leadership and plays an active role in the coaching, be this technical coaching or mentorship.