Senior Software Developer
NMB PLC
Tanzania
Full-Time
4th February 2025
Senior Software Developer
Job Purpose
To lead a team of software developers in studying bank operations; designing, building, testing and installing software solutions or modifying/upgrading existing applications; support and develop software to meet key business goals.
Main Responsibilities
- Participate in systems/projects scoping, design, and pricing exercises as part of the development and business teams’ processes.
- Work with Senior Manager Applications Development to ensure resource utilization targets are met.
- Bringing together components and software subsystems into a whole and ensuring that those subsystems function together
- Study information needs; confer with users; study systems flow, data usage, and work processes; investigating problem areas.
- Determine operational feasibility by evaluating impact analysis, problem definition, user requirements, proposed solutions and efforts required.
- Develop and conduct testing plans and procedures based on system requirements
- Identify systems deficiencies and implement effective solutions
- Communicate and enforce coding standards and recommending policies, processes and procedures changes.
- Research, evaluate, and recommend systems/equipment/technologies based upon user requirements and ICT system enterprise architecture in place.
- Support and develop software developers by providing advice, coaching and educational opportunities.
- Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; and participating in professional organizations.
Knowledge and Skills
- Knowledge of the trending banking software and technologies in the market
- Excellent written and oral communication
- Problem-solving and follow-through
- Pragmatic and thorough
- Familiarity with Agile’s scrum development methodologies.
- Fluent in at least two programming languages & two libraries or frameworks
Qualifications and Experience
- BSc. in Computer Science, Engineering or a related field
- Agile/Scrum certification as an added advantage.
- 5 years experience in core software development
- Proven experience in mobile application development is an added advantage.
- Experience with integrations with bank products/systems is an added advantage
- Experience with various databases and object-relational mapping (ORM) frameworks.
- Experience with DevOps tools and practices, including CI/CD, Automated Builds and release Pipelines, etc.
- Experience with software design principles, patterns, and practices - solid, clean code, design patterns and thinking