ENVIRONMENT:
Our client, a reputable Johannesburg-based company, is dedicated to consistently delivering high-quality software to their clients. They are currently seeking an Intermediate Mobile Developer to join their team. This role is pivotal in ensuring that the software provided to clients is current, operates flawlessly, and is tailored to their specific requirements. Key responsibilities include supporting colleagues, troubleshooting, and enhancing existing software. The position also offers opportunities for learning and career progression towards seniority. An intermediate developer must comprehend the business and its systems, collaborate effectively with colleagues to meet deadlines, and learn from senior team members to enhance their skills. Experience with Android (Java and/or Kotlin) and React Native (JavaScript/TypeScript) is required.
DUTIES:
- Responsible for execution and working within the SDLC, from concept, architecture, design to implementation, and testing.
- Attend all sessions required to understand the business and features being briefed in, to contribute to solutioning and development.
- Help execute on functional requirements.
- Understand user requirements and assist in gathering requirements.
- Complete all tasks in an agreeable time by yourself and your peers to ensure you do not block the work of others.
- Learn from seniors and provide mentorship to juniors.
- Ensure that testing protocols are followed that have been set out by the team lead.
- Ensure that all code is merged via pull request and pull requests are reviewed in a timely manner.
- Ensure that code quality takes top priority and development occurs using the SOLID and DRY principles.
- Produce clean and efficient code.
- Evaluate own code for improvement.
- Ensure that all work output is tested in a reasonable fashion before being handed over to Quality Assurance.
- Utilize principles of agile software development to execute tasks on a daily basis.
- Ensure that work is assigned every sprint.
- Ensure all work assigned has estimates, appropriate titles and descriptions, and that any updates, blockers, and/or context are documented on the ticket.
- Use Confluence to document all logic and technical context for work produced and/or explanations of features from the perspective of the individual.
- Utilize instant messaging software provided by the organization to communicate with the production team on a daily basis.
- Create code comments, technical documentation, documentation of logic, and business rule documentation, and ensure a pull request is only made with the appropriate level of documentation associated.
- Work closely with all teams to ensure the platform is achieving the goals set out by the business.
- Assist juniors where required.
- Raise any problems preventing themselves and/or their team from getting the job done.
- Ensure that tasks are completed within their allocated sprint and that any hindrance in the delivery of tasks/features/projects is communicated promptly to production management.
- Ensure processes being implemented are well understood and can be conveyed to other team members to ensure effective collaboration.
- Coordinate directly with other team members to resolve issues, tasks, and/or delays quickly.
- Ensure a clear view of priority, that tickets are updated, and remain productive.
Top of Form
Bottom of Form
REQUIREMENTS:
- Android (Java and/or Kotlin) and React Native
- (Javascript/Typescript) experience
- Experience with object-oriented principles, methodologies, and patterns
- Git is essential
- MVVM Architecture
- Dependency injection - Hilt / Koin / Dagger 2 is beneficial
- Retrofit