About the job
Role Purpose
The software developer is responsible for leading the development team in analyzing, designing, developing, packaging and implementation of new or modified software products or projects. Providing cost effective business software solutions in line with Global/Local business and technical requirements for internal and external customers.
Key Responsibilities
- Responsible for championing software technology adoption, enhancement, and usage within the Digital ICT team.
- Ability to build and consume API’s
- Integrate third party applications, systems and platforms like IN, Billing platforms, payment platforms, e.t.c
- Collaborating with the front-end developers and other team members to establish objectives and design more functional, cohesive codes to enhance the user experience.
- Compile and analyze data, processes, and codes to troubleshoot problems and identify areas for improvement.
- Lead analysis with the architect to identify software solution opportunities for systems improvement using in-house resources, cost effective tools and industry best practices.
- Identify gaps in the existing software solutions and processes to advise appropriately the Operational team and engage for an in-house fix or escalate to appropriate IT/Business unit or vendor to fix.
- Work with the Dev-ops specialist, Business Operations Support, Infrastructure and Security teams to ensure that all dependencies are considered and mitigation applied prior to testing and live deployment of software solutions.
- Lead all changes that impact the software applications space. Ensure the team delivers appropriate software documentation pertaining to completed deployments.
- Lead development projects, SIT, UAT and production deployment of assigned software solutions and upgrades.
- Assist in the development of business cases and support the realization /upgrade/changes of software solutions implementation, defining test criteria, acceptance of testing and user training.
- Facilitate workshops to capture software application requirements between Business stakeholders, Business Support Team, Vendor and SI.
Core Competencies, Knowledge, and Experience
- Ability to lead and adapt quickly to new software application technologies and concepts as well as several stakeholders.
- Specialist knowledge of key software development languages such as Spring, Spring Boot ,Java EE,
- Ability to build micro services and expose/consume both SOAP and Restful APIs. He should be strong in database management (Oracle, MongoDB,PostgreSQL, SQL and MySQL )
- Strong knowledge in caching technologies such as Redis, Mem cache
- Knowledge in Load balancing technologies like NGINX, Apache
- Ability to use containerization concepts (Kubernettes, dockers etc).
- Should have an idea of cloud technologies like AWS.
- Effective coordination and experience of developing under tight timelines and requirements with the strict adherence to the Software Development Life Cycle principles.
- Ability to learn quickly and be on multiple projects at a time, and coach team members on new development methods and their adoption
Must have Technical / Professional Qualifications
- Degree in Computer Science, Software Engineering, Electrical/Electronic, Engineering or Information Technology or equivalent.
- At least 5 years’ experience in developing software solutions in a Telecoms, Financial services or equivalent IP/IT environment.
- In-depth knowledge of telecoms and the subscriber interaction processes is highly desired.
- In-depth Knowledge in Mobile Money Platforms and Transaction Management.